@canton-network/wallet-gateway-remote 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +4 -16
  2. package/dist/auth/jwt-auth-service.d.ts +1 -1
  3. package/dist/auth/jwt-auth-service.d.ts.map +1 -1
  4. package/dist/auth/jwt-auth-service.js +11 -1
  5. package/dist/auth/jwt-unsafe-auth-service.d.ts +11 -0
  6. package/dist/auth/jwt-unsafe-auth-service.d.ts.map +1 -0
  7. package/dist/auth/jwt-unsafe-auth-service.js +50 -0
  8. package/dist/config/Config.d.ts +144 -30
  9. package/dist/config/Config.d.ts.map +1 -1
  10. package/dist/dapp-api/controller.d.ts +2 -0
  11. package/dist/dapp-api/controller.d.ts.map +1 -1
  12. package/dist/dapp-api/controller.js +29 -7
  13. package/dist/dapp-api/rpc-gen/index.d.ts +6 -0
  14. package/dist/dapp-api/rpc-gen/index.d.ts.map +1 -1
  15. package/dist/dapp-api/rpc-gen/index.js +2 -0
  16. package/dist/dapp-api/rpc-gen/typings.d.ts +23 -17
  17. package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
  18. package/dist/dapp-api/server.d.ts +4 -1
  19. package/dist/dapp-api/server.d.ts.map +1 -1
  20. package/dist/dapp-api/server.js +12 -16
  21. package/dist/dapp-api/server.test.js +19 -9
  22. package/dist/index.d.ts +7 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +15 -1
  25. package/dist/init.d.ts +3 -8
  26. package/dist/init.d.ts.map +1 -1
  27. package/dist/init.js +55 -32
  28. package/dist/ledger/party-allocation-service.d.ts +2 -1
  29. package/dist/ledger/party-allocation-service.d.ts.map +1 -1
  30. package/dist/ledger/party-allocation-service.js +4 -4
  31. package/dist/ledger/party-allocation-service.test.js +11 -2
  32. package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
  33. package/dist/ledger/wallet-sync-service.js +1 -1
  34. package/dist/user-api/controller.d.ts.map +1 -1
  35. package/dist/user-api/controller.js +57 -12
  36. package/dist/user-api/rpc-gen/typings.d.ts +10 -0
  37. package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
  38. package/dist/user-api/server.d.ts +6 -4
  39. package/dist/user-api/server.d.ts.map +1 -1
  40. package/dist/user-api/server.js +4 -13
  41. package/dist/user-api/server.test.js +11 -10
  42. package/dist/web/frontend/404/index.html +3 -6
  43. package/dist/web/frontend/approve/index.html +5 -9
  44. package/dist/web/frontend/assets/{404-FxmR286l.js → 404-BJiXCpwg.js} +3 -3
  45. package/dist/web/frontend/assets/approve-hB6irrWF.js +157 -0
  46. package/dist/web/frontend/assets/callback-DHz7ggNR.js +1 -0
  47. package/dist/web/frontend/assets/handle-errors-DT2Go5Ch.js +1 -0
  48. package/dist/web/frontend/assets/{index-BknZMPaI.css → index-HEe9--Xd.css} +1 -1
  49. package/dist/web/frontend/assets/{index-VtAAU1cN.js → index-YpAHEASq.js} +64 -51
  50. package/dist/web/frontend/assets/login-Dw5jymys.js +159 -0
  51. package/dist/web/frontend/assets/{networks-CjofhwC9.js → networks-CaAXx7MG.js} +9 -9
  52. package/dist/web/frontend/assets/{state-DKGJ6EmM.js → state-BTqOtYLt.js} +2 -2
  53. package/dist/web/frontend/assets/{wallets-BPtpBguD.js → wallets-fk9mMhcI.js} +4 -4
  54. package/dist/web/frontend/callback/index.html +3 -3
  55. package/dist/web/frontend/index.html +2 -5
  56. package/dist/web/frontend/login/index.html +5 -8
  57. package/dist/web/frontend/networks/index.html +6 -8
  58. package/dist/web/frontend/wallets/index.html +5 -9
  59. package/dist/web/server.d.ts +3 -1
  60. package/dist/web/server.d.ts.map +1 -1
  61. package/dist/web/server.js +38 -24
  62. package/package.json +17 -17
  63. package/dist/web/frontend/assets/approve-DjrMmUo0.js +0 -157
  64. package/dist/web/frontend/assets/callback-QrXhW3mX.js +0 -1
  65. package/dist/web/frontend/assets/handle-errors-BcwHAkCd.js +0 -1
  66. package/dist/web/frontend/assets/index-BPTkodPz.js +0 -1
  67. package/dist/web/frontend/assets/index-TZrNw7dA.css +0 -1
  68. package/dist/web/frontend/assets/login-kWEHTsIr.js +0 -159
  69. package/dist/web/frontend/assets/rpc-client-CCUlY3sp.js +0 -1
  70. package/dist/web/frontend/assets/state-manager-BNW0y5PZ.js +0 -23
