@canton-network/wallet-gateway-remote 0.8.0 → 0.9.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 (65) hide show
  1. package/dist/config/Config.d.ts +17 -4
  2. package/dist/config/Config.d.ts.map +1 -1
  3. package/dist/config/Config.js +9 -2
  4. package/dist/config/ConfigUtils.d.ts +5 -1
  5. package/dist/config/ConfigUtils.d.ts.map +1 -1
  6. package/dist/config/ConfigUtils.js +7 -0
  7. package/dist/dapp-api/controller.d.ts +1 -1
  8. package/dist/dapp-api/controller.d.ts.map +1 -1
  9. package/dist/dapp-api/controller.js +41 -37
  10. package/dist/dapp-api/server.d.ts +2 -2
  11. package/dist/dapp-api/server.d.ts.map +1 -1
  12. package/dist/dapp-api/server.js +6 -4
  13. package/dist/dapp-api/server.test.js +3 -4
  14. package/dist/example-config.d.ts +8 -2
  15. package/dist/example-config.d.ts.map +1 -1
  16. package/dist/example-config.js +8 -2
  17. package/dist/init.d.ts.map +1 -1
  18. package/dist/init.js +18 -7
  19. package/dist/ledger/party-allocation-service.d.ts.map +1 -1
  20. package/dist/ledger/party-allocation-service.js +19 -3
  21. package/dist/ledger/party-allocation-service.test.js +2 -7
  22. package/dist/user-api/controller.d.ts +2 -1
  23. package/dist/user-api/controller.d.ts.map +1 -1
  24. package/dist/user-api/controller.js +63 -19
  25. package/dist/user-api/rpc-gen/index.d.ts +3 -0
  26. package/dist/user-api/rpc-gen/index.d.ts.map +1 -1
  27. package/dist/user-api/rpc-gen/index.js +1 -0
  28. package/dist/user-api/rpc-gen/typings.d.ts +14 -0
  29. package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
  30. package/dist/user-api/server.d.ts +1 -1
  31. package/dist/user-api/server.d.ts.map +1 -1
  32. package/dist/user-api/server.js +2 -2
  33. package/dist/user-api/server.test.js +3 -2
  34. package/dist/utils.d.ts +14 -1
  35. package/dist/utils.d.ts.map +1 -1
  36. package/dist/utils.js +24 -0
  37. package/dist/web/frontend/404/index.html +3 -3
  38. package/dist/web/frontend/approve/index.html +4 -4
  39. package/dist/web/frontend/assets/404-ByuA12V-.js +16 -0
  40. package/dist/web/frontend/assets/approve-1AiBNNVx.js +180 -0
  41. package/dist/web/frontend/assets/callback-EvjAE_ta.js +1 -0
  42. package/dist/web/frontend/assets/index-CgbJtyud.css +1 -0
  43. package/dist/web/frontend/assets/index-Dso-o8qY.js +1000 -0
  44. package/dist/web/frontend/assets/login-DK5Zn8Bu.js +159 -0
  45. package/dist/web/frontend/assets/settings-CJev4gQV.js +26 -0
  46. package/dist/web/frontend/assets/state-BrOG8A8b.js +1 -0
  47. package/dist/web/frontend/assets/wallets-ZsA9bw7p.js +240 -0
  48. package/dist/web/frontend/callback/index.html +3 -3
  49. package/dist/web/frontend/index.html +2 -2
  50. package/dist/web/frontend/login/index.html +4 -4
  51. package/dist/web/frontend/settings/index.html +4 -4
  52. package/dist/web/frontend/wallets/index.html +4 -4
  53. package/dist/web/server.d.ts +1 -1
  54. package/dist/web/server.d.ts.map +1 -1
  55. package/dist/web/server.js +5 -1
  56. package/package.json +43 -38
  57. package/dist/web/frontend/assets/404-CK2XmoLz.js +0 -16
  58. package/dist/web/frontend/assets/approve-C-O7VrUc.js +0 -163
  59. package/dist/web/frontend/assets/callback-Bgkm99UY.js +0 -1
  60. package/dist/web/frontend/assets/index-BVQSWRTn.js +0 -1041
  61. package/dist/web/frontend/assets/index-HEe9--Xd.css +0 -5
  62. package/dist/web/frontend/assets/login-FaVg_LJv.js +0 -159
  63. package/dist/web/frontend/assets/settings-YzEHE3VQ.js +0 -26
  64. package/dist/web/frontend/assets/state-xH49VD_k.js +0 -9
  65. package/dist/web/frontend/assets/wallets-CsSlR4-u.js +0 -244
