@canton-network/wallet-gateway-remote 1.4.0 → 1.6.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 (141) hide show
  1. package/dist/auth/jwt-auth-service.d.ts.map +1 -1
  2. package/dist/auth/jwt-auth-service.js +6 -5
  3. package/dist/auth/jwt-auth-service.test.d.ts +2 -0
  4. package/dist/auth/jwt-auth-service.test.d.ts.map +1 -0
  5. package/dist/auth/jwt-auth-service.test.js +259 -0
  6. package/dist/auth/jwt-unsafe-auth-service.test.d.ts +2 -0
  7. package/dist/auth/jwt-unsafe-auth-service.test.d.ts.map +1 -0
  8. package/dist/auth/jwt-unsafe-auth-service.test.js +120 -0
  9. package/dist/config/Config.d.ts +69 -4
  10. package/dist/config/Config.d.ts.map +1 -1
  11. package/dist/config/Config.js +6 -0
  12. package/dist/config/ConfigUtils.d.ts.map +1 -1
  13. package/dist/config/ConfigUtils.js +3 -0
  14. package/dist/dapp-api/controller.d.ts +5 -1
  15. package/dist/dapp-api/controller.d.ts.map +1 -1
  16. package/dist/dapp-api/controller.js +104 -30
  17. package/dist/dapp-api/controller.test.js +2 -2
  18. package/dist/dapp-api/server.d.ts +3 -2
  19. package/dist/dapp-api/server.d.ts.map +1 -1
  20. package/dist/dapp-api/server.js +2 -2
  21. package/dist/dapp-api/server.test.js +1 -6
  22. package/dist/example-config.d.ts +3 -0
  23. package/dist/example-config.d.ts.map +1 -1
  24. package/dist/example-config.js +3 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +10 -0
  27. package/dist/init.d.ts.map +1 -1
  28. package/dist/init.js +19 -7
  29. package/dist/ledger/transaction-service.d.ts +16 -11
  30. package/dist/ledger/transaction-service.d.ts.map +1 -1
  31. package/dist/ledger/transaction-service.js +135 -8
  32. package/dist/ledger/transaction-service.test.d.ts +2 -0
  33. package/dist/ledger/transaction-service.test.d.ts.map +1 -0
  34. package/dist/ledger/transaction-service.test.js +390 -0
  35. package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts +5 -2
  36. package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -1
  37. package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +7 -6
  38. package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +11 -5
  39. package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -1
  40. package/dist/ledger/wallet-allocation/wallet-allocation-service.js +28 -14
  41. package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +550 -19
  42. package/dist/ledger/wallet-sync-service.js +3 -3
  43. package/dist/middleware/apiKeyAuth.d.ts +6 -0
  44. package/dist/middleware/apiKeyAuth.d.ts.map +1 -0
  45. package/dist/middleware/apiKeyAuth.js +90 -0
  46. package/dist/middleware/apiKeyAuth.test.d.ts +2 -0
  47. package/dist/middleware/apiKeyAuth.test.d.ts.map +1 -0
  48. package/dist/middleware/apiKeyAuth.test.js +126 -0
  49. package/dist/middleware/jsonRpcHandler.d.ts +11 -1
  50. package/dist/middleware/jsonRpcHandler.d.ts.map +1 -1
  51. package/dist/middleware/jsonRpcHandler.js +14 -15
  52. package/dist/middleware/jsonRpcHandler.test.d.ts +2 -0
  53. package/dist/middleware/jsonRpcHandler.test.d.ts.map +1 -0
  54. package/dist/middleware/jsonRpcHandler.test.js +254 -0
  55. package/dist/middleware/jwtAuth.d.ts.map +1 -1
  56. package/dist/middleware/jwtAuth.js +4 -0
  57. package/dist/middleware/jwtAuth.test.d.ts +2 -0
  58. package/dist/middleware/jwtAuth.test.d.ts.map +1 -0
  59. package/dist/middleware/jwtAuth.test.js +93 -0
  60. package/dist/middleware/rateLimit.test.js +12 -0
  61. package/dist/middleware/sessionHandler.js +1 -1
  62. package/dist/middleware/sessionHandler.test.d.ts +2 -0
  63. package/dist/middleware/sessionHandler.test.d.ts.map +1 -0
  64. package/dist/middleware/sessionHandler.test.js +121 -0
  65. package/dist/notification/NotificationService.test.d.ts +2 -0
  66. package/dist/notification/NotificationService.test.d.ts.map +1 -0
  67. package/dist/notification/NotificationService.test.js +110 -0
  68. package/dist/signing/service-account-session.d.ts +16 -0
  69. package/dist/signing/service-account-session.d.ts.map +1 -0
  70. package/dist/signing/service-account-session.js +25 -0
  71. package/dist/signing/service-account-session.test.d.ts +2 -0
  72. package/dist/signing/service-account-session.test.d.ts.map +1 -0
  73. package/dist/signing/service-account-session.test.js +89 -0
  74. package/dist/signing/signing-drivers.d.ts +7 -0
  75. package/dist/signing/signing-drivers.d.ts.map +1 -0
  76. package/dist/signing/signing-drivers.js +3 -0
  77. package/dist/signing/signing-worker.d.ts +83 -0
  78. package/dist/signing/signing-worker.d.ts.map +1 -0
  79. package/dist/signing/signing-worker.js +206 -0
  80. package/dist/signing/signing-worker.test.d.ts +2 -0
  81. package/dist/signing/signing-worker.test.d.ts.map +1 -0
  82. package/dist/signing/signing-worker.test.js +152 -0
  83. package/dist/user-api/controller.d.ts +6 -4
  84. package/dist/user-api/controller.d.ts.map +1 -1
  85. package/dist/user-api/controller.js +119 -95
  86. package/dist/user-api/controller.test.d.ts +2 -0
  87. package/dist/user-api/controller.test.d.ts.map +1 -0
  88. package/dist/user-api/controller.test.js +862 -0
  89. package/dist/user-api/rpc-gen/index.d.ts +12 -0
  90. package/dist/user-api/rpc-gen/index.d.ts.map +1 -1
  91. package/dist/user-api/rpc-gen/index.js +4 -0
  92. package/dist/user-api/rpc-gen/typings.d.ts +52 -3
  93. package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
  94. package/dist/utils.d.ts +17 -1
  95. package/dist/utils.d.ts.map +1 -1
  96. package/dist/utils.js +53 -2
  97. package/dist/utils.test.d.ts +2 -0
  98. package/dist/utils.test.d.ts.map +1 -0
  99. package/dist/utils.test.js +24 -0
  100. package/dist/web/frontend/404/index.html +2 -2
  101. package/dist/web/frontend/activities/index.html +3 -3
  102. package/dist/web/frontend/approve/index.html +4 -4
  103. package/dist/web/frontend/assets/{404-C7V2yl2z.js → 404-C4hCL2o8.js} +2 -2
  104. package/dist/web/frontend/assets/{activities-NY8oZAkH.js → activities-Bq7yMMQY.js} +2 -2
  105. package/dist/web/frontend/assets/addIdentityProvider-DRJWLhHF.js +28 -0
  106. package/dist/web/frontend/assets/addNetwork-CJUaKP1q.js +38 -0
  107. package/dist/web/frontend/assets/addParty-2ObTLGIL.js +45 -0
  108. package/dist/web/frontend/assets/approve-BuA5DGC2.js +21 -0
  109. package/dist/web/frontend/assets/callback-C5vJWFLq.js +1 -0
  110. package/dist/web/frontend/assets/{identityProviders-BZ9h_VOJ.js → identityProviders-78FbpzYL.js} +2 -2
  111. package/dist/web/frontend/assets/{index-B-HiKugW.js → index-BTH_md6b.js} +3 -3
  112. package/dist/web/frontend/assets/index-CFnOucPK.js +4737 -0
  113. package/dist/web/frontend/assets/{login-CqwMEG9J.js → login-Dyn1o6fW.js} +2 -2
  114. package/dist/web/frontend/assets/{networks-BJvRi47M.js → networks-_el10AWP.js} +2 -2
  115. package/dist/web/frontend/assets/reviewIdentityProvider-DodUZ2mY.js +43 -0
  116. package/dist/web/frontend/assets/reviewNetwork-BFMtmKEL.js +43 -0
  117. package/dist/web/frontend/assets/settings-BBmkIfYm.js +37 -0
  118. package/dist/web/frontend/assets/{state-qAsNw5qf.js → state-DkxLvywv.js} +1 -1
  119. package/dist/web/frontend/assets/{utils-BDkHxi8V.js → utils-DvJKIYxT.js} +1 -1
  120. package/dist/web/frontend/callback/index.html +2 -2
  121. package/dist/web/frontend/identity-providers/add/index.html +3 -3
  122. package/dist/web/frontend/identity-providers/index.html +3 -3
  123. package/dist/web/frontend/identity-providers/review/index.html +3 -3
  124. package/dist/web/frontend/index.html +1 -1
  125. package/dist/web/frontend/login/index.html +3 -3
  126. package/dist/web/frontend/networks/add/index.html +3 -3
  127. package/dist/web/frontend/networks/index.html +3 -3
  128. package/dist/web/frontend/networks/review/index.html +3 -3
  129. package/dist/web/frontend/parties/add/index.html +5 -5
  130. package/dist/web/frontend/parties/index.html +4 -4
  131. package/dist/web/frontend/settings/index.html +3 -3
  132. package/package.json +36 -32
  133. package/dist/web/frontend/assets/addIdentityProvider-38ghz3RT.js +0 -28
  134. package/dist/web/frontend/assets/addNetwork-BaDhbrZl.js +0 -38
  135. package/dist/web/frontend/assets/addParty-j3JWZX5a.js +0 -41
  136. package/dist/web/frontend/assets/approve-43nVzAAC.js +0 -21
  137. package/dist/web/frontend/assets/callback-BBMiCjHR.js +0 -1
  138. package/dist/web/frontend/assets/index-DoNqknyE.js +0 -4042
  139. package/dist/web/frontend/assets/reviewIdentityProvider-ySlQnw5R.js +0 -43
  140. package/dist/web/frontend/assets/reviewNetwork-DrVxeHd4.js +0 -43
  141. package/dist/web/frontend/assets/settings-BVNkaUyJ.js +0 -37