@@ -3,18 +3,15 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>Wallet Kernel Login</title>
6
- <script type="module" crossorigin src="/assets/login-kWEHTsIr.js"></script>
7
- <link rel="modulepreload" crossorigin href="/assets/state-manager-BNW0y5PZ.js">
8
- <link rel="modulepreload" crossorigin href="/assets/index-VtAAU1cN.js">
9
- <link rel="modulepreload" crossorigin href="/assets/index-BPTkodPz.js">
10
- <link rel="modulepreload" crossorigin href="/assets/state-DKGJ6EmM.js">
11
- <link rel="modulepreload" crossorigin href="/assets/rpc-client-CCUlY3sp.js">
12
- <link rel="stylesheet" crossorigin href="/assets/index-TZrNw7dA.css">
13
- <link rel="stylesheet" crossorigin href="/assets/index-BknZMPaI.css">
6
+ <script type="module" crossorigin src="/assets/login-Dw5jymys.js"></script>
7
+ <link rel="modulepreload" crossorigin href="/assets/index-YpAHEASq.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/state-BTqOtYLt.js">
9
+ <link rel="stylesheet" crossorigin href="/assets/index-HEe9--Xd.css">
14
10
  </head>
15
11
 
16
12
  <body>
17
13
  <app-layout iconSrc="/icon.png">
14
+ <user-ui-auth-redirect></user-ui-auth-redirect>
18
15
  <user-ui-login></user-ui-login>
19
16
  </app-layout>
20
17
  </body>
@@ -2,14 +2,12 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <title>Wallet Kernel Login</title>
6
- <script type="module" crossorigin src="/assets/networks-CjofhwC9.js"></script>
7
- <link rel="modulepreload" crossorigin href="/assets/state-manager-BNW0y5PZ.js">
8
- <link rel="modulepreload" crossorigin href="/assets/index-VtAAU1cN.js">
9
- <link rel="modulepreload" crossorigin href="/assets/state-DKGJ6EmM.js">
10
- <link rel="modulepreload" crossorigin href="/assets/rpc-client-CCUlY3sp.js">
11
- <link rel="modulepreload" crossorigin href="/assets/handle-errors-BcwHAkCd.js">
12
- <link rel="stylesheet" crossorigin href="/assets/index-TZrNw7dA.css">
5
+ <title>Wallet Kernel - Settings</title>
6
+ <script type="module" crossorigin src="/assets/networks-CaAXx7MG.js"></script>
7
+ <link rel="modulepreload" crossorigin href="/assets/index-YpAHEASq.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/state-BTqOtYLt.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/handle-errors-DT2Go5Ch.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-HEe9--Xd.css">
13
11
  </head>
14
12
  <body>
15
13
  <app-layout iconSrc="/icon.png">
