tempo.ts 0.8.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/ox/AuthorizationTempo.d.ts +450 -0
  3. package/dist/ox/AuthorizationTempo.d.ts.map +1 -0
  4. package/dist/ox/AuthorizationTempo.js +433 -0
  5. package/dist/ox/AuthorizationTempo.js.map +1 -0
  6. package/dist/ox/KeyAuthorization.d.ts +4 -4
  7. package/dist/ox/KeyAuthorization.d.ts.map +1 -1
  8. package/dist/ox/KeyAuthorization.js +5 -6
  9. package/dist/ox/KeyAuthorization.js.map +1 -1
  10. package/dist/ox/Transaction.d.ts +11 -10
  11. package/dist/ox/Transaction.d.ts.map +1 -1
  12. package/dist/ox/Transaction.js +10 -3
  13. package/dist/ox/Transaction.js.map +1 -1
  14. package/dist/ox/{TransactionEnvelopeAA.d.ts → TransactionEnvelopeTempo.d.ts} +73 -73
  15. package/dist/ox/TransactionEnvelopeTempo.d.ts.map +1 -0
  16. package/dist/ox/{TransactionEnvelopeAA.js → TransactionEnvelopeTempo.js} +65 -61
  17. package/dist/ox/TransactionEnvelopeTempo.js.map +1 -0
  18. package/dist/ox/TransactionReceipt.d.ts +3 -3
  19. package/dist/ox/TransactionReceipt.d.ts.map +1 -1
  20. package/dist/ox/TransactionReceipt.js +2 -2
  21. package/dist/ox/TransactionReceipt.js.map +1 -1
  22. package/dist/ox/TransactionRequest.d.ts +7 -5
  23. package/dist/ox/TransactionRequest.d.ts.map +1 -1
  24. package/dist/ox/TransactionRequest.js +9 -3
  25. package/dist/ox/TransactionRequest.js.map +1 -1
  26. package/dist/ox/index.d.ts +2 -1
  27. package/dist/ox/index.d.ts.map +1 -1
  28. package/dist/ox/index.js +2 -1
  29. package/dist/ox/index.js.map +1 -1
  30. package/dist/viem/Chain.d.ts +11 -6
  31. package/dist/viem/Chain.d.ts.map +1 -1
  32. package/dist/viem/Chain.js +1 -0
  33. package/dist/viem/Chain.js.map +1 -1
  34. package/dist/viem/Formatters.d.ts.map +1 -1
  35. package/dist/viem/Formatters.js +4 -17
  36. package/dist/viem/Formatters.js.map +1 -1
  37. package/dist/viem/Transaction.d.ts +21 -21
  38. package/dist/viem/Transaction.d.ts.map +1 -1
  39. package/dist/viem/Transaction.js +17 -30
  40. package/dist/viem/Transaction.js.map +1 -1
  41. package/dist/viem/internal/types.d.ts +2 -2
  42. package/dist/viem/internal/types.d.ts.map +1 -1
  43. package/dist/wagmi/Connector.d.ts +6 -12
  44. package/dist/wagmi/Connector.d.ts.map +1 -1
  45. package/dist/wagmi/Connector.js +73 -18
  46. package/dist/wagmi/Connector.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/ox/AuthorizationTempo.test.ts +1256 -0
  49. package/src/ox/AuthorizationTempo.ts +648 -0
  50. package/src/ox/KeyAuthorization.ts +8 -10
  51. package/src/ox/Transaction.test.ts +6 -6
  52. package/src/ox/Transaction.ts +25 -14
  53. package/src/ox/{TransactionEnvelopeAA.test.ts → TransactionEnvelopeTempo.test.ts} +326 -141
  54. package/src/ox/{TransactionEnvelopeAA.ts → TransactionEnvelopeTempo.ts} +93 -81
  55. package/src/ox/TransactionReceipt.ts +3 -3
  56. package/src/ox/TransactionRequest.ts +22 -8
  57. package/src/ox/e2e.test.ts +159 -78
  58. package/src/ox/index.ts +2 -1
  59. package/src/viem/Chain.ts +1 -0
  60. package/src/viem/Formatters.ts +6 -19
  61. package/src/viem/Transaction.ts +50 -68
  62. package/src/viem/e2e.test.ts +28 -42
  63. package/src/viem/internal/types.ts +2 -2
  64. package/src/wagmi/Connector.ts +104 -31
  65. package/dist/ox/TransactionEnvelopeAA.d.ts.map +0 -1
  66. package/dist/ox/TransactionEnvelopeAA.js.map +0 -1
