Skip to content
Draft
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
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "daml/daml-finance"]
path = daml/daml-finance
url = [email protected]:oscbacon/daml-finance.git
4 changes: 2 additions & 2 deletions configs/esbuild-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"peerDependencies": {
"@esbuild-plugins/node-resolve": "^0.2.2",
"@veraswap/eslint-config": "workspace:*",
"esbuild": "^0.25.1",
"glob": "11.0.1"
"esbuild": "^0.27.0",
"glob": "13.0.0"
},
"devDependencies": {
"depcheck": "^1.4.7"
Expand Down
8 changes: 4 additions & 4 deletions configs/eslint-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
"depcheck": "depcheck"
},
"peerDependencies": {
"@eslint/js": "^9.22.0",
"eslint": "^9.22.0",
"@eslint/js": "^9.39.1",
"eslint": "^9.39.1",
"@stylistic/eslint-plugin": "^4.2.0",
"globals": "^16.0.0",
"typescript-eslint": "^8.26.1"
"typescript-eslint": "^8.48.1"
},
"devDependencies": {
"depcheck": "^1.4.7"
Expand All @@ -42,6 +42,6 @@
},
"funding": "https://veraswap.io",
"engines": {
"node": "^18.0.0"
"node": "^22.0.0"
}
}
2 changes: 1 addition & 1 deletion configs/tsconfig/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@
},
"funding": "https://veraswap.io",
"engines": {
"node": "^18.0.0"
"node": "^22.0.0"
}
}
1 change: 1 addition & 0 deletions daml/daml-finance
Submodule daml-finance added at d13b82
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@
"engines": {
"npm": ">=v10.5.0",
"pnpm": ">=9.12.2",
"node": "^20.0.0"
"node": "^22.0.0"
}
}
3 changes: 2 additions & 1 deletion packages/minimal-token/daml.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
sdk-version: 3.3.0-snapshot.20250502.13767.0.v2fc6c7e2
# sdk-version: 3.3.0-snapshot.20250502.13767.0.v2fc6c7e2
sdk-version: 3.4.8
name: minimal-token
version: 0.1.0
source: daml
Expand Down
4 changes: 4 additions & 0 deletions packages/token-app/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["next/babel"],
"plugins": []
}
20 changes: 11 additions & 9 deletions packages/token-app/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
import { defineConfig, globalIgnores } from 'eslint/config'
import nextVitals from 'eslint-config-next/core-web-vitals'
import nextTs from 'eslint-config-next/typescript'
import prettier from 'eslint-config-prettier/flat'

const eslintConfig = defineConfig([
...nextVitals,
...nextTs,
prettier,
// Override default ignores of eslint-config-next.
globalIgnores([
// Default ignores of eslint-config-next:
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
'.next/**',
'out/**',
'build/**',
'next-env.d.ts',
]),
]);
])

export default eslintConfig;
export default eslintConfig
2 changes: 1 addition & 1 deletion packages/token-app/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Mark Node.js-only packages as external
// TODO: check, build fails without it
serverExternalPackages: ["@canton-network/wallet-sdk", "pino"],
serverExternalPackages: ["@canton-network/wallet-sdk"],
};