@@ -3,15 +3,11 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>Wallet Kernel – Wallets</title>
6
- <script type="module" crossorigin src="/assets/wallets-BPtpBguD.js"></script>
7
- <link rel="modulepreload" crossorigin href="/assets/state-manager-BNW0y5PZ.js">
8
- <link rel="modulepreload" crossorigin href="/assets/state-DKGJ6EmM.js">
9
- <link rel="modulepreload" crossorigin href="/assets/index-VtAAU1cN.js">
10
- <link rel="modulepreload" crossorigin href="/assets/rpc-client-CCUlY3sp.js">
11
- <link rel="modulepreload" crossorigin href="/assets/index-BPTkodPz.js">
12
- <link rel="modulepreload" crossorigin href="/assets/handle-errors-BcwHAkCd.js">
13
- <link rel="stylesheet" crossorigin href="/assets/index-TZrNw7dA.css">
14
- <link rel="stylesheet" crossorigin href="/assets/index-BknZMPaI.css">
6
+ <script type="module" crossorigin src="/assets/wallets-fk9mMhcI.js"></script>
7
+ <link rel="modulepreload" crossorigin href="/assets/index-YpAHEASq.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/state-BTqOtYLt.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/handle-errors-DT2Go5Ch.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-HEe9--Xd.css">
15
11
  </head>
16
12
  <body>
17
13
  <app-layout iconSrc="/icon.png">
@@ -1,2 +1,4 @@
1
- export declare const web: import("express-serve-static-core").Express;
1
+ import express from 'express';
2
+ import { Server } from 'http';
3
+ export declare const web: (app: express.Express, server: Server) => express.Express;
2
4
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG,6CAAY,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAK7B,eAAO,MAAM,GAAG,GAAI,KAAK,OAAO,CAAC,OAAO,EAAE,QAAQ,MAAM,oBAmDvD,CAAA"}
@@ -1,30 +1,44 @@
1
1
  // Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import express from 'express';