@@ -15,10 +15,10 @@ export class FireblocksWalletAllocator {
15
15
  this.partyAllocator = partyAllocator;
16
16
  this.signingDriver = signingDriver;
17
17
  }
18
- async createWallet(userId, email, partyHint, primary = false) {
18
+ async createWallet(userId, email, partyHint, primary = false, vaultName) {
19
19
  const driver = this.signingDriver.controller(userId);
20
20
  const keys = await driver.getKeys().then(handleSigningError);
21
- const key = keys?.keys?.find((k) => k.name === 'Canton Party');
21
+ const key = keys?.keys?.find((k) => k.name === vaultName);
22
22
  if (!key)
23
23
  throw new Error('Fireblocks key not found');
24
24
  const formattedPublicKey = Buffer.from(key.publicKey, 'hex').toString('base64');
@@ -92,10 +92,6 @@ export class FireblocksWalletAllocator {
92
92
  throw new Error('Existing wallet is missing field externalTxId or topologyTransactions');
93
93
  }
94
94
  const driver = this.signingDriver.controller(userId);
95
- const keys = await driver.getKeys().then(handleSigningError);
96
- const key = keys?.keys?.find((k) => k.name === 'Canton Party');
97
- if (!key)
98
- throw new Error('Fireblocks key not found');
99
95
  const { signature, status } = await driver
100
96
  .getTransaction({
101
97
  userId,
@@ -138,4 +134,9 @@ export class FireblocksWalletAllocator {
138
134
  }
139
135
  return this.store.updateWallet(walletUpdate);
140
136
  }
137
+ async getVaults(userId) {
138
+ const driver = this.signingDriver.controller(userId);
139
+ const keys = await driver.getKeys().then(handleSigningError);
140
+ return { vaults: keys?.keys?.map((key) => key.name) ?? [] };
141
+ }
141
142
  }
@@ -1,12 +1,15 @@
1
- import { UserId } from '@canton-network/core-wallet-auth';
1
+ import { AuthContext, UserId } from '@canton-network/core-wallet-auth';
2
2
  import { Store, Wallet } from '@canton-network/core-wallet-store';
3
3
  import { SigningDriverInterface, SigningProvider } from '@canton-network/core-signing-lib';
4
4
  import { Logger } from 'pino';
5
5
  import { PartyAllocationService } from '../party-allocation-service.js';
6
- import { PartyHint, Primary } from '../../user-api/rpc-gen/typings.js';
6
+ import { PartyHint, Primary, VaultName } from '../../user-api/rpc-gen/typings.js';
7
7
  export interface WalletAllocator {
8
- createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary: Primary): Promise<Wallet>;
8
+ createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary: Primary, vaultName?: VaultName | undefined): Promise<Wallet>;
9
9
  allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
10
+ getVaults?(userId: UserId): Promise<{
11
+ vaults: string[];
12
+ }>;
10
13
  }