export default nextConfig;
7 changes: 4 additions & 3 deletions packages/token-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.553.0",
"next": "16.0.3",
"next": "16.0.6",
"next-themes": "^0.4.6",
"react": "19.2.0",
"react-dom": "19.2.0",
Expand All @@ -34,9 +34,10 @@
"@types/react-dom": "^19",
"@veraswap/eslint-config": "workspace:*",
"baseline-browser-mapping": "^2.8.32",
"eslint-config-next": "16.0.3",
"eslint-config-next": "16.0.6",
"eslint-config-prettier": "^10.1.8",
"tailwindcss": "^4",
"tw-animate-css": "^1.4.0",
"typescript": "^5"
"typescript": "5.9.3"
}
}
1 change: 1 addition & 0 deletions packages/token-app/prettier.configs.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "@veraswap/eslint-config/prettier"
7 changes: 4 additions & 3 deletions packages/token-sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@
"tsc:trace": "tsc --generateTrace lib/trace && analyze-trace lib/trace",
"tsc:watch": "tsc -w",
"upload-dar": "tsx src/uploadDars.ts",
"get:minimal-token-id": "daml damlc inspect ../minimal-token/.daml/dist/minimal-token-0.1.0.dar | head -1 | awk '{print $2}'"
"get:minimal-token-id": "daml damlc inspect ../minimal-token/.daml/dist/minimal-token-0.1.0.dar | head -1 | awk '{print $2}'",
"get:daml-finance-id": "daml damlc inspect ../../daml/daml-finance/.daml/dist/daml-finance-1.6.1.dar | head -1 | awk '{print $2}'"
},
"devDependencies": {
"@canton-network/core-ledger-client": "^0.17.0",
Expand All @@ -64,13 +65,13 @@
"madge": "^8.0.0",
"npm-run-all": "^4.1.5",
"rimraf": "^6.0.1",
"typescript": "5.8.2",
"typescript": "5.9.3",
"vite": "^6.2.2",
"vitest": "^3.0.8"
},
"funding": "https://denote.capital",
"engines": {
"node": "^20.0.0"
"node": "^22.0.0"
},
"dependencies": {
"@canton-network/wallet-sdk": "^0.16.0",
Expand Down
1 change: 1 addition & 0 deletions packages/token-sdk/prettier.configs.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "@veraswap/eslint-config/prettier"
76 changes: 58 additions & 18 deletions packages/token-sdk/src/uploadDars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
localNetAuthDefault,
localNetLedgerDefault,
localNetTokenStandardDefault,
WalletSDK,
WalletSDKImpl,
} from "@canton-network/wallet-sdk";
import fs from "fs/promises";
Expand All @@ -14,36 +15,75 @@ const sdk = new WalletSDKImpl().configure({
tokenStandardFactory: localNetTokenStandardDefault,
});

// Obtained from runnning:
// `pnpm get:minimal-token-id`
const MINIMAL_TOKEN_PACKAGE_ID =
"68c1b4981314149b66cb3c75f1d63e4111516075564d884f3a19a3b753416e22";

// Obtained from runnning:
// `pnpm get:daml-finance-id`
const DAML_FINANCE_PACKAGE_ID =
"83019256c9f372abecea457a3bb2a59463bf06d4ff832fa6bba7073c216f33cb";

async function uploadDar({
packageId,
packagePath,
sdk,
}: {
packageId: string;
packagePath: string;
sdk: WalletSDK;
}) {
const isDarUploaded = await sdk.userLedger!.isPackageUploaded(packageId);

if (isDarUploaded) {
console.info("minimal-token DAR already uploaded");
} else {
console.info("Uploading DAR file...");
const darBytes = await fs.readFile(packagePath);
await sdk.adminLedger!.uploadDar(darBytes);
console.info("DAR uploaded successfully");
}
}

export async function uploadDars() {
await sdk.connect();
await sdk.connectAdmin();
await sdk.connectTopology(new URL("http://localhost:2000/api/validator"));

// Obtained from runnning:
// `pnpm get:minimal-token-id`
const MINIMAL_TOKEN_PACKAGE_ID =
"1b3906fcec7fe6a9d7fcaf35c3363867ad6639ed0e890b8367810fe1a7e3e126";

const isDarUploaded = await sdk.userLedger?.isPackageUploaded(
MINIMAL_TOKEN_PACKAGE_ID
);

const curDirectory = path.dirname(process.cwd());
const minimalTokenDarPath = path.join(
path.dirname(process.cwd()),
curDirectory,
"minimal-token",
".daml",
"dist",
"minimal-token-0.1.0.dar"
);

if (isDarUploaded) {
console.info("minimal-token DAR already uploaded");
} else {
console.info("Uploading DAR file...");
const darBytes = await fs.readFile(minimalTokenDarPath);
await sdk.adminLedger!.uploadDar(darBytes);
console.info("DAR uploaded successfully");
}
console.log({ minimalTokenDarPath });

await uploadDar({
packageId: MINIMAL_TOKEN_PACKAGE_ID,
packagePath: minimalTokenDarPath,
sdk,
});

const parentDir = path.dirname(curDirectory);
const damlFinanceDarPath = path.join(
parentDir,
"daml",
"daml-finance",
".daml",
"dist",
"daml-finance-1.6.1.dar"
);
console.log({ damlFinanceDarPath });

await uploadDar({
packageId: DAML_FINANCE_PACKAGE_ID,
packagePath: damlFinanceDarPath,
sdk,
});
}

uploadDars()
Expand Down
Loading
Loading