Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions libs/adapters/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"@trpc/server": "^11.3.0",
"amqplib": "^0.10.3",
"async-rwlock": "^1.1.1",
"express": "^4.18.2",
"express": "catalog:",
"hot-shots": "^9",
"lodash": "^4.17.21",
"mixpanel": "^0.14.0",
Expand All @@ -41,7 +41,7 @@
"pg": "^8.11.3",
"rascal": "^20.1.1",
"redis": "4.7.0",
"rollbar": "^2.6.1",
"rollbar": "catalog:",
"swagger-ui-express": "^5.0.0",
"trpc-to-openapi": "^3.0.1",
"typescript-logging": "^0.6.4",
Expand Down
2 changes: 1 addition & 1 deletion libs/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"node-object-hash": "^3.0.0",
"pino": "^8.19.0",
"pino-pretty": "^10.3.1",
"rollbar": "^2.6.1",
"rollbar": "catalog:",
"web3-eth-abi": "^4.2.1",
"zod": "catalog:"
},
Expand Down
4 changes: 2 additions & 2 deletions libs/evm-testing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
"dependencies": {
"@hicommonwealth/model": "workspace:*",
"@viem/anvil": "^0.0.10",
"axios": "^1.3.4",
"axios": "catalog:",
"cors": "^2.8.5",
"express": "^4.18.2",
"express": "catalog:",
"morgan": "^1.10.0",
"pino-http": "^9.0.0",
"viem": "^2.23.2",
Expand Down
2 changes: 1 addition & 1 deletion libs/model/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
"@solana/spl-token": "^0.4.6",
"@solana/web3.js": "^1.91.6",
"async-mutex": "^0.5.0",
"axios": "^1.3.4",
"axios": "catalog:",
"bech32": "^2.0.0",
"bn.js": "^4.12.0",
"dayjs": "^1.11.13",
Expand Down
41 changes: 22 additions & 19 deletions libs/model/test/utils/mockedNotificationProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@ import { Mock, vi } from 'vitest';

export function SpyNotificationsProvider(stubs?: {
triggerWorkflowStub?: Mock<
[],
Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
() => Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
>;
getMessagesStub?: Mock<[], Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
deleteSchedulesStub?: Mock<[], Promise<Set<string>>>;
identifyUserStub?: Mock<[], Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<[], Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<[], Promise<boolean>>;
getMessagesStub?: Mock<() => Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<() => Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<
() => Promise<NotificationsProviderSchedulesReturn>
>;
deleteSchedulesStub?: Mock<() => Promise<Set<string>>>;
identifyUserStub?: Mock<() => Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<() => Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<() => Promise<boolean>>;
}): NotificationsProvider {
return {
name: 'SpyNotificationsProvider',
Expand All @@ -28,7 +29,8 @@ export function SpyNotificationsProvider(stubs?: {
createSchedules:
stubs?.createSchedulesStub || vi.fn(() => Promise.resolve([])),
deleteSchedules:
stubs?.deleteSchedulesStub || vi.fn(() => Promise.resolve(new Set())),
stubs?.deleteSchedulesStub ||
vi.fn(() => Promise.resolve(new Set<string>())),
updateSchedules: vi.fn(() => Promise.resolve([])),
identifyUser:
stubs?.identifyUserStub || vi.fn(() => Promise.resolve({ id: '' })),
Expand All @@ -46,16 +48,17 @@ export const ProviderError = new Error('some error');

export function ThrowingSpyNotificationsProvider(stubs?: {
triggerWorkflowStub?: Mock<
[],
Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
() => Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
>;
getMessagesStub?: Mock<() => Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<() => Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<
() => Promise<NotificationsProviderSchedulesReturn>
>;
getMessagesStub?: Mock<[], Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
deleteSchedulesStub?: Mock<[], Promise<Set<string>>>;
identifyUserStub?: Mock<[], Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<[], Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<[], Promise<boolean>>;
deleteSchedulesStub?: Mock<() => Promise<Set<string>>>;
identifyUserStub?: Mock<() => Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<() => Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<() => Promise<boolean>>;
}): NotificationsProvider {
return {
name: 'ThrowingNotificationsProvider',
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"@types/lodash": "^4.14.123",
"@types/marked": "^4.0.1",
"@types/morgan": "^1.9.4",
"@types/node": "^20.12.10",
"@types/node": "^22.13.14",
"@types/node-fetch": "2.x",
"@types/passport": "^1.0.16",
"@types/passport-jwt": "^3.0.3",
Expand All @@ -92,8 +92,8 @@
"@types/uuid": "^9.0.7",
"@typescript-eslint/eslint-plugin": "^6.7.5",
"@typescript-eslint/parser": "^6.7.5",
"@vitejs/plugin-react-swc": "^3.7.0",
"@vitest/coverage-istanbul": "^1.6.0",
"@vitejs/plugin-react-swc": "^4.2.2",
"@vitest/coverage-istanbul": "^4.0.15",
"chance": "^1.1.11",
"chromatic": "^6.17.4",
"concurrently": "^7.6.0",
Expand Down Expand Up @@ -130,12 +130,12 @@
"tsconfig-paths": "^4.2.0",
"tslint": "^5.13.0",
"typescript": "^5.8.2",
"vite": "^6.3.5",
"vite": "^7.2.6",
"vite-bundle-visualizer": "^1.2.1",
"vite-plugin-html": "^3.2.2",
"vite-plugin-node-polyfills": "^0.22.0",
"vite-plugin-node-polyfills": "^0.24.0",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.1",
"vitest": "^4.0.15",
"wait-on": "^7.2.0"
},
"optionalDependencies": {
Expand Down
14 changes: 9 additions & 5 deletions packages/commonwealth/client/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,15 @@ export default defineConfig(({ mode }) => {
'moment/moment',
],
},
css: {
preprocessorOptions: {
scss: {
// Ensure SASS can resolve relative imports correctly
api: 'modern-compiler',
loadPaths: [path.resolve(projectRootDir, 'scripts')],
},
},
},
build: {
outDir: '../build',
// UNISWAP_WIDGET_HACK: this is needed by @uniswap to resolved multiple dependencies issues with peer-deps
Expand Down Expand Up @@ -190,11 +199,6 @@ export default defineConfig(({ mode }) => {
find: '~@fontsource/inter',
replacement: '@fontsource/inter',
},
{
// matches only non-relative paths that end with .scss
find: /^([^.].*)\.scss$/,
replacement: path.resolve(projectRootDir, 'styles', '$1.scss'),
},
{
// resolves assets/
find: /^assets\/(.*)$/,
Expand Down
4 changes: 2 additions & 2 deletions packages/commonwealth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
"@walletconnect/modal": "^2.4.6",
"ajv": "^8.12.0",
"assert": "^2.0.0",
"axios": "^1.3.4",
"axios": "catalog:",
"bech32": "^2.0.0",
"bignumber.js": "9.1.2",
"bn.js": "^4.12.0",
Expand All @@ -184,7 +184,7 @@
"emoji-regex": "^10.6.0",
"esm-loader-css": "^1.0.6",
"ethers": "5.7.2",
"express": "^4.18.2",
"express": "catalog:",
"express-async-errors": "^3.1.1",
"express-http-to-https": "^1.1.4",
"express-rate-limit": "^7.4.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,70 +8,66 @@ import { describe, expect, test, vi } from 'vitest';
import { setupCommonwealthE2E } from './integrationUtils/mainSetup';

describe('End to end event tests', () => {
test(
'Token trade happy path',
async () => {
const { web3, anvilAccounts, contractAddresses } =
await setupCommonwealthE2E();
test('Token trade happy path', { timeout: 1000000 }, async () => {
const { web3, anvilAccounts, contractAddresses } =
await setupCommonwealthE2E();

const launchpadFactory = new web3.eth.Contract(
LaunchpadAbi,
contractAddresses.Launchpad,
);
const launchpadFactory = new web3.eth.Contract(
LaunchpadAbi,
contractAddresses.Launchpad,
);

await launchToken(
launchpadFactory,
'testToken',
'test',
[],
[],
web3.utils.toWei(1e9, 'ether'),
anvilAccounts[0].address,
830000,
contractAddresses.TokenCommunityManager,
);
await launchToken(
launchpadFactory,
'testToken',
'test',
[],
[],
web3.utils.toWei(1e9, 'ether'),
anvilAccounts[0].address,
830000,
contractAddresses.TokenCommunityManager,
);

let token = await models.LaunchpadToken.findOne({
where: { name: 'testToken' },
});
await vi.waitFor(
async () => {
token = await models.LaunchpadToken.findOne({
where: { name: 'testToken' },
});
expect(token).toBeTruthy();
},
{
timeout: 100000,
interval: 500,
},
);
let token = await models.LaunchpadToken.findOne({
where: { name: 'testToken' },
});
await vi.waitFor(
async () => {
token = await models.LaunchpadToken.findOne({
where: { name: 'testToken' },
});
expect(token).toBeTruthy();
},
{
timeout: 100000,
interval: 500,
},
);

const lpBondingCurveFactory = new web3.eth.Contract(
LPBondingCurveAbi,
contractAddresses.LPBondingCurve,
);
const lpBondingCurveFactory = new web3.eth.Contract(
LPBondingCurveAbi,
contractAddresses.LPBondingCurve,
);

await buyToken(
lpBondingCurveFactory,
token!.token_address,
anvilAccounts[0].address,
100,
);
await buyToken(
lpBondingCurveFactory,
token!.token_address,
anvilAccounts[0].address,
100,
);

await vi.waitFor(
async () => {
const launchpadTrade = await models.LaunchpadTrade.findOne({
where: { token_address: token!.token_address, is_buy: true },
});
expect(launchpadTrade).toBeTruthy();
},
{
timeout: 100000,
interval: 500,
},
);
},
{ timeout: 1000000 },
);
await vi.waitFor(
async () => {
const launchpadTrade = await models.LaunchpadTrade.findOne({
where: { token_address: token!.token_address, is_buy: true },
});
expect(launchpadTrade).toBeTruthy();
},
{
timeout: 100000,
interval: 500,
},
);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ describe('Native ETH weighted voting lifecycle', () => {

test(
'should recalculate vote weights for threads and comments after ETH balance changes',
{ timeout: 120_000 },
async () => {
// Get initial ETH balances for all member accounts
const initialBalances = await Promise.all(
Expand Down Expand Up @@ -408,6 +409,5 @@ describe('Native ETH weighted voting lifecycle', () => {
expectedCommentWeightSum,
);
},
{ timeout: 120_000 },
);
});
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,17 @@ import z from 'zod';

function SpyNotificationsProvider(stubs?: {
triggerWorkflowStub?: Mock<
[],
Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
() => Promise<PromiseSettledResult<{ workflow_run_id: string }>[]>
>;
getMessagesStub?: Mock<[], Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<[], Promise<NotificationsProviderSchedulesReturn>>;
deleteSchedulesStub?: Mock<[], Promise<Set<string>>>;
identifyUserStub?: Mock<[], Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<[], Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<[], Promise<boolean>>;
getMessagesStub?: Mock<() => Promise<NotificationsProviderGetMessagesReturn>>;
getSchedulesStub?: Mock<() => Promise<NotificationsProviderSchedulesReturn>>;
createSchedulesStub?: Mock<
() => Promise<NotificationsProviderSchedulesReturn>
>;
deleteSchedulesStub?: Mock<() => Promise<Set<string>>>;
identifyUserStub?: Mock<() => Promise<{ id: string }>>;
registerClientRegistrationToken?: Mock<() => Promise<boolean>>;
unregisterClientRegistrationToken?: Mock<() => Promise<boolean>>;
}): NotificationsProvider {
return {
name: 'SpyNotificationsProvider',
Expand All @@ -47,7 +48,8 @@ function SpyNotificationsProvider(stubs?: {
createSchedules:
stubs?.createSchedulesStub || vi.fn(() => Promise.resolve([])),
deleteSchedules:
stubs?.deleteSchedulesStub || vi.fn(() => Promise.resolve(new Set())),
stubs?.deleteSchedulesStub ||
vi.fn(() => Promise.resolve(new Set<string>())),
updateSchedules: vi.fn(() => Promise.resolve([])),
identifyUser:
stubs?.identifyUserStub || vi.fn(() => Promise.resolve({ id: '' })),
Expand Down
Loading
Loading