@canton-network/wallet-gateway-remote 0.22.0 → 0.23.1
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/auth/jwt-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-auth-service.js +23 -3
- package/dist/auth/jwt-unsafe-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-unsafe-auth-service.js +7 -1
- package/dist/config/Config.test.js +1 -1
- package/dist/dapp-api/controller.d.ts.map +1 -1
- package/dist/dapp-api/controller.js +5 -9
- package/dist/dapp-api/rpc-gen/typings.d.ts +32 -5
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/example-config.js +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +5 -5
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +3 -2
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.js +3 -2
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.js +3 -2
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +4 -4
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +16 -10
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +13 -12
- package/dist/ledger/wallet-sync-service.d.ts +4 -1
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +97 -18
- package/dist/ledger/wallet-sync-service.test.js +79 -0
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +57 -11
- package/dist/user-api/rpc-gen/typings.d.ts +11 -0
- package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/web/frontend/404/index.html +2 -2
- package/dist/web/frontend/approve/index.html +5 -4
- package/dist/web/frontend/assets/404-CwWne4gl.js +8 -0
- package/dist/web/frontend/assets/approve-sXtkk0nx.js +20 -0
- package/dist/web/frontend/assets/{callback-D_VLeaX-.js → callback-5r0xYoAY.js} +1 -1
- package/dist/web/frontend/assets/index-BY0dSIJ0.js +1698 -0
- package/dist/web/frontend/assets/index-C4_-rNJw.js +1 -0
- package/dist/web/frontend/assets/login-DwOvzCWW.js +7 -0
- package/dist/web/frontend/assets/settings-lXZlQ6-V.js +37 -0
- package/dist/web/frontend/assets/{state-PjJJ3Anb.js → state-Zh2baU_h.js} +1 -1
- package/dist/web/frontend/assets/{transactions-DGdh8VAO.js → transactions-gLP4M5t0.js} +3 -3
- package/dist/web/frontend/assets/{utils-D5kQDwtZ.js → utils-CI12TM_E.js} +1 -1
- package/dist/web/frontend/assets/{wallets-CjjRt-cQ.js → wallets-Cmwexted.js} +2 -2
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +4 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +4 -4
- package/dist/web/frontend/wallets/index.html +4 -4
- package/package.json +20 -20
- package/dist/web/frontend/assets/404-DzH9sSlT.js +0 -8
- package/dist/web/frontend/assets/approve-Duv1K5LE.js +0 -17
- package/dist/web/frontend/assets/index-Bj5VTWmh.js +0 -1686
- package/dist/web/frontend/assets/login-B-jF6DLr.js +0 -7
- package/dist/web/frontend/assets/settings-DZpeOwSh.js +0 -37
|
@@ -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,
|
|
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"}
|
|
@@ -9,6 +9,12 @@ import { createRemoteJWKSet, decodeJwt, jwtVerify } from 'jose';
|
|
|
9
9
|
*/
|
|
10
10
|
export const jwtAuthService = (store, logger) => ({
|
|
11
11
|
verifyToken: async (accessToken) => {
|
|
12
|
+
const getEmail = (value) => {
|
|
13
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
12
18
|
if (!accessToken || !accessToken.startsWith('Bearer ')) {
|
|
13
19
|
return undefined;
|
|
14
20
|
}
|
|
@@ -39,7 +45,12 @@ export const jwtAuthService = (store, logger) => ({
|
|
|
39
45
|
logger.warn('JWT does not contain a subject');
|
|
40
46
|
return undefined;
|
|
41
47
|
}
|
|
42
|
-
|
|
48
|
+
const email = getEmail(decoded.email);
|
|
49
|
+
return {
|
|
50
|
+
userId: sub,
|
|
51
|
+
accessToken: jwt,
|
|
52
|
+
...(email ? { email } : {}),
|
|
53
|
+
};
|
|
43
54
|
}
|
|
44
55
|
logger.debug(idp, 'Using IDP');
|
|
45
56
|
const response = await fetch(idp.configUrl);
|
|
@@ -51,8 +62,17 @@ export const jwtAuthService = (store, logger) => ({
|
|
|
51
62
|
if (!payload.sub) {
|
|
52
63
|
return undefined;
|
|
53
64
|
}
|
|
54
|
-
logger.debug({
|
|
55
|
-
|
|
65
|
+
logger.debug({
|
|
66
|
+
userId: payload.sub,
|
|
67
|
+
accessToken: jwt,
|
|
68
|
+
email: getEmail(decoded.email),
|
|
69
|
+
}, 'JWT verified');
|
|
70
|
+
const email = getEmail(decoded.email);
|
|
71
|
+
return {
|
|
72
|
+
userId: payload.sub,
|
|
73
|
+
accessToken: jwt,
|
|
74
|
+
...(email ? { email } : {}),
|
|
75
|
+
};
|
|
56
76
|
}
|
|
57
77
|
catch (error) {
|
|
58
78
|
if (error instanceof Error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-unsafe-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-unsafe-auth-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"jwt-unsafe-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-unsafe-auth-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,kCAAkC,CAAA;AAC5E,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,WA2D5D,CAAA"}
|
|
@@ -1,5 +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 { jwtUserEmail } from '@canton-network/core-wallet-auth';
|
|
3
4
|
import { decodeJwt } from 'jose';
|
|
4
5
|
/**
|
|
5
6
|
* Creates an AuthService that verifies unsafe JWT tokens.
|
|
@@ -41,8 +42,13 @@ export const jwtAuthService = (store, logger) => ({
|
|
|
41
42
|
logger.warn(`Cannot verify token for non-self-signed IDP: ${iss}`);
|
|
42
43
|
return undefined;
|
|
43
44
|
}
|
|
45
|
+
const email = jwtUserEmail(jwt);
|
|
44
46
|
// TODO: Verify JWT signature using idp.clientSecret / idp.admin.clientSecret
|
|
45
|
-
return {
|
|
47
|
+
return {
|
|
48
|
+
userId: sub,
|
|
49
|
+
accessToken: jwt,
|
|
50
|
+
...(email ? { email } : {}),
|
|
51
|
+
};
|
|
46
52
|
}
|
|
47
53
|
catch (error) {
|
|
48
54
|
if (error instanceof Error) {
|
|
@@ -7,7 +7,7 @@ test('config from json file', async () => {
|
|
|
7
7
|
expect(resp.bootstrap.networks[0].name).toBe('Local (OAuth IDP)');
|
|
8
8
|
expect(resp.bootstrap.networks[0].ledgerApi.baseUrl).toBe('http://127.0.0.1:5003');
|
|
9
9
|
expect(resp.bootstrap.networks[0].auth.clientId).toBe('operator');
|
|
10
|
-
expect(resp.bootstrap.networks[0].auth.scope).toBe('openid daml_ledger_api offline_access');
|
|
10
|
+
expect(resp.bootstrap.networks[0].auth.scope).toBe('openid email daml_ledger_api offline_access');
|
|
11
11
|
expect(resp.bootstrap.networks[0].auth.method).toBe('authorization_code');
|
|
12
12
|
expect(resp.bootstrap.networks[2].auth.method).toBe('client_credentials');
|
|
13
13
|
if (resp.bootstrap.networks[2].auth.method === 'client_credentials') {
|
|
@@ -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;
|
|
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"}
|
|
@@ -89,20 +89,16 @@ export const dappController = (kernelInfo, dappUrl, userUrl, store, notification
|
|
|
89
89
|
});
|
|
90
90
|
let result;
|
|
91
91
|
switch (params.requestMethod) {
|
|
92
|
-
case '
|
|
93
|
-
result = await ledgerClient.getWithRetry(params.resource);
|
|
92
|
+
case 'get':
|
|
93
|
+
result = await ledgerClient.getWithRetry(params.resource, undefined, { path: params.path ?? {}, query: params.query ?? {} });
|
|
94
94
|
break;
|
|
95
|
-
case '
|
|
96
|
-
result = await ledgerClient.postWithRetry(params.resource, params.body
|
|
97
|
-
? JSON.parse(params.body)
|
|
98
|
-
: undefined);
|
|
95
|
+
case 'post':
|
|
96
|
+
result = await ledgerClient.postWithRetry(params.resource, params.body, undefined, { query: params.query ?? {}, path: params.path ?? {} });
|
|
99
97
|
break;
|
|
100
98
|
default:
|
|
101
99
|
throw new Error(`Unsupported request method: ${params.requestMethod}`);
|
|
102
100
|
}
|
|
103
|
-
return
|
|
104
|
-
response: JSON.stringify(result),
|
|
105
|
-
};
|
|
101
|
+
return result;
|
|
106
102
|
},
|
|
107
103
|
prepareExecute: async (params) => {
|
|
108
104
|
const wallet = await store.getPrimaryWallet();
|
|
@@ -84,9 +84,27 @@ export type PackageIdSelectionPreference = PackageId[];
|
|
|
84
84
|
*
|
|
85
85
|
*/
|
|
86
86
|
export type Message = string;
|
|
87
|
-
export type RequestMethod = '
|
|
87
|
+
export type RequestMethod = 'get' | 'post' | 'patch' | 'put' | 'delete';
|
|
88
88
|
export type Resource = string;
|
|
89
|
-
export
|
|
89
|
+
export interface Body {
|
|
90
|
+
[key: string]: any;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
*
|
|
94
|
+
* Query parameters as key-value pairs.
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
export interface Query {
|
|
98
|
+
[key: string]: any;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* Path parameters as key-value pairs.
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
export interface Path {
|
|
106
|
+
[key: string]: any;
|
|
107
|
+
}
|
|
90
108
|
/**
|
|
91
109
|
*
|
|
92
110
|
* The unique identifier of the Provider.
|
|
@@ -209,7 +227,6 @@ export interface Session {
|
|
|
209
227
|
*
|
|
210
228
|
*/
|
|
211
229
|
export type Signature = string;
|
|
212
|
-
export type Response = string;
|
|
213
230
|
/**
|
|
214
231
|
*
|
|
215
232
|
* Set as primary wallet for dApp usage.
|
|
@@ -288,7 +305,15 @@ export interface Wallet {
|
|
|
288
305
|
topologyTransactions?: TopologyTransactions;
|
|
289
306
|
disabled?: Disabled;
|
|
290
307
|
reason?: Reason;
|
|
308
|
+
rights: Rights;
|
|
291
309
|
}
|
|
310
|
+
export type PartyLevelRight = any;
|
|
311
|
+
/**
|
|
312
|
+
*
|
|
313
|
+
* The rights of the wallet.
|
|
314
|
+
*
|
|
315
|
+
*/
|
|
316
|
+
export type Rights = PartyLevelRight[];
|
|
292
317
|
/**
|
|
293
318
|
*
|
|
294
319
|
* The status of the transaction.
|
|
@@ -414,6 +439,8 @@ export interface LedgerApiParams {
|
|
|
414
439
|
requestMethod: RequestMethod;
|
|
415
440
|
resource: Resource;
|
|
416
441
|
body?: Body;
|
|
442
|
+
query?: Query;
|
|
443
|
+
path?: Path;
|
|
417
444
|
}
|
|
418
445
|
export interface StatusEvent {
|
|
419
446
|
provider: Provider;
|
|
@@ -440,11 +467,11 @@ export interface SignMessageResult {
|
|
|
440
467
|
}
|
|
441
468
|
/**
|
|
442
469
|
*
|
|
443
|
-
* Ledger Api
|
|
470
|
+
* Ledger Api response
|
|
444
471
|
*
|
|
445
472
|
*/
|
|
446
473
|
export interface LedgerApiResult {
|
|
447
|
-
|
|
474
|
+
[key: string]: any;
|
|
448
475
|
}
|
|
449
476
|
/**
|
|
450
477
|
*
|
|
@@ -1 +1 @@
|
|
|
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,KAAK,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/dapp-api/rpc-gen/typings.ts"],"names":[],"mappings":"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"}
|
package/dist/example-config.js
CHANGED
|
@@ -50,7 +50,7 @@ export default {
|
|
|
50
50
|
method: 'self_signed',
|
|
51
51
|
issuer: 'self-signed',
|
|
52
52
|
audience: '<REPLACE_PARTICIPANT_AUDIENCE>',
|
|
53
|
-
scope: 'openid daml_ledger_api offline_access',
|
|
53
|
+
scope: 'openid email daml_ledger_api offline_access',
|
|
54
54
|
clientId: '<REPLACE_CLIENT_ID>',
|
|
55
55
|
clientSecret: 'unsafe',
|
|
56
56
|
},
|
|
@@ -74,7 +74,7 @@ export default {
|
|
|
74
74
|
auth: {
|
|
75
75
|
method: 'authorization_code',
|
|
76
76
|
clientId: '<REPLACE_USER_CLIENT_ID>',
|
|
77
|
-
scope: 'openid daml_ledger_api offline_access',
|
|
77
|
+
scope: 'openid email daml_ledger_api offline_access',
|
|
78
78
|
audience: '<REPLACE_PARTICIPANT_AUDIENCE>',
|
|
79
79
|
},
|
|
80
80
|
adminAuth: {
|
|
@@ -11,7 +11,7 @@ export declare class BlockdaemonWalletAllocator implements WalletAllocator {
|
|
|
11
11
|
private partyAllocator;
|
|
12
12
|
private signingDriver;
|
|
13
13
|
constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService, signingDriver: SigningDriverInterface);
|
|
14
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
-
allocateParty(userId: UserId, existingWallet: Wallet): Promise<void>;
|
|
14
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=blockdaemon-wallet-allocator.d.ts.map
|
package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockdaemon-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAYtE,qBAAa,0BAA2B,YAAW,eAAe;IAE1D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"blockdaemon-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAYtE,qBAAa,0BAA2B,YAAW,eAAe;IAE1D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IAwGZ,aAAa,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CA6DnB"}
|
|
@@ -15,8 +15,8 @@ export class BlockdaemonWalletAllocator {
|
|
|
15
15
|
this.partyAllocator = partyAllocator;
|
|
16
16
|
this.signingDriver = signingDriver;
|
|
17
17
|
}
|
|
18
|
-
async createWallet(userId, partyHint, primary = false) {
|
|
19
|
-
const driver = this.signingDriver.controller(
|
|
18
|
+
async createWallet(userId, email, partyHint, primary = false) {
|
|
19
|
+
const driver = this.signingDriver.controller(email);
|
|
20
20
|
const key = await driver.createKey({
|
|
21
21
|
name: partyHint,
|
|
22
22
|
});
|
|
@@ -55,6 +55,7 @@ export class BlockdaemonWalletAllocator {
|
|
|
55
55
|
publicKey: key.publicKey,
|
|
56
56
|
externalTxId: txId,
|
|
57
57
|
topologyTransactions: topologyTransactions.join(', '),
|
|
58
|
+
rights: [],
|
|
58
59
|
};
|
|
59
60
|
let wallet;
|
|
60
61
|
if (status === 'signed') {
|
|
@@ -95,15 +96,14 @@ export class BlockdaemonWalletAllocator {
|
|
|
95
96
|
await this.store.addWallet(wallet);
|
|
96
97
|
return wallet;
|
|
97
98
|
}
|
|
98
|
-
async allocateParty(userId, existingWallet) {
|
|
99
|
+
async allocateParty(userId, email, existingWallet) {
|
|
99
100
|
if (!existingWallet.externalTxId ||
|
|
100
101
|
!existingWallet.topologyTransactions) {
|
|
101
102
|
throw new Error('Existing wallet is missing field externalTxId or topologyTransactions');
|
|
102
103
|
}
|
|
103
|
-
const driver = this.signingDriver.controller(
|
|
104
|
+
const driver = this.signingDriver.controller(email);
|
|
104
105
|
const { signature, status } = await driver
|
|
105
106
|
.getTransaction({
|
|
106
|
-
userId,
|
|
107
107
|
txId: existingWallet.externalTxId,
|
|
108
108
|
})
|
|
109
109
|
.then(handleSigningError);
|
|
@@ -11,7 +11,7 @@ export declare class FireblocksWalletAllocator implements WalletAllocator {
|
|
|
11
11
|
private partyAllocator;
|
|
12
12
|
private signingDriver;
|
|
13
13
|
constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService, signingDriver: SigningDriverInterface);
|
|
14
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
-
allocateParty(userId: UserId, existingWallet: Wallet): Promise<void>;
|
|
14
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=fireblocks-wallet-allocator.d.ts.map
|
package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fireblocks-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAYtE,qBAAa,yBAA0B,YAAW,eAAe;IAEzD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fireblocks-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAYtE,qBAAa,yBAA0B,YAAW,eAAe;IAEzD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IA6FZ,aAAa,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CAkEnB"}
|
|
@@ -15,7 +15,7 @@ export class FireblocksWalletAllocator {
|
|
|
15
15
|
this.partyAllocator = partyAllocator;
|
|
16
16
|
this.signingDriver = signingDriver;
|
|
17
17
|
}
|
|
18
|
-
async createWallet(userId, partyHint, primary = false) {
|
|
18
|
+
async createWallet(userId, email, partyHint, primary = false) {
|
|
19
19
|
const driver = this.signingDriver.controller(userId);
|
|
20
20
|
const keys = await driver.getKeys().then(handleSigningError);
|
|
21
21
|
const key = keys?.keys?.find((k) => k.name === 'Canton Party');
|
|
@@ -45,6 +45,7 @@ export class FireblocksWalletAllocator {
|
|
|
45
45
|
publicKey: key.publicKey,
|
|
46
46
|
externalTxId: txId,
|
|
47
47
|
topologyTransactions: topologyTransactions.join(', '),
|
|
48
|
+
rights: [],
|
|
48
49
|
};
|
|
49
50
|
let wallet;
|
|
50
51
|
if (status === 'signed') {
|
|
@@ -85,7 +86,7 @@ export class FireblocksWalletAllocator {
|
|
|
85
86
|
await this.store.addWallet(wallet);
|
|
86
87
|
return wallet;
|
|
87
88
|
}
|
|
88
|
-
async allocateParty(userId, existingWallet) {
|
|
89
|
+
async allocateParty(userId, email, existingWallet) {
|
|
89
90
|
if (!existingWallet.externalTxId ||
|
|
90
91
|
!existingWallet.topologyTransactions) {
|
|
91
92
|
throw new Error('Existing wallet is missing field externalTxId or topologyTransactions');
|
|
@@ -11,7 +11,7 @@ export declare class KernelWalletAllocator implements WalletAllocator {
|
|
|
11
11
|
private partyAllocator;
|
|
12
12
|
private signingDriver;
|
|
13
13
|
constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService, signingDriver: SigningDriverInterface);
|
|
14
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
-
allocateParty(userId: UserId, existingWallet: Wallet): Promise<void>;
|
|
14
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
15
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=kernel-wallet-allocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,qBAAa,qBAAsB,YAAW,eAAe;IAErD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAEH,sBAAsB,EAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,qBAAa,qBAAsB,YAAW,eAAe;IAErD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAHb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,sBAAsB;IAG3C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IAiDZ,aAAa,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CAiCnB"}
|
|
@@ -14,7 +14,7 @@ export class KernelWalletAllocator {
|
|
|
14
14
|
this.partyAllocator = partyAllocator;
|
|
15
15
|
this.signingDriver = signingDriver;
|
|
16
16
|
}
|
|
17
|
-
async createWallet(userId, partyHint, primary = false) {
|
|
17
|
+
async createWallet(userId, email, partyHint, primary = false) {
|
|
18
18
|
const driver = this.signingDriver.controller(userId);
|
|
19
19
|
const key = await driver
|
|
20
20
|
.createKey({
|
|
@@ -48,11 +48,12 @@ export class KernelWalletAllocator {
|
|
|
48
48
|
publicKey: key.publicKey,
|
|
49
49
|
externalTxId: '',
|
|
50
50
|
topologyTransactions: '',
|
|
51
|
+
rights: [],
|
|
51
52
|
};
|
|
52
53
|
await this.store.addWallet(wallet);
|
|
53
54
|
return wallet;
|
|
54
55
|
}
|
|
55
|
-
async allocateParty(userId, existingWallet) {
|
|
56
|
+
async allocateParty(userId, email, existingWallet) {
|
|
56
57
|
const driver = this.signingDriver.controller(userId);
|
|
57
58
|
const signingCallback = async (hash) => {
|
|
58
59
|
const result = await driver
|
|
@@ -9,7 +9,7 @@ export declare class ParticipantWalletAllocator implements WalletAllocator {
|
|
|
9
9
|
private logger;
|
|
10
10
|
private partyAllocator;
|
|
11
11
|
constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService);
|
|
12
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
13
|
-
allocateParty(userId: UserId, existingWallet: Wallet): Promise<void>;
|
|
12
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary?: Primary): Promise<Wallet>;
|
|
13
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=participant-wallet-allocator.d.ts.map
|
package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participant-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,qBAAa,0BAA2B,YAAW,eAAe;IAE1D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;gBAFd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB;IAG5C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"participant-wallet-allocator.d.ts","sourceRoot":"","sources":["../../../../src/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,qBAAa,0BAA2B,YAAW,eAAe;IAE1D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;gBAFd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB;IAG5C,YAAY,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IAoBZ,aAAa,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CAYnB"}
|
|
@@ -7,7 +7,7 @@ export class ParticipantWalletAllocator {
|
|
|
7
7
|
this.logger = logger;
|
|
8
8
|
this.partyAllocator = partyAllocator;
|
|
9
9
|
}
|
|
10
|
-
async createWallet(userId, partyHint, primary = false) {
|
|
10
|
+
async createWallet(userId, email, partyHint, primary = false) {
|
|
11
11
|
const party = await this.partyAllocator.allocateParty(userId, partyHint);
|
|
12
12
|
const network = await this.store.getCurrentNetwork();
|
|
13
13
|
const wallet = {
|
|
@@ -21,11 +21,12 @@ export class ParticipantWalletAllocator {
|
|
|
21
21
|
publicKey: party.namespace,
|
|
22
22
|
externalTxId: '',
|
|
23
23
|
topologyTransactions: '',
|
|
24
|
+
rights: [],
|
|
24
25
|
};
|
|
25
26
|
await this.store.addWallet(wallet);
|
|
26
27
|
return wallet;
|
|
27
28
|
}
|
|
28
|
-
async allocateParty(userId, existingWallet) {
|
|
29
|
+
async allocateParty(userId, email, existingWallet) {
|
|
29
30
|
const party = await this.partyAllocator.allocateParty(userId, existingWallet.hint);
|
|
30
31
|
const network = await this.store.getCurrentNetwork();
|
|
31
32
|
return await this.store.updateWallet({
|
|
@@ -5,8 +5,8 @@ import { Logger } from 'pino';
|
|
|
5
5
|
import { PartyAllocationService } from '../party-allocation-service.js';
|
|
6
6
|
import { PartyHint, Primary } from '../../user-api/rpc-gen/typings.js';
|
|
7
7
|
export interface WalletAllocator {
|
|
8
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary: Primary): Promise<Wallet>;
|
|
9
|
-
allocateParty(userId: UserId, existingWallet: Wallet): Promise<void>;
|
|
8
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary: Primary): Promise<Wallet>;
|
|
9
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet): Promise<void>;
|
|
10
10
|
}
|
|
11
11
|
export declare class WalletAllocationService {
|
|
12
12
|
private readonly participantAllocator;
|
|
@@ -14,7 +14,7 @@ export declare class WalletAllocationService {
|
|
|
14
14
|
private readonly fireblocksAllocator?;
|
|
15
15
|
private readonly blockdaemonAllocator?;
|
|
16
16
|
constructor(store: Store, logger: Logger, partyAllocator: PartyAllocationService, signingDrivers?: Partial<Record<SigningProvider, SigningDriverInterface>>);
|
|
17
|
-
createWallet(userId: UserId, partyHint: PartyHint, primary: Primary, signingProviderId: SigningProvider): Promise<Wallet>;
|
|
18
|
-
allocateParty(userId: UserId, existingWallet: Wallet, signingProviderId: SigningProvider): Promise<void>;
|
|
17
|
+
createWallet(userId: UserId, email: string | undefined, partyHint: PartyHint, primary: Primary, signingProviderId: SigningProvider): Promise<Wallet>;
|
|
18
|
+
allocateParty(userId: UserId, email: string | undefined, existingWallet: Wallet, signingProviderId: SigningProvider): Promise<void>;
|
|
19
19
|
}
|
|
20
20
|
//# 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;AAMtE,MAAM,WAAW,eAAe;IAC5B,YAAY,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,aAAa,
|
|
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;AAMtE,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;gBAG9D,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,sBAAsB,EACtC,cAAc,GAAE,OAAO,CACnB,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAC7C;IAuCG,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;IAqDL,aAAa,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,eAAe,GACnC,OAAO,CAAC,IAAI,CAAC;CAgDnB"}
|
|
@@ -21,48 +21,54 @@ export class WalletAllocationService {
|
|
|
21
21
|
this.blockdaemonAllocator = new BlockdaemonWalletAllocator(store, logger, partyAllocator, blockdaemonDriver);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
async createWallet(userId, partyHint, primary, signingProviderId) {
|
|
24
|
+
async createWallet(userId, email, partyHint, primary, signingProviderId) {
|
|
25
25
|
switch (signingProviderId) {
|
|
26
26
|
case SigningProvider.PARTICIPANT:
|
|
27
|
-
return this.participantAllocator.createWallet(userId, partyHint, primary);
|
|
27
|
+
return this.participantAllocator.createWallet(userId, email, partyHint, primary);
|
|
28
28
|
case SigningProvider.WALLET_KERNEL:
|
|
29
29
|
if (!this.kernelAllocator) {
|
|
30
30
|
throw new Error('Wallet Kernel signing driver not available');
|
|
31
31
|
}
|
|
32
|
-
return this.kernelAllocator.createWallet(userId, partyHint, primary);
|
|
32
|
+
return this.kernelAllocator.createWallet(userId, email, partyHint, primary);
|
|
33
33
|
case SigningProvider.FIREBLOCKS:
|
|
34
34
|
if (!this.fireblocksAllocator) {
|
|
35
35
|
throw new Error('Fireblocks signing driver not available');
|
|
36
36
|
}
|
|
37
|
-
return this.fireblocksAllocator.createWallet(userId, partyHint, primary);
|
|
37
|
+
return this.fireblocksAllocator.createWallet(userId, email, partyHint, primary);
|
|
38
38
|
case SigningProvider.BLOCKDAEMON:
|
|
39
39
|
if (!this.blockdaemonAllocator) {
|
|
40
40
|
throw new Error('Blockdaemon signing driver not available');
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
if (!email) {
|
|
43
|
+
throw new Error('Email is required for Blockdaemon wallet allocation');
|
|
44
|
+
}
|
|
45
|
+
return this.blockdaemonAllocator.createWallet(userId, email, partyHint, primary);
|
|
43
46
|
default:
|
|
44
47
|
throw new Error(`Unsupported signing provider: ${signingProviderId}`);
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
|
-
async allocateParty(userId, existingWallet, signingProviderId) {
|
|
50
|
+
async allocateParty(userId, email, existingWallet, signingProviderId) {
|
|
48
51
|
switch (signingProviderId) {
|
|
49
52
|
case SigningProvider.PARTICIPANT:
|
|
50
|
-
return this.participantAllocator.allocateParty(userId, existingWallet);
|
|
53
|
+
return this.participantAllocator.allocateParty(userId, email, existingWallet);
|
|
51
54
|
case SigningProvider.WALLET_KERNEL:
|
|
52
55
|
if (!this.kernelAllocator) {
|
|
53
56
|
throw new Error('Wallet Kernel signing driver not available');
|
|
54
57
|
}
|
|
55
|
-
return this.kernelAllocator.allocateParty(userId, existingWallet);
|
|
58
|
+
return this.kernelAllocator.allocateParty(userId, email, existingWallet);
|
|
56
59
|
case SigningProvider.FIREBLOCKS:
|
|
57
60
|
if (!this.fireblocksAllocator) {
|
|
58
61
|
throw new Error('Fireblocks signing driver not available');
|
|
59
62
|
}
|
|
60
|
-
return this.fireblocksAllocator.allocateParty(userId, existingWallet);
|
|
63
|
+
return this.fireblocksAllocator.allocateParty(userId, email, existingWallet);
|
|
61
64
|
case SigningProvider.BLOCKDAEMON:
|
|
62
65
|
if (!this.blockdaemonAllocator) {
|
|
63
66
|
throw new Error('Blockdaemon signing driver not available');
|
|
64
67
|
}
|
|
65
|
-
|
|
68
|
+
if (!email) {
|
|
69
|
+
throw new Error('Email is required for Blockdaemon wallet allocation');
|
|
70
|
+
}
|
|
71
|
+
return this.blockdaemonAllocator.allocateParty(userId, email, existingWallet);
|
|
66
72
|
default:
|
|
67
73
|
throw new Error(`Unsupported signing provider: ${signingProviderId}`);
|
|
68
74
|
}
|