@@ -209,8 +209,23 @@ export function webAuthn(options: webAuthn.Parameters) {
209
209
  let account: Account.RootAccount | undefined
210
210
  let accessKey: Account.AccessKeyAccount | undefined
211
211
 
212
+ const defaultAccessKeyOptions = {
213
+ expiry: Math.floor(
214
+ (Date.now() + 24 * 60 * 60 * 1000) / 1000, // one day
215
+ ),
216
+ strict: false,
217
+ }
218
+ const accessKeyOptions = (() => {
219
+ if (typeof options.grantAccessKey === 'object')
220
+ return { ...defaultAccessKeyOptions, ...options.grantAccessKey }
221
+ if (options.grantAccessKey === true) return defaultAccessKeyOptions
222
+ return undefined
223
+ })()
224
+
212
225
  const idbStorage = Storage.idb<{
213
- [key: `accessKey:${string}`]: WebCryptoP256.createKeyPair.ReturnType
226
+ [key: `accessKey:${string}`]: WebCryptoP256.createKeyPair.ReturnType & {
227
+ keyAuthorization: KeyAuthorization.KeyAuthorization
228
+ }
214
229
  }>()
215
230
 
216
231
  type Properties = {
@@ -251,10 +266,18 @@ export function webAuthn(options: webAuthn.Parameters) {
251
266
  account = Account.fromWebAuthnP256(credential)
252
267
  },
253
268
  async connect(parameters = {}) {
254
- const { grantAccessKey = false } = options
255
269
  const capabilities =
256
270
  'capabilities' in parameters ? (parameters.capabilities ?? {}) : {}
257
271
 
272
+ if (
273
+ accessKeyOptions?.strict &&
274
+ accessKeyOptions.expiry &&
275
+ accessKeyOptions.expiry < Date.now() / 1000
276
+ )
277
+ throw new Error(
278
+ `\`grantAccessKey.expiry = ${accessKeyOptions.expiry}\` is in the past (${new Date(accessKeyOptions.expiry * 1000).toLocaleString()}). Please provide a valid expiry.`,
279
+ )
280
+
258
281
  // We are going to need to find:
259
282
  // - a WebAuthn `credential` to instantiate an account
260
283
  // - optionally, a `keyPair` to use as the access key for the account
@@ -286,7 +309,7 @@ export function webAuthn(options: webAuthn.Parameters) {
286
309
 
287
310
  // Get key pair (access key) to use for the account.
288
311
  const keyPair = await (async () => {
289
- if (!grantAccessKey) return undefined
312
+ if (!accessKeyOptions) return undefined
290
313
  return await WebCryptoP256.createKeyPair()
291
314
  })()
292
315
 
@@ -303,15 +326,15 @@ export function webAuthn(options: webAuthn.Parameters) {
303
326
  if (credential) {
304
327
  // Get key pair (access key) to use for the account.
305
328
  const keyPair = await (async () => {
306
- if (!grantAccessKey) return undefined
329
+ if (!accessKeyOptions) return undefined
307
330
  const address = Address.fromPublicKey(
308
331
  PublicKey.fromHex(credential.publicKey),
309
332
  )
310
333
  return await idbStorage.getItem(`accessKey:${address}`)
311
334
  })()
312
335
 
313
- // If the access key policy is lax, return the credential and key pair (if exists).
314
- if (grantAccessKey === 'lax') return { credential, keyPair }
336
+ // If the access key provisioning is not in strict mode, return the credential and key pair (if exists).
337
+ if (!accessKeyOptions?.strict) return { credential, keyPair }
315
338
 
316
339
  // If a key pair is found, return the credential and key pair.
317
340
  if (keyPair) return { credential, keyPair }
@@ -328,21 +351,25 @@ export function webAuthn(options: webAuthn.Parameters) {
328
351
  {
329
352
  // Get key pair (access key) to use for the account.
330
353
  const keyPair = await (async () => {
331
- if (!grantAccessKey) return undefined
354
+ if (!accessKeyOptions) return undefined
332
355
  return await WebCryptoP256.createKeyPair()
333
356
  })()
334
357
 
335
358
  // If we are provisioning an access key, we will need to sign a key authorization.
336
359
  // We will need the hash (digest) to sign, and the address of the access key to construct the key authorization.
337
- const { accessKeyAddress, hash } = await (async () => {
360
+ const { hash, keyAuthorization_unsigned } = await (async () => {
338
361
  if (!keyPair)
339
362
  return { accessKeyAddress: undefined, hash: undefined }
340
363
  const accessKeyAddress = Address.fromPublicKey(keyPair.publicKey)
341
- const hash = KeyAuthorization.getSignPayload({
364
+ const keyAuthorization_unsigned = KeyAuthorization.from({
365
+ ...accessKeyOptions,
342
366
  address: accessKeyAddress,
343
367
  type: 'p256',
344
368
  })
345
- return { accessKeyAddress, hash, keyPair }
369
+ const hash = KeyAuthorization.getSignPayload(
370
+ keyAuthorization_unsigned,
371
+ )
372
+ return { keyAuthorization_unsigned, hash }
346
373
  })()
347
374
 
348
375
  // If no active credential, we will attempt to load the last active credential from storage.
@@ -363,16 +390,15 @@ export function webAuthn(options: webAuthn.Parameters) {
363
390
  rpId: options.getOptions?.rpId ?? options.rpId,
364
391
  })
365
392
 
366
- const keyAuthorization = accessKeyAddress
393
+ const keyAuthorization = keyAuthorization_unsigned
367
394
  ? KeyAuthorization.from({
368
- address: accessKeyAddress,
395
+ ...keyAuthorization_unsigned,
369
396
  signature: SignatureEnvelope.from({
370
397
  metadata: credential.metadata,
371
398
  signature: credential.signature,
372
399
  publicKey: PublicKey.fromHex(credential.publicKey),
373
400
  type: 'webAuthn',
374
401
  }),
375
- type: 'p256',
376
402
  })
377
403
  : undefined
378
404
 
@@ -399,19 +425,42 @@ export function webAuthn(options: webAuthn.Parameters) {
399
425
  storage: Storage.from(config.storage as never),
400
426
  })
401
427
 
428
+ // If we are reconnecting, check if the access key is expired.
429
+ if (parameters.isReconnecting) {
430
+ if (
431
+ 'keyAuthorization' in keyPair &&
432
+ keyPair.keyAuthorization.expiry &&
433
+ keyPair.keyAuthorization.expiry < Date.now() / 1000
434
+ ) {
435
+ // remove any pending key authorizations from storage.
436
+ await account?.storage.removeItem('pendingKeyAuthorization')
437
+
438
+ const message = `Access key expired (on ${new Date(keyPair.keyAuthorization.expiry * 1000).toLocaleString()}).`
439
+ accessKey = undefined
440
+
441
+ // if in strict mode, disconnect and throw an error.
442
+ if (accessKeyOptions?.strict) {
443
+ await this.disconnect()
444
+ throw new Error(message)
445
+ }
446
+ // otherwise, fall back to the root account.
447
+ console.warn(`${message} Falling back to passkey.`)
448
+ }
449
+ }
402
450
  // If we are not reconnecting, orchestrate the provisioning of the access key.
403
- if (!parameters.isReconnecting) {
451
+ else {
404
452
  const keyAuth =
405
- keyAuthorization ?? (await account.signKeyAuthorization(accessKey))
453
+ keyAuthorization ??
454
+ (await account.signKeyAuthorization(accessKey, accessKeyOptions))
406
455
 
407
456
  await account.storage.setItem('pendingKeyAuthorization', keyAuth)
408
457
  await idbStorage.setItem(
409
458
  `accessKey:${account.address.toLowerCase()}`,
410
- keyPair,
459
+ { ...keyPair, keyAuthorization: keyAuth },
411
460
  )
412
461
  }
413
- // If we are granting an access key, throw an error if the access key is not provisioned.
414
- } else if (grantAccessKey === true) {
462
+ // If we are granting an access key and it is in strict mode, throw an error if the access key is not provisioned.
463
+ } else if (accessKeyOptions?.strict) {
415
464
  await config.storage?.removeItem('webAuthn.activeCredential')
416
465
  throw new Error('access key not found')
417
466
  }
@@ -430,6 +479,7 @@ export function webAuthn(options: webAuthn.Parameters) {
430
479
  },
431
480
  async disconnect() {
432
481
  await config.storage?.removeItem('webAuthn.activeCredential')
482
+ config.emitter.emit('disconnect')
433
483
  account = undefined
434
484
  },
435
485
  async getAccounts() {
@@ -476,8 +526,36 @@ export function webAuthn(options: webAuthn.Parameters) {
476
526
  const transport = transports[chain.id]
477
527
  if (!transport) throw new ChainNotConfiguredError()
478
528
 
529
+ const targetAccount = await (async () => {
530
+ if (!accessKey) return account
531
+
532
+ const item = await idbStorage.getItem(
533
+ `accessKey:${accessKey.address.toLowerCase()}`,
534
+ )
535
+ if (
536
+ item?.keyAuthorization.expiry &&
537
+ item.keyAuthorization.expiry < Date.now() / 1000
538
+ ) {
539
+ // remove any pending key authorizations from storage.
540
+ await account?.storage.removeItem('pendingKeyAuthorization')
541
+
542
+ const message = `Access key expired (on ${new Date(item.keyAuthorization.expiry * 1000).toLocaleString()}).`
543
+
544
+ // if in strict mode, disconnect and throw an error.
545
+ if (accessKeyOptions?.strict) {
546
+ await this.disconnect()
547
+ throw new Error(message)
548
+ }
549
+
550
+ // otherwise, fall back to the root account.
551
+ console.warn(`${message} Falling back to passkey.`)
552
+ return account
553
+ }
554
+ return accessKey
555
+ })()
556
+
479
557
  return createClient({
480
- account: accessKey ?? account,
558
+ account: targetAccount,
481
559
  chain: chain as Chain,
482
560
  transport: walletNamespaceCompat(transport),
483
561
  })
@@ -503,19 +581,14 @@ export namespace webAuthn {
503
581
  | Pick<WebAuthnP256.getCredential.Parameters, 'getFn' | 'rpId'>
504
582
  | undefined
505
583
  /**
506
- * Whether or not to grant an access key upon connection.
507
- *
508
- * - `true`: The account MUST have an access key provisioned.
509
- * On failure, the connection will fail.
510
- * - `"lax"`: The account MAY have an access key provisioned.
511
- * On failure, the connection will succeed, but the access key will not be provisioned
512
- * and must be provisioned manually if the user wants to enforce access keys.
513
- * - `false`: The account WILL NOT have an access key provisioned. The access key must be
514
- * provisioned manually if the user wants to enforce access keys.
515
- *
516
- * @default false
584
+ * Whether or not to grant an access key upon connection, and optionally, expiry + limits to assign to the key.
517
585
  */
518
- grantAccessKey?: boolean | 'lax'
586
+ grantAccessKey?:
587
+ | boolean
588
+ | (Pick<KeyAuthorization.KeyAuthorization, 'expiry' | 'limits'> & {
589
+ /** Whether or not to throw an error and disconnect if the access key is not provisioned or is expired. */
590
+ strict?: boolean | undefined
591
+ })
519
592
  /** Public key manager. */
520
593
  keyManager: KeyManager.KeyManager
521
594
  /** The RP ID to use for WebAuthn. */
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionEnvelopeAA.d.ts","sourceRoot":"","sources":["../../src/ox/TransactionEnvelopeAA.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,SAAS,EACT,cAAc,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,MAAM,MAAM,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI;IACtC,iBAAiB;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC1B,+CAA+C;IAC/C,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAChC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,MAAM,SAAS,OAAO,GAAG,OAAO,EAChC,UAAU,GAAG,MAAM,EACnB,UAAU,GAAG,MAAM,EACnB,IAAI,SAAS,MAAM,GAAG,IAAI,IACxB,OAAO,CACT;IACE,4BAA4B;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAA;IAC9C,uDAAuD;IACvD,iBAAiB,CAAC,EACd,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,GAChD,SAAS,CAAA;IACb,iCAAiC;IACjC,KAAK,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;IAClC,wBAAwB;IACxB,OAAO,EAAE,UAAU,CAAA;IACnB,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAClC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5B,2BAA2B;IAC3B,iBAAiB,CAAC,EACd,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GACjD,IAAI,GACJ,SAAS,CAAA;IACb,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAC/C;;;;;;OAMG;IACH,gBAAgB,CAAC,EACb,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAC/C,SAAS,CAAA;IACb,gFAAgF;IAChF,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACrC,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7C,gDAAgD;IAChD,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACjC,iDAAiD;IACjD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC9B,uBAAuB;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,yEAAyE;IACzE,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACpC,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CACpC,GAAG,CAAC,MAAM,SAAS,IAAI,GACpB;IACE,SAAS,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;CACvE,GACD;IACE,SAAS,CAAC,EACN,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC3D,SAAS,CAAA;CACd,CAAC,CACP,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,qBAAqB,CACvE,MAAM,EACN,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,GAAG,EACP,MAAM,CACP,CAAA;AAED,eAAO,MAAM,aAAa,EAAG,MAAe,CAAA;AAC5C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;AAEhD,MAAM,MAAM,UAAU,GAAG,GAAG,cAAc,GAAG,MAAM,EAAE,CAAA;AAErD,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAEhD,eAAO,MAAM,cAAc,EAAG,MAAe,CAAA;AAC7C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAA;AAElD,eAAO,MAAM,IAAI,EAAG,IAAa,CAAA;AACjC,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAA;AAE9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAiDxE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,OAAO,CAAC,MAAM,CAAC,SAAS,GACxB,eAAe,GACf,0BAA0B,GAC1B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAiIhC;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAgB,IAAI,CAClB,KAAK,CAAC,QAAQ,SACV,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAC7C,UAAU,EACd,KAAK,CAAC,SAAS,SACX,iBAAiB,CAAC,iBAAiB,GACnC,SAAS,GAAG,SAAS,EAEzB,QAAQ,EACJ,QAAQ,GACR,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAC7C,UAAU,EACd,OAAO,GAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAM,GACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAiBvC;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,OAAO,CACV,SAAS,SACL,iBAAiB,CAAC,iBAAiB,GACnC,SAAS,GAAG,SAAS,IACvB;QACF,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAA;QAC1D,SAAS,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,GAAG,SAAS,CAAA;KACxE,CAAA;IAED,KAAK,WAAW,CACd,QAAQ,SAAS,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GACpE,qBAAqB,GACrB,GAAG,CAAC,GAAG,EACX,SAAS,SACL,iBAAiB,CAAC,iBAAiB,GACnC,SAAS,GAAG,SAAS,IACvB,OAAO,CACT,QAAQ,SAAS,GAAG,CAAC,GAAG,GACpB,qBAAqB,GACrB,MAAM,CACJ,QAAQ,EACR,CAAC,SAAS,SAAS,iBAAiB,CAAC,iBAAiB,GAClD;QAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;KAAE,GAC5D,EAAE,CAAC,GAAG;QACR,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KACpB,CACF,CACN,CAAA;IAED,KAAK,SAAS,GACV,WAAW,CAAC,SAAS,GACrB,MAAM,CAAC,SAAS,GAChB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAClD,OAAO,GAAE,SAAS,CAAC,OAAY,GAC9B,UAAU,CAiEZ;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,OAAO,GAAG;QACb;;WAEG;QACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,GAAG,SAAS,CAAA;KAC5D,GAAG,KAAK,CACL;QACE;;WAEG;QACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;QACvB;;;;;WAKG;QACH,MAAM,EAAE,UAAU,CAAA;KACnB,GACD;QACE;;;;;WAKG;QACH,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAA;QAC1D,MAAM,CAAC,EAAE,SAAS,CAAA;KACnB,CACJ,CAAA;IAED,KAAK,SAAS,GACV,MAAM,CAAC,SAAS,GAChB,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,SAAS,CAAC,OAAO,CAAC,SAAS,GAC3B,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,qBAAqB,GAC9B,cAAc,CAAC,WAAW,CAE5B;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,WAAW,GAAG,GAAG,CAAC,GAAG,CAAA;IAE1B,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,IAAI,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,EAClD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EACpE,OAAO,GAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAM,GAClC,IAAI,CAAC,WAAW,CAUlB;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,OAAO,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,IAAI;QAC9C;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;KACxC,CAAA;IAED,KAAK,WAAW,GAAG,GAAG,CAAC,GAAG,CAAA;IAE1B,KAAK,SAAS,GACV,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,SAAS,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,sBAAsB,CAAC,OAAO,GACtC,sBAAsB,CAAC,WAAW,CAUpC;AAED,MAAM,CAAC,OAAO,WAAW,sBAAsB,CAAC;IAC9C,KAAK,OAAO,GAAG;QACb;;WAEG;QACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;KACxB,CAAA;IAED,KAAK,WAAW,GAAG,GAAG,CAAC,GAAG,CAAA;IAE1B,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAO1E;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAgB,SAAQ,MAAM,CAAC,SAAS;IACnD,SAAkB,IAAI,2CAA0C;;CAIjE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA2B,SAAQ,MAAM,CAAC,SAAS;IAC9D,SAAkB,IAAI,sDAAqD;gBAC/D,EACV,WAAW,EACX,UAAU,GACX,EAAE;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;KACnB;CAKF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionEnvelopeAA.js","sourceRoot":"","sources":["../../src/ox/TransactionEnvelopeAA.ts"],"names":[],"mappings":"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"}