11
14
  export declare class WalletAllocationService {
12
15
  private readonly participantAllocator;
@@ -15,7 +18,10 @@ export declare class WalletAllocationService {
15
18
  private readonly blockdaemonAllocator?;
16
19
  private readonly dfnsAllocator?;
17
20
  constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService, signingDrivers?: Partial<Record<SigningProvider, SigningDriverInterface>>);
18
- createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary: Primary, signingProviderId: SigningProvider): Promise<Wallet>;
19
- allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet, signingProviderId: SigningProvider): Promise<void>;
21
+ createWallet(authContext: AuthContext, partyHint: PartyHint, primary: Primary, signingProviderId: SigningProvider, vaultName?: VaultName | undefined): Promise<Wallet>;
22
+ allocateParty(authContext: AuthContext, existingWallet: Wallet, signingProviderId: SigningProvider): Promise<void>;
23
+ getVaults(authContext: AuthContext, signingProviderId: SigningProvider): Promise<{
24
+ vaults: string[];
25
+ }>;
20
26
  }
21
27
  //# sourceMappingURL=wallet-allocation-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-allocation-service.d.ts","sourceRoot":"","sources":["../../../src/ledger/wallet-allocation/wallet-allocation-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAOtE,MAAM,WAAW,eAAe;IAC5B,YAAY,CACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,aAAa,CACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAED,qBAAa,uBAAuB;IAChC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4B;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAA4B;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;gBAGhD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,cAAc,GAAE,OAAO,CACnB,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAC7C;IAiDG,YAAY,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,eAAe,GACnC,OAAO,CAAC,MAAM,CAAC;IA+DL,aAAa,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,eAAe,GACnC,OAAO,CAAC,IAAI,CAAC;CAyDnB"}
