@babylonlabs-io/ts-sdk 0.58.1 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/BTCVaultRegistry.abi-3VLWva2x.cjs +2 -0
  2. package/dist/BTCVaultRegistry.abi-3VLWva2x.cjs.map +1 -0
  3. package/dist/{BTCVaultRegistry.abi-CixOlp3B.js → BTCVaultRegistry.abi-B3BLhpJ4.js} +30 -13
  4. package/dist/BTCVaultRegistry.abi-B3BLhpJ4.js.map +1 -0
  5. package/dist/{PeginManager-C8ixWlUM.js → PeginManager-1R9dMB1G.js} +3 -3
  6. package/dist/{PeginManager-C8ixWlUM.js.map → PeginManager-1R9dMB1G.js.map} +1 -1
  7. package/dist/{PeginManager-CogqZaa2.cjs → PeginManager-OXUOsgz2.cjs} +2 -2
  8. package/dist/{PeginManager-CogqZaa2.cjs.map → PeginManager-OXUOsgz2.cjs.map} +1 -1
  9. package/dist/{batchPoll-D5IDDOa8.cjs → batchPoll-C4hwVFa8.cjs} +2 -2
  10. package/dist/batchPoll-C4hwVFa8.cjs.map +1 -0
  11. package/dist/{batchPoll-B0VxT62K.js → batchPoll-L9LzMl1E.js} +3 -3
  12. package/dist/batchPoll-L9LzMl1E.js.map +1 -0
  13. package/dist/{buildAndBroadcastRefund-DBA-Mp4I.js → buildAndBroadcastRefund-DpF_b3d9.js} +457 -428
  14. package/dist/buildAndBroadcastRefund-DpF_b3d9.js.map +1 -0
  15. package/dist/buildAndBroadcastRefund-rSxXMwFd.cjs +2 -0
  16. package/dist/buildAndBroadcastRefund-rSxXMwFd.cjs.map +1 -0
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.js +52 -51
  19. package/dist/{mempoolApi-CMHEz4ez.js → mempoolApi-BQKF5MTr.js} +96 -79
  20. package/dist/mempoolApi-BQKF5MTr.js.map +1 -0
  21. package/dist/mempoolApi-BxhMqJ4f.cjs +2 -0
  22. package/dist/mempoolApi-BxhMqJ4f.cjs.map +1 -0
  23. package/dist/onChainBtcPubkey-C_a2L3kL.cjs.map +1 -1
  24. package/dist/onChainBtcPubkey-DeF4cKoO.js.map +1 -1
  25. package/dist/{peginState-BB81JI6I.js → peginState-CxDiaKuk.js} +26 -19
  26. package/dist/peginState-CxDiaKuk.js.map +1 -0
  27. package/dist/peginState-eaQ4IO_R.cjs +2 -0
  28. package/dist/peginState-eaQ4IO_R.cjs.map +1 -0
  29. package/dist/{reservation-CbAXa7VG.js → reservation-B4i_PQhY.js} +2 -2
  30. package/dist/{reservation-CbAXa7VG.js.map → reservation-B4i_PQhY.js.map} +1 -1
  31. package/dist/{reservation-RGKvg2x6.cjs → reservation-CDbInVw0.cjs} +2 -2
  32. package/dist/{reservation-RGKvg2x6.cjs.map → reservation-CDbInVw0.cjs.map} +1 -1
  33. package/dist/tbv/core/clients/eth/onChainBtcPubkey.d.ts +2 -2
  34. package/dist/tbv/core/clients/eth/types.d.ts +15 -3
  35. package/dist/tbv/core/clients/eth/types.d.ts.map +1 -1
  36. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts +24 -7
  37. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts.map +1 -1
  38. package/dist/tbv/core/clients/index.cjs +1 -1
  39. package/dist/tbv/core/clients/index.js +2 -2
  40. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +14 -14
  41. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
  42. package/dist/tbv/core/contracts/index.cjs +1 -1
  43. package/dist/tbv/core/contracts/index.js +1 -1
  44. package/dist/tbv/core/index.cjs +1 -1
  45. package/dist/tbv/core/index.js +58 -57
  46. package/dist/tbv/core/managers/index.cjs +1 -1
  47. package/dist/tbv/core/managers/index.js +1 -1
  48. package/dist/tbv/core/services/activation/activateVault.d.ts +45 -0
  49. package/dist/tbv/core/services/activation/activateVault.d.ts.map +1 -1
  50. package/dist/tbv/core/services/activation/index.d.ts +1 -1
  51. package/dist/tbv/core/services/activation/index.d.ts.map +1 -1
  52. package/dist/tbv/core/services/deposit/peginState.d.ts +24 -0
  53. package/dist/tbv/core/services/deposit/peginState.d.ts.map +1 -1
  54. package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts.map +1 -1
  55. package/dist/tbv/core/services/index.cjs +1 -1
  56. package/dist/tbv/core/services/index.js +34 -33
  57. package/dist/tbv/core/utils/index.cjs +1 -1
  58. package/dist/tbv/core/utils/index.js +1 -1
  59. package/dist/tbv/index.cjs +1 -1
  60. package/dist/tbv/index.js +58 -57
  61. package/package.json +1 -1
  62. package/dist/BTCVaultRegistry.abi-AUAyCHal.cjs +0 -2
  63. package/dist/BTCVaultRegistry.abi-AUAyCHal.cjs.map +0 -1
  64. package/dist/BTCVaultRegistry.abi-CixOlp3B.js.map +0 -1
  65. package/dist/batchPoll-B0VxT62K.js.map +0 -1
  66. package/dist/batchPoll-D5IDDOa8.cjs.map +0 -1
  67. package/dist/buildAndBroadcastRefund-BL8u-Ti4.cjs +0 -2
  68. package/dist/buildAndBroadcastRefund-BL8u-Ti4.cjs.map +0 -1
  69. package/dist/buildAndBroadcastRefund-DBA-Mp4I.js.map +0 -1
  70. package/dist/mempoolApi-CMHEz4ez.js.map +0 -1
  71. package/dist/mempoolApi-DfD3_Y6v.cjs +0 -2
  72. package/dist/mempoolApi-DfD3_Y6v.cjs.map +0 -1
  73. package/dist/peginState-BB81JI6I.js.map +0 -1
  74. package/dist/peginState-CBBJw4Za.cjs +0 -2
  75. package/dist/peginState-CBBJw4Za.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reservation-RGKvg2x6.cjs","sources":["../src/tbv/core/utils/utxo/availability.ts","../src/tbv/core/utils/utxo/reservation.ts"],"sourcesContent":["/**\n * UTXO Availability Validation\n *\n * Validates that UTXOs referenced in a pre-pegin transaction are still unspent\n * BEFORE asking the user to sign. This prevents wasted signing effort when\n * UTXOs have already been spent by unrelated transactions.\n *\n * These functions are pure — they accept pre-fetched UTXOs and perform no I/O.\n * The vault service wrapper is responsible for fetching UTXOs from the mempool.\n */\n\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { Buffer } from \"buffer\";\n\n/**\n * Reference to a Bitcoin UTXO by its outpoint (txid + vout).\n *\n * Used by the availability check to compare a Pre-PegIn transaction's\n * declared inputs against the wallet's current spendable set. Txids are\n * compared case-insensitively; callers should treat the txid as opaque\n * lowercase hex.\n */\nexport interface UtxoRef {\n txid: string;\n vout: number;\n}\n\n/**\n * Information about a missing/spent UTXO.\n */\nexport interface MissingUtxoInfo {\n /** Transaction ID of the missing UTXO */\n txid: string;\n /** Output index of the missing UTXO */\n vout: number;\n}\n\n/**\n * Result of UTXO validation.\n */\nexport interface UtxoValidationResult {\n /** Whether all UTXOs are still available */\n allAvailable: boolean;\n /** List of missing UTXOs (if any) */\n missingUtxos: MissingUtxoInfo[];\n /** Total number of inputs checked */\n totalInputs: number;\n}\n\n/**\n * Error thrown when UTXOs are not available.\n */\nexport class UtxoNotAvailableError extends Error {\n public readonly missingUtxos: MissingUtxoInfo[];\n\n constructor(missingUtxos: MissingUtxoInfo[]) {\n const count = missingUtxos.length;\n const message =\n count === 1\n ? \"The UTXO for this peg-in is no longer available. It may have been spent in another transaction. Please create a new peg-in request with a different UTXO.\"\n : `${count} UTXOs for this peg-in are no longer available. They may have been spent. Please create a new peg-in request with different UTXOs.`;\n\n super(message);\n this.name = \"UtxoNotAvailableError\";\n this.missingUtxos = missingUtxos;\n }\n}\n\n/**\n * Extract input references (txid:vout) from an unsigned transaction.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @returns Array of input references\n */\nexport function extractInputsFromTransaction(\n unsignedTxHex: string,\n): Array<{ txid: string; vout: number }> {\n const cleanHex = unsignedTxHex.startsWith(\"0x\")\n ? unsignedTxHex.slice(2)\n : unsignedTxHex;\n\n let tx: Transaction;\n try {\n tx = Transaction.fromHex(cleanHex);\n } catch (error) {\n throw new Error(\n `Failed to parse BTC transaction: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n\n return tx.ins.map((input) => ({\n // Bitcoin stores txid in reverse byte order\n txid: Buffer.from(input.hash).reverse().toString(\"hex\"),\n vout: input.index,\n }));\n}\n\n/**\n * Validate that all UTXOs in a transaction are still available.\n *\n * Pure function — accepts pre-fetched UTXOs instead of making network calls.\n * This should be called BEFORE signing to avoid wasting user effort\n * signing a transaction that will fail to broadcast.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @param availableUtxos - Pre-fetched list of available UTXOs for the depositor\n * @returns Validation result with missing UTXO details\n */\nexport function validateUtxosAvailable(\n unsignedTxHex: string,\n availableUtxos: UtxoRef[],\n): UtxoValidationResult {\n const inputs = extractInputsFromTransaction(unsignedTxHex);\n\n if (inputs.length === 0) {\n throw new Error(\"Transaction has no inputs\");\n }\n\n // Detect duplicate inputs (same txid:vout referenced more than once).\n // This would produce an invalid Bitcoin transaction.\n const inputKeys = new Set<string>();\n for (const input of inputs) {\n const key = `${input.txid.toLowerCase()}:${input.vout}`;\n if (inputKeys.has(key)) {\n throw new Error(\n `Transaction contains duplicate input ${input.txid}:${input.vout}. ` +\n `This would produce an invalid Bitcoin transaction.`,\n );\n }\n inputKeys.add(key);\n }\n\n // Set of available outpoints for O(1) lookup. Lowercased so the comparison\n // is case-insensitive against whatever case the wallet returned.\n const availableSet = new Set(\n availableUtxos.map((utxo) => `${utxo.txid.toLowerCase()}:${utxo.vout}`),\n );\n\n // Check which inputs are missing\n const missingUtxos: MissingUtxoInfo[] = [];\n for (const input of inputs) {\n const key = `${input.txid.toLowerCase()}:${input.vout}`;\n if (!availableSet.has(key)) {\n missingUtxos.push({\n txid: input.txid,\n vout: input.vout,\n });\n }\n }\n\n return {\n allAvailable: missingUtxos.length === 0,\n missingUtxos,\n totalInputs: inputs.length,\n };\n}\n\n/**\n * Validate UTXOs and throw if any are not available.\n *\n * Pure convenience function that combines validation and error throwing.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @param availableUtxos - Pre-fetched list of available UTXOs for the depositor\n * @throws UtxoNotAvailableError if any UTXOs are not available\n * @throws Error if validation fails\n */\nexport function assertUtxosAvailable(\n unsignedTxHex: string,\n availableUtxos: UtxoRef[],\n): void {\n const result = validateUtxosAvailable(unsignedTxHex, availableUtxos);\n\n if (!result.allAvailable) {\n throw new UtxoNotAvailableError(result.missingUtxos);\n }\n}\n","/**\n * Pending-vault outpoint overlap detection.\n *\n * Given the depositor's pending vaults (indexer + local cache) and the\n * outpoints a new deposit's coin selector picked, return the set of\n * pending vault ids whose Pre-PegIn BTC tx shares an input. Advisory\n * only — used to warn the user before signing.\n *\n * Only `PENDING` vaults contribute: VERIFIED+ have their Pre-PegIn\n * already confirmed on-chain, so those inputs cannot still appear in\n * the wallet's spendable set.\n */\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { Buffer } from \"buffer\";\n\nimport { stripHexPrefix } from \"../../primitives/utils/bitcoin\";\nimport { ContractStatus } from \"../../services/deposit/peginState\";\n\nimport { type UtxoRef } from \"./availability\";\n\n/** Locally-known pending pegin. `id` is the bytes32 vault id. */\nexport interface PendingPeginLike {\n id?: string;\n unsignedTxHex?: string;\n}\n\n/** On-chain vault row from the indexer. */\nexport interface VaultLike {\n id?: string;\n status: number;\n unsignedPrePeginTx: string;\n}\n\nexport interface FindOverlappingPendingVaultsParams {\n selectedOutpoints: ReadonlyArray<UtxoRef>;\n vaults?: ReadonlyArray<VaultLike>;\n pendingPegins?: ReadonlyArray<PendingPeginLike>;\n}\n\nfunction extractInputUtxoRefs(txHex: string): UtxoRef[] {\n try {\n const tx = Transaction.fromHex(stripHexPrefix(txHex));\n return tx.ins.map((input) => ({\n txid: Buffer.from(input.hash).reverse().toString(\"hex\"),\n vout: input.index,\n }));\n } catch {\n return [];\n }\n}\n\nfunction outpointKey(o: UtxoRef): string {\n return `${o.txid.toLowerCase()}:${o.vout}`;\n}\n\n/**\n * Return the ids of pending vaults whose committed Pre-PegIn inputs\n * overlap any of the just-selected outpoints. On-chain `PENDING` vaults\n * take precedence over a same-id local pegin entry.\n */\nexport function findOverlappingPendingVaults(\n params: FindOverlappingPendingVaultsParams,\n): string[] {\n const { selectedOutpoints, vaults = [], pendingPegins = [] } = params;\n\n const selectedSet = new Set(selectedOutpoints.map(outpointKey));\n if (selectedSet.size === 0) return [];\n\n const seenIds = new Set<string>();\n const impacted = new Set<string>();\n\n const consider = (id: string | undefined, txHex: string): void => {\n if (!id) return;\n const idLower = id.toLowerCase();\n if (seenIds.has(idLower)) return;\n seenIds.add(idLower);\n const inputs = extractInputUtxoRefs(txHex);\n for (const input of inputs) {\n if (selectedSet.has(outpointKey(input))) {\n impacted.add(id);\n return;\n }\n }\n };\n\n // On-chain wins on id collision.\n for (const v of vaults) {\n if (v.status !== ContractStatus.PENDING) continue;\n consider(v.id, v.unsignedPrePeginTx);\n }\n for (const p of pendingPegins) {\n if (!p.unsignedTxHex) continue;\n consider(p.id, p.unsignedTxHex);\n }\n\n return Array.from(impacted);\n}\n"],"names":["UtxoNotAvailableError","missingUtxos","count","message","__publicField","extractInputsFromTransaction","unsignedTxHex","cleanHex","tx","Transaction","error","input","Buffer","validateUtxosAvailable","availableUtxos","inputs","inputKeys","key","availableSet","utxo","assertUtxosAvailable","result","extractInputUtxoRefs","txHex","stripHexPrefix","outpointKey","o","findOverlappingPendingVaults","params","selectedOutpoints","vaults","pendingPegins","selectedSet","seenIds","impacted","consider","id","idLower","v","ContractStatus","p"],"mappings":"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"}
