@sidhujag/sysweb3-keyring 2.1.3 → 2.1.5

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 (129) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +47 -47
  3. package/cjs/hardware-transaction-authority.js +36 -0
  4. package/cjs/hardware-transaction-authority.js.map +1 -0
  5. package/cjs/index.js +5 -5
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/keyring-core.js +171 -220
  8. package/cjs/keyring-core.js.map +1 -1
  9. package/cjs/keyring-host.js +113 -0
  10. package/cjs/keyring-host.js.map +1 -0
  11. package/cjs/keyring-manager.js +15 -151
  12. package/cjs/keyring-manager.js.map +1 -1
  13. package/cjs/ledger/host-types.js.map +1 -1
  14. package/cjs/ledger/index.js +44 -19
  15. package/cjs/ledger/index.js.map +1 -1
  16. package/cjs/providers.js +3 -1
  17. package/cjs/providers.js.map +1 -1
  18. package/cjs/software.js +10 -56
  19. package/cjs/software.js.map +1 -1
  20. package/cjs/transactions/ethereum.js +306 -229
  21. package/cjs/transactions/ethereum.js.map +1 -1
  22. package/cjs/transactions/evm-local-signer.js +15 -0
  23. package/cjs/transactions/evm-local-signer.js.map +1 -1
  24. package/cjs/transactions/evm-submission.js +61 -65
  25. package/cjs/transactions/evm-submission.js.map +1 -1
  26. package/cjs/transactions/hardware-psbt.js +11 -8
  27. package/cjs/transactions/hardware-psbt.js.map +1 -1
  28. package/cjs/transactions/index.js +10 -2
  29. package/cjs/transactions/index.js.map +1 -1
  30. package/cjs/transactions/prepared-evm.js +10 -7
  31. package/cjs/transactions/prepared-evm.js.map +1 -1
  32. package/cjs/transactions/syscoin-core.js +308 -205
  33. package/cjs/transactions/syscoin-core.js.map +1 -1
  34. package/cjs/trezor/connect.js +19 -2
  35. package/cjs/trezor/connect.js.map +1 -1
  36. package/cjs/trezor/index.js +38 -16
  37. package/cjs/trezor/index.js.map +1 -1
  38. package/cjs/types.js.map +1 -1
  39. package/cjs/utils/excluded-utxos.js +6 -2
  40. package/cjs/utils/excluded-utxos.js.map +1 -1
  41. package/cjs/utils/owned-blockbook-account.js +45 -0
  42. package/cjs/utils/owned-blockbook-account.js.map +1 -0
  43. package/esm/current-vault-refusal.js +3 -0
  44. package/esm/current-vault-refusal.js.map +1 -0
  45. package/esm/evm-fees.js +242 -0
  46. package/esm/evm-fees.js.map +1 -0
  47. package/esm/hardware-transaction-authority.js +33 -0
  48. package/esm/hardware-transaction-authority.js.map +1 -0
  49. package/esm/initial-state.js +102 -0
  50. package/esm/initial-state.js.map +1 -0
  51. package/esm/keyring-core.js +2781 -0
  52. package/esm/keyring-core.js.map +1 -0
  53. package/esm/keyring-host.js +108 -0
  54. package/esm/keyring-host.js.map +1 -0
  55. package/esm/ledger/dmk-session.js +1 -0
  56. package/esm/ledger/dmk-session.js.map +1 -1
  57. package/esm/ledger/dmk-utxo.js +9 -3
  58. package/esm/ledger/dmk-utxo.js.map +1 -1
  59. package/esm/ledger/host-types.js.map +1 -1
  60. package/esm/ledger/index.js +44 -19
  61. package/esm/ledger/index.js.map +1 -1
  62. package/esm/network-utils.js +70 -0
  63. package/esm/network-utils.js.map +1 -0
  64. package/esm/providers.js +3 -1
  65. package/esm/providers.js.map +1 -1
  66. package/esm/software-hd-account.js +20 -0
  67. package/esm/software-hd-account.js.map +1 -0
  68. package/esm/storage-core.js +258 -0
  69. package/esm/storage-core.js.map +1 -0
  70. package/esm/transactions/ethereum.js +2753 -0
  71. package/esm/transactions/ethereum.js.map +1 -0
  72. package/esm/transactions/evm-cancellation.js +40 -0
  73. package/esm/transactions/evm-cancellation.js.map +1 -0
  74. package/esm/transactions/evm-local-signer.js +202 -0
  75. package/esm/transactions/evm-local-signer.js.map +1 -0
  76. package/esm/transactions/evm-submission.js +187 -0
  77. package/esm/transactions/evm-submission.js.map +1 -0
  78. package/esm/transactions/prepared-evm.js +194 -0
  79. package/esm/transactions/prepared-evm.js.map +1 -0
  80. package/esm/transactions/syscoin-core.js +714 -0
  81. package/esm/transactions/syscoin-core.js.map +1 -0
  82. package/esm/trezor/connect.js +19 -2
  83. package/esm/trezor/connect.js.map +1 -1
  84. package/esm/trezor/index.js +38 -16
  85. package/esm/trezor/index.js.map +1 -1
  86. package/esm/types.js.map +1 -1
  87. package/esm/utils/excluded-utxos.js +57 -0
  88. package/esm/utils/excluded-utxos.js.map +1 -0
  89. package/esm/utils/owned-blockbook-account.js +9 -0
  90. package/esm/utils/owned-blockbook-account.js.map +1 -0
  91. package/esm/utils/psbt.js +32 -0
  92. package/esm/utils/psbt.js.map +1 -0
  93. package/esm/utils/watch-descriptor.js +138 -0
  94. package/esm/utils/watch-descriptor.js.map +1 -0
  95. package/package.json +5 -11
  96. package/types/hardware-transaction-authority.d.ts +5 -0
  97. package/types/index.d.ts +3 -3
  98. package/types/keyring-core.d.ts +22 -51
  99. package/types/keyring-host.d.ts +46 -0
  100. package/types/keyring-manager.d.ts +13 -18
  101. package/types/ledger/host-types.d.ts +4 -1
  102. package/types/ledger/index.d.ts +1 -1
  103. package/types/ledger/types.d.ts +3 -2
  104. package/types/providers.d.ts +1 -1
  105. package/types/software.d.ts +6 -19
  106. package/types/transactions/ethereum.d.ts +14 -11
  107. package/types/transactions/evm-local-signer.d.ts +2 -2
  108. package/types/transactions/evm-submission.d.ts +11 -4
  109. package/types/transactions/hardware-psbt.d.ts +1 -1
  110. package/types/transactions/index.d.ts +3 -2
  111. package/types/transactions/prepared-evm.d.ts +4 -1
  112. package/types/transactions/syscoin-core.d.ts +48 -21
  113. package/types/trezor/connect.d.ts +6 -3
  114. package/types/trezor/index.d.ts +4 -3
  115. package/types/types.d.ts +95 -63
  116. package/types/utils/excluded-utxos.d.ts +1 -1
  117. package/types/utils/owned-blockbook-account.d.ts +3 -0
  118. package/cjs/hardware-wallet-manager-singleton.js +0 -34
  119. package/cjs/hardware-wallet-manager-singleton.js.map +0 -1
  120. package/cjs/storage.js +0 -20
  121. package/cjs/storage.js.map +0 -1
  122. package/cjs/transactions/syscoin.js +0 -16
  123. package/cjs/transactions/syscoin.js.map +0 -1
  124. package/cjs/utils/blockbook-cache.js +0 -76
  125. package/cjs/utils/blockbook-cache.js.map +0 -1
  126. package/types/hardware-wallet-manager-singleton.d.ts +0 -19
  127. package/types/storage.d.ts +0 -5
  128. package/types/transactions/syscoin.d.ts +0 -9
  129. package/types/utils/blockbook-cache.d.ts +0 -6