@@ -8,8 +8,8 @@ import { assertConnected, authSchema, AuthTokenProvider, idpSchema, } from '@can
8
8
  import { SigningProvider, } from '@canton-network/core-signing-lib';
9
9
  import { PartyAllocationService, } from '../ledger/party-allocation-service.js';
10
10
  import { WalletSyncService } from '../ledger/wallet-sync-service.js';
11
- import { networkStatus } from '../utils.js';
12
- export const userController = (kernelInfo, store, notificationService, authContext, drivers, _logger) => {
11
+ import { networkStatus, ledgerPrepareParams, } from '../utils.js';
12
+ export const userController = (kernelInfo, userUrl, store, notificationService, authContext, drivers, _logger) => {
13
13
  const logger = _logger.child({ component: 'user-controller' });
14
14
  return buildController({
15
15
  addNetwork: async (params) => {
@@ -244,11 +244,18 @@ export const userController = (kernelInfo, store, notificationService, authConte
244
244
  throw new Error('Failed to sign transaction: ' +
245
245
  JSON.stringify(signature));
246
246
  }
247
+ // Get existing transaction to preserve createdAt if it exists
248
+ const existingTx = await store.getTransaction(commandId);
249
+ const now = new Date();
247
250
  const signedTx = {
248
251
  commandId,
249
252
  status: 'signed',
250
253
  preparedTransaction,
251
254
  preparedTransactionHash,
255
+ ...(existingTx?.createdAt && {
256
+ createdAt: existingTx.createdAt,
257
+ }),
258
+ signedAt: now,
252
259
  };
253
260
  store.setTransaction(signedTx);
254
261
  notifier.emit('txChanged', signedTx);
@@ -282,25 +289,19 @@ export const userController = (kernelInfo, store, notificationService, authConte
282
289
  getUserAccessToken: async () => authContext.accessToken,
283
290
  getAdminAccessToken: async () => authContext.accessToken,
284
291
  };
285
- const ledgerClient = new LedgerClient(new URL(network.ledgerApi.baseUrl), logger, false, undefined, userAccessTokenProvider);
292
+ const ledgerClient = new LedgerClient({
293
+ baseUrl: new URL(network.ledgerApi.baseUrl),
294
+ logger,
295
+ accessTokenProvider: userAccessTokenProvider,
296
+ });
286
297
  switch (wallet.signingProviderId) {
287
298
  case SigningProvider.PARTICIPANT: {
288
299
  const synchronizerId = network.synchronizerId ??
289
300
  (await ledgerClient.getSynchronizerId());
290
301
  // Participant signing provider specific logic can be added here
291
- const request = {
292
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- because OpenRPC codegen type is incompatible with ledger codegen type
293
- commands: transaction?.payload,
294
- commandId,
295
- userId,
296
- actAs: [partyId],
297
- readAs: [],
298
- disclosedContracts: [],
299
- synchronizerId,
300
- packageIdSelectionPreference: [],
301
- };
302
302
  try {
303
- const res = await ledgerClient.postWithRetry('/v2/commands/submit-and-wait', request);
303
+ const prep = ledgerPrepareParams(userId, partyId, synchronizerId, transaction.payload);
304
+ const res = await ledgerClient.postWithRetry('/v2/commands/submit-and-wait', prep);
304
305
  notifier.emit('txChanged', {
305
306
  status: 'executed',
306
307
  commandId,
@@ -343,6 +344,12 @@ export const userController = (kernelInfo, store, notificationService, authConte
343
344
  preparedTransaction: transaction.preparedTransaction,
344
345
  preparedTransactionHash: transaction.preparedTransactionHash,
345
346
  payload: result,
347
+ ...(transaction.createdAt && {
348
+ createdAt: transaction.createdAt,
349
+ }),
350
+ ...(transaction.signedAt && {
351
+ signedAt: transaction.signedAt,
352
+ }),
346
353
  };
347
354
  store.setTransaction(signedTx);
348
355
  notifier.emit('txChanged', signedTx);
@@ -362,7 +369,11 @@ export const userController = (kernelInfo, store, notificationService, authConte
362
369
  // Assumption: `setSession` calls `assertConnected`, so its safe to declare that the authContext is defined.
363
370
  const { userId, accessToken } = authContext;
364
371
  const notifier = notificationService.getNotifier(userId);
365
- const ledgerClient = new LedgerClient(new URL(network.ledgerApi.baseUrl), logger, false, accessToken);
372
+ const ledgerClient = new LedgerClient({
373
+ baseUrl: new URL(network.ledgerApi.baseUrl),
374
+ logger,
375
+ accessToken,
376
+ });
366
377
  const status = await networkStatus(ledgerClient);
367
378
  notifier.emit('onConnected', {
368
379
  status: {
@@ -396,7 +407,7 @@ export const userController = (kernelInfo, store, notificationService, authConte
396
407
  isConnected: false,
397
408
  isNetworkConnected: false,
398
409
  networkReason: 'Unauthenticated',
399
- userUrl: 'http://localhost:3030/login/', // TODO: pull user URL from config
410
+ userUrl: `${userUrl}/login/`,
400
411
  });
401
412
  return null;
402
413
  },
@@ -406,7 +417,11 @@ export const userController = (kernelInfo, store, notificationService, authConte
406
417
  return { sessions: [] };
407
418
  }
408
419
  const network = await store.getNetwork(session.network);
409
- const ledgerClient = new LedgerClient(new URL(network.ledgerApi.baseUrl), logger, false, authContext.accessToken);
420
+ const ledgerClient = new LedgerClient({
421
+ baseUrl: new URL(network.ledgerApi.baseUrl),
422
+ logger,
423
+ accessToken: authContext.accessToken,
424
+ });
410
425
  const status = await networkStatus(ledgerClient);
411
426
  return {
412
427
  sessions: [
@@ -428,7 +443,11 @@ export const userController = (kernelInfo, store, notificationService, authConte
428
443
  getUserAccessToken: async () => authContext.accessToken,
429
444
  getAdminAccessToken: async () => authContext.accessToken,
430
445
  };
431
- const service = new WalletSyncService(store, new LedgerClient(new URL(network.ledgerApi.baseUrl), logger, false, undefined, userAccessTokenProvider), authContext, logger);
446
+ const service = new WalletSyncService(store, new LedgerClient({
447
+ baseUrl: new URL(network.ledgerApi.baseUrl),
448
+ logger,
449
+ accessTokenProvider: userAccessTokenProvider,
450
+ }), authContext, logger);
432
451
  const result = await service.syncWallets();
433
452
  if (result.added.length === 0 && result.removed.length === 0) {
434
453
  return result;
@@ -451,7 +470,32 @@ export const userController = (kernelInfo, store, notificationService, authConte
451
470
  payload: transaction.payload
452
471
  ? JSON.stringify(transaction.payload)
453
472
  : '',
473
+ ...(transaction.createdAt && {
474
+ createdAt: transaction.createdAt.toISOString(),
475
+ }),
476
+ ...(transaction.signedAt && {
477
+ signedAt: transaction.signedAt.toISOString(),
478
+ }),
454
479
  };
455
480
  },
481
+ listTransactions: async function () {
482
+ const transactions = await store.listTransactions();
483
+ const txs = transactions.map((transaction) => ({
484
+ commandId: transaction.commandId,
485
+ status: transaction.status,
486
+ preparedTransaction: transaction.preparedTransaction,
487
+ preparedTransactionHash: transaction.preparedTransactionHash,
488
+ payload: transaction.payload
489
+ ? JSON.stringify(transaction.payload)
490
+ : '',
491
+ ...(transaction.createdAt && {
492
+ createdAt: transaction.createdAt.toISOString(),
493
+ }),
494
+ ...(transaction.signedAt && {
495
+ signedAt: transaction.signedAt.toISOString(),
496
+ }),
497
+ }));
498
+ return { transactions: txs };
499
+ },
456
500
  });
457
501
  };
@@ -15,6 +15,7 @@ import { AddSession } from './typings.js';
15
15
  import { RemoveSession } from './typings.js';
16
16
  import { ListSessions } from './typings.js';
17
17
  import { GetTransaction } from './typings.js';
18
+ import { ListTransactions } from './typings.js';
18
19
  export type Methods = {
19
20
  addNetwork: AddNetwork;
20
21
  removeNetwork: RemoveNetwork;
@@ -33,6 +34,7 @@ export type Methods = {
33
34
  removeSession: RemoveSession;
34
35
  listSessions: ListSessions;
35
36
  getTransaction: GetTransaction;
37
+ listTransactions: ListTransactions;
36
38
  };
37
39
  declare function buildController(methods: Methods): {
38
40
  addNetwork: AddNetwork;
@@ -52,6 +54,7 @@ declare function buildController(methods: Methods): {
52
54
  removeSession: RemoveSession;
53
55
  listSessions: ListSessions;
54
56
  getTransaction: GetTransaction;
57
+ listTransactions: ListTransactions;
55
58
  };
56
59
  export default buildController;
57
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,OAAO,GAAG;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;CACjC,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;EAoBxC;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,MAAM,OAAO,GAAG;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;CACrC,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;EAqBxC;AAED,eAAe,eAAe,CAAA"}
@@ -19,6 +19,7 @@ function buildController(methods) {
19
19
  removeSession: methods.removeSession,
20
20
  listSessions: methods.listSessions,
21
21
  getTransaction: methods.getTransaction,
22
+ listTransactions: methods.listTransactions,
22
23
  };
23
24
  }
24
25
  export default buildController;
@@ -270,6 +270,15 @@ export type Sessions = Session[];
270
270
  *
271
271
  */
272
272
  export type Payload = string;
273
+ export interface Transaction {
274
+ commandId: CommandId;
275
+ status: Status;
276
+ preparedTransaction: PreparedTransaction;
277
+ preparedTransactionHash: PreparedTransactionHash;
278
+ payload?: Payload;
279
+ [k: string]: any;
280
+ }
281
+ export type Transactions = Transaction[];
273
282
  export interface AddNetworkParams {
274
283
  network: Network;
275
284
  [k: string]: any;
@@ -397,6 +406,10 @@ export interface GetTransactionResult {
397
406
  payload?: Payload;
398
407
  [k: string]: any;
399
408
  }
409
+ export interface ListTransactionsResult {
410
+ transactions: Transactions;
411
+ [k: string]: any;
412
+ }
400
413
  /**
401
414
  *
402
415
  * Generated! Represents an alias to any of the provided schemas
@@ -419,4 +432,5 @@ export type AddSession = (params: AddSessionParams) => Promise<AddSessionResult>
419
432
  export type RemoveSession = () => Promise<Null>;
420
433
  export type ListSessions = () => Promise<ListSessionsResult>;
421
434
  export type GetTransaction = (params: GetTransactionParams) => Promise<GetTransactionResult>;
435
+ export type ListTransactions = () => Promise<ListTransactionsResult>;
422
436
  //# sourceMappingURL=typings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/typings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/typings.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ import express from 'express';
5
5
  import { Logger } from 'pino';
6
6
  import { KernelInfo } from '../config/Config.js';
7
7
  import { NotificationService } from '../notification/NotificationService.js';
8
- export declare const user: (route: string, app: express.Express, logger: Logger, kernelInfo: KernelInfo, notificationService: NotificationService, drivers: Partial<Record<SigningProvider, SigningDriverInterface>>, store: Store & AuthAware<Store>) => express.Express;
8
+ export declare const user: (route: string, app: express.Express, logger: Logger, kernelInfo: KernelInfo, userUrl: string, notificationService: NotificationService, drivers: Partial<Record<SigningProvider, SigningDriverInterface>>, store: Store & AuthAware<Store>) => express.Express;
9
9
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/user-api/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACzD,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAI5E,eAAO,MAAM,IAAI,GACb,OAAO,MAAM,EACb,KAAK,OAAO,CAAC,OAAO,EACpB,QAAQ,MAAM,EACd,YAAY,UAAU,EACtB,qBAAqB,mBAAmB,EACxC,SAAS,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,EACjE,OAAO,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,oBAiBlC,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/user-api/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACzD,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAI5E,eAAO,MAAM,IAAI,GACb,OAAO,MAAM,EACb,KAAK,OAAO,CAAC,OAAO,EACpB,QAAQ,MAAM,EACd,YAAY,UAAU,EACtB,SAAS,MAAM,EACf,qBAAqB,mBAAmB,EACxC,SAAS,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,EACjE,OAAO,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,oBAkBlC,CAAA"}
@@ -2,9 +2,9 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { jsonRpcHandler } from '../middleware/jsonRpcHandler.js';
4
4
  import { userController } from './controller.js';
5
- export const user = (route, app, logger, kernelInfo, notificationService, drivers, store) => {
5
+ export const user = (route, app, logger, kernelInfo, userUrl, notificationService, drivers, store) => {
6
6
  app.use(route, (req, res, next) => jsonRpcHandler({
7
- controller: userController(kernelInfo, store.withAuthContext(req.authContext), notificationService, req.authContext, drivers, logger),
7
+ controller: userController(kernelInfo, userUrl, store.withAuthContext(req.authContext), notificationService, req.authContext, drivers, logger),
8
8
  logger,
9
9
  })(req, res, next));
10
10
  return app;
@@ -6,7 +6,7 @@ import express from 'express';
6
6
  import request from 'supertest';
7
7
  import { user } from './server.js';
8
8
  import { StoreInternal } from '@canton-network/core-wallet-store-inmemory';
9
- import { ConfigUtils } from '../config/ConfigUtils.js';
9
+ import { ConfigUtils, deriveKernelUrls } from '../config/ConfigUtils.js';
10
10
  import { pino } from 'pino';
11
11
  import { sink } from 'pino-test';
12
12
  const configPath = '../test/config.json';
@@ -24,7 +24,8 @@ test('call listNetworks rpc', async () => {
24
24
  const app = express();
25
25
  app.use(cors());
26
26
  app.use(express.json());
27
- const response = await request(user('/api/v0/user', app, pino(sink()), config.kernel, notificationService, drivers, store))
27
+ const { userUrl } = deriveKernelUrls(config.server);
28
+ const response = await request(user('/api/v0/user', app, pino(sink()), config.kernel, userUrl, notificationService, drivers, store))
28
29
  .post('/api/v0/user')
29
30
  .send({ jsonrpc: '2.0', id: 0, method: 'listNetworks', params: [] })
30
31
  .set('Accept', 'application/json');
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,22 @@
1
- import { LedgerClient } from '@canton-network/core-ledger-client';
1
+ import { LedgerClient, PostRequest } from '@canton-network/core-ledger-client';
2
+ import type { DisclosedContracts, PackageIdSelectionPreference } from './dapp-api/rpc-gen/typings.js';
2
3
  type NetworkStatus = {
3
4
  isConnected: boolean;
4
5
  reason?: string;
5
6
  cantonVersion?: string;
6
7
  };
7
8
  export declare function networkStatus(ledgerClient: LedgerClient): Promise<NetworkStatus>;
9
+ export interface PrepareParams {
10
+ commandId?: string;
11
+ commands?: {
12
+ [k: string]: unknown;
13
+ };
14
+ actAs?: string[];
15
+ readAs?: string[];
16
+ disclosedContracts?: DisclosedContracts;
17
+ packageIdSelectionPreference?: PackageIdSelectionPreference;
18
+ [k: string]: unknown;
19
+ }
20
+ export declare function ledgerPrepareParams(userId: string, partyId: string, synchronizerId: string, params: PrepareParams): PostRequest<'/v2/interactive-submission/prepare'>;
8
21
  export {};
9
22
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEjE,KAAK,aAAa,GAAG;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wBAAsB,aAAa,CAC/B,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,aAAa,CAAC,CAaxB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EACR,kBAAkB,EAClB,4BAA4B,EAC/B,MAAM,+BAA+B,CAAA;AAEtC,KAAK,aAAa,GAAG;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wBAAsB,aAAa,CAC/B,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,4BAA4B,CAAC,EAAE,4BAA4B,CAAA;IAC3D,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,aAAa,GACtB,WAAW,CAAC,oCAAoC,CAAC,CAuBnD"}
package/dist/utils.js CHANGED
@@ -1,6 +1,7 @@
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
  // Disabled unused vars rule to allow for future implementations
4
+ import { v4 } from 'uuid';
4
5
  export async function networkStatus(ledgerClient) {
5
6
  try {
6
7
  const response = await ledgerClient.get('/v2/version');
@@ -16,3 +17,26 @@ export async function networkStatus(ledgerClient) {
16
17
  };
17
18
  }
18
19
  }
20
+ export function ledgerPrepareParams(userId, partyId, synchronizerId, params) {
21
+ // Map disclosed contracts to ledger api format (which wrongly defines optional fields as mandatory)
22
+ const disclosedContracts = params.disclosedContracts?.map((d) => {
23
+ return {
24
+ templateId: d.templateId || '',
25
+ contractId: d.contractId || '',
26
+ createdEventBlob: d.createdEventBlob,
27
+ synchronizerId: d.synchronizerId || '',
28
+ };
29
+ }) || [];
30
+ return {
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- because OpenRPC codegen type is incompatible with ledger codegen type
32
+ commands: params.commands,
33
+ commandId: params.commandId || v4(),
34
+ userId,
35
+ actAs: params.actAs || [partyId],
36
+ readAs: params.readAs || [],
37
+ disclosedContracts,
38
+ synchronizerId,
39
+ verboseHashing: false,
40
+ packageIdSelectionPreference: params.packageIdSelectionPreference || [],
41
+ };
42
+ }
@@ -3,9 +3,9 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>Wallet Kernel - Not found</title>
6
- <script type="module" crossorigin src="/assets/404-CK2XmoLz.js"></script>
7
- <link rel="modulepreload" crossorigin href="/assets/index-BVQSWRTn.js">
8
- <link rel="stylesheet" crossorigin href="/assets/index-HEe9--Xd.css">
6
+ <script type="module" crossorigin src="/assets/404-ByuA12V-.js"></script>
7
+ <link rel="modulepreload" crossorigin href="/assets/index-Dso-o8qY.js">
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CgbJtyud.css">
9
9
  </head>
10
10
 
11
11
  <body>
@@ -3,10 +3,10 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>Wallet Kernel - Approve Write Request</title>
6
- <script type="module" crossorigin src="/assets/approve-C-O7VrUc.js"></script>
7
- <link rel="modulepreload" crossorigin href="/assets/index-BVQSWRTn.js">
8
- <link rel="modulepreload" crossorigin href="/assets/state-xH49VD_k.js">
9
- <link rel="stylesheet" crossorigin href="/assets/index-HEe9--Xd.css">
6
+ <script type="module" crossorigin src="/assets/approve-1AiBNNVx.js"></script>
7
+ <link rel="modulepreload" crossorigin href="/assets/index-Dso-o8qY.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/state-BrOG8A8b.js">
9
+ <link rel="stylesheet" crossorigin href="/assets/index-CgbJtyud.css">
10
10
  </head>
11
11
 
12
12
  <body>
@@ -0,0 +1,16 @@
1
+ import{i as k,a as z,x as O,t as P}from"./index-Dso-o8qY.js";var C=Object.create,s=Object.defineProperty,E=Object.getOwnPropertyDescriptor,x=(r,e)=>(e=Symbol[r])?e:Symbol.for("Symbol."+r),h=r=>{throw TypeError(r)},I=(r,e,a)=>e in r?s(r,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[e]=a,j=(r,e)=>s(r,"name",{value:e,configurable:!0}),A=r=>[,,,C(r?.[x("metadata")]??null)],D=["class","method","getter","setter","accessor","field","value","get","set"],w=r=>r!==void 0&&typeof r!="function"?h("Function expected"):r,F=(r,e,a,n,t)=>({kind:D[r],name:e,metadata:n,addInitializer:o=>a._?h("Already initialized"):t.push(w(o||null))}),M=(r,e)=>I(e,x("metadata"),r[3]),N=(r,e,a,n)=>{for(var t=0,o=r[e>>1],i=o&&o.length;t<i;t++)o[t].call(a);return n},T=(r,e,a,n,t,o)=>{var i,u,f,l=e&7,b=!1,m=0,g=r[m]||(r[m]=[]),c=l&&(t=t.prototype,l<5&&(l>3||!b)&&E(t,a));j(t,a);for(var _=n.length-1;_>=0;_--)f=F(l,a,u={},r[3],g),i=(0,n[_])(t,f),u._=1,w(i)&&(t=i);return M(r,t),c&&s(t,a,c),b?l^4?o:c:t},y,v,S;y=[P("user-ui-404")];const p=class p extends(S=k){connectedCallback(){super.connectedCallback()}render(){return O`
2
+ <div class="wrapper">
3
+ <not-found href="/"></not-found>
4
+ </div>
5
+ `}};p.styles=z`
6
+ :host {
7
+ display: block;
8
+ box-sizing: border-box;
9
+ padding: 0rem;
10
+ max-width: 900px;
11
+ margin: 20% auto;
12
+ font-family: var(--swk-font, Arial, sans-serif);
13
+ color: var(--text-color, #222);
14
+ padding: 20px;
15
+ }
16
+ `;let d=p;v=A(S);d=T(v,0,"ApproveUi",y,d);N(v,1,d);