1
+ {"version":3,"file":"wallet-allocation-service.d.ts","sourceRoot":"","sources":["../../../src/ledger/wallet-allocation/wallet-allocation-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EACH,SAAS,EACT,OAAO,EACP,SAAS,EACZ,MAAM,mCAAmC,CAAA;AAO1C,MAAM,WAAW,eAAe;IAC5B,YAAY,CACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAClC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,aAAa,CACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D;AAED,qBAAa,uBAAuB;IAChC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4B;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAA4B;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;gBAGhD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,cAAc,GAAE,OAAO,CACnB,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAC7C;IAiDG,YAAY,CACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,eAAe,EAClC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAClC,OAAO,CAAC,MAAM,CAAC;IAqEL,aAAa,CACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,eAAe,GACnC,OAAO,CAAC,IAAI,CAAC;IA0DH,SAAS,CAClB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,eAAe,GACnC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAanC"}
@@ -26,66 +26,80 @@ export class WalletAllocationService {
26
26
  this.dfnsAllocator = new DfnsWalletAllocator(store, logger, partyAllocator, dfnsDriver);
27
27
  }
28
28
  }
29
- async createWallet(userId, email, partyHint, primary, signingProviderId) {
29
+ async createWallet(authContext, partyHint, primary, signingProviderId, vaultName) {
30
30
  switch (signingProviderId) {
31
31
  case SigningProvider.PARTICIPANT:
32
- return this.participantAllocator.createWallet(userId, email, partyHint, primary);
32
+ return this.participantAllocator.createWallet(authContext.userId, authContext.email, partyHint, primary);
33
33
  case SigningProvider.WALLET_KERNEL:
34
34
  if (!this.kernelAllocator) {
35
35
  throw new Error('Wallet Gateway signing driver not available');
36
36
  }
37
- return this.kernelAllocator.createWallet(userId, email, partyHint, primary);
37
+ return this.kernelAllocator.createWallet(authContext.userId, authContext.email, partyHint, primary);
38
38
  case SigningProvider.FIREBLOCKS:
39
39
  if (!this.fireblocksAllocator) {
40
40
  throw new Error('Fireblocks signing driver not available');
41
41
  }
42
- return this.fireblocksAllocator.createWallet(userId, email, partyHint, primary);
42
+ if (!vaultName) {
43
+ throw new Error('vaultName is required for creating a wallet with Fireblocks');
44
+ }
45
+ return this.fireblocksAllocator.createWallet(authContext.userId, authContext.email, partyHint, primary, vaultName);
43
46
  case SigningProvider.BLOCKDAEMON:
44
47
  if (!this.blockdaemonAllocator) {
45
48
  throw new Error('Blockdaemon signing driver not available');
46
49
  }
47
- if (!email) {
50
+ if (!authContext.email) {
48
51
  throw new Error('Email is required for Blockdaemon wallet allocation');
49
52
  }
50
- return this.blockdaemonAllocator.createWallet(userId, email, partyHint, primary);
53
+ return this.blockdaemonAllocator.createWallet(authContext.userId, authContext.email, partyHint, primary);
51
54
  case SigningProvider.DFNS:
52
55
  if (!this.dfnsAllocator) {
53
56
  throw new Error('Dfns signing driver not available');
54
57
  }
55
- return this.dfnsAllocator.createWallet(userId, email, partyHint, primary);
58
+ return this.dfnsAllocator.createWallet(authContext.userId, authContext.email, partyHint, primary);
56
59
  default:
57
60
  throw new Error(`Unsupported signing provider: ${signingProviderId}`);
58
61
  }
59
62
  }
60
- async allocateParty(userId, email, existingWallet, signingProviderId) {
63
+ async allocateParty(authContext, existingWallet, signingProviderId) {
61
64
  switch (signingProviderId) {
62
65
  case SigningProvider.PARTICIPANT:
63
- return this.participantAllocator.allocateParty(userId, email, existingWallet);
66
+ return this.participantAllocator.allocateParty(authContext.userId, authContext.email, existingWallet);
64
67
  case SigningProvider.WALLET_KERNEL:
65
68
  if (!this.kernelAllocator) {
66
69
  throw new Error('Wallet Gateway signing driver not available');
67
70
  }
68
- return this.kernelAllocator.allocateParty(userId, email, existingWallet);
71
+ return this.kernelAllocator.allocateParty(authContext.userId, authContext.email, existingWallet);
69
72
  case SigningProvider.FIREBLOCKS:
70
73
  if (!this.fireblocksAllocator) {
71
74
  throw new Error('Fireblocks signing driver not available');
72
75
  }
73
- return this.fireblocksAllocator.allocateParty(userId, email, existingWallet);
76
+ return this.fireblocksAllocator.allocateParty(authContext.userId, authContext.email, existingWallet);
74
77
  case SigningProvider.BLOCKDAEMON:
75
78
  if (!this.blockdaemonAllocator) {
76
79
  throw new Error('Blockdaemon signing driver not available');
77
80
  }
78
- if (!email) {
81
+ if (!authContext.email) {
79
82
  throw new Error('Email is required for Blockdaemon wallet allocation');
80
83
  }
81
- return this.blockdaemonAllocator.allocateParty(userId, email, existingWallet);
84
+ return this.blockdaemonAllocator.allocateParty(authContext.userId, authContext.email, existingWallet);
82
85
  case SigningProvider.DFNS:
83
86
  if (!this.dfnsAllocator) {
84
87
  throw new Error('Dfns signing driver not available');
85
88
  }
86
- return this.dfnsAllocator.allocateParty(userId, email, existingWallet);
89
+ return this.dfnsAllocator.allocateParty(authContext.userId, authContext.email, existingWallet);
87
90
  default:
88
91
  throw new Error(`Unsupported signing provider: ${signingProviderId}`);
89
92
  }
90
93
  }
94
+ async getVaults(authContext, signingProviderId) {
95
+ switch (signingProviderId) {
96
+ case SigningProvider.FIREBLOCKS:
97
+ if (!this.fireblocksAllocator) {
98
+ throw new Error('Fireblocks signing driver not available');
99
+ }
100
+ return this.fireblocksAllocator.getVaults(authContext.userId);
101
+ default:
102
+ throw new Error(`Signing provider ${signingProviderId} does not support listing vaults`);
103
+ }
104
+ }
91
105
  }