@canton-network/wallet-gateway-remote 0.21.0 → 0.23.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/README.md +1 -3
- 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.d.ts +145 -0
- package/dist/config/Config.d.ts.map +1 -1
- package/dist/config/Config.js +18 -2
- package/dist/config/Config.test.js +4 -1
- package/dist/config/ConfigUtils.d.ts.map +1 -1
- package/dist/config/ConfigUtils.js +41 -2
- package/dist/dapp-api/controller.d.ts.map +1 -1
- package/dist/dapp-api/controller.js +7 -14
- 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/env.d.ts +19 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +16 -0
- package/dist/example-config.d.ts +3 -1
- package/dist/example-config.d.ts.map +1 -1
- package/dist/example-config.js +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +8 -18
- package/dist/ledger/party-allocation-service.d.ts.map +1 -1
- package/dist/ledger/party-allocation-service.js +3 -0
- package/dist/ledger/transaction-service.d.ts +22 -0
- package/dist/ledger/transaction-service.d.ts.map +1 -0
- package/dist/ledger/transaction-service.js +296 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +2 -2
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +10 -4
- 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 +79 -168
- package/dist/user-api/rpc-gen/typings.d.ts +41 -6
- 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-C-OWOQ3D.js → 404-CwWne4gl.js} +2 -2
- package/dist/web/frontend/assets/approve-sXtkk0nx.js +20 -0
- package/dist/web/frontend/assets/{callback-Bev8B02C.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-BZtCpgb6.js → state-Zh2baU_h.js} +1 -1
- package/dist/web/frontend/assets/{transactions-n26INLpW.js → transactions-gLP4M5t0.js} +2 -2
- package/dist/web/frontend/assets/{utils-DqekxUsS.js → utils-CI12TM_E.js} +1 -1
- package/dist/web/frontend/assets/{wallets-dk9ilN4k.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 +21 -20
- package/dist/web/frontend/assets/approve-CPkaFbuR.js +0 -17
- package/dist/web/frontend/assets/index-CZYV-CqB.js +0 -1679
- package/dist/web/frontend/assets/login-D2fXBXBX.js +0 -7
- package/dist/web/frontend/assets/settings-laHcyEOv.js +0 -37
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
5
5
|
import { LedgerClient } from '@canton-network/core-ledger-client';
|
|
6
6
|
import buildController from './rpc-gen/index.js';
|
|
7
|
-
import { assertConnected, authSchema, AuthTokenProvider, idpSchema, } from '@canton-network/core-wallet-auth';
|
|
7
|
+
import { assertConnected, authSchema, AuthTokenProvider, fetchOidcUserInfo, idpSchema, } from '@canton-network/core-wallet-auth';
|
|
8
8
|
import { SigningProvider, } from '@canton-network/core-signing-lib';
|
|
9
9
|
import { PartyAllocationService } from '../ledger/party-allocation-service.js';
|
|
10
10
|
import { WalletAllocationService } from '../ledger/wallet-allocation/wallet-allocation-service.js';
|
|
11
11
|
import { WalletSyncService } from '../ledger/wallet-sync-service.js';
|
|
12
|
-
import { networkStatus
|
|
12
|
+
import { networkStatus } from '../utils.js';
|
|
13
13
|
import { v4 } from 'uuid';
|
|
14
|
+
import { TransactionService } from '../ledger/transaction-service.js';
|
|
14
15
|
export const userController = (kernelInfo, userUrl, store, notificationService, authContext, drivers, _logger, adminUserId) => {
|
|
15
16
|
const logger = _logger.child({ component: 'user-controller' });
|
|
16
17
|
const provider = {
|
|
@@ -25,11 +26,26 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
25
26
|
throw new Error('Unauthorized: only the admin user can perform this operation');
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
if (
|
|
30
|
-
|
|
29
|
+
async function resolveUserEmail(connectedContext) {
|
|
30
|
+
if (connectedContext.email) {
|
|
31
|
+
return connectedContext.email;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const network = await store.getCurrentNetwork();
|
|
35
|
+
if (!network) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
const idp = await store.getIdp(network.identityProviderId);
|
|
39
|
+
if (idp.type !== 'oauth') {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const userInfo = await fetchOidcUserInfo(idp.configUrl, connectedContext.accessToken);
|
|
43
|
+
return userInfo?.email;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.warn(error, 'Failed to resolve user email from OIDC userinfo');
|
|
47
|
+
return undefined;
|
|
31
48
|
}
|
|
32
|
-
return result;
|
|
33
49
|
}
|
|
34
50
|
return buildController({
|
|
35
51
|
getUser: async () => {
|
|
@@ -102,7 +118,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
102
118
|
createWallet: async (params) => {
|
|
103
119
|
logger.info(`Creating wallet with params: ${JSON.stringify(params)}`);
|
|
104
120
|
const { signingProviderId, primary, partyHint } = params;
|
|
105
|
-
const
|
|
121
|
+
const connectedContext = assertConnected(authContext);
|
|
122
|
+
const userId = connectedContext.userId;
|
|
123
|
+
const email = await resolveUserEmail(connectedContext);
|
|
106
124
|
const notifier = notificationService.getNotifier(userId);
|
|
107
125
|
const network = await store.getCurrentNetwork();
|
|
108
126
|
if (network === undefined) {
|
|
@@ -120,14 +138,25 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
120
138
|
if (!drivers[signingProviderId]) {
|
|
121
139
|
throw new Error(`Signing provider ${signingProviderId} not supported`);
|
|
122
140
|
}
|
|
123
|
-
const wallet = await walletAllocationService.createWallet(userId, partyHint, primary ?? false, signingProviderId);
|
|
141
|
+
const wallet = await walletAllocationService.createWallet(userId, email, partyHint, primary ?? false, signingProviderId);
|
|
142
|
+
// Sync wallets (TODO: separate rights sync from wallet sync as we only need rights sync here)
|
|
143
|
+
const ledgerClient = new LedgerClient({
|
|
144
|
+
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
145
|
+
logger,
|
|
146
|
+
accessTokenProvider: AuthTokenProvider.fromToken(authContext.accessToken, logger),
|
|
147
|
+
});
|
|
148
|
+
const service = new WalletSyncService(store, ledgerClient, authContext, logger, drivers, partyAllocator);
|
|
149
|
+
await service.syncWallets();
|
|
150
|
+
// Notify about the change and return the new wallet
|
|
124
151
|
const wallets = await store.getWallets();
|
|
125
152
|
notifier?.emit('accountsChanged', wallets);
|
|
126
153
|
return { wallet };
|
|
127
154
|
},
|
|
128
155
|
allocatePartyForWallet: async (params) => {
|
|
129
156
|
logger.info(`Allocating party for wallet: ${JSON.stringify(params)}`);
|
|
130
|
-
const
|
|
157
|
+
const connectedContext = assertConnected(authContext);
|
|
158
|
+
const userId = connectedContext.userId;
|
|
159
|
+
const email = await resolveUserEmail(connectedContext);
|
|
131
160
|
const notifier = notificationService.getNotifier(userId);
|
|
132
161
|
const network = await store.getCurrentNetwork();
|
|
133
162
|
if (!network) {
|
|
@@ -151,7 +180,16 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
151
180
|
if (!drivers[signingProviderId]) {
|
|
152
181
|
throw new Error(`Signing provider ${signingProviderId} not supported`);
|
|
153
182
|
}
|
|
154
|
-
await walletAllocationService.allocateParty(userId, existingWallet, signingProviderId);
|
|
183
|
+
await walletAllocationService.allocateParty(userId, email, existingWallet, signingProviderId);
|
|
184
|
+
// Sync wallets (TODO: separate rights sync from wallet sync as we only need rights sync here)
|
|
185
|
+
const ledgerClient = new LedgerClient({
|
|
186
|
+
baseUrl: new URL(network.ledgerApi.baseUrl),
|
|
187
|
+
logger,
|
|
188
|
+
accessTokenProvider: AuthTokenProvider.fromToken(authContext.accessToken, logger),
|
|
189
|
+
});
|
|
190
|
+
const service = new WalletSyncService(store, ledgerClient, authContext, logger, drivers, partyAllocator);
|
|
191
|
+
await service.syncWallets();
|
|
192
|
+
// Notify about the change and return the updated wallet
|
|
155
193
|
const wallets = await store.getWallets();
|
|
156
194
|
const wallet = wallets.find((w) => w.partyId === existingWallet.partyId &&
|
|
157
195
|
w.networkId === network.id);
|
|
@@ -171,128 +209,50 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
171
209
|
listWallets: async (params) => {
|
|
172
210
|
return await store.getWallets(params.filter);
|
|
173
211
|
},
|
|
174
|
-
sign: async (
|
|
212
|
+
sign: async (signParams) => {
|
|
175
213
|
const network = await store.getCurrentNetwork();
|
|
176
214
|
if (network === undefined) {
|
|
177
215
|
throw new Error('No network session found');
|
|
178
216
|
}
|
|
179
217
|
const wallets = await store.getWallets();
|
|
180
|
-
const wallet = wallets.find((w) => w.partyId === partyId);
|
|
218
|
+
const wallet = wallets.find((w) => w.partyId === signParams.partyId);
|
|
181
219
|
if (wallet === undefined) {
|
|
182
220
|
throw new Error('No primary wallet found');
|
|
183
221
|
}
|
|
184
|
-
const
|
|
222
|
+
const connectedContext = assertConnected(authContext);
|
|
223
|
+
const userId = connectedContext.userId;
|
|
224
|
+
const email = await resolveUserEmail(connectedContext);
|
|
185
225
|
const notifier = notificationService.getNotifier(userId);
|
|
186
226
|
const signingProvider = wallet.signingProviderId;
|
|
187
227
|
const driver = drivers[signingProvider]?.controller(userId);
|
|
188
228
|
if (!driver) {
|
|
189
229
|
throw new Error(`No driver found for ${wallet.signingProviderId}`);
|
|
190
230
|
}
|
|
231
|
+
const transactionService = new TransactionService(store, logger, drivers, notifier);
|
|
191
232
|
switch (wallet.signingProviderId) {
|
|
192
233
|
case SigningProvider.PARTICIPANT: {
|
|
193
|
-
return
|
|
194
|
-
signature: 'none',
|
|
195
|
-
signedBy: wallet.namespace,
|
|
196
|
-
partyId,
|
|
197
|
-
};
|
|
234
|
+
return transactionService.signWithParticipant(wallet);
|
|
198
235
|
}
|
|
199
236
|
case SigningProvider.WALLET_KERNEL: {
|
|
200
|
-
|
|
201
|
-
.signTransaction({
|
|
202
|
-
tx: preparedTransaction,
|
|
203
|
-
txHash: preparedTransactionHash,
|
|
204
|
-
keyIdentifier: {
|
|
205
|
-
publicKey: wallet.publicKey,
|
|
206
|
-
},
|
|
207
|
-
})
|
|
208
|
-
.then(handleSigningError);
|
|
209
|
-
if (!signature) {
|
|
210
|
-
throw new Error('Failed to sign transaction: ' +
|
|
211
|
-
JSON.stringify(signature));
|
|
212
|
-
}
|
|
213
|
-
// Get existing transaction to preserve createdAt and origin if they exist
|
|
214
|
-
const existingTx = await store.getTransaction(commandId);
|
|
215
|
-
const now = new Date();
|
|
216
|
-
const signedTx = {
|
|
217
|
-
commandId,
|
|
218
|
-
status: 'signed',
|
|
219
|
-
preparedTransaction,
|
|
220
|
-
preparedTransactionHash,
|
|
221
|
-
origin: existingTx?.origin ?? null,
|
|
222
|
-
...(existingTx?.createdAt && {
|
|
223
|
-
createdAt: existingTx.createdAt,
|
|
224
|
-
}),
|
|
225
|
-
signedAt: now,
|
|
226
|
-
};
|
|
227
|
-
store.setTransaction(signedTx);
|
|
228
|
-
notifier.emit('txChanged', signedTx);
|
|
229
|
-
return {
|
|
230
|
-
signature,
|
|
231
|
-
signedBy: wallet.namespace,
|
|
232
|
-
partyId: wallet.partyId,
|
|
233
|
-
};
|
|
237
|
+
return transactionService.signWithWalletKernel(userId, wallet, signParams);
|
|
234
238
|
}
|
|
235
239
|
case SigningProvider.BLOCKDAEMON: {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
.replace(/-/g, '')
|
|
239
|
-
.substring(0, 16);
|
|
240
|
-
let result = await driver
|
|
241
|
-
.signTransaction({
|
|
242
|
-
tx: preparedTransaction,
|
|
243
|
-
txHash: preparedTransactionHash,
|
|
244
|
-
keyIdentifier: {
|
|
245
|
-
publicKey: wallet.publicKey,
|
|
246
|
-
},
|
|
247
|
-
internalTxId,
|
|
248
|
-
})
|
|
249
|
-
.then(handleSigningError);
|
|
250
|
-
if (result.status === 'pending' && result.txId) {
|
|
251
|
-
for (let i = 0; i < 60; i++) {
|
|
252
|
-
await new Promise((r) => setTimeout(r, 1000));
|
|
253
|
-
result = await driver
|
|
254
|
-
.getTransaction({
|
|
255
|
-
userId,
|
|
256
|
-
txId: result.txId,
|
|
257
|
-
})
|
|
258
|
-
.then(handleSigningError);
|
|
259
|
-
if (result.status === 'signed')
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
240
|
+
if (!email) {
|
|
241
|
+
throw new Error('Email is required for Blockdaemon wallet allocation');
|
|
262
242
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const existingTx = await store.getTransaction(commandId);
|
|
268
|
-
const now = new Date();
|
|
269
|
-
const signedTx = {
|
|
270
|
-
commandId,
|
|
271
|
-
status: 'signed',
|
|
272
|
-
preparedTransaction,
|
|
273
|
-
preparedTransactionHash,
|
|
274
|
-
origin: existingTx?.origin ?? null,
|
|
275
|
-
...(existingTx?.createdAt && {
|
|
276
|
-
createdAt: existingTx.createdAt,
|
|
277
|
-
}),
|
|
278
|
-
signedAt: now,
|
|
279
|
-
};
|
|
280
|
-
store.setTransaction(signedTx);
|
|
281
|
-
notifier.emit('txChanged', signedTx);
|
|
282
|
-
return {
|
|
283
|
-
signature: result.signature,
|
|
284
|
-
signedBy: wallet.namespace,
|
|
285
|
-
partyId: wallet.partyId,
|
|
286
|
-
};
|
|
243
|
+
return transactionService.signWithBlockdaemon(email, wallet, signParams);
|
|
244
|
+
}
|
|
245
|
+
case SigningProvider.FIREBLOCKS: {
|
|
246
|
+
return transactionService.signWithFireblocks(userId, wallet, signParams);
|
|
287
247
|
}
|
|
288
248
|
default:
|
|
289
249
|
throw new Error(`Unsupported signing provider: ${wallet.signingProviderId}`);
|
|
290
250
|
}
|
|
291
251
|
},
|
|
292
|
-
execute: async (
|
|
252
|
+
execute: async (executeParams) => {
|
|
293
253
|
const wallet = await store.getPrimaryWallet();
|
|
294
254
|
const network = await store.getCurrentNetwork();
|
|
295
|
-
const transaction = await store.getTransaction(commandId);
|
|
255
|
+
const transaction = await store.getTransaction(executeParams.commandId);
|
|
296
256
|
if (wallet === undefined) {
|
|
297
257
|
throw new Error('No primary wallet found');
|
|
298
258
|
}
|
|
@@ -311,31 +271,11 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
311
271
|
logger,
|
|
312
272
|
accessTokenProvider: userAccessTokenProvider,
|
|
313
273
|
});
|
|
274
|
+
const transactionService = new TransactionService(store, logger, drivers, notifier);
|
|
314
275
|
switch (wallet.signingProviderId) {
|
|
315
276
|
case SigningProvider.PARTICIPANT: {
|
|
316
|
-
const synchronizerId = network.synchronizerId ??
|
|
317
|
-
(await ledgerClient.getSynchronizerId());
|
|
318
|
-
// Participant signing provider specific logic can be added here
|
|
319
277
|
try {
|
|
320
|
-
|
|
321
|
-
const res = await ledgerClient.postWithRetry('/v2/commands/submit-and-wait', prep);
|
|
322
|
-
const signedTx = {
|
|
323
|
-
commandId,
|
|
324
|
-
status: 'executed',
|
|
325
|
-
preparedTransaction: transaction.preparedTransaction,
|
|
326
|
-
preparedTransactionHash: transaction.preparedTransactionHash,
|
|
327
|
-
payload: res,
|
|
328
|
-
origin: transaction.origin ?? null,
|
|
329
|
-
...(transaction.createdAt && {
|
|
330
|
-
createdAt: transaction.createdAt,
|
|
331
|
-
}),
|
|
332
|
-
...(transaction.signedAt && {
|
|
333
|
-
signedAt: transaction.signedAt,
|
|
334
|
-
}),
|
|
335
|
-
};
|
|
336
|
-
store.setTransaction(signedTx);
|
|
337
|
-
notifier.emit('txChanged', signedTx);
|
|
338
|
-
return res;
|
|
278
|
+
return await transactionService.executeWithParticipant(userId, executeParams, transaction, ledgerClient, network);
|
|
339
279
|
}
|
|
340
280
|
catch (error) {
|
|
341
281
|
logger.error(error, 'Failed to submit transaction');
|
|
@@ -343,48 +283,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
343
283
|
}
|
|
344
284
|
}
|
|
345
285
|
case SigningProvider.WALLET_KERNEL:
|
|
346
|
-
case SigningProvider.BLOCKDAEMON:
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
preparedTransaction: transaction.preparedTransaction,
|
|
350
|
-
hashingSchemeVersion: 'HASHING_SCHEME_VERSION_V2',
|
|
351
|
-
submissionId: commandId,
|
|
352
|
-
deduplicationPeriod: {
|
|
353
|
-
Empty: {},
|
|
354
|
-
},
|
|
355
|
-
partySignatures: {
|
|
356
|
-
signatures: [
|
|
357
|
-
{
|
|
358
|
-
party: partyId,
|
|
359
|
-
signatures: [
|
|
360
|
-
{
|
|
361
|
-
signature,
|
|
362
|
-
signedBy,
|
|
363
|
-
format: 'SIGNATURE_FORMAT_CONCAT',
|
|
364
|
-
signingAlgorithmSpec: 'SIGNING_ALGORITHM_SPEC_ED25519',
|
|
365
|
-
},
|
|
366
|
-
],
|
|
367
|
-
},
|
|
368
|
-
],
|
|
369
|
-
},
|
|
370
|
-
});
|
|
371
|
-
const signedTx = {
|
|
372
|
-
commandId,
|
|
373
|
-
status: 'executed',
|
|
374
|
-
preparedTransaction: transaction.preparedTransaction,
|
|
375
|
-
preparedTransactionHash: transaction.preparedTransactionHash,
|
|
376
|
-
payload: result,
|
|
377
|
-
origin: transaction.origin ?? null,
|
|
378
|
-
...(transaction.createdAt && {
|
|
379
|
-
createdAt: transaction.createdAt,
|
|
380
|
-
}),
|
|
381
|
-
...(transaction.signedAt && {
|
|
382
|
-
signedAt: transaction.signedAt,
|
|
383
|
-
}),
|
|
384
|
-
};
|
|
385
|
-
store.setTransaction(signedTx);
|
|
386
|
-
notifier.emit('txChanged', signedTx);
|
|
387
|
-
return result;
|
|
286
|
+
case SigningProvider.BLOCKDAEMON:
|
|
287
|
+
case SigningProvider.FIREBLOCKS: {
|
|
288
|
+
return transactionService.executeWithExternal(userId, executeParams, transaction, ledgerClient);
|
|
388
289
|
}
|
|
389
290
|
default:
|
|
390
291
|
throw new Error(`Unsupported signing provider: ${wallet.signingProviderId}`);
|
|
@@ -442,6 +343,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
442
343
|
const service = new WalletSyncService(store, ledgerClient, authContext, logger, drivers, partyAllocator);
|
|
443
344
|
await service.syncWallets();
|
|
444
345
|
}
|
|
346
|
+
const rights = await store.getUserRights(network.id);
|
|
445
347
|
return Promise.resolve({
|
|
446
348
|
id: newSessionId,
|
|
447
349
|
accessToken,
|
|
@@ -449,6 +351,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
449
351
|
idp,
|
|
450
352
|
status: status.isConnected ? 'connected' : 'disconnected',
|
|
451
353
|
reason: status.reason ? status.reason : 'OK',
|
|
354
|
+
rights: rights,
|
|
452
355
|
});
|
|
453
356
|
}
|
|
454
357
|
catch (error) {
|
|
@@ -490,6 +393,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
490
393
|
});
|
|
491
394
|
const idp = await store.getIdp(network.identityProviderId);
|
|
492
395
|
const status = await networkStatus(ledgerClient);
|
|
396
|
+
const rights = await store.getUserRights(network.id);
|
|
493
397
|
return {
|
|
494
398
|
sessions: [
|
|
495
399
|
{
|
|
@@ -501,6 +405,7 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
501
405
|
? 'connected'
|
|
502
406
|
: 'disconnected',
|
|
503
407
|
reason: status.reason ? status.reason : 'OK',
|
|
408
|
+
rights: rights,
|
|
504
409
|
},
|
|
505
410
|
],
|
|
506
411
|
};
|
|
@@ -576,6 +481,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
576
481
|
...(transaction.signedAt && {
|
|
577
482
|
signedAt: transaction.signedAt.toISOString(),
|
|
578
483
|
}),
|
|
484
|
+
...(transaction.externalTxId && {
|
|
485
|
+
externalTxId: transaction.externalTxId,
|
|
486
|
+
}),
|
|
579
487
|
};
|
|
580
488
|
},
|
|
581
489
|
listTransactions: async function () {
|
|
@@ -597,6 +505,9 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
597
505
|
...(transaction.signedAt && {
|
|
598
506
|
signedAt: transaction.signedAt.toISOString(),
|
|
599
507
|
}),
|
|
508
|
+
...(transaction.externalTxId && {
|
|
509
|
+
externalTxId: transaction.externalTxId,
|
|
510
|
+
}),
|
|
600
511
|
}));
|
|
601
512
|
return { transactions: txs };
|
|
602
513
|
},
|
|
@@ -196,7 +196,7 @@ export type PublicKey = string;
|
|
|
196
196
|
export type Namespace = string;
|
|
197
197
|
/**
|
|
198
198
|
*
|
|
199
|
-
*
|
|
199
|
+
* External transaction ID from signing provider.
|
|
200
200
|
*
|
|
201
201
|
*/
|
|
202
202
|
export type ExternalTxId = string;
|
|
@@ -218,6 +218,13 @@ export type Disabled = boolean;
|
|
|
218
218
|
*
|
|
219
219
|
*/
|
|
220
220
|
export type Reason = string;
|
|
221
|
+
export type PartyLevelRight = any;
|
|
222
|
+
/**
|
|
223
|
+
*
|
|
224
|
+
* The rights of the user for the network.
|
|
225
|
+
*
|
|
226
|
+
*/
|
|
227
|
+
export type Rights = UserLevelRight[];
|
|
221
228
|
/**
|
|
222
229
|
*
|
|
223
230
|
* Structure representing a wallet
|
|
@@ -236,6 +243,7 @@ export interface Wallet {
|
|
|
236
243
|
topologyTransactions?: TopologyTransactions;
|
|
237
244
|
disabled?: Disabled;
|
|
238
245
|
reason?: Reason;
|
|
246
|
+
rights: Rights;
|
|
239
247
|
}
|
|
240
248
|
export type SyncWalletsResultAdded = Wallet[];
|
|
241
249
|
export type SyncWalletsResultUpdated = Wallet[];
|
|
@@ -246,6 +254,32 @@ export type SyncWalletsResultDisabled = Wallet[];
|
|
|
246
254
|
*
|
|
247
255
|
*/
|
|
248
256
|
export type WalletSyncNeeded = boolean;
|
|
257
|
+
export type TxStatusSigned = 'signed';
|
|
258
|
+
export interface SignResultSigned {
|
|
259
|
+
status: TxStatusSigned;
|
|
260
|
+
signature: Signature;
|
|
261
|
+
signedBy: SignedBy;
|
|
262
|
+
partyId: PartyId;
|
|
263
|
+
externalTxId?: ExternalTxId;
|
|
264
|
+
}
|
|
265
|
+
export type TxStatusPending = 'pending';
|
|
266
|
+
export interface SignResultPending {
|
|
267
|
+
status: TxStatusPending;
|
|
268
|
+
partyId: PartyId;
|
|
269
|
+
externalTxId: ExternalTxId;
|
|
270
|
+
}
|
|
271
|
+
export type TxStatusRejected = 'rejected';
|
|
272
|
+
export interface SignResultRejected {
|
|
273
|
+
status: TxStatusRejected;
|
|
274
|
+
partyId: PartyId;
|
|
275
|
+
externalTxId: ExternalTxId;
|
|
276
|
+
}
|
|
277
|
+
export type TxStatusFailed = 'failed';
|
|
278
|
+
export interface SignResultFailed {
|
|
279
|
+
status: TxStatusFailed;
|
|
280
|
+
partyId: PartyId;
|
|
281
|
+
externalTxId: ExternalTxId;
|
|
282
|
+
}
|
|
249
283
|
/**
|
|
250
284
|
*
|
|
251
285
|
* The access token for the session.
|
|
@@ -258,6 +292,7 @@ export type AccessToken = string;
|
|
|
258
292
|
*
|
|
259
293
|
*/
|
|
260
294
|
export type Status = string;
|
|
295
|
+
export type UserLevelRight = any;
|
|
261
296
|
/**
|
|
262
297
|
*
|
|
263
298
|
* Structure representing the connected network session
|
|
@@ -270,6 +305,7 @@ export interface Session {
|
|
|
270
305
|
accessToken: AccessToken;
|
|
271
306
|
status: Status;
|
|
272
307
|
reason?: Reason;
|
|
308
|
+
rights: Rights;
|
|
273
309
|
}
|
|
274
310
|
export type Sessions = Session[];
|
|
275
311
|
/**
|
|
@@ -305,6 +341,7 @@ export interface Transaction {
|
|
|
305
341
|
preparedTransactionHash: PreparedTransactionHash;
|
|
306
342
|
payload?: Payload;
|
|
307
343
|
origin?: Origin;
|
|
344
|
+
externalTxId?: ExternalTxId;
|
|
308
345
|
}
|
|
309
346
|
export type Transactions = Transaction[];
|
|
310
347
|
/**
|
|
@@ -409,11 +446,7 @@ export interface SyncWalletsResult {
|
|
|
409
446
|
export interface IsWalletSyncNeededResult {
|
|
410
447
|
walletSyncNeeded: WalletSyncNeeded;
|
|
411
448
|
}
|
|
412
|
-
export
|
|
413
|
-
signature: Signature;
|
|
414
|
-
partyId: PartyId;
|
|
415
|
-
signedBy: SignedBy;
|
|
416
|
-
}
|
|
449
|
+
export type SignResult = SignResultSigned | SignResultPending | SignResultRejected | SignResultFailed;
|
|
417
450
|
export interface ExecuteResult {
|
|
418
451
|
[key: string]: any;
|
|
419
452
|
}
|
|
@@ -429,6 +462,7 @@ export interface AddSessionResult {
|
|
|
429
462
|
accessToken: AccessToken;
|
|
430
463
|
status: Status;
|
|
431
464
|
reason?: Reason;
|
|
465
|
+
rights: Rights;
|
|
432
466
|
}
|
|
433
467
|
export interface ListSessionsResult {
|
|
434
468
|
sessions: Sessions;
|
|
@@ -442,6 +476,7 @@ export interface GetTransactionResult {
|
|
|
442
476
|
preparedTransactionHash: PreparedTransactionHash;
|
|
443
477
|
payload?: Payload;
|
|
444
478
|
origin?: Origin;
|
|
479
|
+
externalTxId?: ExternalTxId;
|
|
445
480
|
}
|
|
446
481
|
export interface ListTransactionsResult {
|
|
447
482
|
transactions: Transactions;
|
|
@@ -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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"}
|
|
@@ -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-CwWne4gl.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="../assets/index-BY0dSIJ0.js">
|
|
9
9
|
</head>
|
|
10
10
|
|
|
11
11
|
<body>
|
|
@@ -4,11 +4,12 @@
|
|
|
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-sXtkk0nx.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="../assets/index-BY0dSIJ0.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="../assets/state-Zh2baU_h.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="../assets/index-NP2zGQqX.js">
|
|
11
|
-
<link rel="modulepreload" crossorigin href="../assets/utils-
|
|
11
|
+
<link rel="modulepreload" crossorigin href="../assets/utils-CI12TM_E.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="../assets/index-C4_-rNJw.js">
|
|
12
13
|
</head>
|
|
13
14
|
|
|
14
15
|
<body>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{w as h,i as
|
|
1
|
+
import{w as h,i as z,A as g,b as A,t as E}from"./index-BY0dSIJ0.js";var I=Object.create,s=Object.defineProperty,j=Object.getOwnPropertyDescriptor,x=(r,e)=>(e=Symbol[r])?e:Symbol.for("Symbol."+r),y=r=>{throw TypeError(r)},k=(r,e,a)=>e in r?s(r,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[e]=a,D=(r,e)=>s(r,"name",{value:e,configurable:!0}),F=r=>[,,,I(r?.[x("metadata")]??null)],C=["class","method","getter","setter","accessor","field","value","get","set"],w=r=>r!==void 0&&typeof r!="function"?y("Function expected"):r,M=(r,e,a,n,t)=>({kind:C[r],name:e,metadata:n,addInitializer:o=>a._?y("Already initialized"):t.push(w(o||null))}),N=(r,e)=>k(e,x("metadata"),r[3]),T=(r,e,a,n)=>{for(var t=0,o=r[e>>1],i=o&&o.length;t<i;t++)o[t].call(a);return n},$=(r,e,a,n,t,o)=>{var i,p,f,_=e&7,m=!1,b=0,P=r[b]||(r[b]=[]),l=_&&(t=t.prototype,_<5&&(_>3||!m)&&j(t,a));D(t,a);for(var c=n.length-1;c>=0;c--)f=M(_,a,p={},r[3],P),i=(0,n[c])(t,f),p._=1,w(i)&&(t=i);return N(r,t),l&&s(t,a,l),m?_^4?o:l:t},S,v,O;S=[E("user-ui-404")];const u=class u extends(O=h){render(){return A`<not-found href=${g("/")}></not-found>`}};u.styles=[h.styles,z`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
max-width: 900px;
|
|
5
5
|
margin: 20% auto;
|
|
6
6
|
padding: 20px;
|
|
7
7
|
}
|
|
8
|
-
`];let d=u;v=
|
|
8
|
+
`];let d=u;v=F(O);d=$(v,0,"NotFoundUi",S,d);T(v,1,d);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{o as A,s as g,d as Se,l as M,n as Me,a as te,A as We,T as $e,c as W,e as $,K as se,b as ae,w as Pe,t as De}from"./index-BY0dSIJ0.js";import{r as h}from"./state-Zh2baU_h.js";import{p as Ee}from"./index-NP2zGQqX.js";import{s as C}from"./utils-CI12TM_E.js";import{a as ie,i as Oe}from"./index-C4_-rNJw.js";var P=(e=>(e.CanActAs="CanActAs",e.CanReadAs="CanReadAs",e.CanExecuteAs="CanExecuteAs",e))(P||{}),He=A({baseUrl:g().url()}),Ue=A({id:g(),name:g(),description:g(),synchronizerId:g().includes("::").min(10).optional(),identityProviderId:g(),ledgerApi:He,auth:ie,adminAuth:ie.optional()});A({connection:Se("type",[A({type:M("memory")}),A({type:M("sqlite"),database:g()}),A({type:M("postgres"),host:g(),port:Me(),user:g(),password:g(),database:g()})])});A({idps:te(Oe),networks:te(Ue)});var qe=Object.create,E=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,ce=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),y=e=>{throw TypeError(e)},ze=(e,t,a)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,re=(e,t)=>E(e,"name",{value:t,configurable:!0}),Ge=e=>[,,,qe(e?.[ce("metadata")]??null)],de=["class","method","getter","setter","accessor","field","value","get","set"],I=e=>e!==void 0&&typeof e!="function"?y("Function expected"):e,Le=(e,t,a,c,n)=>({kind:de[e],name:t,metadata:c,addInitializer:d=>a._?y("Already initialized"):n.push(I(d||null))}),Ne=(e,t)=>ze(t,ce("metadata"),e[3]),i=(e,t,a,c)=>{for(var n=0,d=e[t>>1],w=d&&d.length;n<w;n++)t&1?d[n].call(a):c=d[n].call(a,c);return c},l=(e,t,a,c,n,d)=>{var w,_,Y,f,x,r=t&7,T=!!(t&8),v=!!(t&16),b=r>3?e.length+1:r?T?1:2:0,Z=de[r+5],ee=r>3&&(e[b-1]=[]),ke=e[b]||(e[b]=[]),m=r&&(!v&&!T&&(n=n.prototype),r<5&&(r>3||!v)&&Re(r<4?n:{get[a](){return ne(this,d)},set[a](u){return oe(this,d,u)}},a));r?v&&r<4&&re(d,(r>2?"set ":r>1?"get ":"")+a):re(n,a);for(var k=c.length-1;k>=0;k--)f=Le(r,a,Y={},e[3],ke),r&&(f.static=T,f.private=v,x=f.access={has:v?u=>Be(n,u):u=>a in u},r^3&&(x.get=v?u=>(r^1?ne:Fe)(u,n,r^4?d:m.get):u=>u[a]),r>2&&(x.set=v?(u,S)=>oe(u,n,S,r^4?d:m.set):(u,S)=>u[a]=S)),_=(0,c[k])(r?r<4?v?d:m[Z]:r>4?void 0:{get:m.get,set:m.set}:n,f),Y._=1,r^4||_===void 0?I(_)&&(r>4?ee.unshift(_):r?v?d=_:m[Z]=_:n=_):typeof _!="object"||_===null?y("Object expected"):(I(w=_.get)&&(m.get=w),I(w=_.set)&&(m.set=w),I(w=_.init)&&ee.unshift(w));return r||Ne(e,n),m&&E(n,a,m),v?r^4?d:m:n},O=(e,t,a)=>t.has(e)||y("Cannot "+a),Be=(e,t)=>Object(t)!==t?y('Cannot use the "in" operator on this value'):e.has(t),ne=(e,t,a)=>(O(e,t,"read from private field"),a?a.call(e):t.get(e)),p=(e,t,a)=>t.has(e)?y("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,a),oe=(e,t,a,c)=>(O(e,t,"write to private field"),c?c.call(e,a):t.set(e,a),a),Fe=(e,t,a)=>(O(e,t,"access private method"),a),le,he,pe,ue,_e,me,ge,we,ve,Ae,ye,fe,Ce,Ie,xe,Te,D,be,s,H,U,q,R,z,G,L,N,B,F,K,j,J,Q,V,X;be=[De("user-ui-approve")];class o extends(D=Pe,Te=[h()],xe=[h()],Ie=[h()],Ce=[h()],fe=[h()],ye=[h()],Ae=[h()],ve=[h()],we=[h()],ge=[h()],me=[h()],_e=[h()],ue=[h()],pe=[h()],he=[h()],le=[h()],D){constructor(){super(...arguments),p(this,H,i(s,8,this,!1)),i(s,11,this),p(this,U,i(s,12,this,!1)),i(s,15,this),p(this,q,i(s,16,this,!1)),i(s,19,this),p(this,R,i(s,20,this,"")),i(s,23,this),p(this,z,i(s,24,this,"")),i(s,27,this),p(this,G,i(s,28,this,"")),i(s,31,this),p(this,L,i(s,32,this,"")),i(s,35,this),p(this,N,i(s,36,this,null)),i(s,39,this),p(this,B,i(s,40,this,"")),i(s,43,this),p(this,F,i(s,44,this,null)),i(s,47,this),p(this,K,i(s,48,this,null)),i(s,51,this),p(this,j,i(s,52,this,null)),i(s,55,this),p(this,J,i(s,56,this,null)),i(s,59,this),p(this,Q,i(s,60,this,null)),i(s,63,this),p(this,V,i(s,64,this,!0)),i(s,67,this),p(this,X,i(s,68,this,null)),i(s,71,this)}connectedCallback(){super.connectedCallback();const t=new URL(window.location.href);this.commandId=t.searchParams.get("commandId")||"",this.updateState()}closeOrGoToList(){this.disabled=!0;const a=new URLSearchParams(window.location.search).has("closeafteraction");setTimeout(()=>{a&&window.opener?window.close():window.location.href=We($e)},2e3)}async updateState(){const t=await W($.accessToken.get());t.request({method:"getTransaction",params:{commandId:this.commandId}}).then(a=>{this.txHash=a.preparedTransactionHash,this.tx=a.preparedTransaction,this.status=a.status,this.createdAt=a.createdAt||null,this.signedAt=a.signedAt||null,this.origin=a.origin||null;try{this.txParsed=Ee(this.tx)}catch(c){console.error("Error parsing prepared transaction:",c),this.txParsed=null}}),t.request({method:"listWallets",params:{}}).then(a=>{const c=a.find(w=>w.primary===!0);this.partyId=c?.partyId||"";const n=c?.rights,d=!!(n?.includes(P.CanActAs)||n?.includes(P.CanExecuteAs));this.canSubmit=d,this.walletCapabilityMessage=d?null:"The selected wallet is read-only for submission (no CanActAs/CanExecuteAs right)."})}get _detailComponent(){return this.renderRoot.querySelector("wg-transaction-detail")}async handleDelete(){if(confirm(`Delete pending transaction "${this.commandId}"?`)){this.isDeleting=!0;try{await(await W($.accessToken.get())).request({method:"deleteTransaction",params:{commandId:this.commandId}}),C("","Transaction deleted successfully","success"),this.closeOrGoToList()}catch(t){se(t)}finally{this.isDeleting=!1}}}async handleApprove(){if(!this.canSubmit){C("Read-only wallet","This wallet can read but cannot submit transactions. Switch to a wallet with CanActAs or CanExecuteAs.","error");return}this.isApproving=!0;try{const t=await W($.accessToken.get()),a=await t.request({method:"sign",params:{commandId:this.commandId,partyId:this.partyId,preparedTransactionHash:this.txHash,preparedTransaction:this.tx}});if(a.status==="pending"){C("Transaction Pending","Complete the signing in your external provider, then click Approve to finish.","info"),await this.updateState();return}else if(a.status==="signed")await t.request({method:"execute",params:{signature:a.signature,signedBy:a.signedBy,commandId:this.commandId,partyId:this.partyId}}),C("","Transaction executed successfully","success"),this.closeOrGoToList();else{const c=a.status==="rejected"?"Transaction was rejected":"Transaction failed";C("",c,"error"),await this.updateState()}}catch(t){console.error(t),se(t,{message:"Error executing transaction"})}finally{this.isApproving=!1}}render(){return ae`
|
|
2
|
+
${this.walletCapabilityMessage?ae`<div class="alert alert-warning" role="alert">
|
|
3
|
+
${this.walletCapabilityMessage}
|
|
4
|
+
</div>`:""}
|
|
5
|
+
<wg-transaction-detail
|
|
6
|
+
.commandId=${this.commandId}
|
|
7
|
+
.status=${this.status}
|
|
8
|
+
.txHash=${this.txHash}
|
|
9
|
+
.tx=${this.tx}
|
|
10
|
+
.parsed=${this.txParsed}
|
|
11
|
+
.createdAt=${this.createdAt}
|
|
12
|
+
.signedAt=${this.signedAt}
|
|
13
|
+
.origin=${this.origin}
|
|
14
|
+
.isApproving=${this.isApproving}
|
|
15
|
+
.isDeleting=${this.isDeleting}
|
|
16
|
+
.disabled=${this.disabled}
|
|
17
|
+
@transaction-approve=${this.handleApprove}
|
|
18
|
+
@transaction-delete=${this.handleDelete}
|
|
19
|
+
></wg-transaction-detail>
|
|
20
|
+
`}}s=Ge(D);H=new WeakMap;U=new WeakMap;q=new WeakMap;R=new WeakMap;z=new WeakMap;G=new WeakMap;L=new WeakMap;N=new WeakMap;B=new WeakMap;F=new WeakMap;K=new WeakMap;j=new WeakMap;J=new WeakMap;Q=new WeakMap;V=new WeakMap;X=new WeakMap;l(s,4,"isApproving",Te,o,H);l(s,4,"isDeleting",xe,o,U);l(s,4,"disabled",Ie,o,q);l(s,4,"commandId",Ce,o,R);l(s,4,"partyId",fe,o,z);l(s,4,"txHash",ye,o,G);l(s,4,"tx",Ae,o,L);l(s,4,"txParsed",ve,o,N);l(s,4,"status",we,o,B);l(s,4,"message",ge,o,F);l(s,4,"messageType",me,o,K);l(s,4,"createdAt",_e,o,j);l(s,4,"signedAt",ue,o,J);l(s,4,"origin",pe,o,Q);l(s,4,"canSubmit",he,o,V);l(s,4,"walletCapabilityMessage",le,o,X);o=l(s,0,"ApproveUi",be,o);i(s,1,o);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f as O,A as y,e as g,g as C,r as P,b as x,t as L}from"./index-BY0dSIJ0.js";var R=Object.create,v=Object.defineProperty,U=Object.getOwnPropertyDescriptor,w=(e,r)=>(r=Symbol[e])?r:Symbol.for("Symbol."+e),b=e=>{throw TypeError(e)},z=(e,r,a)=>r in e?v(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a,D=(e,r)=>v(e,"name",{value:r,configurable:!0}),E=e=>[,,,R(e?.[w("metadata")]??null)],T=["class","method","getter","setter","accessor","field","value","get","set"],m=e=>e!==void 0&&typeof e!="function"?b("Function expected"):e,j=(e,r,a,o,t)=>({kind:T[e],name:r,metadata:o,addInitializer:n=>a._?b("Already initialized"):t.push(m(n||null))}),A=(e,r)=>z(r,w("metadata"),e[3]),N=(e,r,a,o)=>{for(var t=0,n=e[r>>1],s=n&&n.length;t<s;t++)n[t].call(a);return o},F=(e,r,a,o,t,n)=>{var s,l,d,c=r&7,_=!1,i=0,p=e[i]||(e[i]=[]),f=c&&(t=t.prototype,c<5&&(c>3||!_)&&U(t,a));D(t,a);for(var u=o.length-1;u>=0;u--)d=j(c,a,l={},e[3],p),s=(0,o[u])(t,d),l._=1,m(s)&&(t=s);return A(e,t),f&&v(t,a,f),_?c^4?n:f:t},S,k,I;S=[L("login-callback")];class h extends(I=O){connectedCallback(){super.connectedCallback(),this.handleRedirect()}async handleRedirect(){const r=new URL(window.location.href),a=r.searchParams.get("code"),o=r.searchParams.get("state");if(!a&&!o){console.error("missing state and code");return}if(a&&o){const t=JSON.parse(atob(o)),n=sessionStorage.getItem(`oauth-pkce-${t.stateId}`);if(!n){console.error("missing PKCE verifier for OAuth callback state");return}sessionStorage.removeItem(`oauth-pkce-${t.stateId}`);const d=(await(await fetch(t.configUrl)).json()).token_endpoint,c=new URL(y("/callback"),window.location.origin).toString(),i=await(await fetch(d,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:a,redirect_uri:c,client_id:t.clientId,audience:t.audience,code_verifier:n})})).json();if(i.access_token){const p=JSON.parse(atob(i.access_token.split(".")[1]));g.expirationDate.set(new Date(p.exp*1e3).toISOString()),g.accessToken.set(i.access_token),C(i.access_token,g.networkId.get()||"").then(()=>{P()})}}}render(){return x`<h2>Logged in!</h2>`}}k=E(I);h=F(k,0,"LoginCallback",S,h);N(k,1,h);
|