1
+ {"version":3,"file":"reservation-CDbInVw0.cjs","sources":["../src/tbv/core/utils/utxo/availability.ts","../src/tbv/core/utils/utxo/reservation.ts"],"sourcesContent":["/**\n * UTXO Availability Validation\n *\n * Validates that UTXOs referenced in a pre-pegin transaction are still unspent\n * BEFORE asking the user to sign. This prevents wasted signing effort when\n * UTXOs have already been spent by unrelated transactions.\n *\n * These functions are pure — they accept pre-fetched UTXOs and perform no I/O.\n * The vault service wrapper is responsible for fetching UTXOs from the mempool.\n */\n\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { Buffer } from \"buffer\";\n\n/**\n * Reference to a Bitcoin UTXO by its outpoint (txid + vout).\n *\n * Used by the availability check to compare a Pre-PegIn transaction's\n * declared inputs against the wallet's current spendable set. Txids are\n * compared case-insensitively; callers should treat the txid as opaque\n * lowercase hex.\n */\nexport interface UtxoRef {\n txid: string;\n vout: number;\n}\n\n/**\n * Information about a missing/spent UTXO.\n */\nexport interface MissingUtxoInfo {\n /** Transaction ID of the missing UTXO */\n txid: string;\n /** Output index of the missing UTXO */\n vout: number;\n}\n\n/**\n * Result of UTXO validation.\n */\nexport interface UtxoValidationResult {\n /** Whether all UTXOs are still available */\n allAvailable: boolean;\n /** List of missing UTXOs (if any) */\n missingUtxos: MissingUtxoInfo[];\n /** Total number of inputs checked */\n totalInputs: number;\n}\n\n/**\n * Error thrown when UTXOs are not available.\n */\nexport class UtxoNotAvailableError extends Error {\n public readonly missingUtxos: MissingUtxoInfo[];\n\n constructor(missingUtxos: MissingUtxoInfo[]) {\n const count = missingUtxos.length;\n const message =\n count === 1\n ? \"The UTXO for this peg-in is no longer available. It may have been spent in another transaction. Please create a new peg-in request with a different UTXO.\"\n : `${count} UTXOs for this peg-in are no longer available. They may have been spent. Please create a new peg-in request with different UTXOs.`;\n\n super(message);\n this.name = \"UtxoNotAvailableError\";\n this.missingUtxos = missingUtxos;\n }\n}\n\n/**\n * Extract input references (txid:vout) from an unsigned transaction.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @returns Array of input references\n */\nexport function extractInputsFromTransaction(\n unsignedTxHex: string,\n): Array<{ txid: string; vout: number }> {\n const cleanHex = unsignedTxHex.startsWith(\"0x\")\n ? unsignedTxHex.slice(2)\n : unsignedTxHex;\n\n let tx: Transaction;\n try {\n tx = Transaction.fromHex(cleanHex);\n } catch (error) {\n throw new Error(\n `Failed to parse BTC transaction: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n\n return tx.ins.map((input) => ({\n // Bitcoin stores txid in reverse byte order\n txid: Buffer.from(input.hash).reverse().toString(\"hex\"),\n vout: input.index,\n }));\n}\n\n/**\n * Validate that all UTXOs in a transaction are still available.\n *\n * Pure function — accepts pre-fetched UTXOs instead of making network calls.\n * This should be called BEFORE signing to avoid wasting user effort\n * signing a transaction that will fail to broadcast.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @param availableUtxos - Pre-fetched list of available UTXOs for the depositor\n * @returns Validation result with missing UTXO details\n */\nexport function validateUtxosAvailable(\n unsignedTxHex: string,\n availableUtxos: UtxoRef[],\n): UtxoValidationResult {\n const inputs = extractInputsFromTransaction(unsignedTxHex);\n\n if (inputs.length === 0) {\n throw new Error(\"Transaction has no inputs\");\n }\n\n // Detect duplicate inputs (same txid:vout referenced more than once).\n // This would produce an invalid Bitcoin transaction.\n const inputKeys = new Set<string>();\n for (const input of inputs) {\n const key = `${input.txid.toLowerCase()}:${input.vout}`;\n if (inputKeys.has(key)) {\n throw new Error(\n `Transaction contains duplicate input ${input.txid}:${input.vout}. ` +\n `This would produce an invalid Bitcoin transaction.`,\n );\n }\n inputKeys.add(key);\n }\n\n // Set of available outpoints for O(1) lookup. Lowercased so the comparison\n // is case-insensitive against whatever case the wallet returned.\n const availableSet = new Set(\n availableUtxos.map((utxo) => `${utxo.txid.toLowerCase()}:${utxo.vout}`),\n );\n\n // Check which inputs are missing\n const missingUtxos: MissingUtxoInfo[] = [];\n for (const input of inputs) {\n const key = `${input.txid.toLowerCase()}:${input.vout}`;\n if (!availableSet.has(key)) {\n missingUtxos.push({\n txid: input.txid,\n vout: input.vout,\n });\n }\n }\n\n return {\n allAvailable: missingUtxos.length === 0,\n missingUtxos,\n totalInputs: inputs.length,\n };\n}\n\n/**\n * Validate UTXOs and throw if any are not available.\n *\n * Pure convenience function that combines validation and error throwing.\n *\n * @param unsignedTxHex - Unsigned transaction hex\n * @param availableUtxos - Pre-fetched list of available UTXOs for the depositor\n * @throws UtxoNotAvailableError if any UTXOs are not available\n * @throws Error if validation fails\n */\nexport function assertUtxosAvailable(\n unsignedTxHex: string,\n availableUtxos: UtxoRef[],\n): void {\n const result = validateUtxosAvailable(unsignedTxHex, availableUtxos);\n\n if (!result.allAvailable) {\n throw new UtxoNotAvailableError(result.missingUtxos);\n }\n}\n","/**\n * Pending-vault outpoint overlap detection.\n *\n * Given the depositor's pending vaults (indexer + local cache) and the\n * outpoints a new deposit's coin selector picked, return the set of\n * pending vault ids whose Pre-PegIn BTC tx shares an input. Advisory\n * only — used to warn the user before signing.\n *\n * Only `PENDING` vaults contribute: VERIFIED+ have their Pre-PegIn\n * already confirmed on-chain, so those inputs cannot still appear in\n * the wallet's spendable set.\n */\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { Buffer } from \"buffer\";\n\nimport { stripHexPrefix } from \"../../primitives/utils/bitcoin\";\nimport { ContractStatus } from \"../../services/deposit/peginState\";\n\nimport { type UtxoRef } from \"./availability\";\n\n/** Locally-known pending pegin. `id` is the bytes32 vault id. */\nexport interface PendingPeginLike {\n id?: string;\n unsignedTxHex?: string;\n}\n\n/** On-chain vault row from the indexer. */\nexport interface VaultLike {\n id?: string;\n status: number;\n unsignedPrePeginTx: string;\n}\n\nexport interface FindOverlappingPendingVaultsParams {\n selectedOutpoints: ReadonlyArray<UtxoRef>;\n vaults?: ReadonlyArray<VaultLike>;\n pendingPegins?: ReadonlyArray<PendingPeginLike>;\n}\n\nfunction extractInputUtxoRefs(txHex: string): UtxoRef[] {\n try {\n const tx = Transaction.fromHex(stripHexPrefix(txHex));\n return tx.ins.map((input) => ({\n txid: Buffer.from(input.hash).reverse().toString(\"hex\"),\n vout: input.index,\n }));\n } catch {\n return [];\n }\n}\n\nfunction outpointKey(o: UtxoRef): string {\n return `${o.txid.toLowerCase()}:${o.vout}`;\n}\n\n/**\n * Return the ids of pending vaults whose committed Pre-PegIn inputs\n * overlap any of the just-selected outpoints. On-chain `PENDING` vaults\n * take precedence over a same-id local pegin entry.\n */\nexport function findOverlappingPendingVaults(\n params: FindOverlappingPendingVaultsParams,\n): string[] {\n const { selectedOutpoints, vaults = [], pendingPegins = [] } = params;\n\n const selectedSet = new Set(selectedOutpoints.map(outpointKey));\n if (selectedSet.size === 0) return [];\n\n const seenIds = new Set<string>();\n const impacted = new Set<string>();\n\n const consider = (id: string | undefined, txHex: string): void => {\n if (!id) return;\n const idLower = id.toLowerCase();\n if (seenIds.has(idLower)) return;\n seenIds.add(idLower);\n const inputs = extractInputUtxoRefs(txHex);\n for (const input of inputs) {\n if (selectedSet.has(outpointKey(input))) {\n impacted.add(id);\n return;\n }\n }\n };\n\n // On-chain wins on id collision.\n for (const v of vaults) {\n if (v.status !== ContractStatus.PENDING) continue;\n consider(v.id, v.unsignedPrePeginTx);\n }\n for (const p of pendingPegins) {\n if (!p.unsignedTxHex) continue;\n consider(p.id, p.unsignedTxHex);\n }\n\n return Array.from(impacted);\n}\n"],"names":["UtxoNotAvailableError","missingUtxos","count","message","__publicField","extractInputsFromTransaction","unsignedTxHex","cleanHex","tx","Transaction","error","input","Buffer","validateUtxosAvailable","availableUtxos","inputs","inputKeys","key","availableSet","utxo","assertUtxosAvailable","result","extractInputUtxoRefs","txHex","stripHexPrefix","outpointKey","o","findOverlappingPendingVaults","params","selectedOutpoints","vaults","pendingPegins","selectedSet","seenIds","impacted","consider","id","idLower","v","ContractStatus","p"],"mappings":"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"}
@@ -6,8 +6,8 @@ import { OnChainBtcPubkey } from './types';
6
6
  * 64-char lowercase hex without the `0x` prefix.
