@canton-network/wallet-gateway-remote 0.25.0 → 0.26.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 (81) hide show
  1. package/dist/auth/jwt-auth-service.d.ts.map +1 -1
  2. package/dist/auth/jwt-auth-service.js +25 -0
  3. package/dist/config/Config.d.ts +5 -2
  4. package/dist/config/Config.d.ts.map +1 -1
  5. package/dist/config/Config.js +6 -0
  6. package/dist/config/Config.test.js +1 -1
  7. package/dist/dapp-api/controller.d.ts +1 -0
  8. package/dist/dapp-api/controller.d.ts.map +1 -1
  9. package/dist/dapp-api/controller.js +26 -1
  10. package/dist/dapp-api/rpc-gen/index.d.ts +3 -0
  11. package/dist/dapp-api/rpc-gen/index.d.ts.map +1 -1
  12. package/dist/dapp-api/rpc-gen/index.js +1 -0
  13. package/dist/dapp-api/rpc-gen/typings.d.ts +3 -2
  14. package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
  15. package/dist/dapp-api/server.test.js +1 -1
  16. package/dist/env.d.ts +1 -0
  17. package/dist/env.d.ts.map +1 -1
  18. package/dist/env.js +1 -0
  19. package/dist/example-config.d.ts +1 -0
  20. package/dist/example-config.d.ts.map +1 -1
  21. package/dist/example-config.js +1 -0
  22. package/dist/index.d.ts +1 -1
  23. package/dist/init.d.ts.map +1 -1
  24. package/dist/init.js +9 -4
  25. package/dist/ledger/party-allocation-service.test.js +19 -17
  26. package/dist/ledger/transaction-service.d.ts +1 -0
  27. package/dist/ledger/transaction-service.d.ts.map +1 -1
  28. package/dist/ledger/transaction-service.js +65 -53
  29. package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -1
  30. package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +2 -1
  31. package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +22 -22
  32. package/dist/ledger/wallet-sync-service.test.js +15 -13
  33. package/dist/middleware/rateLimit.d.ts +5 -0
  34. package/dist/middleware/rateLimit.d.ts.map +1 -1
  35. package/dist/middleware/rateLimit.js +40 -0
  36. package/dist/middleware/rateLimit.test.d.ts +2 -0
  37. package/dist/middleware/rateLimit.test.d.ts.map +1 -0
  38. package/dist/middleware/rateLimit.test.js +30 -0
  39. package/dist/user-api/controller.d.ts.map +1 -1
  40. package/dist/user-api/controller.js +6 -5
  41. package/dist/user-api/rpc-gen/typings.d.ts +12 -14
  42. package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
  43. package/dist/user-api/server.test.js +1 -1
  44. package/dist/web/frontend/404/index.html +2 -2
  45. package/dist/web/frontend/activities/index.html +3 -3
  46. package/dist/web/frontend/approve/index.html +5 -4
  47. package/dist/web/frontend/assets/{404-F1JWultf.js → 404-CEw-fKbi.js} +1 -1
  48. package/dist/web/frontend/assets/{activities-Da48Liee.js → activities-BdSUE0hv.js} +3 -2
  49. package/dist/web/frontend/assets/{addIdentityProvider-DC3NxrKJ.js → addIdentityProvider-Bzz1fUGn.js} +1 -1
  50. package/dist/web/frontend/assets/{addNetwork-Dr3W42IN.js → addNetwork-B4FpgV7D.js} +1 -1
  51. package/dist/web/frontend/assets/addParty-D-UmQ0Oh.js +38 -0
  52. package/dist/web/frontend/assets/approve-DP3Lfyhw.js +21 -0
  53. package/dist/web/frontend/assets/{callback-OyzKCduG.js → callback-CXLUjUAK.js} +1 -1
  54. package/dist/web/frontend/assets/{identityProviders-CNGCwCMd.js → identityProviders-CtFhI1gg.js} +1 -1
  55. package/dist/web/frontend/assets/{index-6feHRhfj.js → index-BuC7gGqj.js} +96 -55
  56. package/dist/web/frontend/assets/index-DFhaSBOK.js +91 -0
  57. package/dist/web/frontend/assets/{index-CH8oXI5W.js → index-dDAXt5F2.js} +1 -1
  58. package/dist/web/frontend/assets/{login-DcYD5VED.js → login-CmwQEYxS.js} +1 -1
  59. package/dist/web/frontend/assets/{networks--1UXXt0J.js → networks-f8gSZxSb.js} +1 -1
  60. package/dist/web/frontend/assets/{reviewIdentityProvider-BT1CChnu.js → reviewIdentityProvider-CJFOHumn.js} +2 -2
  61. package/dist/web/frontend/assets/{reviewNetwork-CGV3UYev.js → reviewNetwork-D3QSssLB.js} +1 -1
  62. package/dist/web/frontend/assets/{settings-DnbEcRUK.js → settings-Cc-Ij_uP.js} +1 -1
  63. package/dist/web/frontend/assets/state-CZ6wI2d4.js +1 -0
  64. package/dist/web/frontend/assets/utils-CVOqcw_M.js +1 -0
  65. package/dist/web/frontend/callback/index.html +2 -2
  66. package/dist/web/frontend/identity-providers/add/index.html +3 -3
  67. package/dist/web/frontend/identity-providers/index.html +3 -3
  68. package/dist/web/frontend/identity-providers/review/index.html +3 -3
  69. package/dist/web/frontend/index.html +1 -1
  70. package/dist/web/frontend/login/index.html +4 -4
  71. package/dist/web/frontend/networks/add/index.html +3 -3
  72. package/dist/web/frontend/networks/index.html +3 -3
  73. package/dist/web/frontend/networks/review/index.html +3 -3
  74. package/dist/web/frontend/parties/add/index.html +5 -3
  75. package/dist/web/frontend/parties/index.html +4 -3
  76. package/dist/web/frontend/settings/index.html +3 -3
  77. package/package.json +25 -28
  78. package/dist/web/frontend/assets/addParty-C6FKG-e0.js +0 -38
  79. package/dist/web/frontend/assets/approve-BcD3DHcB.js +0 -21
  80. package/dist/web/frontend/assets/parties-CjUMJ1Qt.js +0 -91
  81. package/dist/web/frontend/assets/state-Da4wx0rb.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-auth-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,KAAG,WAwF5D,CAAA"}
