@canton-network/wallet-gateway-remote 0.27.0 → 1.0.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.
- package/dist/ledger/wallet-sync-service.d.ts +2 -1
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +63 -47
- package/dist/ledger/wallet-sync-service.test.js +169 -50
- package/dist/user-api/rpc-gen/typings.d.ts +16 -1
- package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
- package/package.json +19 -19
|
@@ -16,7 +16,8 @@ export declare class WalletSyncService {
|
|
|
16
16
|
private static readonly EMPTY_RIGHTS;
|
|
17
17
|
private sameRights;
|
|
18
18
|
run(timeoutMs: number): Promise<void>;
|
|
19
|
-
|
|
19
|
+
private getParticipantNamespace;
|
|
20
|
+
protected resolveSigningProvider(partyNamespace: string, participantNamespace: string): Promise<{
|
|
20
21
|
signingProviderId: SigningProvider.PARTICIPANT;
|
|
21
22
|
matched: boolean;
|
|
22
23
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-sync-service.d.ts","sourceRoot":"","sources":["../../src/ledger/wallet-sync-service.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,YAAY,EAEf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EACH,KAAK,EAIR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,cAAc;gBAPd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,CAC3B,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,YAAK,EACE,cAAc,EAAE,sBAAsB;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAE5D,OAAO,CAAC,UAAU;IAUZ,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet-sync-service.d.ts","sourceRoot":"","sources":["../../src/ledger/wallet-sync-service.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,YAAY,EAEf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EACH,KAAK,EAIR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAGtB,OAAO,CAAC,cAAc;gBAPd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,CAC3B,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,YAAK,EACE,cAAc,EAAE,sBAAsB;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAE5D,OAAO,CAAC,UAAU;IAUZ,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAU7B,uBAAuB;cAkBrB,sBAAsB,CAClC,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC7B,OAAO,CACJ;QACI,iBAAiB,EAAE,eAAe,CAAC,WAAW,CAAA;QAC9C,OAAO,EAAE,OAAO,CAAA;KACnB,GACD;QACI,iBAAiB,EAAE,OAAO,CACtB,eAAe,EACf,eAAe,CAAC,WAAW,CAC9B,CAAA;QACD,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,OAAO,CAAA;KACnB,CACN;YAwGa,iBAAiB;IA8DzB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;YA8D9B,yBAAyB;YA2EzB,0BAA0B;YAoD1B,mBAAmB;IAsB3B,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAgHlD"}
|
|
@@ -28,27 +28,23 @@ export class WalletSyncService {
|
|
|
28
28
|
await new Promise((res) => setTimeout(res, timeoutMs));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
async
|
|
31
|
+
async getParticipantNamespace() {
|
|
32
|
+
const { participantId } = await this.ledgerClient.getWithRetry('/v2/parties/participant-id', defaultRetryableOptions);
|
|
33
|
+
// Extract the namespace part from participantId
|
|
34
|
+
// Format is hint::namespace
|
|
35
|
+
const [, extractedNamespace] = participantId.split('::');
|
|
36
|
+
if (extractedNamespace) {
|
|
37
|
+
return extractedNamespace;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error(`Invalid participantId format: expected "hint::namespace", got "${participantId}"`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Protected for tests
|
|
44
|
+
async resolveSigningProvider(partyNamespace, participantNamespace) {
|
|
32
45
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
let participantNamespace;
|
|
36
|
-
try {
|
|
37
|
-
const { participantId } = await this.ledgerClient.getWithRetry('/v2/parties/participant-id', defaultRetryableOptions);
|
|
38
|
-
// Extract the namespace part from participantId
|
|
39
|
-
// Format is hint::namespace
|
|
40
|
-
const [, extractedNamespace] = participantId.split('::');
|
|
41
|
-
if (extractedNamespace) {
|
|
42
|
-
participantNamespace = extractedNamespace;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.logger.warn({ participantId }, `Invalid participantId format: expected "hint::namespace", got "${participantId}"`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
this.logger.warn({ err }, 'Failed to get participant namespace');
|
|
50
|
-
}
|
|
51
|
-
if (participantNamespace && namespace === participantNamespace) {
|
|
46
|
+
if (participantNamespace &&
|
|
47
|
+
partyNamespace === participantNamespace) {
|
|
52
48
|
return {
|
|
53
49
|
signingProviderId: SigningProvider.PARTICIPANT,
|
|
54
50
|
matched: true,
|
|
@@ -82,9 +78,9 @@ export class WalletSyncService {
|
|
|
82
78
|
if (!normalizedKey)
|
|
83
79
|
continue;
|
|
84
80
|
const keyNamespace = this.partyAllocator.createFingerprintFromKey(normalizedKey);
|
|
85
|
-
if (keyNamespace ===
|
|
81
|
+
if (keyNamespace === partyNamespace) {
|
|
86
82
|
this.logger.info({
|
|
87
|
-
namespace,
|
|
83
|
+
namespace: partyNamespace,
|
|
88
84
|
providerId,
|
|
89
85
|
keyId: key.id,
|
|
90
86
|
publicKey: key.publicKey,
|
|
@@ -104,14 +100,14 @@ export class WalletSyncService {
|
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
102
|
// No match found - use participant as default provider
|
|
107
|
-
this.logger.warn({ namespace }, 'No signing provider match found for namespace, using participant as default and marking wallet as unmatched (disabled)');
|
|
103
|
+
this.logger.warn({ namespace: partyNamespace }, 'No signing provider match found for namespace, using participant as default and marking wallet as unmatched (disabled)');
|
|
108
104
|
return {
|
|
109
105
|
signingProviderId: SigningProvider.PARTICIPANT,
|
|
110
106
|
matched: false,
|
|
111
107
|
};
|
|
112
108
|
}
|
|
113
109
|
catch (err) {
|
|
114
|
-
this.logger.error({ err, namespace }, 'Error resolving signing provider, using participant as default and marking wallet as unmatched (disabled)');
|
|
110
|
+
this.logger.error({ err, namespace: partyNamespace }, 'Error resolving signing provider, using participant as default and marking wallet as unmatched (disabled)');
|
|
115
111
|
// On error, use participant as default but mark as unmatched
|
|
116
112
|
return {
|
|
117
113
|
signingProviderId: SigningProvider.PARTICIPANT,
|
|
@@ -217,12 +213,12 @@ export class WalletSyncService {
|
|
|
217
213
|
}
|
|
218
214
|
// Participant wallets: disable when party not on ledger (participant node reset, namespace changed).
|
|
219
215
|
// Other wallets: mark as initialized so user can re-allocate (e.g. after external signing).
|
|
220
|
-
async handleWalletsWithoutParty(
|
|
221
|
-
const walletsWithoutParty =
|
|
222
|
-
const
|
|
223
|
-
const
|
|
216
|
+
async handleWalletsWithoutParty(allocatedWallets, partiesWithRights) {
|
|
217
|
+
const walletsWithoutParty = allocatedWallets.filter((wallet) => !partiesWithRights.has(wallet.partyId));
|
|
218
|
+
const updatedToInitialized = [];
|
|
219
|
+
const updatedToDisabled = [];
|
|
224
220
|
for (const wallet of walletsWithoutParty) {
|
|
225
|
-
if (wallet.status !== 'allocated')
|
|
221
|
+
if (wallet.status !== 'allocated' || wallet.disabled)
|
|
226
222
|
continue;
|
|
227
223
|
try {
|
|
228
224
|
if (wallet.signingProviderId === SigningProvider.PARTICIPANT) {
|
|
@@ -230,6 +226,12 @@ export class WalletSyncService {
|
|
|
230
226
|
partyId: wallet.partyId,
|
|
231
227
|
signingProviderId: wallet.signingProviderId,
|
|
232
228
|
}, 'Participant wallet party not on ledger, disabling (participant namespace changed)');
|
|
229
|
+
const disabledWallet = {
|
|
230
|
+
...wallet,
|
|
231
|
+
disabled: true,
|
|
232
|
+
reason: WALLET_DISABLED_REASON.PARTICIPANT_NAMESPACE_CHANGED,
|
|
233
|
+
...(wallet.primary && { primary: false }),
|
|
234
|
+
};
|
|
233
235
|
await this.store.updateWallet({
|
|
234
236
|
partyId: wallet.partyId,
|
|
235
237
|
networkId: wallet.networkId,
|
|
@@ -237,7 +239,7 @@ export class WalletSyncService {
|
|
|
237
239
|
reason: WALLET_DISABLED_REASON.PARTICIPANT_NAMESPACE_CHANGED,
|
|
238
240
|
...(wallet.primary && { primary: false }),
|
|
239
241
|
});
|
|
240
|
-
|
|
242
|
+
updatedToDisabled.push(disabledWallet);
|
|
241
243
|
}
|
|
242
244
|
else {
|
|
243
245
|
this.logger.info({
|
|
@@ -250,7 +252,12 @@ export class WalletSyncService {
|
|
|
250
252
|
status: 'initialized',
|
|
251
253
|
...(wallet.primary && { primary: false }),
|
|
252
254
|
});
|
|
253
|
-
|
|
255
|
+
const reinitialized = {
|
|
256
|
+
...wallet,
|
|
257
|
+
status: 'initialized',
|
|
258
|
+
...(wallet.primary && { primary: false }),
|
|
259
|
+
};
|
|
260
|
+
updatedToInitialized.push(reinitialized);
|
|
254
261
|
}
|
|
255
262
|
}
|
|
256
263
|
catch (err) {
|
|
@@ -258,16 +265,15 @@ export class WalletSyncService {
|
|
|
258
265
|
}
|
|
259
266
|
}
|
|
260
267
|
return {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
disabledExistingWallets,
|
|
268
|
+
updatedToInitialized,
|
|
269
|
+
updatedToDisabled,
|
|
264
270
|
};
|
|
265
271
|
}
|
|
266
272
|
// Creates wallets for parties user has rights to
|
|
267
|
-
async handlePartiesWithoutWallet(newParties, networkId, rightsByParty) {
|
|
273
|
+
async handlePartiesWithoutWallet(newParties, networkId, rightsByParty, participantNamespace) {
|
|
268
274
|
return await Promise.all(newParties.map(async (partyId) => {
|
|
269
275
|
const [hint, namespace] = partyId.split('::');
|
|
270
|
-
const resolvedSigningProvider = await this.resolveSigningProvider(namespace);
|
|
276
|
+
const resolvedSigningProvider = await this.resolveSigningProvider(namespace, participantNamespace);
|
|
271
277
|
const isMatched = resolvedSigningProvider.matched;
|
|
272
278
|
const walletPublicKey = resolvedSigningProvider.signingProviderId ===
|
|
273
279
|
SigningProvider.PARTICIPANT
|
|
@@ -316,6 +322,7 @@ export class WalletSyncService {
|
|
|
316
322
|
async syncWallets() {
|
|
317
323
|
this.logger.info('Starting wallet sync...');
|
|
318
324
|
try {
|
|
325
|
+
const participantNamespace = await this.getParticipantNamespace();
|
|
319
326
|
const network = await this.store.getCurrentNetwork();
|
|
320
327
|
this.logger.info(network, 'Current network');
|
|
321
328
|
const { rightsByParty, rightsByUser } = await this.getRightsSnapshot();
|
|
@@ -332,13 +339,14 @@ export class WalletSyncService {
|
|
|
332
339
|
const newParties = partiesWithRights.filter((party) => !existingPartiesOnNetwork.has(`${party}:${network.id}`)
|
|
333
340
|
// todo: filter on idp id
|
|
334
341
|
);
|
|
335
|
-
const {
|
|
342
|
+
const { updatedToInitialized, updatedToDisabled } = await this.handleWalletsWithoutParty(existingAllocatedWallets, new Set(partiesWithRights));
|
|
336
343
|
const rightsUpdatedWallets = await this.handleRightsUpdates(existingAllocatedWallets, rightsByParty);
|
|
337
344
|
this.logger.info({
|
|
338
345
|
newParties,
|
|
339
|
-
|
|
346
|
+
updatedToInitialized: updatedToInitialized.map((w) => w.partyId),
|
|
347
|
+
updatedToDisabled: updatedToDisabled.map((w) => w.partyId),
|
|
340
348
|
}, 'Wallets without parties');
|
|
341
|
-
const newParticipantWallets = await this.handlePartiesWithoutWallet(newParties, network.id, rightsByParty);
|
|
349
|
+
const newParticipantWallets = await this.handlePartiesWithoutWallet(newParties, network.id, rightsByParty, participantNamespace);
|
|
342
350
|
// Set primary wallet if none exists, or if primary is on an initialized wallet
|
|
343
351
|
const networkWallets = await this.store.getWallets();
|
|
344
352
|
const primaryWallet = networkWallets.find((w) => w.primary);
|
|
@@ -349,19 +357,27 @@ export class WalletSyncService {
|
|
|
349
357
|
await this.store.setPrimaryWallet(allocatedWallets[0].partyId);
|
|
350
358
|
this.logger.info(`Set ${allocatedWallets[0].partyId} as primary wallet in network ${network.id}`);
|
|
351
359
|
}
|
|
360
|
+
const newWallets = newParticipantWallets;
|
|
361
|
+
const updatedRaw = [
|
|
362
|
+
...updatedToInitialized,
|
|
363
|
+
...rightsUpdatedWallets,
|
|
364
|
+
];
|
|
365
|
+
const added = newWallets.filter((wallet) => !wallet.disabled);
|
|
366
|
+
const updated = updatedRaw.filter((wallet) => !wallet.disabled);
|
|
352
367
|
const disabled = [
|
|
353
|
-
...
|
|
354
|
-
...
|
|
368
|
+
...newWallets.filter((wallet) => wallet.disabled),
|
|
369
|
+
...updatedRaw.filter((wallet) => wallet.disabled),
|
|
370
|
+
...updatedToDisabled,
|
|
355
371
|
];
|
|
356
372
|
this.logger.info({
|
|
357
|
-
added
|
|
358
|
-
updated
|
|
359
|
-
disabled
|
|
373
|
+
added,
|
|
374
|
+
updated,
|
|
375
|
+
disabled,
|
|
360
376
|
}, 'Wallet sync completed.');
|
|
361
377
|
return {
|
|
362
|
-
added
|
|
363
|
-
updated
|
|
364
|
-
disabled
|
|
378
|
+
added,
|
|
379
|
+
updated,
|
|
380
|
+
disabled,
|
|
365
381
|
};
|
|
366
382
|
}
|
|
367
383
|
catch (err) {
|
|
@@ -9,6 +9,7 @@ import { ParticipantSigningDriver } from '@canton-network/core-signing-participa
|
|
|
9
9
|
import { StoreSql, connection, migrator, } from '@canton-network/core-signing-store-sql';
|
|
10
10
|
import { PartyLevelRight, } from '@canton-network/core-wallet-store';
|
|
11
11
|
import { StoreInternal } from '@canton-network/core-wallet-store-inmemory';
|
|
12
|
+
import { WALLET_DISABLED_REASON } from '@canton-network/core-types';
|
|
12
13
|
import { WalletSyncService } from './wallet-sync-service.js';
|
|
13
14
|
import { PartyAllocationService } from './party-allocation-service.js';
|
|
14
15
|
const { mockLedgerGet } = vi.hoisted(() => ({
|
|
@@ -24,8 +25,8 @@ vi.mock('@canton-network/core-ledger-client', () => ({
|
|
|
24
25
|
}));
|
|
25
26
|
// Test subclass to expose protected method
|
|
26
27
|
class TestableWalletSyncService extends WalletSyncService {
|
|
27
|
-
async resolveSigningProvider(
|
|
28
|
-
return super.resolveSigningProvider(
|
|
28
|
+
async resolveSigningProvider(partyNamespace, participantNamespace) {
|
|
29
|
+
return super.resolveSigningProvider(partyNamespace, participantNamespace);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
const testATP = (user, token) => ({
|
|
@@ -90,11 +91,7 @@ describe('WalletSyncService - resolveSigningProvider', () => {
|
|
|
90
91
|
});
|
|
91
92
|
it('resolves participant when namespace matches participant namespace', async () => {
|
|
92
93
|
const participantNamespace = 'participant-namespace-123';
|
|
93
|
-
const
|
|
94
|
-
mockLedgerGet.mockResolvedValueOnce({
|
|
95
|
-
participantId,
|
|
96
|
-
});
|
|
97
|
-
const result = await service.resolveSigningProvider(participantNamespace);
|
|
94
|
+
const result = await service.resolveSigningProvider(participantNamespace, participantNamespace);
|
|
98
95
|
expect(result).not.toBeNull();
|
|
99
96
|
expect(result).toEqual({
|
|
100
97
|
matched: true,
|
|
@@ -112,10 +109,8 @@ describe('WalletSyncService - resolveSigningProvider', () => {
|
|
|
112
109
|
throw new Error(`Failed to create key in test: ${key.error_description}`);
|
|
113
110
|
}
|
|
114
111
|
const namespace = partyAllocator.createFingerprintFromKey(key.publicKey);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
});
|
|
118
|
-
const result = await service.resolveSigningProvider(namespace);
|
|
112
|
+
const differentParticipantNamespace = 'different-participant-namespace';
|
|
113
|
+
const result = await service.resolveSigningProvider(namespace, differentParticipantNamespace);
|
|
119
114
|
expect(result).not.toBeNull();
|
|
120
115
|
if (result) {
|
|
121
116
|
expect(result.signingProviderId).toBe(SigningProvider.WALLET_KERNEL);
|
|
@@ -149,10 +144,8 @@ describe('WalletSyncService - resolveSigningProvider', () => {
|
|
|
149
144
|
const serviceWithFireblocks = new TestableWalletSyncService(store, ledgerClient, authContext, mockLogger, {
|
|
150
145
|
[SigningProvider.FIREBLOCKS]: mockFireblocksDriver,
|
|
151
146
|
}, partyAllocator);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
});
|
|
155
|
-
const result = await serviceWithFireblocks.resolveSigningProvider(namespace);
|
|
147
|
+
const differentParticipantNamespace = 'different-participant-namespace';
|
|
148
|
+
const result = await serviceWithFireblocks.resolveSigningProvider(namespace, differentParticipantNamespace);
|
|
156
149
|
expect(result).not.toBeNull();
|
|
157
150
|
if (result) {
|
|
158
151
|
expect(result.signingProviderId).toBe(SigningProvider.FIREBLOCKS);
|
|
@@ -161,12 +154,10 @@ describe('WalletSyncService - resolveSigningProvider', () => {
|
|
|
161
154
|
}
|
|
162
155
|
}
|
|
163
156
|
});
|
|
164
|
-
it('returns unmatched
|
|
157
|
+
it('returns unmatched and defaults to participant when no signing provider match is found', async () => {
|
|
165
158
|
const unknownNamespace = 'unknown-namespace-123';
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
});
|
|
169
|
-
const result = await service.resolveSigningProvider(unknownNamespace);
|
|
159
|
+
const differentParticipantNamespace = 'different-participant-namespace';
|
|
160
|
+
const result = await service.resolveSigningProvider(unknownNamespace, differentParticipantNamespace);
|
|
170
161
|
expect(result).toEqual({
|
|
171
162
|
matched: false,
|
|
172
163
|
signingProviderId: SigningProvider.PARTICIPANT,
|
|
@@ -309,6 +300,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
309
300
|
await store.addWallet(createWallet('party1::namespace', 'network1'));
|
|
310
301
|
const addWalletSpy = vi.spyOn(store, 'addWallet');
|
|
311
302
|
mockLedgerGet
|
|
303
|
+
.mockResolvedValueOnce({
|
|
304
|
+
participantId: 'participant1::namespace',
|
|
305
|
+
})
|
|
312
306
|
.mockResolvedValueOnce({
|
|
313
307
|
rights: [
|
|
314
308
|
{
|
|
@@ -330,9 +324,6 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
330
324
|
},
|
|
331
325
|
},
|
|
332
326
|
],
|
|
333
|
-
})
|
|
334
|
-
.mockResolvedValueOnce({
|
|
335
|
-
participantId: 'participant1::namespace',
|
|
336
327
|
});
|
|
337
328
|
await service.syncWallets();
|
|
338
329
|
// Should only add wallet for party3 (party1 already exists)
|
|
@@ -346,6 +337,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
346
337
|
await setSession('network1');
|
|
347
338
|
// Mock ledger client to return rights for party1
|
|
348
339
|
mockLedgerGet
|
|
340
|
+
.mockResolvedValueOnce({
|
|
341
|
+
participantId: 'participant1::namespace',
|
|
342
|
+
})
|
|
349
343
|
.mockResolvedValueOnce({
|
|
350
344
|
rights: [
|
|
351
345
|
{
|
|
@@ -358,9 +352,6 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
358
352
|
},
|
|
359
353
|
},
|
|
360
354
|
],
|
|
361
|
-
})
|
|
362
|
-
.mockResolvedValueOnce({
|
|
363
|
-
participantId: 'participant1::namespace',
|
|
364
355
|
});
|
|
365
356
|
await service.syncWallets();
|
|
366
357
|
// Should add party1 for network1
|
|
@@ -421,7 +412,11 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
421
412
|
// Sync on network1 (party already exists, should not add)
|
|
422
413
|
await setSession('network1');
|
|
423
414
|
// Only need one mock since resolveSigningProvider won't be called if party already exists
|
|
424
|
-
mockLedgerGet
|
|
415
|
+
mockLedgerGet
|
|
416
|
+
.mockResolvedValueOnce({
|
|
417
|
+
participantId: 'participant1::namespace',
|
|
418
|
+
})
|
|
419
|
+
.mockResolvedValueOnce({
|
|
425
420
|
rights: [
|
|
426
421
|
{
|
|
427
422
|
kind: {
|
|
@@ -444,7 +439,11 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
444
439
|
});
|
|
445
440
|
expect(walletsBeforeSync.length).toBe(0);
|
|
446
441
|
mockLedgerGet.mockClear();
|
|
447
|
-
// First mock:
|
|
442
|
+
// First mock: resolveSigningProvider calls ledgerClient.getWithRetry('/v2/parties/participant-id')
|
|
443
|
+
mockLedgerGet.mockResolvedValueOnce({
|
|
444
|
+
participantId: 'participant1::namespace',
|
|
445
|
+
});
|
|
446
|
+
// Second mock: getPartiesRightsMap calls ledgerClient.getWithRetry('/v2/users/{user-id}/rights')
|
|
448
447
|
mockLedgerGet.mockResolvedValueOnce({
|
|
449
448
|
rights: [
|
|
450
449
|
{
|
|
@@ -458,10 +457,6 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
458
457
|
},
|
|
459
458
|
],
|
|
460
459
|
});
|
|
461
|
-
// Second mock: resolveSigningProvider calls adminLedgerClient.getWithRetry('/v2/parties/participant-id')
|
|
462
|
-
mockLedgerGet.mockResolvedValueOnce({
|
|
463
|
-
participantId: 'participant1::namespace',
|
|
464
|
-
});
|
|
465
460
|
expect(mockLedgerGet).toHaveBeenCalledTimes(0);
|
|
466
461
|
const syncResult = await service.syncWallets();
|
|
467
462
|
expect(mockLedgerGet).toHaveBeenCalledTimes(2); // Once for rights, once for participantId
|
|
@@ -530,6 +525,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
530
525
|
await setSession('network1');
|
|
531
526
|
await store.addWallet(createWallet('party1::namespace', 'network1'));
|
|
532
527
|
mockLedgerGet
|
|
528
|
+
.mockResolvedValueOnce({
|
|
529
|
+
participantId: 'participant1::namespace',
|
|
530
|
+
})
|
|
533
531
|
.mockResolvedValueOnce({
|
|
534
532
|
rights: [
|
|
535
533
|
{
|
|
@@ -540,12 +538,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
540
538
|
},
|
|
541
539
|
},
|
|
542
540
|
],
|
|
543
|
-
})
|
|
544
|
-
.mockResolvedValueOnce({
|
|
545
|
-
participantId: 'participant1::namespace',
|
|
546
541
|
});
|
|
547
542
|
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
548
|
-
await service.syncWallets();
|
|
543
|
+
const result = await service.syncWallets();
|
|
549
544
|
expect(updateWalletSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
550
545
|
partyId: 'party1::namespace',
|
|
551
546
|
networkId: 'network1',
|
|
@@ -554,6 +549,11 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
554
549
|
const wallets = await store.getWallets();
|
|
555
550
|
const party1Wallet = wallets.find((w) => w.partyId === 'party1::namespace');
|
|
556
551
|
expect(party1Wallet?.status).toBe('initialized');
|
|
552
|
+
expect(result.added.length).toBe(1);
|
|
553
|
+
expect(result.updated.length).toBe(1);
|
|
554
|
+
expect(result.disabled.length).toBe(0);
|
|
555
|
+
expect(result.added[0].partyId).toBe('party2::namespace');
|
|
556
|
+
expect(result.updated[0].partyId).toBe('party1::namespace');
|
|
557
557
|
});
|
|
558
558
|
it('syncWallets skips wallet when status is already initialized', async () => {
|
|
559
559
|
const network1 = createNetwork('network1');
|
|
@@ -563,6 +563,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
563
563
|
initializedWallet.status = 'initialized';
|
|
564
564
|
await store.addWallet(initializedWallet);
|
|
565
565
|
mockLedgerGet
|
|
566
|
+
.mockResolvedValueOnce({
|
|
567
|
+
participantId: 'participant1::namespace',
|
|
568
|
+
})
|
|
566
569
|
.mockResolvedValueOnce({
|
|
567
570
|
rights: [
|
|
568
571
|
{
|
|
@@ -573,16 +576,17 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
573
576
|
},
|
|
574
577
|
},
|
|
575
578
|
],
|
|
576
|
-
})
|
|
577
|
-
.mockResolvedValueOnce({
|
|
578
|
-
participantId: 'participant1::namespace',
|
|
579
579
|
});
|
|
580
580
|
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
581
|
-
await service.syncWallets();
|
|
581
|
+
const result = await service.syncWallets();
|
|
582
582
|
expect(updateWalletSpy).not.toHaveBeenCalled();
|
|
583
583
|
const wallets = await store.getWallets();
|
|
584
584
|
const party1Wallet = wallets.find((w) => w.partyId === 'party1::namespace');
|
|
585
585
|
expect(party1Wallet?.status).toBe('initialized');
|
|
586
|
+
expect(result.added.length).toBe(1);
|
|
587
|
+
expect(result.disabled.length).toBe(0);
|
|
588
|
+
expect(result.updated.length).toBe(0);
|
|
589
|
+
expect(result.added[0].partyId).toBe('party2::namespace');
|
|
586
590
|
});
|
|
587
591
|
it('syncWallets marks multiple wallets as initialized when parties not on ledger', async () => {
|
|
588
592
|
const network1 = createNetwork('network1');
|
|
@@ -591,6 +595,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
591
595
|
await store.addWallet(createWallet('party1::namespace', 'network1'));
|
|
592
596
|
await store.addWallet(createWallet('party2::namespace', 'network1'));
|
|
593
597
|
mockLedgerGet
|
|
598
|
+
.mockResolvedValueOnce({
|
|
599
|
+
participantId: 'participant1::namespace',
|
|
600
|
+
})
|
|
594
601
|
.mockResolvedValueOnce({
|
|
595
602
|
rights: [
|
|
596
603
|
{
|
|
@@ -601,12 +608,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
601
608
|
},
|
|
602
609
|
},
|
|
603
610
|
],
|
|
604
|
-
})
|
|
605
|
-
.mockResolvedValueOnce({
|
|
606
|
-
participantId: 'participant1::namespace',
|
|
607
611
|
});
|
|
608
612
|
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
609
|
-
await service.syncWallets();
|
|
613
|
+
const result = await service.syncWallets();
|
|
610
614
|
expect(updateWalletSpy).toHaveBeenCalledTimes(2);
|
|
611
615
|
expect(updateWalletSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
612
616
|
partyId: 'party1::namespace',
|
|
@@ -618,6 +622,10 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
618
622
|
networkId: 'network1',
|
|
619
623
|
status: 'initialized',
|
|
620
624
|
}));
|
|
625
|
+
expect(result.added.length).toBe(1);
|
|
626
|
+
expect(result.disabled.length).toBe(0);
|
|
627
|
+
expect(result.updated.length).toBe(2);
|
|
628
|
+
expect(result.added[0].partyId).toBe('party3::namespace');
|
|
621
629
|
});
|
|
622
630
|
it('syncWallets disables participant wallet when party not on ledger', async () => {
|
|
623
631
|
const network1 = createNetwork('network1');
|
|
@@ -627,6 +635,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
627
635
|
participantWallet.signingProviderId = SigningProvider.PARTICIPANT;
|
|
628
636
|
await store.addWallet(participantWallet);
|
|
629
637
|
mockLedgerGet
|
|
638
|
+
.mockResolvedValueOnce({
|
|
639
|
+
participantId: 'participant1::namespace',
|
|
640
|
+
})
|
|
630
641
|
.mockResolvedValueOnce({
|
|
631
642
|
rights: [
|
|
632
643
|
{
|
|
@@ -637,12 +648,9 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
637
648
|
},
|
|
638
649
|
},
|
|
639
650
|
],
|
|
640
|
-
})
|
|
641
|
-
.mockResolvedValueOnce({
|
|
642
|
-
participantId: 'participant1::namespace',
|
|
643
651
|
});
|
|
644
652
|
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
645
|
-
await service.syncWallets();
|
|
653
|
+
const result = await service.syncWallets();
|
|
646
654
|
expect(updateWalletSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
647
655
|
partyId: 'party1::namespace',
|
|
648
656
|
networkId: 'network1',
|
|
@@ -653,6 +661,91 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
653
661
|
const party1Wallet = wallets.find((w) => w.partyId === 'party1::namespace');
|
|
654
662
|
expect(party1Wallet?.disabled).toBe(true);
|
|
655
663
|
expect(party1Wallet?.reason).toBe('participant namespace changed');
|
|
664
|
+
expect(result.added.length).toBe(1);
|
|
665
|
+
expect(result.updated.length).toBe(0);
|
|
666
|
+
expect(result.disabled.length).toBe(1);
|
|
667
|
+
expect(result.added[0].partyId).toBe('party2::namespace');
|
|
668
|
+
expect(result.disabled[0].partyId).toBe('party1::namespace');
|
|
669
|
+
});
|
|
670
|
+
it('syncWallets reports proper changes while adding a wallet when there are disabled wallets', async () => {
|
|
671
|
+
const network1 = createNetwork('network1');
|
|
672
|
+
await store.addNetwork(network1);
|
|
673
|
+
await setSession('network1');
|
|
674
|
+
const disabledWallet = createWallet('party1::namespace', 'network1', true);
|
|
675
|
+
await store.addWallet(disabledWallet);
|
|
676
|
+
mockLedgerGet
|
|
677
|
+
.mockResolvedValueOnce({
|
|
678
|
+
participantId: 'participant1::namespace',
|
|
679
|
+
})
|
|
680
|
+
.mockResolvedValueOnce({
|
|
681
|
+
rights: [
|
|
682
|
+
{
|
|
683
|
+
kind: {
|
|
684
|
+
CanActAs: {
|
|
685
|
+
value: { party: 'party2::namespace' },
|
|
686
|
+
},
|
|
687
|
+
},
|
|
688
|
+
},
|
|
689
|
+
],
|
|
690
|
+
});
|
|
691
|
+
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
692
|
+
const addWalletSpy = vi.spyOn(store, 'addWallet');
|
|
693
|
+
const result = await service.syncWallets();
|
|
694
|
+
expect(updateWalletSpy).not.toHaveBeenCalled();
|
|
695
|
+
expect(addWalletSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
696
|
+
partyId: 'party2::namespace',
|
|
697
|
+
networkId: 'network1',
|
|
698
|
+
disabled: false,
|
|
699
|
+
}));
|
|
700
|
+
const wallets = await store.getWallets();
|
|
701
|
+
const party1Wallet = wallets.find((w) => w.partyId === 'party1::namespace');
|
|
702
|
+
expect(party1Wallet?.disabled).toBe(true);
|
|
703
|
+
expect(result.added.length).toBe(1);
|
|
704
|
+
expect(result.updated.length).toBe(0);
|
|
705
|
+
expect(result.disabled.length).toBe(0);
|
|
706
|
+
expect(result.added[0].partyId).toBe('party2::namespace');
|
|
707
|
+
});
|
|
708
|
+
it('syncWallets reports proper changes while adding a disabled wallet when there are disabled wallets', async () => {
|
|
709
|
+
const network1 = createNetwork('network1');
|
|
710
|
+
await store.addNetwork(network1);
|
|
711
|
+
await setSession('network1');
|
|
712
|
+
const disabledWallet = createWallet('party1::unknown-namespace-123', 'network1', true);
|
|
713
|
+
await store.addWallet(disabledWallet);
|
|
714
|
+
mockLedgerGet
|
|
715
|
+
.mockResolvedValueOnce({
|
|
716
|
+
participantId: 'participant1::namespace',
|
|
717
|
+
})
|
|
718
|
+
.mockResolvedValueOnce({
|
|
719
|
+
rights: [
|
|
720
|
+
{
|
|
721
|
+
kind: {
|
|
722
|
+
CanActAs: {
|
|
723
|
+
value: {
|
|
724
|
+
party: 'party2::unknown-namespace-123',
|
|
725
|
+
},
|
|
726
|
+
},
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
],
|
|
730
|
+
});
|
|
731
|
+
const updateWalletSpy = vi.spyOn(store, 'updateWallet');
|
|
732
|
+
const addWalletSpy = vi.spyOn(store, 'addWallet');
|
|
733
|
+
const result = await service.syncWallets();
|
|
734
|
+
expect(updateWalletSpy).not.toHaveBeenCalled();
|
|
735
|
+
expect(addWalletSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
736
|
+
partyId: 'party2::unknown-namespace-123',
|
|
737
|
+
networkId: 'network1',
|
|
738
|
+
disabled: true,
|
|
739
|
+
reason: WALLET_DISABLED_REASON.NO_SIGNING_PROVIDER_MATCHED,
|
|
740
|
+
}));
|
|
741
|
+
const wallets = await store.getWallets();
|
|
742
|
+
const party1Wallet = wallets.find((w) => w.partyId === 'party2::unknown-namespace-123');
|
|
743
|
+
expect(party1Wallet?.disabled).toBe(true);
|
|
744
|
+
expect(party1Wallet?.reason).toBe(WALLET_DISABLED_REASON.NO_SIGNING_PROVIDER_MATCHED);
|
|
745
|
+
expect(result.added.length).toBe(0);
|
|
746
|
+
expect(result.updated.length).toBe(0);
|
|
747
|
+
expect(result.disabled.length).toBe(1);
|
|
748
|
+
expect(result.disabled[0].partyId).toBe('party2::unknown-namespace-123');
|
|
656
749
|
});
|
|
657
750
|
});
|
|
658
751
|
describe('Wallet sync - rights tracking', () => {
|
|
@@ -688,7 +781,15 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
688
781
|
...createWallet('party1::namespace', 'network1'),
|
|
689
782
|
rights: [PartyLevelRight.CanActAs],
|
|
690
783
|
});
|
|
691
|
-
|
|
784
|
+
await store.addWallet({
|
|
785
|
+
...createWallet('party3::namespace', 'network1'),
|
|
786
|
+
rights: [PartyLevelRight.CanActAs],
|
|
787
|
+
});
|
|
788
|
+
mockLedgerGet
|
|
789
|
+
.mockResolvedValueOnce({
|
|
790
|
+
participantId: 'participant1::namespace',
|
|
791
|
+
})
|
|
792
|
+
.mockResolvedValueOnce({
|
|
692
793
|
rights: [
|
|
693
794
|
{
|
|
694
795
|
kind: {
|
|
@@ -699,6 +800,15 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
699
800
|
},
|
|
700
801
|
},
|
|
701
802
|
},
|
|
803
|
+
{
|
|
804
|
+
kind: {
|
|
805
|
+
CanActAs: {
|
|
806
|
+
value: {
|
|
807
|
+
party: 'party2::namespace',
|
|
808
|
+
},
|
|
809
|
+
},
|
|
810
|
+
},
|
|
811
|
+
},
|
|
702
812
|
],
|
|
703
813
|
});
|
|
704
814
|
const result = await service.syncWallets();
|
|
@@ -711,12 +821,21 @@ describe('WalletSyncService - multi-network features', () => {
|
|
|
711
821
|
const wallets = await store.getWallets();
|
|
712
822
|
const updatedWallet = wallets.find((w) => w.partyId === 'party1::namespace');
|
|
713
823
|
expect(updatedWallet?.rights).toEqual([PartyLevelRight.CanReadAs]);
|
|
824
|
+
// party2 wallet added
|
|
825
|
+
expect(result.added.length).toBe(1);
|
|
826
|
+
// party1 wallet updated rights
|
|
827
|
+
// party3 wallet updated to initialized (no rights)
|
|
828
|
+
expect(result.updated.length).toBe(2);
|
|
714
829
|
});
|
|
715
830
|
it('syncWallets does not create wallets from CanReadAsAnyParty alone', async () => {
|
|
716
831
|
const network1 = createNetwork('network1');
|
|
717
832
|
await store.addNetwork(network1);
|
|
718
833
|
await setSession('network1');
|
|
719
|
-
mockLedgerGet
|
|
834
|
+
mockLedgerGet
|
|
835
|
+
.mockResolvedValueOnce({
|
|
836
|
+
participantId: 'participant1::namespace',
|
|
837
|
+
})
|
|
838
|
+
.mockResolvedValueOnce({
|
|
720
839
|
rights: [
|
|
721
840
|
{
|
|
722
841
|
kind: {
|
|
@@ -233,8 +233,23 @@ export interface Wallet {
|
|
|
233
233
|
reason?: Reason;
|
|
234
234
|
rights: Rights;
|
|
235
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
*
|
|
238
|
+
* Non-disabled wallets added in this syncWallets call.
|
|
239
|
+
*
|
|
240
|
+
*/
|
|
236
241
|
export type SyncWalletsResultAdded = Wallet[];
|
|
242
|
+
/**
|
|
243
|
+
*
|
|
244
|
+
* Existing wallets that either got downgraded to status initialized or their rights changed in this syncWallets call.
|
|
245
|
+
*
|
|
246
|
+
*/
|
|
237
247
|
export type SyncWalletsResultUpdated = Wallet[];
|
|
248
|
+
/**
|
|
249
|
+
*
|
|
250
|
+
* Either wallets added in this iteration that are disabled, or existing wallet that were updated to be disabled in this syncWallets call.
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
238
253
|
export type SyncWalletsResultDisabled = Wallet[];
|
|
239
254
|
/**
|
|
240
255
|
*
|
|
@@ -440,7 +455,7 @@ export interface RemovePartyResult {
|
|
|
440
455
|
export type ListWalletsResult = Wallet[];
|
|
441
456
|
/**
|
|
442
457
|
*
|
|
443
|
-
* Added and
|
|
458
|
+
* Added, updated and disabled wallets as a result of the sync.
|
|
444
459
|
*
|
|
445
460
|
*/
|
|
446
461
|
export interface SyncWalletsResult {
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canton-network/wallet-gateway-remote",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A server-side Wallet Gateway implementation over HTTP",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -38,23 +38,23 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@canton-network/core-ledger-client": "^0.
|
|
42
|
-
"@canton-network/core-rpc-errors": "^0.
|
|
43
|
-
"@canton-network/core-rpc-transport": "^0.
|
|
44
|
-
"@canton-network/core-signing-blockdaemon": "^0.
|
|
45
|
-
"@canton-network/core-signing-fireblocks": "^0.
|
|
46
|
-
"@canton-network/core-signing-internal": "^0.
|
|
47
|
-
"@canton-network/core-signing-lib": "^0.
|
|
48
|
-
"@canton-network/core-signing-participant": "^0.
|
|
49
|
-
"@canton-network/core-signing-store-sql": "^0.
|
|
50
|
-
"@canton-network/core-tx-visualizer": "^0.
|
|
51
|
-
"@canton-network/core-types": "^0.
|
|
52
|
-
"@canton-network/core-wallet-auth": "^0.
|
|
53
|
-
"@canton-network/core-wallet-dapp-rpc-client": "^0.
|
|
54
|
-
"@canton-network/core-wallet-store": "^0.
|
|
55
|
-
"@canton-network/core-wallet-store-sql": "^0.
|
|
56
|
-
"@canton-network/core-wallet-ui-components": "^0.
|
|
57
|
-
"@canton-network/core-wallet-user-rpc-client": "^0.
|
|
41
|
+
"@canton-network/core-ledger-client": "^1.0.0",
|
|
42
|
+
"@canton-network/core-rpc-errors": "^1.0.0",
|
|
43
|
+
"@canton-network/core-rpc-transport": "^1.0.0",
|
|
44
|
+
"@canton-network/core-signing-blockdaemon": "^1.0.0",
|
|
45
|
+
"@canton-network/core-signing-fireblocks": "^1.0.0",
|
|
46
|
+
"@canton-network/core-signing-internal": "^1.0.0",
|
|
47
|
+
"@canton-network/core-signing-lib": "^1.0.0",
|
|
48
|
+
"@canton-network/core-signing-participant": "^1.0.0",
|
|
49
|
+
"@canton-network/core-signing-store-sql": "^1.0.0",
|
|
50
|
+
"@canton-network/core-tx-visualizer": "^1.0.0",
|
|
51
|
+
"@canton-network/core-types": "^1.0.0",
|
|
52
|
+
"@canton-network/core-wallet-auth": "^1.0.0",
|
|
53
|
+
"@canton-network/core-wallet-dapp-rpc-client": "^1.0.0",
|
|
54
|
+
"@canton-network/core-wallet-store": "^1.0.0",
|
|
55
|
+
"@canton-network/core-wallet-store-sql": "^1.0.0",
|
|
56
|
+
"@canton-network/core-wallet-ui-components": "^1.0.0",
|
|
57
|
+
"@canton-network/core-wallet-user-rpc-client": "^1.0.0",
|
|
58
58
|
"@commander-js/extra-typings": "^14.0.0",
|
|
59
59
|
"commander": "^14.0.3",
|
|
60
60
|
"cors": "^2.8.6",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"zod": "^4.3.6"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@canton-network/core-wallet-store-inmemory": "^0.
|
|
75
|
+
"@canton-network/core-wallet-store-inmemory": "^1.0.0",
|
|
76
76
|
"@types/cors": "^2.8.19",
|
|
77
77
|
"@types/express": "^5.0.6",
|
|
78
78
|
"@types/node": "^25.3.3",
|