7
7
  *
8
8
  * `label` identifies the read site in error messages (e.g.
9
- * `getVaultProviderBTCKey (vp=0x…)`), so a failure names which participant and
10
- * which getter produced it.
9
+ * `getOperationBtcKeyAtEpoch (vp=0x…, epoch=0)`), so a failure names which
10
+ * participant and which getter produced it.
11
11
  *
12
12
  * A zero hash fails the curve check, so an unregistered operator or an epoch
13
13
  * with no bonded key surfaces as an error rather than a silent all-zero key.
@@ -4,7 +4,7 @@ declare const onChainBtcPubkeyBrand: unique symbol;
4
4
  * 64-char lowercase hex (no `0x`) x-only BTC pubkey sourced from an on-chain
5
5
  * registry. Minted only by `assertOnChainBtcPubkey`, which is the shared
6
6
  * validator behind both producers:
7
- * {@link VaultRegistryReader.getVaultProviderBtcPubKey} (the fixed
7
+ * {@link VaultRegistryReader.getVaultProviderGenesisBtcPubKey} (the fixed
8
8
  * registration key) and {@link OperationKeyReader} (RFC-006 operation keys,
9
9
  * resolved current or at a vault's frozen epoch).
10
10
  *
@@ -91,7 +91,18 @@ export interface VaultRegistryReader {
91
91
  getVaultProtocolInfo(vaultId: Hex): Promise<VaultProtocolInfo>;
92
92
  getProtocolInfoBatch(vaultIds: readonly Hex[]): Promise<VaultProtocolInfo[]>;
93
93
  getVaultData(vaultId: Hex): Promise<VaultData>;
94
- getVaultProviderBtcPubKey(vpAddress: Address): Promise<OnChainBtcPubkey>;
94
+ /**
95
+ * Read a vault provider's *genesis* (registration) BTC key — the key bonded
96
+ * at version 0, which never moves when the operator rotates.
97
+ *
98
+ * Used only as the genesis fallback for epoch-based resolution and as a
99
+ * candidate when cross-checking an indexer hint. Never the key to build a
100
+ * Bitcoin lock with; that comes from `OperationKeyReader`.
101
+ *
102
+ * Resolves via `getOperationBtcKeyAtEpoch` at epoch 0, so it requires an
103
+ * RFC-006 registry — as does every caller.
104
+ */
105
+ getVaultProviderGenesisBtcPubKey(vpAddress: Address): Promise<OnChainBtcPubkey>;
95
106
  /** Read the protocol pegin fee (in wei) for a given vault provider. */
96
107
  getPegInFee(vaultProvider: Address): Promise<bigint>;
97
108
  /**
@@ -259,7 +270,8 @@ export interface UniversalChallengerReader {
259
270
  export interface OperationKeyQuery {
260
271
  vaultProviderEthAddress: Address;
261
272
  /**
262
- * The VP's genesis (registration) key, from `getVaultProviderBTCKey`.
273
+ * The VP's genesis (registration) key, from
274
+ * {@link VaultRegistryReader.getVaultProviderGenesisBtcPubKey}.
263
275
  *
264
276
  * The VP has no roster entry to carry a genesis key the way keepers and
265
277
  * challengers do, so it is supplied here. Every call site already reads it:
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/eth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/eth/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAMzC,OAAO,CAAC,MAAM,qBAAqB,EAAE,OAAO,MAAM,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IACtC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,oBAAY,qBAAqB;IAC/B,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,OAAO,IAAI;CACZ;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,GAAG,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,GAAG,CAAC;IAC5B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IACnC,wFAAwF;IACxF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,oBAAoB,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7E,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C;;;;;;;;;;OAUG;IACH,gCAAgC,CAC9B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,uEAAuE;IACvE,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD;;;;;OAKG;IACH,0BAA0B,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE;;;;OAIG;IACH,mCAAmC,CACjC,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,kEAAkE;IAClE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACvE;;;;OAIG;IACH,sCAAsC,CACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,GAAG,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,uBAAuB,CAAC;IACxC;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,KACT,IAAI,CAAC;AAEV,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnD,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9E,uBAAuB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,sBAAsB,CACpB,gBAAgB,CAAC,EAAE,8BAA8B,GAChD,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,wBAAwB,CACtB,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,sBAAsB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7E,6BAA6B,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE;AAED,oFAAoF;AACpF,MAAM,WAAW,yBAAyB;IACxC,gCAAgC,CAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,8BAA8B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/D,oCAAoC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;;;;;OAQG;IACH,6BAA6B,EAAE,GAAG,CAAC;IACnC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sEAAsE;IACtE,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,0EAA0E;IAC1E,oBAAoB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACpD;AAED,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,oBAAoB,EAAE,GAAG,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,EAAE,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7E;;;OAGG;IACH,wBAAwB,CACtB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B;;;;;;;;OAQG;IACH,wBAAwB,CACtB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
@@ -14,18 +14,35 @@ export declare class ViemVaultRegistryReader implements VaultRegistryReader {
14
14
  private contractAddress;
15
15
  constructor(publicClient: PublicClient, contractAddress: Address);
16
16
  /**
17
- * Read the VP's persistent x-only BTC pubkey from the on-chain
18
- * registry. Validates length, hex form, and secp256k1 curve
19
- * membership before minting the brand. Returns 64-char lowercase
20
- * hex without the `0x` prefix.
17
+ * Read the VP's **genesis** (registration) x-only BTC pubkey — the key bonded
18
+ * at version 0, which never moves when the operator rotates.
19
+ *
20
+ * Resolved as "the operation key at epoch 0" rather than through the
21
+ * dedicated `getVaultProviderBTCKey` getter, which
22
+ * https://github.com/babylonlabs-io/vault-contracts-aave-v4/pull/539 removes.
23
+ * Epoch 0 predates any rotation — appended versions are stamped at epoch 1 or
24
+ * later — so it resolves to the registration key, and the contracts team has
25
+ * confirmed that is a property we can rely on rather than an implementation
26
+ * detail. The devnet comparison behind that claim — both getters returning the
27
+ * identical key for a provider that *has* rotated, while
28
+ * `getCurrentOperationBtcKey` differed — is recorded in
29
+ * https://github.com/babylonlabs-io/babylon-toolkit/issues/2188.
30
+ *
31
+ * This makes the read RFC-006-only, where the removed getter also existed on a
32
+ * legacy registry. That costs nothing: every caller of this method already
33
+ * resolves participant keys through `OperationKeyReader`, so all of them
34
+ * require an RFC-006 registry regardless.
35
+ *
36
+ * Validates length, hex form, and secp256k1 curve membership before minting
37
+ * the brand. Returns 64-char lowercase hex without the `0x` prefix.
21
38
  */
22
- getVaultProviderBtcPubKey(vpAddress: Address): Promise<OnChainBtcPubkey>;
39
+ getVaultProviderGenesisBtcPubKey(vpAddress: Address): Promise<OnChainBtcPubkey>;
23
40
  /**
24
41
  * Read a vault provider's *current* RFC-006 operation BTC key.
25
42
  *
26
43
  * Falls back on-chain to the registration key when the provider has never
27
- * rotated, so this returns the same value as `getVaultProviderBtcPubKey`
28
- * until the first rotation.
44
+ * rotated, so this returns the same value as
45
+ * `getVaultProviderGenesisBtcPubKey` until the first rotation.
29
46
  *
30
47
  * This is the key the VP's server signs its BIP-322 auth tokens with — a
31
48
  * live per-operator identity, not a per-vault binding, so the auth pin uses
@@ -1 +1 @@
1
- {"version":3,"file":"vault-registry-reader.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/eth/vault-registry-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAO,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAM5D,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AA2GjB;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAE/D,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;gBADf,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,OAAO;IAGlC;;;;;OAKG;IACG,yBAAyB,CAC7B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;;;;;;;;OAUG;IACG,sCAAsC,CAC1C,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;;;;;;;OASG;IACG,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAWnD,sBAAsB,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkBtE,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAWxD,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAW9D,oBAAoB,CACxB,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2B/B;;;OAGG;IACG,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS1D;;;;;;OAMG;IACG,0BAA0B,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnE,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAqCpD;;;;OAIG;IACG,mCAAmC,CACvC,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC;CA4BrB"}
1
+ {"version":3,"file":"vault-registry-reader.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/eth/vault-registry-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAO,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAM5D,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAqHjB;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAE/D,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;gBADf,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,OAAO;IAGlC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,gCAAgC,CACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;;;;;;;;OAUG;IACG,sCAAsC,CAC1C,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;;;;;;;OASG;IACG,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAWnD,sBAAsB,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkBtE,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAWxD,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAW9D,oBAAoB,CACxB,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2B/B;;;OAGG;IACG,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS1D;;;;;;OAMG;IACG,0BAA0B,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnE,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAqCpD;;;;OAIG;IACG,mCAAmC,CACvC,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC;CA4BrB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../mempoolApi-DfD3_Y6v.cjs"),e=require("../../../batchPoll-D5IDDOa8.cjs"),r=require("../../../json-rpc-client-BiAmg_ho.cjs"),o=require("../../../onChainBtcPubkey-C_a2L3kL.cjs");exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;exports.ViemVaultRegistryReader=t.ViemVaultRegistryReader;exports.getAddressTxs=t.getAddressTxs;exports.getAddressUtxos=t.getAddressUtxos;exports.getMempoolApiUrl=t.getMempoolApiUrl;exports.getNetworkFees=t.getNetworkFees;exports.getOutspend=t.getOutspend;exports.getTipHeight=t.getTipHeight;exports.getTxHex=t.getTxHex;exports.getTxInfo=t.getTxInfo;exports.getUtxoInfo=t.getUtxoInfo;exports.pushTx=t.pushTx;exports.validateOffchainParams=t.validateOffchainParams;exports.validatePegInConfiguration=t.validatePegInConfiguration;exports.validateTBVProtocolParams=t.validateTBVProtocolParams;exports.OnChainBtcVaultStatus=e.OnChainBtcVaultStatus;exports.ServerIdentityError=e.ServerIdentityError;exports.VaultProviderRpcClient=e.VaultProviderRpcClient;exports.ViemOperationKeyReader=e.ViemOperationKeyReader;exports.ViemProtocolParamsReader=e.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=e.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=e.ViemVaultKeeperReader;exports.VpResponseValidationError=e.VpResponseValidationError;exports.VpTokenRegistry=e.VpTokenRegistry;exports.batchPollByProvider=e.batchPollByProvider;exports.createAuthenticatedVpClient=e.createAuthenticatedVpClient;exports.primeVpTokenRegistry=e.primeVpTokenRegistry;exports.resolveProtocolAddresses=e.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=e.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=e.verifyServerIdentity;exports.vpTokenRegistry=e.vpTokenRegistry;exports.AUTH_REJECTED_RPC_CODE=r.AUTH_REJECTED_RPC_CODE;exports.DaemonStatus=r.DaemonStatus;exports.JSON_RPC_ERROR_CODES=r.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=r.JsonRpcClient;exports.JsonRpcError=r.JsonRpcError;exports.POST_WOTS_STATUSES=r.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=r.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=r.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=r.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_FAILURE_STATUSES=r.VP_TERMINAL_FAILURE_STATUSES;exports.VP_TRANSIENT_STATUSES=r.VP_TRANSIENT_STATUSES;exports.isAuthRejectedError=r.isAuthRejectedError;exports.assertOnChainBtcPubkey=o.assertOnChainBtcPubkey;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../mempoolApi-BxhMqJ4f.cjs"),e=require("../../../batchPoll-C4hwVFa8.cjs"),r=require("../../../json-rpc-client-BiAmg_ho.cjs"),o=require("../../../onChainBtcPubkey-C_a2L3kL.cjs");exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;exports.ViemVaultRegistryReader=t.ViemVaultRegistryReader;exports.getAddressTxs=t.getAddressTxs;exports.getAddressUtxos=t.getAddressUtxos;exports.getMempoolApiUrl=t.getMempoolApiUrl;exports.getNetworkFees=t.getNetworkFees;exports.getOutspend=t.getOutspend;exports.getTipHeight=t.getTipHeight;exports.getTxHex=t.getTxHex;exports.getTxInfo=t.getTxInfo;exports.getUtxoInfo=t.getUtxoInfo;exports.pushTx=t.pushTx;exports.validateOffchainParams=t.validateOffchainParams;exports.validatePegInConfiguration=t.validatePegInConfiguration;exports.validateTBVProtocolParams=t.validateTBVProtocolParams;exports.OnChainBtcVaultStatus=e.OnChainBtcVaultStatus;exports.ServerIdentityError=e.ServerIdentityError;exports.VaultProviderRpcClient=e.VaultProviderRpcClient;exports.ViemOperationKeyReader=e.ViemOperationKeyReader;exports.ViemProtocolParamsReader=e.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=e.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=e.ViemVaultKeeperReader;exports.VpResponseValidationError=e.VpResponseValidationError;exports.VpTokenRegistry=e.VpTokenRegistry;exports.batchPollByProvider=e.batchPollByProvider;exports.createAuthenticatedVpClient=e.createAuthenticatedVpClient;exports.primeVpTokenRegistry=e.primeVpTokenRegistry;exports.resolveProtocolAddresses=e.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=e.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=e.verifyServerIdentity;exports.vpTokenRegistry=e.vpTokenRegistry;exports.AUTH_REJECTED_RPC_CODE=r.AUTH_REJECTED_RPC_CODE;exports.DaemonStatus=r.DaemonStatus;exports.JSON_RPC_ERROR_CODES=r.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=r.JsonRpcClient;exports.JsonRpcError=r.JsonRpcError;exports.POST_WOTS_STATUSES=r.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=r.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=r.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=r.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_FAILURE_STATUSES=r.VP_TERMINAL_FAILURE_STATUSES;exports.VP_TRANSIENT_STATUSES=r.VP_TRANSIENT_STATUSES;exports.isAuthRejectedError=r.isAuthRejectedError;exports.assertOnChainBtcPubkey=o.assertOnChainBtcPubkey;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { M as s, V as r, g as t, a as o, b as i, c as R, d as n, e as d, f as T, h as p, i as S, p as l, v as E, j as P, k as V } from "../../../mempoolApi-CMHEz4ez.js";
2
- import { O as A, S as g, V as c, g as m, h as O, i as C, j as v, a as f, d as u, b as I, f as h, p as x, r as U, v as y, c as D, e as k } from "../../../batchPoll-B0VxT62K.js";
1
+ import { M as s, V as r, g as t, a as o, b as i, c as R, d as n, e as d, f as T, h as p, i as S, p as l, v as E, j as P, k as V } from "../../../mempoolApi-BQKF5MTr.js";
2
+ import { O as A, S as g, V as c, g as m, h as O, i as C, j as v, a as f, d as u, b as I, f as h, p as x, r as U, v as y, c as D, e as k } from "../../../batchPoll-L9LzMl1E.js";
3
3
  import { A as N, D as b, J as B, a as J, b as H, d as L, P as j, R as F, e as K, c as q, V as w, i as G } from "../../../json-rpc-client-DuUARJvV.js";
4
4
  import { a as X } from "../../../onChainBtcPubkey-DeF4cKoO.js";
5
5
  export {
@@ -203,6 +203,20 @@ export declare const BTCVaultRegistryABI: readonly [{
203
203
  }];
204
204
  readonly outputs: readonly [];
205
205
  readonly stateMutability: "nonpayable";
206
+ }, {
207
+ readonly type: "function";
208
+ readonly name: "activateVaultWithSecretAndRedeem";
209
+ readonly inputs: readonly [{
210
+ readonly name: "vaultId";
211
+ readonly type: "bytes32";
212
+ readonly internalType: "bytes32";
213
+ }, {
214
+ readonly name: "s";
215
+ readonly type: "bytes32";
216
+ readonly internalType: "bytes32";
217
+ }];
218
+ readonly outputs: readonly [];
219
+ readonly stateMutability: "nonpayable";
206
220
  }, {
207
221
  readonly type: "function";
208
222
  readonly name: "getPegInFee";
@@ -217,20 +231,6 @@ export declare const BTCVaultRegistryABI: readonly [{
217
231
  readonly internalType: "uint256";
218
232
  }];
219
233
  readonly stateMutability: "view";
220
- }, {
221
- readonly type: "function";
222
- readonly name: "getVaultProviderBTCKey";
223
- readonly inputs: readonly [{
224
- readonly name: "vpAddr";
225
- readonly type: "address";
226
- readonly internalType: "address";
227
- }];
228
- readonly outputs: readonly [{
229
- readonly name: "";
230
- readonly type: "bytes32";
231
- readonly internalType: "bytes32";
232
- }];
233
- readonly stateMutability: "view";
234
234
  }, {
235
235
  readonly type: "function";
236
236
  readonly name: "getCurrentOperationBtcKey";
@@ -1 +1 @@
1
- {"version":3,"file":"BTCVaultRegistry.abi.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsnBtB,CAAC"}
1
+ {"version":3,"file":"BTCVaultRegistry.abi.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuoBtB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../ProtocolParams.abi-C8U7BHCS.cjs"),o=require("../../../BTCVaultRegistry.abi-AUAyCHal.cjs"),e=require("../../../BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs"),r=require("../../../errors-CGcNP0rV.cjs");exports.ApplicationRegistryABI=t.ApplicationRegistryABI;exports.ProtocolParamsABI=t.ProtocolParamsABI;exports.BTCVaultRegistryABI=o.BTCVaultRegistryABI;exports.BTCVaultRegistryKeyEpochsABI=e.BTCVaultRegistryKeyEpochsABI;exports.CONTRACT_ERRORS=r.CONTRACT_ERRORS;exports.extractErrorData=r.extractErrorData;exports.getContractErrorMessage=r.getContractErrorMessage;exports.handleContractError=r.handleContractError;exports.isKnownContractError=r.isKnownContractError;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../ProtocolParams.abi-C8U7BHCS.cjs"),o=require("../../../BTCVaultRegistry.abi-3VLWva2x.cjs"),e=require("../../../BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs"),r=require("../../../errors-CGcNP0rV.cjs");exports.ApplicationRegistryABI=t.ApplicationRegistryABI;exports.ProtocolParamsABI=t.ProtocolParamsABI;exports.BTCVaultRegistryABI=o.BTCVaultRegistryABI;exports.BTCVaultRegistryKeyEpochsABI=e.BTCVaultRegistryKeyEpochsABI;exports.CONTRACT_ERRORS=r.CONTRACT_ERRORS;exports.extractErrorData=r.extractErrorData;exports.getContractErrorMessage=r.getContractErrorMessage;exports.handleContractError=r.handleContractError;exports.isKnownContractError=r.isKnownContractError;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { A as o, P as t } from "../../../ProtocolParams.abi-CV938AYZ.js";
2
- import { B as e } from "../../../BTCVaultRegistry.abi-CixOlp3B.js";
2
+ import { B as e } from "../../../BTCVaultRegistry.abi-B3BLhpJ4.js";
3
3
  import { B as C } from "../../../BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js";
4
4
  import { C as i, e as n, g as p, h as A, i as R } from "../../../errors-Blc-JWnI.js";
5
5
  export {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../challengeAssert-BFRE2DM-.cjs"),m=require("../../constants-DU5CGcqO.cjs"),n=require("@babylonlabs-io/babylon-tbv-rust-wasm"),u=require("../../verifyScriptPathSchnorrSignature-CYjK4IP_.cjs"),R=require("../../peginInput-Ci921gTl.cjs"),g=require("../../noPayout-qUEtRKc_.cjs"),t=require("../../bitcoin-m84N5a8o.cjs"),c=require("../../validation-CDbOaDj7.cjs"),O=require("../../signing-Bnsro0hE.cjs"),l=require("../../PeginManager-CogqZaa2.cjs"),d=require("../../signPsbtsWithFallback-Xs4jZw5z.cjs"),_=require("../../ProtocolParams.abi-C8U7BHCS.cjs"),y=require("../../BTCVaultRegistry.abi-AUAyCHal.cjs"),b=require("../../BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs"),P=require("../../errors-CGcNP0rV.cjs"),T=require("../../deriveVaultRoot-p4uGsM7w.cjs"),C=require("../../parseFundingOutpoints-C_-PT9BT.cjs"),o=require("../../waitForTransactionReceiptSmartAware-AgZ-3WV_.cjs"),i=require("../../fundPeginTransaction-BLD8FRL9.cjs"),p=require("../../reservation-RGKvg2x6.cjs"),a=require("../../mempoolApi-DfD3_Y6v.cjs"),r=require("../../batchPoll-D5IDDOa8.cjs"),s=require("../../json-rpc-client-BiAmg_ho.cjs"),V=require("../../onChainBtcPubkey-C_a2L3kL.cjs"),A=require("../../errors-2aF9oRwM.cjs"),e=require("../../buildAndBroadcastRefund-BL8u-Ti4.cjs"),E=require("../../peginState-CBBJw4Za.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;exports.assertValidVaultCoreVersion=m.assertValidVaultCoreVersion;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>n.computeMinClaimValue});Object.defineProperty(exports,"computeMinPeginFee",{enumerable:!0,get:()=>n.computeMinPeginFee});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>n.deriveVaultId});Object.defineProperty(exports,"expandAuthAnchor",{enumerable:!0,get:()=>n.expandAuthAnchor});Object.defineProperty(exports,"expandHashlockSecret",{enumerable:!0,get:()=>n.expandHashlockSecret});Object.defineProperty(exports,"expandWotsSeed",{enumerable:!0,get:()=>n.expandWotsSeed});Object.defineProperty(exports,"peginP2aAnchorOutput",{enumerable:!0,get:()=>n.peginP2aAnchorOutput});Object.defineProperty(exports,"supportedTxGraphVersions",{enumerable:!0,get:()=>n.supportedTxGraphVersions});Object.defineProperty(exports,"validatePeginP2aAnchor",{enumerable:!0,get:()=>n.validatePeginP2aAnchor});exports.PsbtSubstitutionError=u.PsbtSubstitutionError;exports.assertPsbtUnsignedTxMatches=u.assertPsbtUnsignedTxMatches;exports.assertScriptPathSchnorrSignature=u.assertScriptPathSchnorrSignature;exports.buildPayoutPsbt=u.buildPayoutPsbt;exports.buildPeginTxFromFundedPrePegin=u.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=u.buildPrePeginPsbt;exports.createPayoutScript=u.createPayoutScript;exports.extractPayoutSignature=u.extractPayoutSignature;exports.buildPeginInputPsbt=R.buildPeginInputPsbt;exports.extractPeginInputSignature=R.extractPeginInputSignature;exports.finalizePeginInputPsbt=R.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=g.buildNoPayoutPsbt;exports.buildRefundPsbt=g.buildRefundPsbt;exports.canonicalizeBtcPubkey=t.canonicalizeBtcPubkey;exports.deriveBip86ScriptPubKeyHex=t.deriveBip86ScriptPubKeyHex;exports.deriveNativeSegwitAddress=t.deriveNativeSegwitAddress;exports.deriveTaprootAddress=t.deriveTaprootAddress;exports.ensureHexPrefix=t.ensureHexPrefix;exports.formatSatoshisToBtc=t.formatSatoshisToBtc;exports.getNetwork=t.getNetwork;exports.getSortedXOnlyPubkeys=t.getSortedXOnlyPubkeys;exports.hexToUint8Array=t.hexToUint8Array;exports.isAddressFromPublicKey=t.isAddressFromPublicKey;exports.isValidHex=t.isValidHex;exports.processPublicKeyToXOnly=t.processPublicKeyToXOnly;exports.stripHexPrefix=t.stripHexPrefix;exports.toXOnly=t.toXOnly;exports.uint8ArrayToHex=t.uint8ArrayToHex;exports.validateWalletPubkey=t.validateWalletPubkey;exports.BITCOIN_ADDRESS_RE=c.BITCOIN_ADDRESS_RE;exports.HEX_RE=c.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=c.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=c.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=c.TXID_RE;exports.combineAbortSignals=c.combineAbortSignals;exports.createTaprootScriptPathSignOptions=O.createTaprootScriptPathSignOptions;exports.PeginManager=l.PeginManager;exports.buildDepositTerms=l.buildDepositTerms;exports.computeWotsBlockPublicKeysHash=l.computeWotsBlockPublicKeysHash;exports.deriveWotsBlocksFromSeed=l.deriveWotsBlocksFromSeed;exports.estimateSubmitPeginRequestBatchGas=l.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=d.PayoutManager;exports.computeHashlock=d.computeHashlock;exports.forwardDepositApproval=d.forwardDepositApproval;exports.supportsDepositApproval=d.supportsDepositApproval;exports.validateSecretAgainstHashlock=d.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=_.ApplicationRegistryABI;exports.ProtocolParamsABI=_.ProtocolParamsABI;exports.BTCVaultRegistryABI=y.BTCVaultRegistryABI;exports.BTCVaultRegistryKeyEpochsABI=b.BTCVaultRegistryKeyEpochsABI;exports.CONTRACT_ERRORS=P.CONTRACT_ERRORS;exports.extractErrorData=P.extractErrorData;exports.getContractErrorMessage=P.getContractErrorMessage;exports.handleContractError=P.handleContractError;exports.isKnownContractError=P.isKnownContractError;exports.VAULT_APP_NAME=T.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=T.buildFundingOutpointsCommitment;exports.buildVaultContext=T.buildVaultContext;exports.deriveVaultRoot=T.deriveVaultRoot;exports.parseFundingOutpointsFromTx=C.parseFundingOutpointsFromTx;exports.BitcoinScriptType=o.BitcoinScriptType;exports.applyChangeOutputPolicy=o.applyChangeOutputPolicy;exports.calculateBtcTxHash=o.calculateBtcTxHash;exports.computeChangeOutputFeeSats=o.computeChangeOutputFeeSats;exports.computeMaxDeposit=o.computeMaxDeposit;exports.computePeginBaseFeeSats=o.computePeginBaseFeeSats;exports.getDustThreshold=o.getDustThreshold;exports.getPsbtInputFields=o.getPsbtInputFields;exports.getScriptType=o.getScriptType;exports.selectUtxosForPegin=o.selectUtxosForPegin;exports.shouldAddChangeOutput=o.shouldAddChangeOutput;exports.waitForTransactionReceiptSmartAware=o.waitForTransactionReceiptSmartAware;exports.BTC_DUST_SAT=i.BTC_DUST_SAT;exports.DUST_THRESHOLD=i.DUST_THRESHOLD;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=i.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=i.MAX_NON_LEGACY_OUTPUT_SIZE;exports.MAX_REASONABLE_PEGIN_VBYTES=i.MAX_REASONABLE_PEGIN_VBYTES;exports.P2TR_INPUT_SIZE=i.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=i.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=i.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=i.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=i.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=i.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=i.fundPeginTransaction;exports.parseUnfundedWasmTransaction=i.parseUnfundedWasmTransaction;exports.peginOutputCount=i.peginOutputCount;exports.rateBasedTxBufferFee=i.rateBasedTxBufferFee;exports.UtxoNotAvailableError=p.UtxoNotAvailableError;exports.assertUtxosAvailable=p.assertUtxosAvailable;exports.extractInputsFromTransaction=p.extractInputsFromTransaction;exports.findOverlappingPendingVaults=p.findOverlappingPendingVaults;exports.validateUtxosAvailable=p.validateUtxosAvailable;exports.MEMPOOL_API_URLS=a.MEMPOOL_API_URLS;exports.ViemVaultRegistryReader=a.ViemVaultRegistryReader;exports.getAddressTxs=a.getAddressTxs;exports.getAddressUtxos=a.getAddressUtxos;exports.getMempoolApiUrl=a.getMempoolApiUrl;exports.getNetworkFees=a.getNetworkFees;exports.getOutspend=a.getOutspend;exports.getTipHeight=a.getTipHeight;exports.getTxHex=a.getTxHex;exports.getTxInfo=a.getTxInfo;exports.getUtxoInfo=a.getUtxoInfo;exports.pushTx=a.pushTx;exports.validateOffchainParams=a.validateOffchainParams;exports.validatePegInConfiguration=a.validatePegInConfiguration;exports.validateTBVProtocolParams=a.validateTBVProtocolParams;exports.OnChainBtcVaultStatus=r.OnChainBtcVaultStatus;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemOperationKeyReader=r.ViemOperationKeyReader;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.AUTH_REJECTED_RPC_CODE=s.AUTH_REJECTED_RPC_CODE;exports.DaemonStatus=s.DaemonStatus;exports.JSON_RPC_ERROR_CODES=s.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=s.JsonRpcClient;exports.JsonRpcError=s.JsonRpcError;exports.POST_WOTS_STATUSES=s.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=s.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=s.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=s.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_FAILURE_STATUSES=s.VP_TERMINAL_FAILURE_STATUSES;exports.VP_TRANSIENT_STATUSES=s.VP_TRANSIENT_STATUSES;exports.isAuthRejectedError=s.isAuthRejectedError;exports.assertOnChainBtcPubkey=V.assertOnChainBtcPubkey;exports.DEPOSIT_TERMS_REJECTED_ERROR_NAME=A.DEPOSIT_TERMS_REJECTED_ERROR_NAME;exports.DepositTermsRejectedError=A.DepositTermsRejectedError;exports.isDepositTermsRejectedError=A.isDepositTermsRejectedError;exports.isWotsMismatchError=A.isWotsMismatchError;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.ParticipantKeyDriftError=e.ParticipantKeyDriftError;exports.REFUND_MAX_FEE_FRACTION_DENOMINATOR=e.REFUND_MAX_FEE_FRACTION_DENOMINATOR;exports.REFUND_MAX_FEE_FRACTION_NUMERATOR=e.REFUND_MAX_FEE_FRACTION_NUMERATOR;exports.REFUND_MAX_FEE_RATE_SATS_VB=e.REFUND_MAX_FEE_RATE_SATS_VB;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.RegisteredVaultVersionMismatchError=e.RegisteredVaultVersionMismatchError;exports.activateVault=e.activateVault;exports.assertVaultProviderHintAccepted=e.assertVaultProviderHintAccepted;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isHintAccepted=e.isHintAccepted;exports.isParticipantKeyDriftError=e.isParticipantKeyDriftError;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.isRegisteredVaultVersionMismatchError=e.isRegisteredVaultVersionMismatchError;exports.matchKeyHint=e.matchKeyHint;exports.matchKeySetHint=e.matchKeySetHint;exports.resolveCurrentParticipantKeys=e.resolveCurrentParticipantKeys;exports.resolveParticipantKeysAtEpochs=e.resolveParticipantKeysAtEpochs;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;exports.signDepositorGraph=e.signDepositorGraph;exports.submitWotsPublicKey=e.submitWotsPublicKey;exports.validateDepositAmount=e.validateDepositAmount;exports.validateMultiVaultDepositInputs=e.validateMultiVaultDepositInputs;exports.validateOnChainParticipantKeys=e.validateOnChainParticipantKeys;exports.validateProviderSelection=e.validateProviderSelection;exports.validateRemainingCapacity=e.validateRemainingCapacity;exports.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.verifyRegisteredParticipantKeys=e.verifyRegisteredParticipantKeys;exports.verifyRegisteredVaultVersions=e.verifyRegisteredVaultVersions;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=E.ContractStatus;exports.PeginAction=E.PeginAction;exports.canPerformAction=E.canPerformAction;exports.getPeginProtocolState=E.getPeginProtocolState;exports.isActivationDeadlinePassedOnChain=E.isActivationDeadlinePassedOnChain;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../challengeAssert-BFRE2DM-.cjs"),m=require("../../constants-DU5CGcqO.cjs"),n=require("@babylonlabs-io/babylon-tbv-rust-wasm"),u=require("../../verifyScriptPathSchnorrSignature-CYjK4IP_.cjs"),R=require("../../peginInput-Ci921gTl.cjs"),g=require("../../noPayout-qUEtRKc_.cjs"),t=require("../../bitcoin-m84N5a8o.cjs"),c=require("../../validation-CDbOaDj7.cjs"),O=require("../../signing-Bnsro0hE.cjs"),l=require("../../PeginManager-OXUOsgz2.cjs"),d=require("../../signPsbtsWithFallback-Xs4jZw5z.cjs"),_=require("../../ProtocolParams.abi-C8U7BHCS.cjs"),y=require("../../BTCVaultRegistry.abi-3VLWva2x.cjs"),b=require("../../BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs"),P=require("../../errors-CGcNP0rV.cjs"),T=require("../../deriveVaultRoot-p4uGsM7w.cjs"),C=require("../../parseFundingOutpoints-C_-PT9BT.cjs"),o=require("../../waitForTransactionReceiptSmartAware-AgZ-3WV_.cjs"),i=require("../../fundPeginTransaction-BLD8FRL9.cjs"),p=require("../../reservation-CDbInVw0.cjs"),a=require("../../mempoolApi-BxhMqJ4f.cjs"),r=require("../../batchPoll-C4hwVFa8.cjs"),s=require("../../json-rpc-client-BiAmg_ho.cjs"),V=require("../../onChainBtcPubkey-C_a2L3kL.cjs"),A=require("../../errors-2aF9oRwM.cjs"),e=require("../../buildAndBroadcastRefund-rSxXMwFd.cjs"),E=require("../../peginState-eaQ4IO_R.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;exports.assertValidVaultCoreVersion=m.assertValidVaultCoreVersion;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>n.computeMinClaimValue});Object.defineProperty(exports,"computeMinPeginFee",{enumerable:!0,get:()=>n.computeMinPeginFee});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>n.deriveVaultId});Object.defineProperty(exports,"expandAuthAnchor",{enumerable:!0,get:()=>n.expandAuthAnchor});Object.defineProperty(exports,"expandHashlockSecret",{enumerable:!0,get:()=>n.expandHashlockSecret});Object.defineProperty(exports,"expandWotsSeed",{enumerable:!0,get:()=>n.expandWotsSeed});Object.defineProperty(exports,"peginP2aAnchorOutput",{enumerable:!0,get:()=>n.peginP2aAnchorOutput});Object.defineProperty(exports,"supportedTxGraphVersions",{enumerable:!0,get:()=>n.supportedTxGraphVersions});Object.defineProperty(exports,"validatePeginP2aAnchor",{enumerable:!0,get:()=>n.validatePeginP2aAnchor});exports.PsbtSubstitutionError=u.PsbtSubstitutionError;exports.assertPsbtUnsignedTxMatches=u.assertPsbtUnsignedTxMatches;exports.assertScriptPathSchnorrSignature=u.assertScriptPathSchnorrSignature;exports.buildPayoutPsbt=u.buildPayoutPsbt;exports.buildPeginTxFromFundedPrePegin=u.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=u.buildPrePeginPsbt;exports.createPayoutScript=u.createPayoutScript;exports.extractPayoutSignature=u.extractPayoutSignature;exports.buildPeginInputPsbt=R.buildPeginInputPsbt;exports.extractPeginInputSignature=R.extractPeginInputSignature;exports.finalizePeginInputPsbt=R.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=g.buildNoPayoutPsbt;exports.buildRefundPsbt=g.buildRefundPsbt;exports.canonicalizeBtcPubkey=t.canonicalizeBtcPubkey;exports.deriveBip86ScriptPubKeyHex=t.deriveBip86ScriptPubKeyHex;exports.deriveNativeSegwitAddress=t.deriveNativeSegwitAddress;exports.deriveTaprootAddress=t.deriveTaprootAddress;exports.ensureHexPrefix=t.ensureHexPrefix;exports.formatSatoshisToBtc=t.formatSatoshisToBtc;exports.getNetwork=t.getNetwork;exports.getSortedXOnlyPubkeys=t.getSortedXOnlyPubkeys;exports.hexToUint8Array=t.hexToUint8Array;exports.isAddressFromPublicKey=t.isAddressFromPublicKey;exports.isValidHex=t.isValidHex;exports.processPublicKeyToXOnly=t.processPublicKeyToXOnly;exports.stripHexPrefix=t.stripHexPrefix;exports.toXOnly=t.toXOnly;exports.uint8ArrayToHex=t.uint8ArrayToHex;exports.validateWalletPubkey=t.validateWalletPubkey;exports.BITCOIN_ADDRESS_RE=c.BITCOIN_ADDRESS_RE;exports.HEX_RE=c.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=c.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=c.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=c.TXID_RE;exports.combineAbortSignals=c.combineAbortSignals;exports.createTaprootScriptPathSignOptions=O.createTaprootScriptPathSignOptions;exports.PeginManager=l.PeginManager;exports.buildDepositTerms=l.buildDepositTerms;exports.computeWotsBlockPublicKeysHash=l.computeWotsBlockPublicKeysHash;exports.deriveWotsBlocksFromSeed=l.deriveWotsBlocksFromSeed;exports.estimateSubmitPeginRequestBatchGas=l.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=d.PayoutManager;exports.computeHashlock=d.computeHashlock;exports.forwardDepositApproval=d.forwardDepositApproval;exports.supportsDepositApproval=d.supportsDepositApproval;exports.validateSecretAgainstHashlock=d.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=_.ApplicationRegistryABI;exports.ProtocolParamsABI=_.ProtocolParamsABI;exports.BTCVaultRegistryABI=y.BTCVaultRegistryABI;exports.BTCVaultRegistryKeyEpochsABI=b.BTCVaultRegistryKeyEpochsABI;exports.CONTRACT_ERRORS=P.CONTRACT_ERRORS;exports.extractErrorData=P.extractErrorData;exports.getContractErrorMessage=P.getContractErrorMessage;exports.handleContractError=P.handleContractError;exports.isKnownContractError=P.isKnownContractError;exports.VAULT_APP_NAME=T.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=T.buildFundingOutpointsCommitment;exports.buildVaultContext=T.buildVaultContext;exports.deriveVaultRoot=T.deriveVaultRoot;exports.parseFundingOutpointsFromTx=C.parseFundingOutpointsFromTx;exports.BitcoinScriptType=o.BitcoinScriptType;exports.applyChangeOutputPolicy=o.applyChangeOutputPolicy;exports.calculateBtcTxHash=o.calculateBtcTxHash;exports.computeChangeOutputFeeSats=o.computeChangeOutputFeeSats;exports.computeMaxDeposit=o.computeMaxDeposit;exports.computePeginBaseFeeSats=o.computePeginBaseFeeSats;exports.getDustThreshold=o.getDustThreshold;exports.getPsbtInputFields=o.getPsbtInputFields;exports.getScriptType=o.getScriptType;exports.selectUtxosForPegin=o.selectUtxosForPegin;exports.shouldAddChangeOutput=o.shouldAddChangeOutput;exports.waitForTransactionReceiptSmartAware=o.waitForTransactionReceiptSmartAware;exports.BTC_DUST_SAT=i.BTC_DUST_SAT;exports.DUST_THRESHOLD=i.DUST_THRESHOLD;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=i.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=i.MAX_NON_LEGACY_OUTPUT_SIZE;exports.MAX_REASONABLE_PEGIN_VBYTES=i.MAX_REASONABLE_PEGIN_VBYTES;exports.P2TR_INPUT_SIZE=i.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=i.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=i.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=i.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=i.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=i.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=i.fundPeginTransaction;exports.parseUnfundedWasmTransaction=i.parseUnfundedWasmTransaction;exports.peginOutputCount=i.peginOutputCount;exports.rateBasedTxBufferFee=i.rateBasedTxBufferFee;exports.UtxoNotAvailableError=p.UtxoNotAvailableError;exports.assertUtxosAvailable=p.assertUtxosAvailable;exports.extractInputsFromTransaction=p.extractInputsFromTransaction;exports.findOverlappingPendingVaults=p.findOverlappingPendingVaults;exports.validateUtxosAvailable=p.validateUtxosAvailable;exports.MEMPOOL_API_URLS=a.MEMPOOL_API_URLS;exports.ViemVaultRegistryReader=a.ViemVaultRegistryReader;exports.getAddressTxs=a.getAddressTxs;exports.getAddressUtxos=a.getAddressUtxos;exports.getMempoolApiUrl=a.getMempoolApiUrl;exports.getNetworkFees=a.getNetworkFees;exports.getOutspend=a.getOutspend;exports.getTipHeight=a.getTipHeight;exports.getTxHex=a.getTxHex;exports.getTxInfo=a.getTxInfo;exports.getUtxoInfo=a.getUtxoInfo;exports.pushTx=a.pushTx;exports.validateOffchainParams=a.validateOffchainParams;exports.validatePegInConfiguration=a.validatePegInConfiguration;exports.validateTBVProtocolParams=a.validateTBVProtocolParams;exports.OnChainBtcVaultStatus=r.OnChainBtcVaultStatus;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemOperationKeyReader=r.ViemOperationKeyReader;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.AUTH_REJECTED_RPC_CODE=s.AUTH_REJECTED_RPC_CODE;exports.DaemonStatus=s.DaemonStatus;exports.JSON_RPC_ERROR_CODES=s.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=s.JsonRpcClient;exports.JsonRpcError=s.JsonRpcError;exports.POST_WOTS_STATUSES=s.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=s.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=s.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=s.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_FAILURE_STATUSES=s.VP_TERMINAL_FAILURE_STATUSES;exports.VP_TRANSIENT_STATUSES=s.VP_TRANSIENT_STATUSES;exports.isAuthRejectedError=s.isAuthRejectedError;exports.assertOnChainBtcPubkey=V.assertOnChainBtcPubkey;exports.DEPOSIT_TERMS_REJECTED_ERROR_NAME=A.DEPOSIT_TERMS_REJECTED_ERROR_NAME;exports.DepositTermsRejectedError=A.DepositTermsRejectedError;exports.isDepositTermsRejectedError=A.isDepositTermsRejectedError;exports.isWotsMismatchError=A.isWotsMismatchError;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.ParticipantKeyDriftError=e.ParticipantKeyDriftError;exports.REFUND_MAX_FEE_FRACTION_DENOMINATOR=e.REFUND_MAX_FEE_FRACTION_DENOMINATOR;exports.REFUND_MAX_FEE_FRACTION_NUMERATOR=e.REFUND_MAX_FEE_FRACTION_NUMERATOR;exports.REFUND_MAX_FEE_RATE_SATS_VB=e.REFUND_MAX_FEE_RATE_SATS_VB;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.RegisteredVaultVersionMismatchError=e.RegisteredVaultVersionMismatchError;exports.activateVault=e.activateVault;exports.activateVaultAndRedeem=e.activateVaultAndRedeem;exports.assertVaultProviderHintAccepted=e.assertVaultProviderHintAccepted;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isHintAccepted=e.isHintAccepted;exports.isParticipantKeyDriftError=e.isParticipantKeyDriftError;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.isRegisteredVaultVersionMismatchError=e.isRegisteredVaultVersionMismatchError;exports.matchKeyHint=e.matchKeyHint;exports.matchKeySetHint=e.matchKeySetHint;exports.resolveCurrentParticipantKeys=e.resolveCurrentParticipantKeys;exports.resolveParticipantKeysAtEpochs=e.resolveParticipantKeysAtEpochs;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;exports.signDepositorGraph=e.signDepositorGraph;exports.submitWotsPublicKey=e.submitWotsPublicKey;exports.validateDepositAmount=e.validateDepositAmount;exports.validateMultiVaultDepositInputs=e.validateMultiVaultDepositInputs;exports.validateOnChainParticipantKeys=e.validateOnChainParticipantKeys;exports.validateProviderSelection=e.validateProviderSelection;exports.validateRemainingCapacity=e.validateRemainingCapacity;exports.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.verifyRegisteredParticipantKeys=e.verifyRegisteredParticipantKeys;exports.verifyRegisteredVaultVersions=e.verifyRegisteredVaultVersions;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=E.ContractStatus;exports.PeginAction=E.PeginAction;exports.canPerformAction=E.canPerformAction;exports.getPeginProtocolState=E.getPeginProtocolState;exports.isActivationDeadlinePassedOnChain=E.isActivationDeadlinePassedOnChain;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,42 +1,42 @@
1
1
  import { b as s, c as t } from "../../challengeAssert-C7PzyJ7g.js";
2
2
  import { a as o } from "../../constants-GjWXdaqV.js";
3
3
  import { computeMinClaimValue as n, computeMinPeginFee as p, deriveVaultId as u, expandAuthAnchor as c, expandHashlockSecret as l, expandWotsSeed as d, peginP2aAnchorOutput as P, supportedTxGraphVersions as E, validatePeginP2aAnchor as T } from "@babylonlabs-io/babylon-tbv-rust-wasm";
4
- import { P as R, d as S, f as g, c as _, b as m, a as f, g as x, e as b } from "../../verifyScriptPathSchnorrSignature-Bav08_7R.js";
5
- import { b as C, e as V, f as h } from "../../peginInput-HQPWZfly.js";
4
+ import { P as R, d as S, f as g, c as m, b as _, a as f, g as x, e as b } from "../../verifyScriptPathSchnorrSignature-Bav08_7R.js";
5
+ import { b as V, e as v, f as C } from "../../peginInput-HQPWZfly.js";
6
6
  import { a as y, b as I } from "../../noPayout-DuE-UyhQ.js";
7
7
  import { c as F, d as U, a as B, b as N, e as M, f as H, k as K, g as L, h as k, i as X, j as W, p as w, s as G, t as j, u as J, v as Y } from "../../bitcoin-d9eaaZB_.js";
8
8
  import { B as z, H as q, K as Q, M as $, T as aa, c as ea } from "../../validation-Dj3dqYtl.js";
9
9
  import { c as ta } from "../../signing-DaLvGwQe.js";
10
- import { P as oa, b as ia, c as na, d as pa, e as ua } from "../../PeginManager-C8ixWlUM.js";
10
+ import { P as oa, b as ia, c as na, d as pa, e as ua } from "../../PeginManager-1R9dMB1G.js";
11
11
  import { P as la, c as da, f as Pa, s as Ea, v as Ta } from "../../signPsbtsWithFallback-eY1YgV13.js";
12
12
  import { A as Ra, P as Sa } from "../../ProtocolParams.abi-CV938AYZ.js";
13
- import { B as _a } from "../../BTCVaultRegistry.abi-CixOlp3B.js";
13
+ import { B as ma } from "../../BTCVaultRegistry.abi-B3BLhpJ4.js";
14
14
  import { B as fa } from "../../BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js";
15
- import { C as ba, e as Oa, g as Ca, h as Va, i as ha } from "../../errors-Blc-JWnI.js";
15
+ import { C as ba, e as Oa, g as Va, h as va, i as Ca } from "../../errors-Blc-JWnI.js";
16
16
  import { V as ya, b as Ia, a as Da, d as Fa } from "../../deriveVaultRoot-D0RY5GJc.js";
17
17
  import { p as Ba } from "../../parseFundingOutpoints-GSM-IaaK.js";
18
18
  import { B as Ma, a as Ha, f as Ka, c as La, b as ka, d as Xa, g as Wa, i as wa, h as Ga, s as ja, e as Ja, w as Ya } from "../../waitForTransactionReceiptSmartAware-lobLm0q0.js";
19
19
  import { B as za, D as qa, L as Qa, M as $a, c as ae, P as ee, b as se, a as te, S as re, T as oe, W as ie, f as ne, d as pe, p as ue, r as ce } from "../../fundPeginTransaction-B2wyjqp0.js";
20
- import { U as de, a as Pe, e as Ee, f as Te, v as Ae } from "../../reservation-CbAXa7VG.js";
21
- import { M as Se, V as ge, g as _e, a as me, b as fe, c as xe, d as be, e as Oe, f as Ce, h as Ve, i as he, p as ve, v as ye, j as Ie, k as De } from "../../mempoolApi-CMHEz4ez.js";
22
- import { O as Ue, S as Be, V as Ne, g as Me, h as He, i as Ke, j as Le, a as ke, d as Xe, b as We, f as we, p as Ge, r as je, v as Je, c as Ye, e as Ze } from "../../batchPoll-B0VxT62K.js";
20
+ import { U as de, a as Pe, e as Ee, f as Te, v as Ae } from "../../reservation-B4i_PQhY.js";
21
+ import { M as Se, V as ge, g as me, a as _e, b as fe, c as xe, d as be, e as Oe, f as Ve, h as ve, i as Ce, p as he, v as ye, j as Ie, k as De } from "../../mempoolApi-BQKF5MTr.js";
22
+ import { O as Ue, S as Be, V as Ne, g as Me, h as He, i as Ke, j as Le, a as ke, d as Xe, b as We, f as we, p as Ge, r as je, v as Je, c as Ye, e as Ze } from "../../batchPoll-L9LzMl1E.js";
23
23
  import { A as qe, D as Qe, J as $e, a as as, b as es, d as ss, P as ts, R as rs, e as os, c as is, V as ns, i as ps } from "../../json-rpc-client-DuUARJvV.js";
24
24
  import { a as cs } from "../../onChainBtcPubkey-DeF4cKoO.js";
25
25
  import { D as ds, a as Ps, b as Es, i as Ts } from "../../errors-kXGQXKxZ.js";
26
- import { B as Rs, C as Ss, P as gs, D as _s, E as ms, F as fs, G as xs, R as bs, a as Os, n as Cs, z as Vs, A as hs, i as vs, o as ys, j as Is, y as Ds, x as Fs, l as Us, p as Bs, q as Ns, t as Ms, u as Hs, r as Ks, s as Ls, b as ks, c as Xs, d as Ws, v as ws, e as Gs, f as js, g as Js, h as Ys, k as Zs, m as zs, w as qs } from "../../buildAndBroadcastRefund-DBA-Mp4I.js";
27
- import { C as $s, P as at, c as et, g as st, i as tt } from "../../peginState-BB81JI6I.js";
26
+ import { B as Rs, C as Ss, P as gs, E as ms, F as _s, G as fs, H as xs, R as bs, a as Os, b as Vs, o as vs, A as Cs, D as hs, i as ys, p as Is, k as Ds, z as Fs, y as Us, m as Bs, q as Ns, t as Ms, u as Hs, x as Ks, r as Ls, s as ks, c as Xs, d as Ws, e as ws, v as Gs, f as js, g as Js, h as Ys, j as Zs, l as zs, n as qs, w as Qs } from "../../buildAndBroadcastRefund-DpF_b3d9.js";
27
+ import { C as at, P as et, c as st, g as tt, i as rt } from "../../peginState-CxDiaKuk.js";
28
28
  export {
29
29
  qe as AUTH_REJECTED_RPC_CODE,
30
30
  Ra as ApplicationRegistryABI,
31
31
  Rs as BIP68NotMatureError,
32
32
  z as BITCOIN_ADDRESS_RE,
33
- _a as BTCVaultRegistryABI,
33
+ ma as BTCVaultRegistryABI,
34
34
  fa as BTCVaultRegistryKeyEpochsABI,
35
35
  za as BTC_DUST_SAT,
36
36
  Ma as BitcoinScriptType,
37
37
  ba as CONTRACT_ERRORS,
38
38
  Ss as ClaimerPegoutStatusValue,
39
- $s as ContractStatus,
39
+ at as ContractStatus,
40
40
  ds as DEPOSIT_TERMS_REJECTED_ERROR_NAME,
41
41
  qa as DUST_THRESHOLD,
42
42
  Qe as DaemonStatus,
@@ -59,12 +59,12 @@ export {
59
59
  ts as PRE_DEPOSITOR_SIGNATURES_STATES,
60
60
  gs as ParticipantKeyDriftError,
61
61
  la as PayoutManager,
62
- at as PeginAction,
62
+ et as PeginAction,
63
63
  oa as PeginManager,
64
64
  Sa as ProtocolParamsABI,
65
65
  R as PsbtSubstitutionError,
66
- _s as REFUND_MAX_FEE_FRACTION_DENOMINATOR,
67
- ms as REFUND_MAX_FEE_FRACTION_NUMERATOR,
66
+ ms as REFUND_MAX_FEE_FRACTION_DENOMINATOR,
67
+ _s as REFUND_MAX_FEE_FRACTION_NUMERATOR,
68
68
  fs as REFUND_MAX_FEE_RATE_SATS_VB,
69
69
  xs as REFUND_VSIZE,
70
70
  bs as RegisteredVaultVersionMismatchError,
@@ -88,27 +88,28 @@ export {
88
88
  Xe as VpTokenRegistry,
89
89
  ie as WALLET_RELAY_FEE_RATE_THRESHOLD,
90
90
  Os as activateVault,
91
+ Vs as activateVaultAndRedeem,
91
92
  Ha as applyChangeOutputPolicy,
92
93
  cs as assertOnChainBtcPubkey,
93
94
  S as assertPsbtUnsignedTxMatches,
94
95
  g as assertScriptPathSchnorrSignature,
95
96
  Pe as assertUtxosAvailable,
96
97
  o as assertValidVaultCoreVersion,
97
- Cs as assertVaultProviderHintAccepted,
98
+ vs as assertVaultProviderHintAccepted,
98
99
  We as batchPollByProvider,
99
- Vs as buildAndBroadcastRefund,
100
+ Cs as buildAndBroadcastRefund,
100
101
  s as buildChallengeAssertPsbt,
101
102
  ia as buildDepositTerms,
102
103
  Ia as buildFundingOutpointsCommitment,
103
104
  y as buildNoPayoutPsbt,
104
- _ as buildPayoutPsbt,
105
- C as buildPeginInputPsbt,
106
- m as buildPeginTxFromFundedPrePegin,
105
+ m as buildPayoutPsbt,
106
+ V as buildPeginInputPsbt,
107
+ _ as buildPeginTxFromFundedPrePegin,
107
108
  f as buildPrePeginPsbt,
108
109
  I as buildRefundPsbt,
109
110
  Da as buildVaultContext,
110
111
  Ka as calculateBtcTxHash,
111
- et as canPerformAction,
112
+ st as canPerformAction,
112
113
  F as canonicalizeBtcPubkey,
113
114
  ea as combineAbortSignals,
114
115
  La as computeChangeOutputFeeSats,
@@ -137,86 +138,86 @@ export {
137
138
  Oa as extractErrorData,
138
139
  Ee as extractInputsFromTransaction,
139
140
  b as extractPayoutSignature,
140
- V as extractPeginInputSignature,
141
- h as finalizePeginInputPsbt,
141
+ v as extractPeginInputSignature,
142
+ C as finalizePeginInputPsbt,
142
143
  Te as findOverlappingPendingVaults,
143
144
  H as formatSatoshisToBtc,
144
145
  Pa as forwardDepositApproval,
145
146
  ne as fundPeginTransaction,
146
- _e as getAddressTxs,
147
- me as getAddressUtxos,
148
- Ca as getContractErrorMessage,
147
+ me as getAddressTxs,
148
+ _e as getAddressUtxos,
149
+ Va as getContractErrorMessage,
149
150
  Wa as getDustThreshold,
150
151
  fe as getMempoolApiUrl,
151
152
  K as getNetwork,
152
153
  xe as getNetworkFees,
153
154
  be as getOutspend,
154
- st as getPeginProtocolState,
155
+ tt as getPeginProtocolState,
155
156
  wa as getPsbtInputFields,
156
157
  Ga as getScriptType,
157
158
  L as getSortedXOnlyPubkeys,
158
159
  Oe as getTipHeight,
159
- Ce as getTxHex,
160
- Ve as getTxInfo,
161
- he as getUtxoInfo,
162
- Va as handleContractError,
160
+ Ve as getTxHex,
161
+ ve as getTxInfo,
162
+ Ce as getUtxoInfo,
163
+ va as handleContractError,
163
164
  k as hexToUint8Array,
164
- tt as isActivationDeadlinePassedOnChain,
165
+ rt as isActivationDeadlinePassedOnChain,
165
166
  X as isAddressFromPublicKey,
166
167
  ps as isAuthRejectedError,
167
- vs as isDepositAmountValid,
168
+ ys as isDepositAmountValid,
168
169
  Es as isDepositTermsRejectedError,
169
- ys as isHintAccepted,
170
- ha as isKnownContractError,
171
- Is as isParticipantKeyDriftError,
172
- Ds as isPegoutTerminalStatus,
173
- Fs as isRecognizedPegoutStatus,
174
- Us as isRegisteredVaultVersionMismatchError,
170
+ Is as isHintAccepted,
171
+ Ca as isKnownContractError,
172
+ Ds as isParticipantKeyDriftError,
173
+ Fs as isPegoutTerminalStatus,
174
+ Us as isRecognizedPegoutStatus,
175
+ Bs as isRegisteredVaultVersionMismatchError,
175
176
  W as isValidHex,
176
177
  Ts as isWotsMismatchError,
177
- Bs as matchKeyHint,
178
- Ns as matchKeySetHint,
178
+ Ns as matchKeyHint,
179
+ Ms as matchKeySetHint,
179
180
  Ba as parseFundingOutpointsFromTx,
180
181
  pe as parseUnfundedWasmTransaction,
181
182
  ue as peginOutputCount,
182
183
  P as peginP2aAnchorOutput,
183
184
  Ge as primeVpTokenRegistry,
184
185
  w as processPublicKeyToXOnly,
185
- ve as pushTx,
186
+ he as pushTx,
186
187
  ce as rateBasedTxBufferFee,
187
- Ms as resolveCurrentParticipantKeys,
188
- Hs as resolveParticipantKeysAtEpochs,
188
+ Hs as resolveCurrentParticipantKeys,
189
+ Ks as resolveParticipantKeysAtEpochs,
189
190
  je as resolveProtocolAddresses,
190
- Ks as runDepositorPresignFlow,
191
+ Ls as runDepositorPresignFlow,
191
192
  ja as selectUtxosForPegin,
192
193
  Ja as shouldAddChangeOutput,
193
- Ls as signDepositorGraph,
194
+ ks as signDepositorGraph,
194
195
  G as stripHexPrefix,
195
- ks as submitWotsPublicKey,
196
+ Xs as submitWotsPublicKey,
196
197
  E as supportedTxGraphVersions,
197
198
  Ea as supportsDepositApproval,
198
199
  j as toXOnly,
199
200
  J as uint8ArrayToHex,
200
- Xs as validateDepositAmount,
201
- Ws as validateMultiVaultDepositInputs,
201
+ Ws as validateDepositAmount,
202
+ ws as validateMultiVaultDepositInputs,
202
203
  ye as validateOffchainParams,
203
- ws as validateOnChainParticipantKeys,
204
+ Gs as validateOnChainParticipantKeys,
204
205
  Ie as validatePegInConfiguration,
205
206
  T as validatePeginP2aAnchor,
206
- Gs as validateProviderSelection,
207
- js as validateRemainingCapacity,
207
+ js as validateProviderSelection,
208
+ Js as validateRemainingCapacity,
208
209
  Je as validateRequestDepositorClaimerArtifactsResponse,
209
210
  Ta as validateSecretAgainstHashlock,
210
211
  De as validateTBVProtocolParams,
211
212
  Ae as validateUtxosAvailable,
212
- Js as validateVaultAmounts,
213
- Ys as validateVaultProviderPubkey,
213
+ Ys as validateVaultAmounts,
214
+ Zs as validateVaultProviderPubkey,
214
215
  Y as validateWalletPubkey,
215
- Zs as verifyRegisteredParticipantKeys,
216
- zs as verifyRegisteredVaultVersions,
216
+ zs as verifyRegisteredParticipantKeys,
217
+ qs as verifyRegisteredVaultVersions,
217
218
  Ye as verifyServerIdentity,
218
219
  Ze as vpTokenRegistry,
219
- qs as waitForPeginStatus,
220
+ Qs as waitForPeginStatus,
220
221
  Ya as waitForTransactionReceiptSmartAware
221
222
  };
222
223
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-CogqZaa2.cjs"),a=require("../../../signPsbtsWithFallback-Xs4jZw5z.cjs");exports.PeginManager=e.PeginManager;exports.estimateSubmitPeginRequestBatchGas=e.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=a.PayoutManager;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-OXUOsgz2.cjs"),a=require("../../../signPsbtsWithFallback-Xs4jZw5z.cjs");exports.PeginManager=e.PeginManager;exports.estimateSubmitPeginRequestBatchGas=e.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=a.PayoutManager;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { P as t, e as r } from "../../../PeginManager-C8ixWlUM.js";
1
+ import { P as t, e as r } from "../../../PeginManager-1R9dMB1G.js";
2
2
  import { P as o } from "../../../signPsbtsWithFallback-eY1YgV13.js";
3
3
  export {
4
4
  o as PayoutManager,