4
- export const web = express();
5
- // Middleware to ensure all paths end with a trailing slash
6
- // This is useful for static file serving and routing consistency
7
- web.use((req, res, next) => {
8
- if (req.method !== 'GET' ||
9
- req.path.length <= 1 || // Skip root path
10
- req.path.endsWith('/') || // Path already ends with a slash
11
- req.path.includes('.') || // Ignore paths with file extensions
12
- req.path.includes('@vite') // Ignore Vite dev server paths
13
- ) {
14
- return next(); // Skip if not a GET request or already has a trailing slash
4
+ import path, { dirname } from 'path';
5
+ import { fileURLToPath } from 'url';
6
+ import ViteExpress from 'vite-express';
7
+ export const web = (app, server) => {
8
+ if (process.env.NODE_ENV === 'development') {
9
+ // Enable live reloading and Vite dev server for frontend in development
10
+ ViteExpress.bind(app, server);
15
11
  }
16
- try {
17
- const query = req.url.slice(req.path.length); // Preserve query parameters
18
- const redirectUrl = new URL(req.path + '/' + query, `${req.protocol}://${req.headers.host}`);
19
- if (redirectUrl.origin === `${req.protocol}://${req.headers.host}`) {
20
- res.redirect(301, req.path + '/' + query); // Redirect with 301 (Permanent Redirect)
12
+ else {
13
+ // Serve static files from the package build in production
14
+ app.use(express.static(path.resolve(dirname(fileURLToPath(import.meta.url)), '../../dist/web/frontend')));
15
+ }
16
+ // Middleware to ensure all paths end with a trailing slash
17
+ // This is useful for static file serving and routing consistency
18
+ app.use((req, res, next) => {
19
+ if (req.method !== 'GET' ||
20
+ req.path.length <= 1 || // Skip root path
21
+ req.path.startsWith('/api') || // Ignore API routes
22
+ req.path.endsWith('/') || // Path already ends with a slash
23
+ req.path.includes('.') || // Ignore paths with file extensions
24
+ req.path.includes('@vite') // Ignore Vite dev server paths
25
+ ) {
26
+ return next(); // Skip if not a GET request or already has a trailing slash
21
27
  }
22
- else {
23
- next(); // Skip redirection if origin check fails
28
+ try {
29
+ const query = req.url.slice(req.path.length); // Preserve query parameters
30
+ const redirectUrl = new URL(req.path + '/' + query, `${req.protocol}://${req.headers.host}`);
31
+ if (redirectUrl.origin === `${req.protocol}://${req.headers.host}`) {
32
+ res.redirect(301, req.path + '/' + query); // Redirect with 301 (Permanent Redirect)
33
+ }
34
+ else {
35
+ next(); // Skip redirection if origin check fails
36
+ }
24
37
  }
25
- }
26
- catch {
27
- // Skip if the URL construction fails
28
- next();
29
- }
30
- });
38
+ catch {
39
+ // Skip if the URL construction fails
40
+ next();
41
+ }
42
+ });
43
+ return app;
44
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canton-network/wallet-gateway-remote",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "A server-side Wallet Gateway implementation over HTTP",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "type": "module",
11
11
  "scripts": {
12
- "build": "vite build && tsc -b && tsc -b tsconfig.frontend.json && yarn db:migrate:reset && yarn db:bootstrap",
12
+ "build": "vite build && tsc -b && tsc -b tsconfig.frontend.json",
13
13
  "clean": "tsc -b --clean && rm -rf ./dist && rm ./store.sqlite || true",
14
14
  "dev": "NODE_ENV=development tsx watch src/index.ts -f pretty -c ../test/config.json",
15
15
  "test": "yarn node --experimental-vm-modules $(yarn bin jest)",
@@ -32,25 +32,25 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@canton-network/core-ledger-client": "",
36
- "@canton-network/core-rpc-errors": "",
37
- "@canton-network/core-signing-internal": "",
38
- "@canton-network/core-signing-lib": "",
39
- "@canton-network/core-signing-participant": "",
40
- "@canton-network/core-tx-visualizer": "",
41
- "@canton-network/core-types": "",
42
- "@canton-network/core-wallet-auth": "",
43
- "@canton-network/core-wallet-dapp-rpc-client": "",
44
- "@canton-network/core-wallet-store": "",
45
- "@canton-network/core-wallet-store-sql": "",
46
- "@canton-network/core-wallet-ui-components": "",
47
- "@canton-network/core-wallet-user-rpc-client": "",
35
+ "@canton-network/core-ledger-client": "^0.16.0",
36
+ "@canton-network/core-rpc-errors": "^0.7.0",
37
+ "@canton-network/core-signing-internal": "^0.10.0",
38
+ "@canton-network/core-signing-lib": "^0.12.0",
39
+ "@canton-network/core-signing-participant": "^0.10.0",
40
+ "@canton-network/core-tx-visualizer": "^0.10.0",
41
+ "@canton-network/core-types": "^0.10.0",
42
+ "@canton-network/core-wallet-auth": "^0.11.0",
43
+ "@canton-network/core-wallet-dapp-rpc-client": "^0.11.0",
44
+ "@canton-network/core-wallet-store": "^0.10.0",
45
+ "@canton-network/core-wallet-store-sql": "^0.11.0",
46
+ "@canton-network/core-wallet-ui-components": "^0.10.0",
47
+ "@canton-network/core-wallet-user-rpc-client": "^0.11.0",
48
48
  "@commander-js/extra-typings": "^14.0.0",
49
49
  "commander": "^14.0.1",
50
50
  "cors": "^2.8.5",
51
51
  "express": "^5.1.0",
52
52
  "express-rate-limit": "^7.5.1",
53
- "jose": "^6.0.12",
53
+ "jose": "^5.10.0",
54
54
  "lit": "^3.3.0",
55
55
  "pino": "^9.7.0",
56
56
  "pino-pretty": "^13.0.0",
@@ -61,7 +61,7 @@
61
61
  "zod": "^3.25.64"
62
62
  },
63
63
  "devDependencies": {
64
- "@canton-network/core-wallet-store-inmemory": "",
64
+ "@canton-network/core-wallet-store-inmemory": "^0.12.0",
65
65
  "@jest/globals": "^29.0.0",
66
66
  "@swc/core": "^1.11.31",
67
67
  "@swc/jest": "^0.2.38",