1
+ {"version":3,"file":"jwt-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-auth-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,KAAG,WA+H5D,CAAA"}
@@ -62,6 +62,31 @@ export const jwtAuthService = (store, logger) => ({
62
62
  if (!payload.sub) {
63
63
  return undefined;
64
64
  }
65
+ const networks = await store.listNetworks();
66
+ const networksForIdp = networks.filter((n) => n.identityProviderId === idp.id);
67
+ const expectedAudiences = networksForIdp
68
+ .map((n) => n.auth.audience)
69
+ .filter((aud) => aud !== undefined && aud !== '');
70
+ if (expectedAudiences.length === 0) {
71
+ logger.warn(`No networks configured for IDP ${idp.id}, cannot validate audience`);
72
+ return undefined;
73
+ }
74
+ const tokenAudience = payload.aud;
75
+ if (!tokenAudience) {
76
+ logger.warn('JWT does not contain an audience claim');
77
+ return undefined;
78
+ }
79
+ const tokenAudiences = Array.isArray(tokenAudience)
80
+ ? tokenAudience
81
+ : [tokenAudience];
82
+ const audMatch = tokenAudiences.some((aud) => expectedAudiences.includes(aud));
83
+ if (!audMatch) {
84
+ logger.warn({
85
+ tokenAudiences,
86
+ expectedAudiences,
87
+ }, 'JWT audience does not match any configured network');
88
+ return undefined;
89
+ }
65
90
  logger.debug({
66
91
  userId: payload.sub,
67
92
  accessToken: jwt,
@@ -13,6 +13,7 @@ export declare const serverConfigSchema: z.ZodObject<{
13
13
  tls: z.ZodOptional<z.ZodBoolean>;
14
14
  requestSizeLimit: z.ZodDefault<z.ZodString>;
15
15
  requestRateLimit: z.ZodDefault<z.ZodNumber>;
16
+ trustProxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
16
17
  admin: z.ZodOptional<z.ZodString>;
17
18
  }, z.core.$strip>;
18
19
  export declare const rawConfigSchema: z.ZodObject<{
@@ -30,15 +31,16 @@ export declare const rawConfigSchema: z.ZodObject<{
30
31
  tls: z.ZodOptional<z.ZodBoolean>;
31
32
  requestSizeLimit: z.ZodDefault<z.ZodString>;
32
33
  requestRateLimit: z.ZodDefault<z.ZodNumber>;
34
+ trustProxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
33
35
  admin: z.ZodOptional<z.ZodString>;
34
36
  }, z.core.$strip>>;
35
37
  logging: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodObject<{
36
38
  level: z.ZodOptional<z.ZodEnum<{
39
+ error: "error";
37
40
  trace: "trace";
38
41
  debug: "debug";
39
42
  info: "info";
40
43
  warn: "warn";
41
- error: "error";
42
44
  fatal: "fatal";
43
45
  }>>;
44
46
  format: z.ZodOptional<z.ZodEnum<{
@@ -188,15 +190,16 @@ export declare const configSchema: z.ZodObject<{
188
190
  tls: z.ZodOptional<z.ZodBoolean>;
189
191
  requestSizeLimit: z.ZodDefault<z.ZodString>;
190
192
  requestRateLimit: z.ZodDefault<z.ZodNumber>;
193
+ trustProxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
191
194
  admin: z.ZodOptional<z.ZodString>;
192
195
  }, z.core.$strip>>;
193
196
  logging: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodObject<{
194
197
  level: z.ZodOptional<z.ZodEnum<{
198
+ error: "error";
195
199
  trace: "trace";
196
200
  debug: "debug";
197
201
  info: "info";
198
202
  warn: "warn";
199
- error: "error";
200
203
  fatal: "fatal";
201
204
  }>>;
202
205
  format: z.ZodOptional<z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/config/Config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AASvB,eAAO,MAAM,gBAAgB;;;;iBAY3B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;iBA0C7B,CAAA;AAiCF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOvB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/config/Config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AASvB,eAAO,MAAM,gBAAgB;;;;iBAY3B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAiD7B,CAAA;AAiCF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOvB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
@@ -48,6 +48,12 @@ export const serverConfigSchema = z.object({
48
48
  requestRateLimit: z.number().default(10000).meta({
49
49
  description: 'The maximum number of requests per minute from a single IP address. Defaults to 10000.',
50
50
  }),
51
+ trustProxy: z
52
+ .union([z.boolean(), z.number().int().min(0), z.string()])
53
+ .default(false)
54
+ .meta({
55
+ description: 'Express trust proxy setting used to resolve client IP addresses when running behind reverse proxies/load balancers. Set this correctly in production (for example 1 for a single trusted proxy hop). Defaults to false.',
56
+ }),
51
57
  admin: z.string().optional().meta({
52
58
  description: 'The JWT claim (e.g. "sub") identifying the admin user. If set, requests with a matching claim will be granted admin privileges.',
53
59
  }),
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { expect, test } from '@jest/globals';
3
+ import { expect, test } from 'vitest';
4
4
  import { ConfigUtils } from './ConfigUtils.js';
5
5
  test('config from json file', async () => {
6
6
  const resp = ConfigUtils.loadConfigFile('../test/config.json');
@@ -7,6 +7,7 @@ export declare const dappController: (kernelInfo: KernelInfoConfig, dappUrl: str
7
7
  status: import("./rpc-gen/typings.js").Status;
8
8
  connect: import("./rpc-gen/typings.js").Connect;
9
9
  disconnect: import("./rpc-gen/typings.js").Disconnect;
10
+ isConnected: import("./rpc-gen/typings.js").IsConnected;
10
11
  getActiveNetwork: import("./rpc-gen/typings.js").GetActiveNetwork;
11
12
  prepareExecute: import("./rpc-gen/typings.js").PrepareExecute;
12
13
  signMessage: import("./rpc-gen/typings.js").SignMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/dapp-api/controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,WAAW,EAEd,MAAM,kCAAkC,CAAA;AAYzC,OAAO,EAAE,KAAK,EAAe,MAAM,mCAAmC,CAAA;AAQtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7B,eAAO,MAAM,cAAc,GACvB,YAAY,gBAAgB,EAC5B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,qBAAqB,mBAAmB,EACxC,SAAS,MAAM,EACf,QAAQ,MAAM,GAAG,IAAI,EACrB,UAAU,WAAW;;;;;;;;;;;;;;CAoRxB,CAAA"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/dapp-api/controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,WAAW,EAEd,MAAM,kCAAkC,CAAA;AAYzC,OAAO,EAAE,KAAK,EAAe,MAAM,mCAAmC,CAAA;AAQtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7B,eAAO,MAAM,cAAc,GACvB,YAAY,gBAAgB,EAC5B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,qBAAqB,mBAAmB,EACxC,SAAS,MAAM,EACf,QAAQ,MAAM,GAAG,IAAI,EACrB,UAAU,WAAW;;;;;;;;;;;;;;;CAiTxB,CAAA"}
@@ -54,6 +54,7 @@ export const dappController = (kernelInfo, dappUrl, userUrl, store, notification
54
54
  },
55
55
  };
56
56
  notifier.emit('statusChanged', statusEvent);
57
+ notifier.emit('connected', statusEvent);
57
58
  return connection;
58
59
  },
59
60
  disconnect: async () => {
@@ -80,6 +81,30 @@ export const dappController = (kernelInfo, dappUrl, userUrl, store, notification
80
81
  }
81
82
  return null;
82
83
  },
84
+ isConnected: async () => {
85
+ if (!context || !(await store.getSession())) {
86
+ return {
87
+ isConnected: false,
88
+ isNetworkConnected: false,
89
+ networkReason: 'Unauthenticated',
90
+ userUrl: `${userUrl}/login/`,
91
+ };
92
+ }
93
+ const network = await store.getCurrentNetwork();
94
+ const ledgerClient = new LedgerClient({
95
+ baseUrl: new URL(network.ledgerApi.baseUrl),
96
+ logger,
97
+ accessTokenProvider: AuthTokenProvider.fromToken(context.accessToken, logger),
98
+ });
99
+ const status = await networkStatus(ledgerClient);
100
+ return {
101
+ isConnected: true,
102
+ reason: 'OK',
103
+ isNetworkConnected: status.isConnected,
104
+ networkReason: status.reason ? status.reason : 'OK',
105
+ userUrl: `${userUrl}/login/`,
106
+ };
107
+ },
83
108
  ledgerApi: async (params) => {
84
109
  const network = await store.getCurrentNetwork();
85
110
  const ledgerClient = new LedgerClient({
@@ -140,7 +165,7 @@ export const dappController = (kernelInfo, dappUrl, userUrl, store, notification
140
165
  confirmationRequestTrafficCostEstimation: response.costEstimation
141
166
  ?.confirmationRequestTrafficCostEstimation,
142
167
  }, 'prepared transaction traffic estimation');
143
- store.setTransaction(transaction);
168
+ await store.setTransaction(transaction);
144
169
  return {
145
170
  // closeafteraction query param flag makes approving or deleting tx close the popup
146
171
  userUrl: `${userUrl}/approve/index.html?commandId=${commandId}&closeafteraction`,
@@ -1,6 +1,7 @@
1
1
  import { Status } from './typings.js';
2
2
  import { Connect } from './typings.js';
3
3
  import { Disconnect } from './typings.js';
4
+ import { IsConnected } from './typings.js';
4
5
  import { GetActiveNetwork } from './typings.js';
5
6
  import { PrepareExecute } from './typings.js';
6
7
  import { SignMessage } from './typings.js';
@@ -15,6 +16,7 @@ export type Methods = {
15
16
  status: Status;
16
17
  connect: Connect;
17
18
  disconnect: Disconnect;
19
+ isConnected: IsConnected;
18
20
  getActiveNetwork: GetActiveNetwork;
19
21
  prepareExecute: PrepareExecute;
20
22
  signMessage: SignMessage;
@@ -30,6 +32,7 @@ declare function buildController(methods: Methods): {
30
32
  status: Status;
31
33
  connect: Connect;
32
34
  disconnect: Disconnect;
35
+ isConnected: IsConnected;
33
36
  getActiveNetwork: GetActiveNetwork;
34
37
  prepareExecute: PrepareExecute;
35
38
  signMessage: SignMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dapp-api/rpc-gen/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,OAAO,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;CACvB,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;EAgBxC;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dapp-api/rpc-gen/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,OAAO,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;CACvB,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;EAiBxC;AAED,eAAe,eAAe,CAAA"}
@@ -5,6 +5,7 @@ function buildController(methods) {
5
5
  status: methods.status,
6
6
  connect: methods.connect,
7
7
  disconnect: methods.disconnect,
8
+ isConnected: methods.isConnected,
8
9
  getActiveNetwork: methods.getActiveNetwork,
9
10
  prepareExecute: methods.prepareExecute,
10
11
  signMessage: methods.signMessage,
@@ -152,7 +152,7 @@ export interface Provider {
152
152
  * Whether or not the user is authenticated with the Wallet.
153
153
  *
154
154
  */
155
- export type IsConnected = boolean;
155
+ export type IsConnectedValue = boolean;
156
156
  /**
157
157
  *
158
158
  * Reason for the wallet state, e.g., 'no signing provider matched'.
@@ -172,7 +172,7 @@ export type IsNetworkConnected = boolean;
172
172
  */
173
173
  export type NetworkReason = string;
174
174
  export interface ConnectResult {
175
- isConnected: IsConnected;
175
+ isConnected: IsConnectedValue;
176
176
  reason?: Reason;
177
177
  isNetworkConnected: IsNetworkConnected;
178
178
  networkReason?: NetworkReason;
@@ -499,6 +499,7 @@ export type TxChangedEvent = TxChangedPendingEvent | TxChangedSignedEvent | TxCh
499
499
  export type Status = () => Promise<StatusEvent>;
500
500
  export type Connect = () => Promise<ConnectResult>;
501
501
  export type Disconnect = () => Promise<Null>;
502
+ export type IsConnected = () => Promise<ConnectResult>;
502
503
  export type GetActiveNetwork = () => Promise<Network>;
503
504
  export type PrepareExecute = (params: PrepareExecuteParams) => Promise<PrepareExecuteResult>;
504
505
  export type SignMessage = (params: SignMessageParams) => Promise<SignMessageResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/dapp-api/rpc-gen/typings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/dapp-api/rpc-gen/typings.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,EAAE,CAAA;AAC3B;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,EAAE,CAAA;AAC5B;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAC/B;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAC/B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AACrC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AACnC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC;AACD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAA;AACpD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,SAAS,EAAE,CAAA;AACtD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAC5B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AACvE,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAC/B;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAC5B;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACtE;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAA;AACxB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAC5B;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,UAAU,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AACD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAA;AACtC;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAA;AACxC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAClC,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AACD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B;AACD;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;CACjB;AACD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAA;AAC7B;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAC5B;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAA;AAClE;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AACzB;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACtC;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AACzC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAA;AAC9B;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACjB;AACD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAA;AACjC;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;AACtC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,CAAA;AACrC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,SAAS,CAAA;CACvB;AACD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAA;AACnC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;CACf;AACD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,sBAAsB,CAAA;CAClC;AACD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAA;AACvC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AACrC;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,gBAAgB,CAAA;CACrC;AACD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,wBAAwB,CAAA;CACpC;AACD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAA;AACnC;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;CACvB;AACD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,UAAU,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,4BAA4B,CAAC,EAAE,4BAA4B,CAAA;CAC9D;AACD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;CACnB;AACD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,CAAA;CACd;AACD,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AACD;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,CAAA;AACvB,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAA;CACnB;AACD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,SAAS,CAAA;CACvB;AACD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAA;AAC3C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAA;AACzC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,CAAA;AAC1B;;;;GAIG;AAEH,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;AAC/C,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAC5C,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;AACtD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AACrD,MAAM,MAAM,cAAc,GAAG,CACzB,MAAM,EAAE,oBAAoB,KAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAClC,MAAM,MAAM,WAAW,GAAG,CACtB,MAAM,EAAE,iBAAiB,KACxB,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAC/B,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;AAClD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;AACxD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAC5D,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { expect, test } from '@jest/globals';
3
+ import { expect, test } from 'vitest';
4
4
  import cors from 'cors';
5
5
  import request from 'supertest';
6
6
  import express from 'express';
package/dist/env.d.ts CHANGED
@@ -3,6 +3,7 @@ export declare class Env {
3
3
  static FIREBLOCKS_SECRET: () => string | undefined;
4
4
  static BLOCKDAEMON_API_URL: (fallback: string) => string;
5
5
  static BLOCKDAEMON_API_KEY: (fallback: string) => string;
6
+ static BLOCKDAEMON_CAIP2: (fallback: string) => string;
6
7
  static get(key: string, options: {
7
8
  required?: boolean;
8
9
  fallback: string;
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,qBAAa,GAAG;IACZ,MAAM,CAAC,kBAAkB,2BAAsC;IAC/D,MAAM,CAAC,iBAAiB,2BAAqC;IAC7D,MAAM,CAAC,mBAAmB,GAAI,UAAU,MAAM,YACE;IAChD,MAAM,CAAC,mBAAmB,GAAI,UAAU,MAAM,YACE;IAEhD,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClD,MAAM;IACT,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,MAAM;IACT,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAChE,MAAM,GAAG,SAAS;CAcxB"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,qBAAa,GAAG;IACZ,MAAM,CAAC,kBAAkB,2BAAsC;IAC/D,MAAM,CAAC,iBAAiB,2BAAqC;IAC7D,MAAM,CAAC,mBAAmB,GAAI,UAAU,MAAM,YACE;IAChD,MAAM,CAAC,mBAAmB,GAAI,UAAU,MAAM,YACE;IAChD,MAAM,CAAC,iBAAiB,GAAI,UAAU,MAAM,YACE;IAE9C,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClD,MAAM;IACT,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,MAAM;IACT,MAAM,CAAC,GAAG,CACN,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAChE,MAAM,GAAG,SAAS;CAcxB"}
package/dist/env.js CHANGED
@@ -5,6 +5,7 @@ export class Env {
5
5
  static { this.FIREBLOCKS_SECRET = () => Env.get('FIREBLOCKS_SECRET'); }
6
6
  static { this.BLOCKDAEMON_API_URL = (fallback) => Env.get('BLOCKDAEMON_API_URL', { fallback }); }
7
7
  static { this.BLOCKDAEMON_API_KEY = (fallback) => Env.get('BLOCKDAEMON_API_KEY', { fallback }); }
8
+ static { this.BLOCKDAEMON_CAIP2 = (fallback) => Env.get('BLOCKDAEMON_CAIP2', { fallback }); }
8
9
  static get(key, options) {
9
10
  const { fallback, required } = options || {};
10
11
  const value = process.env[key]?.trim() || fallback?.trim();
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  allowedOrigins: "*";
15
15
  requestSizeLimit: string;
16
16
  requestRateLimit: number;
17
+ trustProxy: false;
17
18
  admin: string;
18
19
  };
19
20
  signingStore: {
@@ -1 +1 @@
1
- {"version":3,"file":"example-config.d.ts","sourceRoot":"","sources":["../src/example-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAiGqB"}
1
+ {"version":3,"file":"example-config.d.ts","sourceRoot":"","sources":["../src/example-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAkGqB"}
@@ -16,6 +16,7 @@ export default {
16
16
  allowedOrigins: '*',
17
17
  requestSizeLimit: '5mb',
18
18
  requestRateLimit: 10000,
19
+ trustProxy: false,
19
20
  admin: 'sub',
20
21
  },
21
22
  signingStore: {
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ declare const options: {
5
5
  configExample: boolean;
6
6
  port?: string | true;
7
7
  logFormat?: "json" | "pretty";
8
- logLevel?: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
8
+ logLevel?: "error" | "trace" | "debug" | "info" | "warn" | "fatal";
9
9
  };
10
10
  export type CliOptions = typeof options;
11
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAqB7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAyIvC,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAiIhE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAuB7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AA6IvC,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBA4IhE"}
package/dist/init.js CHANGED
@@ -14,7 +14,7 @@ import BlockdaemonSigningProvider from '@canton-network/core-signing-blockdaemon
14
14
  import { jwtAuthService } from './auth/jwt-auth-service.js';
15
15
  import express from 'express';
16
16
  import { jwtAuth } from './middleware/jwtAuth.js';
17
- import { rateLimiter } from './middleware/rateLimit.js';
17
+ import { authenticatedRateLimiter, preAuthIpRateLimiter, rateLimiter, } from './middleware/rateLimit.js';
18
18
  import { deriveUrls } from './config/ConfigUtils.js';
19
19
  import { existsSync } from 'fs';
20
20
  import { GATEWAY_VERSION } from './version.js';
@@ -118,11 +118,13 @@ export async function initialize(opts, logger) {
118
118
  const port = opts.port ? Number(opts.port) : config.server.port;
119
119
  const { serviceUrl, publicUrl, dappApiUrl, userApiUrl } = deriveUrls(config, port);
120
120
  const app = express();
121
+ app.set('trust proxy', config.server.trustProxy);
121
122
  const server = app.listen(port, () => {
122
123
  logger.info(`Remote Wallet Gateway starting on ${serviceUrl})`);
123
124
  });
124
125
  app.use(express.json({ limit: config.server.requestSizeLimit }));
125
- const rpcRateLimit = rateLimiter(config.server.requestRateLimit);
126
+ const preAuthRateLimit = preAuthIpRateLimiter(config.server.requestRateLimit);
127
+ const postAuthRateLimit = authenticatedRateLimiter(config.server.requestRateLimit);
126
128
  const healthCheckRateLimit = rateLimiter(1000); // Allow more requests for health checks
127
129
  app.use('/healthz', healthCheckRateLimit, (_req, res) => res.status(200).send('OK'));
128
130
  app.use('/readyz', healthCheckRateLimit, (_req, res) => {
@@ -156,6 +158,7 @@ export async function initialize(opts, logger) {
156
158
  [SigningProvider.BLOCKDAEMON]: new BlockdaemonSigningProvider({
157
159
  baseUrl: Env.BLOCKDAEMON_API_URL('http://localhost:5080/api/cwp/canton'),
158
160
  apiKey: Env.BLOCKDAEMON_API_KEY(''),
161
+ caip2: Env.BLOCKDAEMON_CAIP2('canton:testnet'),
159
162
  }),
160
163
  };
161
164
  const allowedPaths = {
@@ -168,8 +171,10 @@ export async function initialize(opts, logger) {
168
171
  ],
169
172
  };
170
173
  app.use('/api/*splat', express.json());
171
- app.use('/api/*splat', rpcRateLimit);
172
- app.use('/api/*splat', jwtAuth(authService, logger.child({ component: 'JwtHandler' })), sessionHandler(store, allowedPaths, logger.child({ component: 'SessionHandler' })));
174
+ app.use('/api/*splat', preAuthRateLimit);
175
+ app.use('/api/*splat', jwtAuth(authService, logger.child({ component: 'JwtHandler' })));
176
+ app.use('/api/*splat', postAuthRateLimit);
177
+ app.use('/api/*splat', sessionHandler(store, allowedPaths, logger.child({ component: 'SessionHandler' })));
173
178
  logger.info({ ...config.server, port }, 'Server configuration');
174
179
  const kernelInfo = config.kernel;
175
180
  // register dapp API handlers
@@ -1,29 +1,31 @@
1
1
  // Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { jest } from '@jest/globals';
3
+ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest';
4
4
  import { pino } from 'pino';
5
5
  import { sink } from 'pino-test';
6
- const mockLedgerGet = jest.fn();
7
- const mockLedgerPost = jest.fn();
8
- const mockLedgerGrantUserRights = jest.fn();
9
- jest.unstable_mockModule('@canton-network/core-ledger-client', () => ({
10
- Signature: jest.fn(),
11
- SignatureFormat: jest.fn(),
12
- SigningAlgorithmSpec: jest.fn(),
13
- MultiTransactionSignatures: jest.fn(),
14
- SignedTopologyTransaction: jest.fn(),
15
- LedgerClient: jest.fn().mockImplementation(() => {
6
+ const { mockLedgerGet, mockLedgerPost, mockLedgerGrantUserRights } = vi.hoisted(() => ({
7
+ mockLedgerGet: vi.fn(),
8
+ mockLedgerPost: vi.fn(),
9
+ mockLedgerGrantUserRights: vi.fn(),
10
+ }));
11
+ vi.mock('@canton-network/core-ledger-client', () => ({
12
+ Signature: vi.fn(),
13
+ SignatureFormat: vi.fn(),
14
+ SigningAlgorithmSpec: vi.fn(),
15
+ MultiTransactionSignatures: vi.fn(),
16
+ SignedTopologyTransaction: vi.fn(),
17
+ LedgerClient: vi.fn(function LedgerClientMock() {
16
18
  return {
17
19
  getWithRetry: mockLedgerGet,
18
20
  postWithRetry: mockLedgerPost,
19
21
  waitForPartyAndGrantUserRights: mockLedgerGrantUserRights,
20
- generateTopology: jest.fn().mockResolvedValue({
22
+ generateTopology: vi.fn().mockResolvedValue({
21
23
  partyId: 'party2::mypublickey',
22
24
  publicKeyFingerprint: 'mypublickey',
23
25
  topologyTransactions: ['tx1'],
24
26
  multiHash: 'combinedHash',
25
27
  }),
26
- allocateExternalParty: jest
28
+ allocateExternalParty: vi
27
29
  .fn()
28
30
  .mockResolvedValue({ partyId: 'party2::mypublickey' }),
29
31
  };
@@ -60,10 +62,10 @@ describe('PartyAllocationService', () => {
60
62
  const pas = await import('./party-allocation-service.js');
61
63
  // Mock AccessTokenProvider
62
64
  const mockAccessTokenProvider = {
63
- getAccessToken: jest
65
+ getAccessToken: vi
64
66
  .fn()
65
67
  .mockResolvedValue('admin.jwt'),
66
- getAuthContext: jest
68
+ getAuthContext: vi
67
69
  .fn()
68
70
  .mockResolvedValue({
69
71
  userId: 'admin',
@@ -76,9 +78,9 @@ describe('PartyAllocationService', () => {
76
78
  httpLedgerUrl: network.ledgerApi.baseUrl,
77
79
  logger: mockLogger,
78
80
  });
79
- jest.spyOn(service, 'createFingerprintFromKey').mockReturnValue('mypublickey');
81
+ vi.spyOn(service, 'createFingerprintFromKey').mockReturnValue('mypublickey');
80
82
  });
81
- afterEach(() => jest.restoreAllMocks());
83
+ afterEach(() => vi.restoreAllMocks());
82
84
  it('allocates an internal party', async () => {
83
85
  mockLedgerGet.mockResolvedValueOnce({
84
86
  participantId: 'participant1::participantid',
@@ -12,6 +12,7 @@ export declare class TransactionService {
12
12
  private signingDrivers;
13
13
  private notifier;
14
14
  constructor(store: Store, logger: Logger, signingDrivers: Partial<Record<SigningProvider, SigningDriverInterface>> | undefined, notifier: Notifier);
15
+ private loadPreparedTransactionForSigning;
15
16
  signWithParticipant(wallet: Wallet): SignResultSigned;
16
17
  signWithWalletKernel(userId: UserId, wallet: Wallet, signParams: SignParams): Promise<SignResultSigned>;
17
18
  signWithBlockdaemon(userId: UserId, wallet: Wallet, signParams: SignParams): Promise<SignResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/ledger/transaction-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACjE,OAAO,EACH,KAAK,EACL,WAAW,EACX,MAAM,EACN,OAAO,EACV,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAGH,sBAAsB,EACtB,eAAe,EAElB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACH,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAA;AAYjE,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,QAAQ;gBALR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,CAC3B,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,YAAK,EACE,QAAQ,EAAE,QAAQ;IAGvB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAS/C,oBAAoB,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAoDf,mBAAmB,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IAgGT,kBAAkB,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IAoGT,sBAAsB,CAC/B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;IAqCZ,mBAAmB,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,aAAa,CAAC;CAmD5B"}
1
+ {"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/ledger/transaction-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACjE,OAAO,EACH,KAAK,EACL,WAAW,EACX,MAAM,EACN,OAAO,EACV,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAGH,sBAAsB,EACtB,eAAe,EAElB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACH,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAA;AAYjE,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,QAAQ;gBALR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,CAC3B,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,YAAK,EACE,QAAQ,EAAE,QAAQ;YAGhB,iCAAiC;IAYxC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAS/C,oBAAoB,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAoDf,mBAAmB,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IAsGT,kBAAkB,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IA0GT,sBAAsB,CAC/B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;IAuCZ,mBAAmB,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,aAAa,CAAC;CAqD5B"}