@@ -1,5 +1,6 @@
1
1
  import { SignTypedDataVersion, TypedDataUtils } from '@metamask/eth-sig-util';
2
2
  import { computeAddress, getAddress, hashMessage, recoverAddress, Signature, Transaction, } from 'ethers';
3
+ import { captureHardwareTransactionAuthority } from '../hardware-transaction-authority';
3
4
  import { ConnectionStatus, HardwareWalletType, } from '../hardware-wallet-manager';
4
5
  import { ledgerCancelledError, ledgerHostError } from './host-types';
5
6
  const invalidRequest = () => ledgerHostError('LEDGER_INVALID_REQUEST', 'Invalid Ledger signing request');
@@ -113,7 +114,8 @@ export class LedgerKeyring {
113
114
  });
114
115
  return this.run((host) => host.utxo.signMessage(approved));
115
116
  };
116
- this.signPsbt = (request) => {
117
+ this.signPsbt = async (request, authority) => {
118
+ const owner = captureHardwareTransactionAuthority(authority);
117
119
  const approved = Object.freeze({
118
120
  currency: request.currency,
119
121
  slip44: request.slip44,
@@ -121,7 +123,19 @@ export class LedgerKeyring {
121
123
  accountXpub: request.accountXpub,
122
124
  psbtBase64: request.psbtBase64,
123
125
  });
124
- return this.run((host) => host.utxo.signPsbt(approved));
126
+ try {
127
+ return await this.run(async (host, assertCurrent) => {
128
+ owner.assertCurrent();
129
+ const result = await host.utxo.signPsbt(approved, owner);
130
+ owner.assertCurrent();
131
+ assertCurrent();
132
+ return result;
133
+ }, owner);
134
+ }
135
+ catch (error) {
136
+ owner.assertCurrent();
137
+ throw error;
138
+ }
125
139
  };
126
140
  this.evm = {
127
141
  getEvmAddressAndPubKey: async (request) => {
@@ -141,7 +155,8 @@ export class LedgerKeyring {
141
155
  }
142
156
  });
143
157
  },
144
- signEVMTransaction: async (request) => {
158
+ signEVMTransaction: async (request, authority) => {
159
+ const owner = captureHardwareTransactionAuthority(authority);
145
160
  const index = accountIndex(request.accountIndex);
146
161
  const expected = approvedAddress(request.expectedAddress);
147
162
  let transaction;
@@ -159,19 +174,27 @@ export class LedgerKeyring {
159
174
  unsignedTxHex: transaction.unsignedSerialized.replace(/^0x/, ''),
160
175
  };
161
176
  const digest = transaction.unsignedHash;
162
- return this.run(async (host, assertCurrent) => {
163
- const result = await host.evm.signTransaction(approved);
164
- assertCurrent();
165
- const signature = checkedSignature(result, digest, expected);
166
- if (signature.legacyChainId !== null &&
167
- signature.legacyChainId !== transaction.chainId)
168
- throw invalidSignature();
169
- return {
170
- r: signature.r.slice(2),
171
- s: signature.s.slice(2),
172
- v: signature.v.toString(16),
173
- };
174
- });
177
+ try {
178
+ return await this.run(async (host, assertCurrent) => {
179
+ owner.assertCurrent();
180
+ const result = await host.evm.signTransaction(approved, owner);
181
+ owner.assertCurrent();
182
+ assertCurrent();
183
+ const signature = checkedSignature(result, digest, expected);
184
+ if (signature.legacyChainId !== null &&
185
+ signature.legacyChainId !== transaction.chainId)
186
+ throw invalidSignature();
187
+ return {
188
+ r: signature.r.slice(2),
189
+ s: signature.s.slice(2),
190
+ v: signature.v.toString(16),
191
+ };
192
+ }, owner);
193
+ }
194
+ catch (error) {
195
+ owner.assertCurrent();
196
+ throw error;
197
+ }
175
198
  },
176
199
  signPersonalMessage: async (request) => {
177
200
  const expected = approvedAddress(request.expectedAddress);
@@ -226,12 +249,14 @@ export class LedgerKeyring {
226
249
  throw ledgerHostError('HARDWARE_SIGNER_UNAVAILABLE', 'Ledger requires an authorized device host');
227
250
  return this.host;
228
251
  }
229
- async run(operation) {
252
+ async run(operation, options) {
230
253
  const generation = this.generation;
231
254
  const host = this.requireHost();
232
255
  // A visible platform host owns discovery, permission and device selection.
233
- if (!host.getStatus().connected)
234
- await host.connect({ useGrantedDevices: true });
256
+ if (!host.getStatus().connected) {
257
+ const request = { useGrantedDevices: true };
258
+ await (options ? host.connect(request, options) : host.connect(request));
259
+ }
235
260
  const assertCurrent = () => {
236
261
  if (generation !== this.generation)
237
262
  throw ledgerCancelledError();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ledger/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { INetworkType, coins as utxoCoins, } from '@sidhujag/sysweb3-network';
2
+ /**
3
+ * Generate default UTXO networks from coins.ts data
4
+ * This ensures consistency and avoids hardcoded duplicates
5
+ */
6
+ export function getDefaultUTXONetworks() {
7
+ const defaultNetworks = {};
8
+ // Filter coins that should be default networks
9
+ const defaultCoins = utxoCoins.filter((coin) => {
10
+ // Include Syscoin mainnet and testnet as defaults
11
+ return ((coin.coinShortcut === 'SYS' && coin.slip44 === 57) || // Syscoin Mainnet
12
+ (coin.coinShortcut === 'tSYS' && coin.slip44 === 1) || // Syscoin Testnet
13
+ (coin.coinShortcut === 'BTC' && coin.slip44 === 0) // Bitcoin Mainnet only
14
+ );
15
+ });
16
+ defaultCoins.forEach((coin) => {
17
+ if (!coin.blockchainLink ||
18
+ !coin.blockchainLink.url ||
19
+ coin.blockchainLink.url.length === 0) {
20
+ return; // Skip coins without valid blockbook URLs
21
+ }
22
+ // Use primary blockbook URL
23
+ const primaryUrl = Array.isArray(coin.blockchainLink.url)
24
+ ? coin.blockchainLink.url[0]
25
+ : coin.blockchainLink.url;
26
+ const chainId = coin.chainId || coin.slip44;
27
+ const network = {
28
+ chainId,
29
+ url: primaryUrl,
30
+ label: coin.name || coin.coinLabel || `${coin.coinShortcut} Network`,
31
+ default: coin.coinShortcut === 'SYS',
32
+ currency: coin.coinShortcut?.toLowerCase() || 'unknown',
33
+ slip44: coin.slip44,
34
+ kind: INetworkType.Syscoin,
35
+ };
36
+ defaultNetworks[chainId] = network;
37
+ });
38
+ return defaultNetworks;
39
+ }
40
+ /**
41
+ * Get specific default UTXO networks for backwards compatibility
42
+ */
43
+ export function getSyscoinUTXOMainnetNetwork() {
44
+ const networks = getDefaultUTXONetworks();
45
+ // Find Syscoin mainnet (slip44: 57)
46
+ const syscoinMainnet = Object.values(networks).find((network) => network.slip44 === 57 && network.currency === 'sys');
47
+ if (!syscoinMainnet) {
48
+ throw new Error('Syscoin UTXO Mainnet network not found in coins.ts');
49
+ }
50
+ return syscoinMainnet;
51
+ }
52
+ export function getSyscoinUTXOTestnetNetwork() {
53
+ const networks = getDefaultUTXONetworks();
54
+ // Find Syscoin testnet (slip44: 1, currency: tsys)
55
+ const syscoinTestnet = Object.values(networks).find((network) => network.slip44 === 1 && network.currency === 'tsys');
56
+ if (!syscoinTestnet) {
57
+ throw new Error('Syscoin UTXO Testnet network not found in coins.ts');
58
+ }
59
+ return syscoinTestnet;
60
+ }
61
+ export function getBitcoinMainnetNetwork() {
62
+ const networks = getDefaultUTXONetworks();
63
+ // Find Bitcoin mainnet (slip44: 0, currency: btc)
64
+ const bitcoinMainnet = Object.values(networks).find((network) => network.slip44 === 0 && network.currency === 'btc');
65
+ if (!bitcoinMainnet) {
66
+ throw new Error('Bitcoin Mainnet network not found in coins.ts');
67
+ }
68
+ return bitcoinMainnet;
69
+ }
70
+ //# sourceMappingURL=network-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-utils.js","sourceRoot":"","sources":["../../src/network-utils.ts"],"names":[],"mappings":"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"}
package/esm/providers.js CHANGED
@@ -267,9 +267,11 @@ class BaseProvider extends JsonRpcProvider {
267
267
  }
268
268
  }
269
269
  }
270
- async verifyConfiguredChainId() {
270
+ async verifyConfiguredChainId(fresh = false) {
271
271
  if (this.configuredChainId == null)
272
272
  return;
273
+ if (fresh)
274
+ return this.fetchAndVerifyConfiguredChainId();
273
275
  if (!this.chainIdVerificationPromise) {
274
276
  this.chainIdVerificationPromise =
275
277
  this.fetchAndVerifyConfiguredChainId().finally(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,SAAS,EACT,eAAe,EACf,2BAA2B,GAE5B,MAAM,aAAa,CAAC;AAIrB,MAAM,sCAAsC,GAAG,IAAI,GAAG,CAAC;IACrD,UAAU;IACV,UAAU;IACV,cAAc;IACd,sBAAsB;IACtB,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAC;IACpD,cAAc;IACd,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,UAAU;IACV,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,2EAA2E;AAC3E,8EAA8E;AAC9E,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGlD,YACE,OAAO,GAAG,8CAA8C,EAC/C,YAAY,IAAI;QAEzB,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;QAF1C,cAAS,GAAT,SAAS,CAAO;QAJlB,SAAI,GAAG,8BAA8B,CAAC;QAO7C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,6EAA6E;AAC7E,kEAAkE;AAClE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,aAAa;IACb,aAAa;IACb,oBAAoB;IACpB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,yBAAyB;IACzB,aAAa;IACb,kBAAkB;IAClB,cAAc;IACd,UAAU;IACV,iBAAiB;IACjB,sBAAsB;IACtB,cAAc;IACd,0BAA0B;IAC1B,gBAAgB;IAChB,sBAAsB;IACtB,oBAAoB;IACpB,sCAAsC;IACtC,oCAAoC;IACpC,0BAA0B;IAC1B,yCAAyC;IACzC,uCAAuC;IACvC,2BAA2B;IAC3B,aAAa;CACd,CAAC,CAAC;AAEH,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,6EAA6E;AAC7E,wDAAwD;AACxD,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACxD,MAAM,gBAAgB,GAAG,GAAW,EAAE;IACpC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,EAChC,KAAK,CACN,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,IAAI,IAAI,CAAC,MAAM,EAAE;SAC/D,QAAQ,CAAC,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACd,4EAA4E;IAC5E,GAAG,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,KAAK,EAAE,CAAC;IACtE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,OAAoB,EAAsB,EAAE;IAC5E,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAI,OAAkD,CAAC,OAAO,CAAC;IAC5E,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAiC,EAAU,EAAE;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAW,EAAE,KAAa,EAAE,KAAU,EAAE,EAAE;IAC7D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;QACnC,KAAK;QACL,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,MAAW,EACX,MAAmB,EACnB,gBAA6B,MAAM,EACnC,EAAE;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAY,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,mBAAmB,CACjC,OAAO,EACP,qCAAqC,CACtC,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAE7B,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAgB,EAAE,EAAE;IAC1D,IAAI,CAAC,WAAW;QAAE,OAAO,WAAW,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,GAAG,sCAAsC;QACzC,GAAG,kCAAkC;QACrC,MAAM;KACP,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,mBAAmB,CACjC,WAAW,EACX,sCAAsC,EACtC,aAAa,CACd,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,kCAAkC,EAAE,CAAC;QACvD,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CACpD,sBAAsB,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,0EAA0E;AAC1E,qEAAqE;AACrE,wBAAwB;AACxB,MAAM,YAAY,GAAG,CAAC,QAIrB,EAAS,EAAE;IACV,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAGvC,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAa,SAAQ,eAAe;IAsBxC,YACE,MAAmB,EACnB,GAA8B,EAC9B,OAAoB;QAEpB,KAAK,CACH,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EACxC,OAAO,EACP,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CACtD,CAAC;QA9BI,yBAAoB,GAAG,IAAI,CAAC;QAC5B,iBAAY,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAG,CAAC,CAAC;QACjB,oBAAe,GAAG,CAAC,CAAC;QACpB,mBAAc,GAAG,EAAE,CAAC;QACpB,iBAAY,GAA6C,IAAI,CAAC;QAC9D,mBAAc,GAAwB,IAAI,CAAC;QAE3C,+BAA0B,GAAyB,IAAI,CAAC;QACzD,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAQ,EAAE,CAAC;QACvB,qBAAgB,GAAG,KAAK,CAAC;QAoCxB,qBAAgB,GAAG,CAAI,SAA2B,EAAc,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;YACD,oDAAoD;YACpD,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACtC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACM,mBAAc,GAAG,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC7B,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,CAAC;YACD,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,KAAK,CAAC,CAAC,+CAA+C;YAC/D,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;oBACvB,yDAAyD;oBACzD,eAAe;oBACf,4EAA4E;oBAC5E,KAAK;oBACL,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;oBACtB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC7B,CAAC;qBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAuBM,aAAQ,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;YAC/C,OAAO,CAAC,KAAK,CACX,0DAA0D,EAC1D,CAAC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,IAAI,EACxC,UAAU,CACX,CAAC;YACF,MAAM;gBACJ,OAAO,EAAE,2DACP,CAAC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,IACtC,UAAU;aACX,CAAC;QACJ,CAAC,CAAC;QAgKO,SAAI,GAAG,KAAK,EAAE,MAAc,EAAE,MAAa,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC;QAjRA,IAAI,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAkDD,KAAK,CAAC,uBAAuB;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI;YAAE,OAAO;QAC3C,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,0BAA0B;gBAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;oBAClD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACzC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,+BAA+B;QAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,aAAa,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,iBAAiB,mCAAmC,aAAa,EAAE,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAiBO,oBAAoB,CAC1B,IAAS,EACT,QAA0B,EAC1B,KAAc;QAEd,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;QACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IACE,CAAC,QAAQ;gBACT,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvB,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;gBAC/B,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EACrB,CAAC;gBACD,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACpD,QAAQ,EACR,QAAQ,CACT,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,IACE,QAAQ,CAAC,OAAO,KAAK,KAAK;gBAC1B,SAAS,KAAK,QAAQ;gBACtB,CAAC,QAAQ;oBACP,CAAC,CAAC,QAAQ,CAAC,KAAK;wBACd,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;wBAC1C,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAChD,CAAC;gBACD,MAAM,IAAI,yBAAyB,CACjC,oCAAoC,EACpC,KAAK,CACN,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,MAAwD,EACxD,KAAc;QAEd,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7C,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC;QAC9C,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/D,CAAC;YACD,gEAAgE;YAChE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,MAAM,GACV,OAAO,KAAK,CAAC;gBACX,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAqB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,MAAM;gBACN,EAAE,EAAE,gBAAgB,EAAE;aACvB,CAAC,CAAC,CAAC;YACJ,MAAM,OAAO,GAAgB;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACF,IAAI,OAAO,KAAK,CAAC;gBAAE,YAAY,GAAG,OAAO,CAAC,IAAc,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;gBAClD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,EACtD,OAAO,CACR,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;oBACzD,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACrC,CAAC;oBACD,IAAI,CAAC,YAAY;wBACf,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,IAAI,0BAA0B,CAAC;oBACrE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY;wBAAE,MAAM,KAAK,CAAC;oBACrE,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,EAChC,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,IACE,OAAO,KAAK,CAAC;oBACb,KAAK,YAAY,yBAAyB;oBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;oBACnB,KAAK,EAAE,IAAI,KAAK,YAAY,EAC5B,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,yBAAyB,CACjC,mCAAmC,EACnC,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,CAAC,CAAC,KAAK,YAAY,yBAAyB,CAAC;oBAC7C,CAAC,KAAK,CAAC,SAAS;oBAChB,OAAO,KAAK,CAAC;oBACb,CAAC,UAAU,EACX,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IACvE,KAAK,CAAC,KAAK,CAClB,OAA+C;QAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,QAAQ;YACX,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAkBD,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAoB;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CACrC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAClD,IAAI,CACL,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB;gBAC7C,KAAK;aACN,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,WAAW,GAAG,KAAK,EAAE,MAAwC,EAAE,EAAE;YACrE,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,KAAK,EAAE,IAAI,KAAK,8BAA8B;oBAC9C,KAAK,EAAE,IAAI,KAAK,YAAY;oBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAEnB,MAAM,KAAK,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACxB,WAAW,CAAC,aAAa,CAAC;gBAC1B,WAAW,CAAC,gBAAgB,CAAC;aAC9B,CAAC,CAAC;YACH,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,oBAAoB,GAAkB,IAAI,CAAC;YAC/C,IAAI,KAAK,EAAE,aAAa,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxD,oBAAoB,GAAG,WAAW,CAAC;gBACnC,YAAY,GAAG,KAAK,CAAC,aAAa,GAAG,EAAE,GAAG,oBAAoB,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,yEAAyE;QACzE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAC9B,kDAAkD,CAC5C,CAAC;QACT,IAAI,MAAM,EAAE,CAAC;YACX,+DAA+D;YAC/D,oEAAoE;YACpE,IAAI,aAAkB,CAAC;YACvB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC;oBACH,OAAO,MAAM,UAAU,EAAE,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IACE,KAAK,EAAE,IAAI,KAAK,8BAA8B;wBAC9C,KAAK,EAAE,IAAI,KAAK,YAAY;wBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,CAAC;wBACD,aAAa,GAAG,KAAK,CAAC;oBACxB,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;YACF,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAC/B,YAAY,EACZ,IAAI,EACJ,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAC7B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,IAAI,KAAK,CAAC;YAC/B,CAAC;YACD,IAAI,aAAa;gBAAE,MAAM,aAAa,CAAC;YACvC,OAAO,IAAI,OAAO,CAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,oBAAoB,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,IAAI;YAC1B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB,IAAI,IAAI;YAClC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEnD,IAAI,YAAY,IAAI,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,IACE,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YACnD,CAAC,oBAAoB,IAAI,IAAI,IAAI,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACnE,CAAC,YAAY,IAAI,IAAI;gBACnB,oBAAoB,IAAI,IAAI;gBAC5B,oBAAoB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE/C,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,QAAQ,EAAE,UAAU,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACjE,OAAO;YACL,QAAQ;YACR,YAAY;YACZ,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,QAAc;QAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,WAAgB;QACvD,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAE5D,yEAAyE;QACzE,uEAAuE;QACvE,wDAAwD;QACxD,IACE,UAAU,EAAE,IAAI,KAAK,CAAC;YACtB,UAAU,CAAC,YAAY,IAAI,IAAI;YAC/B,UAAU,CAAC,oBAAoB,IAAI,IAAI,EACvC,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IACE,OAAO,CAAC,YAAY,IAAI,IAAI;gBAC5B,OAAO,CAAC,oBAAoB,IAAI,IAAI,EACpC,CAAC;gBACD,OAAO,UAAU,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAgB,EAAE,QAAc;QACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAgB;QAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAEtE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,mBAAwB;QACrC,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,OAAO,uBAAuB,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,iBAAyB;QAC7C,OAAO,uBAAuB,CAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CACnD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD,YACE,MAAmB,EACnB,GAA8B,EAC9B,OAAoB;QAEpB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export function snapshotEvmHdIndex(value) {
2
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
3
+ throw new TypeError('Invalid Ethereum HD account index');
4
+ }
5
+ const prototype = Object.getPrototypeOf(value);
6
+ const names = Reflect.ownKeys(value);
7
+ const index = Object.getOwnPropertyDescriptor(value, 'index');
8
+ if ((prototype !== Object.prototype && prototype !== null) ||
9
+ names.length !== 1 ||
10
+ names[0] !== 'index' ||
11
+ !index ||
12
+ !index.enumerable ||
13
+ !('value' in index) ||
14
+ !Number.isSafeInteger(index.value) ||
15
+ index.value < 0 ||
16
+ index.value > 0x7fffffff)
17
+ throw new TypeError('Invalid Ethereum HD account index');
18
+ return index.value;
19
+ }
20
+ //# sourceMappingURL=software-hd-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"software-hd-account.js","sourceRoot":"","sources":["../../src/software-hd-account.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,kBAAkB,CAAC,KAAiC;IAClE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,IACE,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;QACtD,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;QACpB,CAAC,KAAK;QACN,CAAC,KAAK,CAAC,UAAU;QACjB,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QACnB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,CAAC;QACf,KAAK,CAAC,KAAK,GAAG,UAAU;QAExB,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC"}
@@ -0,0 +1,258 @@
1
+ import CryptoJS from 'crypto-js';
2
+ import { currentVaultRefusals } from './current-vault-refusal';
3
+ // Simple async mutex implementation to prevent concurrent vault operations
4
+ class AsyncMutex {
5
+ constructor() {
6
+ this.mutex = Promise.resolve();
7
+ }
8
+ async runExclusive(callback) {
9
+ const oldMutex = this.mutex;
10
+ let release;
11
+ this.mutex = new Promise((resolve) => {
12
+ release = resolve;
13
+ });
14
+ await oldMutex;
15
+ try {
16
+ return await callback();
17
+ }
18
+ finally {
19
+ release();
20
+ }
21
+ }
22
+ }
23
+ const isHex = (s) => /^[0-9a-fA-F]+$/.test(s);
24
+ const hexToBytes = (hex) => {
25
+ const clean = (hex || '').trim();
26
+ if (!isHex(clean) || clean.length % 2 !== 0) {
27
+ throw new Error('Invalid hex string');
28
+ }
29
+ const out = new Uint8Array(clean.length / 2);
30
+ for (let i = 0; i < out.length; i++) {
31
+ out[i] = parseInt(clean.slice(i * 2, i * 2 + 2), 16);
32
+ }
33
+ return out;
34
+ };
35
+ const bytesToHex = (bytes) => {
36
+ const u8 = new Uint8Array(bytes);
37
+ let hex = '';
38
+ for (let i = 0; i < u8.length; i++) {
39
+ hex += u8[i].toString(16).padStart(2, '0');
40
+ }
41
+ return hex;
42
+ };
43
+ const maybeParseGcmEnvelope = (raw) => {
44
+ if (!raw || typeof raw !== 'string')
45
+ return null;
46
+ if (!raw.trim().startsWith('{'))
47
+ return null;
48
+ try {
49
+ const parsed = JSON.parse(raw);
50
+ if (parsed &&
51
+ parsed.v === 4 &&
52
+ parsed.alg === 'A256GCM' &&
53
+ typeof parsed.iv === 'string' &&
54
+ typeof parsed.ct === 'string') {
55
+ return parsed;
56
+ }
57
+ return null;
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ };
63
+ const isCurrentGcmEnvelope = (envelope) => !!envelope &&
64
+ Object.keys(envelope).length === 4 &&
65
+ /^[0-9a-f]{24}$/i.test(envelope.iv) &&
66
+ envelope.ct.length >= 32 &&
67
+ envelope.ct.length % 2 === 0 &&
68
+ isHex(envelope.ct);
69
+ const encryptVaultWebCrypto = async (plaintextJson, keyHex) => {
70
+ const subtle = globalThis.crypto.subtle;
71
+ const iv = new Uint8Array(12);
72
+ globalThis.crypto.getRandomValues(iv);
73
+ const keyBytes = hexToBytes(keyHex);
74
+ if (keyBytes.length !== 32) {
75
+ throw new Error('Vault key must be 32 bytes (hex length 64)');
76
+ }
77
+ const key = await subtle.importKey('raw', keyBytes, { name: 'AES-GCM' }, false, ['encrypt']);
78
+ const pt = new TextEncoder().encode(plaintextJson);
79
+ const ct = await subtle.encrypt({ name: 'AES-GCM', iv: iv }, key, pt);
80
+ return {
81
+ v: 4,
82
+ alg: 'A256GCM',
83
+ iv: bytesToHex(iv.buffer),
84
+ ct: bytesToHex(ct),
85
+ };
86
+ };
87
+ export class VaultAuthenticationError extends Error {
88
+ constructor() {
89
+ super('Failed to decrypt vault - invalid password or corrupted data');
90
+ this.code = 'INVALID_PASSWORD';
91
+ this.name = 'VaultAuthenticationError';
92
+ }
93
+ }
94
+ const invalidPasswordError = () => new VaultAuthenticationError();
95
+ const decryptVaultWebCrypto = async (envelope, keyHex) => {
96
+ const subtle = globalThis?.crypto?.subtle;
97
+ if (!subtle) {
98
+ throw new Error('WebCrypto is required to decrypt this vault');
99
+ }
100
+ const keyBytes = hexToBytes(keyHex);
101
+ if (keyBytes.length !== 32) {
102
+ throw new Error('Vault key must be 32 bytes (hex length 64)');
103
+ }
104
+ let key;
105
+ try {
106
+ key = await subtle.importKey('raw', keyBytes, { name: 'AES-GCM' }, false, ['decrypt']);
107
+ }
108
+ finally {
109
+ keyBytes.fill(0);
110
+ }
111
+ const ivBytes = hexToBytes(envelope.iv);
112
+ const ctBytes = hexToBytes(envelope.ct);
113
+ if (ivBytes.length !== 12 || ctBytes.length < 16) {
114
+ throw new Error('Invalid encrypted vault format');
115
+ }
116
+ let pt;
117
+ try {
118
+ pt = await subtle.decrypt({ name: 'AES-GCM', iv: ivBytes }, key, ctBytes);
119
+ }
120
+ catch (error) {
121
+ // Only a failed authentication tag is a password/ciphertext failure.
122
+ // Key import and other platform exceptions must remain operational.
123
+ if (error?.name === 'OperationError') {
124
+ throw invalidPasswordError();
125
+ }
126
+ throw error;
127
+ }
128
+ return new TextDecoder().decode(pt);
129
+ };
130
+ /** Authenticate a captured current-format vault. This path has no CBC fallback. */
131
+ export const decryptCurrentVault = async (vault, key) => {
132
+ const envelope = maybeParseGcmEnvelope(vault);
133
+ if (!isCurrentGcmEnvelope(envelope)) {
134
+ throw new Error('Invalid encrypted vault format');
135
+ }
136
+ const plaintext = await decryptVaultWebCrypto(envelope, key);
137
+ try {
138
+ return JSON.parse(plaintext);
139
+ }
140
+ catch {
141
+ throw new Error('Invalid device unlock vault payload');
142
+ }
143
+ };
144
+ /**
145
+ * Create once per wallet authority and share across its network keyrings.
146
+ * The host owns storage durability and cross-context atomic creation.
147
+ */
148
+ export const createVaultPersistence = (storage) => {
149
+ if (!storage ||
150
+ typeof storage.get !== 'function' ||
151
+ typeof storage.set !== 'function' ||
152
+ typeof storage.createManyIfAbsent !== 'function') {
153
+ throw new TypeError('Vault storage port must provide get, set, and createManyIfAbsent methods');
154
+ }
155
+ const vaultMutex = new AsyncMutex();
156
+ // Single vault for all networks; derivation remains the keyring's concern.
157
+ const setEncryptedVault = async (decryptedVault, pwd, freshVaultKeys, assertCurrent) => {
158
+ return vaultMutex.runExclusive(async () => {
159
+ assertCurrent?.();
160
+ const plaintext = JSON.stringify(decryptedVault);
161
+ // Writes never downgrade to unauthenticated passphrase AES. Legacy CBC
162
+ // remains readable below, but missing WebCrypto is an operational failure.
163
+ const canUseWebCrypto = !!globalThis?.crypto?.subtle &&
164
+ !!globalThis?.crypto?.getRandomValues;
165
+ if (!canUseWebCrypto) {
166
+ throw new Error('WebCrypto is required for vault encryption');
167
+ }
168
+ if (typeof pwd !== 'string' || !isHex(pwd) || pwd.length !== 64) {
169
+ throw new Error('Vault key must be 32 bytes (hex length 64)');
170
+ }
171
+ const envelope = await encryptVaultWebCrypto(plaintext, pwd);
172
+ const toStore = JSON.stringify(envelope);
173
+ assertCurrent?.();
174
+ if (freshVaultKeys) {
175
+ // The host primitive covers the absence check and batch commit
176
+ // across all clients that can initialize the same persisted authority.
177
+ const created = await storage.createManyIfAbsent({
178
+ 'vault-keys': freshVaultKeys,
179
+ vault: toStore,
180
+ });
181
+ if (typeof created !== 'boolean')
182
+ throw new Error('Atomic storage creation returned an invalid result');
183
+ if (!created)
184
+ throw new Error('Cannot initialize a new vault over existing wallet storage');
185
+ }
186
+ else {
187
+ // Existing vault updates retain their migration-specific write ordering.
188
+ await storage.set('vault', toStore);
189
+ }
190
+ });
191
+ };
192
+ const getDecryptedVault = async (pwd, legacyPassword) => {
193
+ return vaultMutex.runExclusive(async () => {
194
+ // Always use single 'vault' key
195
+ const vault = await storage.get('vault');
196
+ if (!vault) {
197
+ throw new Error('Vault not found');
198
+ }
199
+ // Prefer WebCrypto AES-GCM when the stored vault is in v4 envelope format.
200
+ const maybeEnvelope = maybeParseGcmEnvelope(vault);
201
+ if (!maybeEnvelope &&
202
+ typeof vault === 'string' &&
203
+ vault.trim().startsWith('{')) {
204
+ // Legacy CBC vaults are base64. A JSON-shaped record must be a valid
205
+ // GCM envelope rather than being misreported as a password failure.
206
+ throw new Error('Invalid encrypted vault format');
207
+ }
208
+ let decryptedVault;
209
+ if (maybeEnvelope) {
210
+ try {
211
+ decryptedVault = await decryptVaultWebCrypto(maybeEnvelope, pwd);
212
+ }
213
+ catch (error) {
214
+ if (error instanceof VaultAuthenticationError &&
215
+ typeof vault === 'string' &&
216
+ isCurrentGcmEnvelope(maybeEnvelope)) {
217
+ currentVaultRefusals.set(error, (candidate) => candidate === vault);
218
+ }
219
+ throw error;
220
+ }
221
+ }
222
+ else {
223
+ // Legacy CryptoJS passphrase-AES vault (v3 and older v4 canary).
224
+ // An interrupted migration can already have written CBC with the
225
+ // derived key while the metadata still selects the legacy password.
226
+ for (const candidateKey of new Set([legacyPassword ?? pwd, pwd])) {
227
+ let plaintext;
228
+ try {
229
+ plaintext = CryptoJS.AES.decrypt(vault, candidateKey).toString(CryptoJS.enc.Utf8);
230
+ }
231
+ catch (error) {
232
+ if (error?.message === 'Malformed UTF-8 data')
233
+ continue;
234
+ throw error;
235
+ }
236
+ if (!plaintext)
237
+ continue;
238
+ try {
239
+ return JSON.parse(plaintext);
240
+ }
241
+ catch (error) {
242
+ // CBC has no authentication tag; invalid plaintext is the only
243
+ // available indication of a bad password/ciphertext.
244
+ if (!(error instanceof SyntaxError))
245
+ throw error;
246
+ }
247
+ }
248
+ throw invalidPasswordError();
249
+ }
250
+ if (!decryptedVault) {
251
+ throw invalidPasswordError();
252
+ }
253
+ return JSON.parse(decryptedVault);
254
+ });
255
+ };
256
+ return { setEncryptedVault, getDecryptedVault };
257
+ };
258
+ //# sourceMappingURL=storage-core.js.map