@canton-network/wallet-gateway-remote 0.20.0 → 0.21.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/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 +1 -1
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/ledger/party-allocation-service.d.ts +1 -2
- package/dist/ledger/party-allocation-service.d.ts.map +1 -1
- package/dist/ledger/party-allocation-service.js +2 -4
- package/dist/ledger/party-allocation-service.test.js +7 -4
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +146 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +140 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts +17 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.js +79 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts +15 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.js +37 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +20 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +70 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.d.ts +2 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.d.ts.map +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +301 -0
- package/dist/ledger/wallet-sync-service.d.ts +7 -12
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +128 -100
- package/dist/ledger/wallet-sync-service.test.js +194 -46
- package/dist/user-api/controller.d.ts +1 -0
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +53 -247
- package/dist/user-api/rpc-gen/index.d.ts +3 -0
- package/dist/user-api/rpc-gen/index.d.ts.map +1 -1
- package/dist/user-api/rpc-gen/index.js +1 -0
- package/dist/user-api/rpc-gen/typings.d.ts +32 -35
- 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 +4 -3
- package/dist/web/frontend/assets/{404-CKmKuu6H.js → 404-C-OWOQ3D.js} +1 -1
- package/dist/web/frontend/assets/approve-CPkaFbuR.js +17 -0
- package/dist/web/frontend/assets/callback-Bev8B02C.js +1 -0
- package/dist/web/frontend/assets/index-CZYV-CqB.js +1679 -0
- package/dist/web/frontend/assets/login-D2fXBXBX.js +7 -0
- package/dist/web/frontend/assets/{settings-Br8FgNOa.js → settings-laHcyEOv.js} +1 -1
- package/dist/web/frontend/assets/{state-1o1CuDWy.js → state-BZtCpgb6.js} +1 -1
- package/dist/web/frontend/assets/transactions-n26INLpW.js +28 -0
- package/dist/web/frontend/assets/utils-DqekxUsS.js +1 -0
- package/dist/web/frontend/assets/wallets-dk9ilN4k.js +62 -0
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +3 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +4 -3
- package/dist/web/frontend/wallets/index.html +4 -3
- package/package.json +19 -19
- package/dist/web/frontend/assets/approve-MzXNo4XO.js +0 -17
- package/dist/web/frontend/assets/callback-CcXLRr7Q.js +0 -1
- package/dist/web/frontend/assets/index-BnEARqU4.js +0 -1679
- package/dist/web/frontend/assets/login-Btlo0Zla.js +0 -7
- package/dist/web/frontend/assets/transactions-Cnu9eUFe.js +0 -28
- package/dist/web/frontend/assets/wallets-Dj5yeBJd.js +0 -63
|
@@ -13,6 +13,7 @@ export declare const userController: (kernelInfo: KernelInfo, userUrl: string, s
|
|
|
13
13
|
removeIdp: import("./rpc-gen/typings.js").RemoveIdp;
|
|
14
14
|
listIdps: import("./rpc-gen/typings.js").ListIdps;
|
|
15
15
|
createWallet: import("./rpc-gen/typings.js").CreateWallet;
|
|
16
|
+
allocatePartyForWallet: import("./rpc-gen/typings.js").AllocatePartyForWallet;
|
|
16
17
|
setPrimaryWallet: import("./rpc-gen/typings.js").SetPrimaryWallet;
|
|
17
18
|
removeWallet: import("./rpc-gen/typings.js").RemoveWallet;
|
|
18
19
|
listWallets: import("./rpc-gen/typings.js").ListWallets;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/user-api/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/user-api/controller.ts"],"names":[],"mappings":"AA6BA,OAAO,EACH,KAAK,EAIR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAGH,WAAW,EAId,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACH,sBAAsB,EACtB,eAAe,EAElB,MAAM,kCAAkC,CAAA;AAWzC,KAAK,uBAAuB,GAAG,OAAO,CAClC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,YAAY,UAAU,EACtB,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,qBAAqB,mBAAmB,EACxC,aAAa,WAAW,GAAG,SAAS,EACpC,SAAS,uBAAuB,EAChC,SAAS,MAAM,EACf,cAAc,MAAM;;;;;;;;;;;;;;;;;;;;;;;CA4zBvB,CAAA"}
|
|
@@ -6,7 +6,8 @@ import { LedgerClient } from '@canton-network/core-ledger-client';
|
|
|
6
6
|
import buildController from './rpc-gen/index.js';
|
|
7
7
|
import { assertConnected, authSchema, AuthTokenProvider, idpSchema, } from '@canton-network/core-wallet-auth';
|
|
8
8
|
import { SigningProvider, } from '@canton-network/core-signing-lib';
|
|
9
|
-
import { PartyAllocationService
|
|
9
|
+
import { PartyAllocationService } from '../ledger/party-allocation-service.js';
|
|
10
|
+
import { WalletAllocationService } from '../ledger/wallet-allocation/wallet-allocation-service.js';
|
|
10
11
|
import { WalletSyncService } from '../ledger/wallet-sync-service.js';
|
|
11
12
|
import { networkStatus, ledgerPrepareParams, } from '../utils.js';
|
|
12
13
|
import { v4 } from 'uuid';
|
|
@@ -99,8 +100,8 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
99
100
|
},
|
|
100
101
|
listIdps: async () => Promise.resolve({ idps: await store.listIdps() }),
|
|
101
102
|
createWallet: async (params) => {
|
|
102
|
-
logger.info(`
|
|
103
|
-
const { signingProviderId,
|
|
103
|
+
logger.info(`Creating wallet with params: ${JSON.stringify(params)}`);
|
|
104
|
+
const { signingProviderId, primary, partyHint } = params;
|
|
104
105
|
const userId = assertConnected(authContext).userId;
|
|
105
106
|
const notifier = notificationService.getNotifier(userId);
|
|
106
107
|
const network = await store.getCurrentNetwork();
|
|
@@ -108,227 +109,52 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
108
109
|
throw new Error('No network session found');
|
|
109
110
|
}
|
|
110
111
|
const idp = await store.getIdp(network.identityProviderId);
|
|
111
|
-
const
|
|
112
|
+
const adminTokenProvider = AuthTokenProvider.fromGatewayConfig(idp, network.adminAuth, logger);
|
|
112
113
|
const partyAllocator = new PartyAllocationService({
|
|
113
114
|
synchronizerId: network.synchronizerId,
|
|
114
|
-
accessTokenProvider:
|
|
115
|
+
accessTokenProvider: adminTokenProvider,
|
|
115
116
|
httpLedgerUrl: network.ledgerApi.baseUrl,
|
|
116
117
|
logger,
|
|
117
118
|
});
|
|
118
|
-
const
|
|
119
|
-
if (!
|
|
119
|
+
const walletAllocationService = new WalletAllocationService(store, logger, partyAllocator, drivers);
|
|
120
|
+
if (!drivers[signingProviderId]) {
|
|
120
121
|
throw new Error(`Signing provider ${signingProviderId} not supported`);
|
|
121
122
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
.createKey({
|
|
135
|
-
name: partyHint,
|
|
136
|
-
})
|
|
137
|
-
.then(handleSigningError);
|
|
138
|
-
party = await partyAllocator.allocateParty(userId, partyHint, key.publicKey, async (hash) => {
|
|
139
|
-
const { signature } = await driver
|
|
140
|
-
.signTransaction({
|
|
141
|
-
tx: '',
|
|
142
|
-
txHash: hash,
|
|
143
|
-
keyIdentifier: {
|
|
144
|
-
publicKey: key.publicKey,
|
|
145
|
-
},
|
|
146
|
-
})
|
|
147
|
-
.then(handleSigningError);
|
|
148
|
-
if (!signature) {
|
|
149
|
-
throw new Error('No signature returned from signing driver');
|
|
150
|
-
}
|
|
151
|
-
return signature;
|
|
152
|
-
});
|
|
153
|
-
publicKey = key.publicKey;
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
case SigningProvider.BLOCKDAEMON: {
|
|
157
|
-
if (signingProviderContext?.externalTxId) {
|
|
158
|
-
walletStatus = 'initialized';
|
|
159
|
-
const { signature } = await driver
|
|
160
|
-
.getTransaction({
|
|
161
|
-
userId,
|
|
162
|
-
txId: signingProviderContext.externalTxId,
|
|
163
|
-
})
|
|
164
|
-
.then(handleSigningError);
|
|
165
|
-
if (!['pending', 'signed'].includes(status)) {
|
|
166
|
-
await store.removeWallet(signingProviderContext.partyId);
|
|
167
|
-
}
|
|
168
|
-
if (signature) {
|
|
169
|
-
await partyAllocator.allocatePartyWithExistingWallet(signingProviderContext.namespace, signingProviderContext.topologyTransactions.split(', '), signature, userId);
|
|
170
|
-
walletStatus = 'allocated';
|
|
171
|
-
}
|
|
172
|
-
party = {
|
|
173
|
-
partyId: signingProviderContext.partyId,
|
|
174
|
-
namespace: signingProviderContext.namespace,
|
|
175
|
-
hint: partyHint,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
const key = await driver.createKey({
|
|
180
|
-
name: partyHint,
|
|
181
|
-
});
|
|
182
|
-
if ('error' in key) {
|
|
183
|
-
throw new Error(`Failed to create key: ${key.error_description}`);
|
|
184
|
-
}
|
|
185
|
-
const namespace = partyAllocator.createFingerprintFromKey(key.publicKey);
|
|
186
|
-
const transactions = await partyAllocator.generateTopologyTransactions(partyHint, key.publicKey);
|
|
187
|
-
topologyTransactions =
|
|
188
|
-
transactions.topologyTransactions ?? [];
|
|
189
|
-
topologyTransactions.forEach((tx, idx) => {
|
|
190
|
-
logger.info(`BLOCKDAEMON: topologyTransaction[${idx}] length=${tx.length} preview=${tx.substring(0, 100)}...`);
|
|
191
|
-
});
|
|
192
|
-
let partyId = '';
|
|
193
|
-
const internalTxId = crypto
|
|
194
|
-
.randomUUID()
|
|
195
|
-
.replace(/-/g, '')
|
|
196
|
-
.substring(0, 16);
|
|
197
|
-
const txPayload = JSON.stringify(topologyTransactions);
|
|
198
|
-
const { status, txId: id } = await driver
|
|
199
|
-
.signTransaction({
|
|
200
|
-
tx: Buffer.from(txPayload).toString('base64'),
|
|
201
|
-
txHash: transactions.multiHash,
|
|
202
|
-
keyIdentifier: {
|
|
203
|
-
publicKey: key.publicKey,
|
|
204
|
-
},
|
|
205
|
-
internalTxId,
|
|
206
|
-
})
|
|
207
|
-
.then(handleSigningError);
|
|
208
|
-
if (status === 'signed') {
|
|
209
|
-
const { signature } = await driver
|
|
210
|
-
.getTransaction({
|
|
211
|
-
userId,
|
|
212
|
-
txId: id,
|
|
213
|
-
})
|
|
214
|
-
.then(handleSigningError);
|
|
215
|
-
if (!signature) {
|
|
216
|
-
throw new Error('Transaction signed but no signature found in result');
|
|
217
|
-
}
|
|
218
|
-
partyId =
|
|
219
|
-
await partyAllocator.allocatePartyWithExistingWallet(namespace, transactions.topologyTransactions ?? [], signature, userId);
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
txId = id;
|
|
223
|
-
walletStatus = 'initialized';
|
|
224
|
-
}
|
|
225
|
-
party = {
|
|
226
|
-
partyId,
|
|
227
|
-
namespace,
|
|
228
|
-
hint: partyHint,
|
|
229
|
-
};
|
|
230
|
-
publicKey = key.publicKey;
|
|
231
|
-
}
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
|
-
case SigningProvider.FIREBLOCKS: {
|
|
235
|
-
const keys = await driver.getKeys().then(handleSigningError);
|
|
236
|
-
const key = keys?.keys?.find((k) => k.name === 'Canton Party');
|
|
237
|
-
if (!key)
|
|
238
|
-
throw new Error('Fireblocks key not found');
|
|
239
|
-
if (signingProviderContext) {
|
|
240
|
-
walletStatus = 'initialized';
|
|
241
|
-
const { signature, status } = await driver
|
|
242
|
-
.getTransaction({
|
|
243
|
-
userId,
|
|
244
|
-
txId: signingProviderContext.externalTxId,
|
|
245
|
-
})
|
|
246
|
-
.then(handleSigningError);
|
|
247
|
-
if (!['pending', 'signed'].includes(status)) {
|
|
248
|
-
await store.removeWallet(signingProviderContext.partyId);
|
|
249
|
-
}
|
|
250
|
-
if (signature) {
|
|
251
|
-
await partyAllocator.allocatePartyWithExistingWallet(signingProviderContext.namespace, signingProviderContext.topologyTransactions.split(', '), Buffer.from(signature, 'hex').toString('base64'), userId);
|
|
252
|
-
walletStatus = 'allocated';
|
|
253
|
-
}
|
|
254
|
-
party = {
|
|
255
|
-
partyId: signingProviderContext.partyId,
|
|
256
|
-
namespace: signingProviderContext.namespace,
|
|
257
|
-
hint: partyHint,
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
const formattedPublicKey = Buffer.from(key.publicKey, 'hex').toString('base64');
|
|
262
|
-
const namespace = partyAllocator.createFingerprintFromKey(formattedPublicKey);
|
|
263
|
-
const transactions = await partyAllocator.generateTopologyTransactions(partyHint, formattedPublicKey);
|
|
264
|
-
topologyTransactions =
|
|
265
|
-
transactions.topologyTransactions;
|
|
266
|
-
let partyId = '';
|
|
267
|
-
const { status, txId: id } = await driver
|
|
268
|
-
.signTransaction({
|
|
269
|
-
tx: '',
|
|
270
|
-
txHash: Buffer.from(transactions.multiHash, 'base64').toString('hex'),
|
|
271
|
-
keyIdentifier: {
|
|
272
|
-
publicKey: key.publicKey,
|
|
273
|
-
},
|
|
274
|
-
})
|
|
275
|
-
.then(handleSigningError);
|
|
276
|
-
if (status === 'signed') {
|
|
277
|
-
const { signature } = await driver
|
|
278
|
-
.getTransaction({
|
|
279
|
-
userId,
|
|
280
|
-
txId: id,
|
|
281
|
-
})
|
|
282
|
-
.then(handleSigningError);
|
|
283
|
-
if (!signature) {
|
|
284
|
-
throw new Error('Transaction signed but no signature found in result');
|
|
285
|
-
}
|
|
286
|
-
partyId =
|
|
287
|
-
await partyAllocator.allocatePartyWithExistingWallet(namespace, transactions.topologyTransactions, Buffer.from(signature, 'hex').toString('base64'), userId);
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
txId = id;
|
|
291
|
-
walletStatus = 'initialized';
|
|
292
|
-
}
|
|
293
|
-
party = {
|
|
294
|
-
partyId,
|
|
295
|
-
namespace,
|
|
296
|
-
hint: partyHint,
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
publicKey = key.publicKey;
|
|
300
|
-
break;
|
|
301
|
-
}
|
|
302
|
-
default:
|
|
303
|
-
throw new Error(`Unsupported signing provider: ${signingProviderId}`);
|
|
123
|
+
const wallet = await walletAllocationService.createWallet(userId, partyHint, primary ?? false, signingProviderId);
|
|
124
|
+
const wallets = await store.getWallets();
|
|
125
|
+
notifier?.emit('accountsChanged', wallets);
|
|
126
|
+
return { wallet };
|
|
127
|
+
},
|
|
128
|
+
allocatePartyForWallet: async (params) => {
|
|
129
|
+
logger.info(`Allocating party for wallet: ${JSON.stringify(params)}`);
|
|
130
|
+
const userId = assertConnected(authContext).userId;
|
|
131
|
+
const notifier = notificationService.getNotifier(userId);
|
|
132
|
+
const network = await store.getCurrentNetwork();
|
|
133
|
+
if (!network) {
|
|
134
|
+
throw new Error('No network session found');
|
|
304
135
|
}
|
|
305
|
-
const
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
status: walletStatus,
|
|
310
|
-
primary: primary ?? false,
|
|
311
|
-
publicKey: publicKey || partyArgs.namespace,
|
|
312
|
-
externalTxId: txId,
|
|
313
|
-
topologyTransactions: topologyTransactions?.join(', ') ?? '',
|
|
314
|
-
partyId: partyId !== ''
|
|
315
|
-
? partyId
|
|
316
|
-
: `${partyArgs.hint}::${partyArgs.namespace}`,
|
|
317
|
-
...partyArgs,
|
|
318
|
-
};
|
|
319
|
-
if (signingProviderContext &&
|
|
320
|
-
(walletStatus === 'allocated' || walletStatus === 'initialized')) {
|
|
321
|
-
await store.updateWallet({
|
|
322
|
-
partyId: wallet.partyId,
|
|
323
|
-
networkId: wallet.networkId,
|
|
324
|
-
status: wallet.status,
|
|
325
|
-
externalTxId: wallet.externalTxId,
|
|
326
|
-
});
|
|
136
|
+
const allWallets = await store.getWallets();
|
|
137
|
+
const existingWallet = allWallets.find((w) => w.partyId === params.partyId && w.networkId === network.id);
|
|
138
|
+
if (!existingWallet) {
|
|
139
|
+
throw new Error(`Wallet not found for party ${params.partyId}`);
|
|
327
140
|
}
|
|
328
|
-
|
|
329
|
-
|
|
141
|
+
const idp = await store.getIdp(network.identityProviderId);
|
|
142
|
+
const accessTokenProvider = AuthTokenProvider.fromGatewayConfig(idp, network.adminAuth, logger);
|
|
143
|
+
const partyAllocator = new PartyAllocationService({
|
|
144
|
+
synchronizerId: network.synchronizerId,
|
|
145
|
+
accessTokenProvider,
|
|
146
|
+
httpLedgerUrl: network.ledgerApi.baseUrl,
|
|
147
|
+
logger,
|
|
148
|
+
});
|
|
149
|
+
const walletAllocationService = new WalletAllocationService(store, logger, partyAllocator, drivers);
|
|
150
|
+
const signingProviderId = existingWallet.signingProviderId;
|
|
151
|
+
if (!drivers[signingProviderId]) {
|
|
152
|
+
throw new Error(`Signing provider ${signingProviderId} not supported`);
|
|
330
153
|
}
|
|
154
|
+
await walletAllocationService.allocateParty(userId, existingWallet, signingProviderId);
|
|
331
155
|
const wallets = await store.getWallets();
|
|
156
|
+
const wallet = wallets.find((w) => w.partyId === existingWallet.partyId &&
|
|
157
|
+
w.networkId === network.id);
|
|
332
158
|
notifier?.emit('accountsChanged', wallets);
|
|
333
159
|
return { wallet };
|
|
334
160
|
},
|
|
@@ -360,7 +186,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
360
186
|
const signingProvider = wallet.signingProviderId;
|
|
361
187
|
const driver = drivers[signingProvider]?.controller(userId);
|
|
362
188
|
if (!driver) {
|
|
363
|
-
throw new Error(
|
|
189
|
+
throw new Error(`No driver found for ${wallet.signingProviderId}`);
|
|
364
190
|
}
|
|
365
191
|
switch (wallet.signingProviderId) {
|
|
366
192
|
case SigningProvider.PARTICIPANT: {
|
|
@@ -479,10 +305,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
479
305
|
}
|
|
480
306
|
const notifier = notificationService.getNotifier(userId);
|
|
481
307
|
// Create AccessTokenProvider for user token
|
|
482
|
-
const userAccessTokenProvider =
|
|
483
|
-
getUserAccessToken: async () => authContext.accessToken,
|
|
484
|
-
getAdminAccessToken: async () => authContext.accessToken,
|
|
485
|
-
};
|
|
308
|
+
const userAccessTokenProvider = AuthTokenProvider.fromToken(authContext.accessToken, logger);
|
|
486
309
|
const ledgerClient = new LedgerClient({
|
|
487
310
|
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
488
311
|
logger,
|
|
@@ -584,7 +407,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
584
407
|
const ledgerClient = new LedgerClient({
|
|
585
408
|
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
586
409
|
logger,
|
|
587
|
-
accessToken,
|
|
410
|
+
accessTokenProvider: AuthTokenProvider.fromToken(accessToken, logger),
|
|
588
411
|
});
|
|
589
412
|
const status = await networkStatus(ledgerClient);
|
|
590
413
|
notifier.emit('statusChanged', {
|
|
@@ -609,14 +432,14 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
609
432
|
//we only want to automatically perform a sync if it is the first time a session is created
|
|
610
433
|
const wallets = await store.getWallets();
|
|
611
434
|
if (wallets.length == 0) {
|
|
612
|
-
const adminAccessTokenProvider =
|
|
435
|
+
const adminAccessTokenProvider = AuthTokenProvider.fromGatewayConfig(idp, network.adminAuth, logger);
|
|
613
436
|
const partyAllocator = new PartyAllocationService({
|
|
614
437
|
synchronizerId: network.synchronizerId,
|
|
615
438
|
accessTokenProvider: adminAccessTokenProvider,
|
|
616
439
|
httpLedgerUrl: network.ledgerApi.baseUrl,
|
|
617
440
|
logger,
|
|
618
441
|
});
|
|
619
|
-
const service = new WalletSyncService(store, ledgerClient,
|
|
442
|
+
const service = new WalletSyncService(store, ledgerClient, authContext, logger, drivers, partyAllocator);
|
|
620
443
|
await service.syncWallets();
|
|
621
444
|
}
|
|
622
445
|
return Promise.resolve({
|
|
@@ -663,7 +486,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
663
486
|
const ledgerClient = new LedgerClient({
|
|
664
487
|
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
665
488
|
logger,
|
|
666
|
-
|
|
489
|
+
accessTokenProvider: AuthTokenProvider.fromToken(authContext.accessToken, logger),
|
|
667
490
|
});
|
|
668
491
|
const idp = await store.getIdp(network.identityProviderId);
|
|
669
492
|
const status = await networkStatus(ledgerClient);
|
|
@@ -685,12 +508,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
685
508
|
syncWallets: async function () {
|
|
686
509
|
const network = await store.getCurrentNetwork();
|
|
687
510
|
const { userId } = assertConnected(authContext);
|
|
688
|
-
const userAccessTokenProvider =
|
|
689
|
-
getUserAccessToken: async () => authContext.accessToken,
|
|
690
|
-
getAdminAccessToken: async () => authContext.accessToken,
|
|
691
|
-
};
|
|
511
|
+
const userAccessTokenProvider = AuthTokenProvider.fromToken(authContext.accessToken, logger);
|
|
692
512
|
const idp = await store.getIdp(network.identityProviderId);
|
|
693
|
-
const adminAccessTokenProvider =
|
|
513
|
+
const adminAccessTokenProvider = AuthTokenProvider.fromGatewayConfig(idp, network.adminAuth, logger);
|
|
694
514
|
const partyAllocator = new PartyAllocationService({
|
|
695
515
|
synchronizerId: network.synchronizerId,
|
|
696
516
|
accessTokenProvider: adminAccessTokenProvider,
|
|
@@ -702,15 +522,10 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
702
522
|
logger,
|
|
703
523
|
accessTokenProvider: userAccessTokenProvider,
|
|
704
524
|
});
|
|
705
|
-
const
|
|
706
|
-
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
707
|
-
logger,
|
|
708
|
-
isAdmin: true,
|
|
709
|
-
accessTokenProvider: adminAccessTokenProvider,
|
|
710
|
-
});
|
|
711
|
-
const service = new WalletSyncService(store, userLedger, adminLedger, authContext, logger, drivers, partyAllocator);
|
|
525
|
+
const service = new WalletSyncService(store, userLedger, authContext, logger, drivers, partyAllocator);
|
|
712
526
|
const result = await service.syncWallets();
|
|
713
|
-
if (result.added.length === 0 && result.
|
|
527
|
+
if ((result.added.length === 0 && result.updated.length === 0) ||
|
|
528
|
+
result.disabled.length === 0) {
|
|
714
529
|
return result;
|
|
715
530
|
}
|
|
716
531
|
const notifier = notificationService.getNotifier(userId);
|
|
@@ -721,12 +536,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
721
536
|
isWalletSyncNeeded: async () => {
|
|
722
537
|
const network = await store.getCurrentNetwork();
|
|
723
538
|
assertConnected(authContext);
|
|
724
|
-
const userAccessTokenProvider =
|
|
725
|
-
getUserAccessToken: async () => authContext.accessToken,
|
|
726
|
-
getAdminAccessToken: async () => authContext.accessToken,
|
|
727
|
-
};
|
|
539
|
+
const userAccessTokenProvider = AuthTokenProvider.fromToken(authContext.accessToken, logger);
|
|
728
540
|
const idp = await store.getIdp(network.identityProviderId);
|
|
729
|
-
const adminAccessTokenProvider =
|
|
541
|
+
const adminAccessTokenProvider = AuthTokenProvider.fromGatewayConfig(idp, network.adminAuth, logger);
|
|
730
542
|
const partyAllocator = new PartyAllocationService({
|
|
731
543
|
synchronizerId: network.synchronizerId,
|
|
732
544
|
accessTokenProvider: adminAccessTokenProvider,
|
|
@@ -738,13 +550,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
738
550
|
logger,
|
|
739
551
|
accessTokenProvider: userAccessTokenProvider,
|
|
740
552
|
});
|
|
741
|
-
const
|
|
742
|
-
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
743
|
-
logger,
|
|
744
|
-
isAdmin: true,
|
|
745
|
-
accessTokenProvider: adminAccessTokenProvider,
|
|
746
|
-
});
|
|
747
|
-
const service = new WalletSyncService(store, userLedger, adminLedger, authContext, logger, drivers, partyAllocator);
|
|
553
|
+
const service = new WalletSyncService(store, userLedger, authContext, logger, drivers, partyAllocator);
|
|
748
554
|
const walletSyncNeeded = await service.isWalletSyncNeeded();
|
|
749
555
|
return { walletSyncNeeded };
|
|
750
556
|
},
|
|
@@ -5,6 +5,7 @@ import { AddIdp } from './typings.js';
|
|
|
5
5
|
import { RemoveIdp } from './typings.js';
|
|
6
6
|
import { ListIdps } from './typings.js';
|
|
7
7
|
import { CreateWallet } from './typings.js';
|
|
8
|
+
import { AllocatePartyForWallet } from './typings.js';
|
|
8
9
|
import { SetPrimaryWallet } from './typings.js';
|
|
9
10
|
import { RemoveWallet } from './typings.js';
|
|
10
11
|
import { ListWallets } from './typings.js';
|
|
@@ -27,6 +28,7 @@ export type Methods = {
|
|
|
27
28
|
removeIdp: RemoveIdp;
|
|
28
29
|
listIdps: ListIdps;
|
|
29
30
|
createWallet: CreateWallet;
|
|
31
|
+
allocatePartyForWallet: AllocatePartyForWallet;
|
|
30
32
|
setPrimaryWallet: SetPrimaryWallet;
|
|
31
33
|
removeWallet: RemoveWallet;
|
|
32
34
|
listWallets: ListWallets;
|
|
@@ -50,6 +52,7 @@ declare function buildController(methods: Methods): {
|
|
|
50
52
|
removeIdp: RemoveIdp;
|
|
51
53
|
listIdps: ListIdps;
|
|
52
54
|
createWallet: CreateWallet;
|
|
55
|
+
allocatePartyForWallet: AllocatePartyForWallet;
|
|
53
56
|
setPrimaryWallet: SetPrimaryWallet;
|
|
54
57
|
removeWallet: RemoveWallet;
|
|
55
58
|
listWallets: ListWallets;
|
|
@@ -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,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,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;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,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,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,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;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO
|
|
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,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,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,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,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;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,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,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,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;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAyBxC;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -9,6 +9,7 @@ function buildController(methods) {
|
|
|
9
9
|
removeIdp: methods.removeIdp,
|
|
10
10
|
listIdps: methods.listIdps,
|
|
11
11
|
createWallet: methods.createWallet,
|
|
12
|
+
allocatePartyForWallet: methods.allocatePartyForWallet,
|
|
12
13
|
setPrimaryWallet: methods.setPrimaryWallet,
|
|
13
14
|
removeWallet: methods.removeWallet,
|
|
14
15
|
listWallets: methods.listWallets,
|
|
@@ -127,35 +127,6 @@ export type PartyHint = string;
|
|
|
127
127
|
*/
|
|
128
128
|
export type SigningProviderId = string;
|
|
129
129
|
export type PartyId = string;
|
|
130
|
-
/**
|
|
131
|
-
*
|
|
132
|
-
* Unique identifier of the signed transaction given by the Signing Provider. This may not be the same as the internal txId given by the Wallet Gateway.
|
|
133
|
-
*
|
|
134
|
-
*/
|
|
135
|
-
export type ExternalTxId = string;
|
|
136
|
-
/**
|
|
137
|
-
*
|
|
138
|
-
* The topology transactions
|
|
139
|
-
*
|
|
140
|
-
*/
|
|
141
|
-
export type TopologyTransactions = string;
|
|
142
|
-
/**
|
|
143
|
-
*
|
|
144
|
-
* The namespace of the party.
|
|
145
|
-
*
|
|
146
|
-
*/
|
|
147
|
-
export type Namespace = string;
|
|
148
|
-
/**
|
|
149
|
-
*
|
|
150
|
-
* Indicates that the wallet has been created in the database but hasn't yet been allocated by the participant.
|
|
151
|
-
*
|
|
152
|
-
*/
|
|
153
|
-
export interface SigningProviderContext {
|
|
154
|
-
partyId: PartyId;
|
|
155
|
-
externalTxId: ExternalTxId;
|
|
156
|
-
topologyTransactions: TopologyTransactions;
|
|
157
|
-
namespace: Namespace;
|
|
158
|
-
}
|
|
159
130
|
/**
|
|
160
131
|
*
|
|
161
132
|
* Filter wallets by network IDs.
|
|
@@ -204,7 +175,7 @@ export type Idps = Idp[];
|
|
|
204
175
|
* The status of the wallet.
|
|
205
176
|
*
|
|
206
177
|
*/
|
|
207
|
-
export type WalletStatus = 'initialized' | 'allocated';
|
|
178
|
+
export type WalletStatus = 'initialized' | 'allocated' | 'removed';
|
|
208
179
|
/**
|
|
209
180
|
*
|
|
210
181
|
* The party hint and name of the wallet.
|
|
@@ -217,6 +188,24 @@ export type Hint = string;
|
|
|
217
188
|
*
|
|
218
189
|
*/
|
|
219
190
|
export type PublicKey = string;
|
|
191
|
+
/**
|
|
192
|
+
*
|
|
193
|
+
* The namespace of the party.
|
|
194
|
+
*
|
|
195
|
+
*/
|
|
196
|
+
export type Namespace = string;
|
|
197
|
+
/**
|
|
198
|
+
*
|
|
199
|
+
* Unique identifier of the signed transaction given by the Signing Provider. This may not be the same as the internal txId given by the Wallet Gateway.
|
|
200
|
+
*
|
|
201
|
+
*/
|
|
202
|
+
export type ExternalTxId = string;
|
|
203
|
+
/**
|
|
204
|
+
*
|
|
205
|
+
* The topology transactions
|
|
206
|
+
*
|
|
207
|
+
*/
|
|
208
|
+
export type TopologyTransactions = string;
|
|
220
209
|
/**
|
|
221
210
|
*
|
|
222
211
|
* Whether the wallet is disabled. Wallets are disabled when no signing provider matches the party's namespace during sync. Disabled wallets use participant as the default signing provider.
|
|
@@ -248,8 +237,9 @@ export interface Wallet {
|
|
|
248
237
|
disabled?: Disabled;
|
|
249
238
|
reason?: Reason;
|
|
250
239
|
}
|
|
251
|
-
export type
|
|
252
|
-
export type
|
|
240
|
+
export type SyncWalletsResultAdded = Wallet[];
|
|
241
|
+
export type SyncWalletsResultUpdated = Wallet[];
|
|
242
|
+
export type SyncWalletsResultDisabled = Wallet[];
|
|
253
243
|
/**
|
|
254
244
|
*
|
|
255
245
|
* Whether wallet sync is needed. Returns true if there are disabled wallets or parties on the ledger that aren't in the store.
|
|
@@ -345,7 +335,9 @@ export interface CreateWalletParams {
|
|
|
345
335
|
primary?: Primary;
|
|
346
336
|
partyHint: PartyHint;
|
|
347
337
|
signingProviderId: SigningProviderId;
|
|
348
|
-
|
|
338
|
+
}
|
|
339
|
+
export interface AllocatePartyForWalletParams {
|
|
340
|
+
partyId: PartyId;
|
|
349
341
|
}
|
|
350
342
|
export interface SetPrimaryWalletParams {
|
|
351
343
|
partyId: PartyId;
|
|
@@ -392,6 +384,9 @@ export interface ListIdpsResult {
|
|
|
392
384
|
export interface CreateWalletResult {
|
|
393
385
|
wallet: Wallet;
|
|
394
386
|
}
|
|
387
|
+
export interface AllocatePartyForWalletResult {
|
|
388
|
+
wallet: Wallet;
|
|
389
|
+
}
|
|
395
390
|
export interface RemovePartyResult {
|
|
396
391
|
[key: string]: any;
|
|
397
392
|
}
|
|
@@ -407,8 +402,9 @@ export type ListWalletsResult = Wallet[];
|
|
|
407
402
|
*
|
|
408
403
|
*/
|
|
409
404
|
export interface SyncWalletsResult {
|
|
410
|
-
added:
|
|
411
|
-
|
|
405
|
+
added: SyncWalletsResultAdded;
|
|
406
|
+
updated: SyncWalletsResultUpdated;
|
|
407
|
+
disabled: SyncWalletsResultDisabled;
|
|
412
408
|
}
|
|
413
409
|
export interface IsWalletSyncNeededResult {
|
|
414
410
|
walletSyncNeeded: WalletSyncNeeded;
|
|
@@ -466,6 +462,7 @@ export type AddIdp = (params: AddIdpParams) => Promise<Null>;
|
|
|
466
462
|
export type RemoveIdp = (params: RemoveIdpParams) => Promise<Null>;
|
|
467
463
|
export type ListIdps = () => Promise<ListIdpsResult>;
|
|
468
464
|
export type CreateWallet = (params: CreateWalletParams) => Promise<CreateWalletResult>;
|
|
465
|
+
export type AllocatePartyForWallet = (params: AllocatePartyForWalletParams) => Promise<AllocatePartyForWalletResult>;
|
|
469
466
|
export type SetPrimaryWallet = (params: SetPrimaryWalletParams) => Promise<Null>;
|
|
470
467
|
export type RemoveWallet = (params: RemoveWalletParams) => Promise<RemovePartyResult>;
|
|
471
468
|
export type ListWallets = (params: ListWalletsParams) => Promise<ListWalletsResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/typings.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AACzB;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AACnC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;CACrB;AACD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,SAAS,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACvB;AACD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC;;;;GAIG;AACH,MAAM,MAAM,EAAE,GAAG,MAAM,CAAA;AACvB;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,CAAA;AACtB;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,EAAE,CAAA;IACN,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;CACxB;AACD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAA;AAC7B;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACtC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAC5B;;;;GAIG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/user-api/rpc-gen/typings.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Wallet Gateway - Not found</title>
|
|
7
|
-
<script type="module" crossorigin src="../assets/404-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="../assets/index-
|
|
7
|
+
<script type="module" crossorigin src="../assets/404-C-OWOQ3D.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="../assets/index-CZYV-CqB.js">
|
|
9
9
|
</head>
|
|
10
10
|
|
|
11
11
|
<body>
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Wallet Gateway - Approve Write Request</title>
|
|
7
|
-
<script type="module" crossorigin src="../assets/approve-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="../assets/index-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="../assets/state-
|
|
7
|
+
<script type="module" crossorigin src="../assets/approve-CPkaFbuR.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="../assets/index-CZYV-CqB.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="../assets/state-BZtCpgb6.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="../assets/index-NP2zGQqX.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="../assets/utils-DqekxUsS.js">
|
|
11
12
|
</head>
|
|
12
13
|
|
|
13
14
|
<body>
|