@babylonlabs-io/ts-sdk 0.72.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +56 -13
  2. package/dist/BTCVaultRegistryKeyEpochs.abi-CrQiTLfA.cjs +2 -0
  3. package/dist/BTCVaultRegistryKeyEpochs.abi-CrQiTLfA.cjs.map +1 -0
  4. package/dist/BTCVaultRegistryKeyEpochs.abi-D8cIbMtH.js +229 -0
  5. package/dist/BTCVaultRegistryKeyEpochs.abi-D8cIbMtH.js.map +1 -0
  6. package/dist/PeginManager-C9RPOd0L.js +1216 -0
  7. package/dist/PeginManager-C9RPOd0L.js.map +1 -0
  8. package/dist/PeginManager-E-UHA1un.cjs +2 -0
  9. package/dist/PeginManager-E-UHA1un.cjs.map +1 -0
  10. package/dist/bip322Verify-B7_gIhRk.cjs +2 -0
  11. package/dist/bip322Verify-B7_gIhRk.cjs.map +1 -0
  12. package/dist/bip322Verify-D6sBBUHE.js +79 -0
  13. package/dist/bip322Verify-D6sBBUHE.js.map +1 -0
  14. package/dist/{buildAndBroadcastReclaim-YvWDRAN8.js → buildAndBroadcastReclaim-BXclIcu_.js} +366 -357
  15. package/dist/buildAndBroadcastReclaim-BXclIcu_.js.map +1 -0
  16. package/dist/buildAndBroadcastReclaim-U-PyFfDg.cjs +2 -0
  17. package/dist/buildAndBroadcastReclaim-U-PyFfDg.cjs.map +1 -0
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.js +209 -205
  20. package/dist/index.js.map +1 -1
  21. package/dist/onChainBtcPubkey-BbxRrbvg.cjs +2 -0
  22. package/dist/onChainBtcPubkey-BbxRrbvg.cjs.map +1 -0
  23. package/dist/onChainBtcPubkey-C-6UWpD8.js +34 -0
  24. package/dist/onChainBtcPubkey-C-6UWpD8.js.map +1 -0
  25. package/dist/{parseFundingOutpoints-BkgGihaY.cjs → parseFundingOutpoints-B4iQeX6q.cjs} +2 -2
  26. package/dist/{parseFundingOutpoints-BkgGihaY.cjs.map → parseFundingOutpoints-B4iQeX6q.cjs.map} +1 -1
  27. package/dist/{parseFundingOutpoints-DlINgQ3X.js → parseFundingOutpoints-B67CoXpF.js} +2 -2
  28. package/dist/{parseFundingOutpoints-DlINgQ3X.js.map → parseFundingOutpoints-B67CoXpF.js.map} +1 -1
  29. package/dist/pegin-registration-client-6vLk2itL.cjs +2 -0
  30. package/dist/pegin-registration-client-6vLk2itL.cjs.map +1 -0
  31. package/dist/pegin-registration-client-BdRiR8br.js +2635 -0
  32. package/dist/pegin-registration-client-BdRiR8br.js.map +1 -0
  33. package/dist/primeVpAuth-DBHohVKM.cjs +2 -0
  34. package/dist/primeVpAuth-DBHohVKM.cjs.map +1 -0
  35. package/dist/primeVpAuth-DvaD45q_.js +745 -0
  36. package/dist/primeVpAuth-DvaD45q_.js.map +1 -0
  37. package/dist/psbtInputFields-B3e05Xe6.js +171 -0
  38. package/dist/psbtInputFields-B3e05Xe6.js.map +1 -0
  39. package/dist/psbtInputFields-BIxBpPj2.cjs +2 -0
  40. package/dist/psbtInputFields-BIxBpPj2.cjs.map +1 -0
  41. package/dist/sha2-CrlWM5S8.js +312 -0
  42. package/dist/{sha2-BYVxyZzX.js.map → sha2-CrlWM5S8.js.map} +1 -1
  43. package/dist/sha2-DI0-0SHr.cjs +2 -0
  44. package/dist/{sha2-DsrLC4NM.cjs.map → sha2-DI0-0SHr.cjs.map} +1 -1
  45. package/dist/{signPsbtsWithFallback-CCFTzE0o.js → signPsbtsWithFallback-0VBALhjS.js} +2 -2
  46. package/dist/{signPsbtsWithFallback-CCFTzE0o.js.map → signPsbtsWithFallback-0VBALhjS.js.map} +1 -1
  47. package/dist/{signPsbtsWithFallback-CrkvpSJz.cjs → signPsbtsWithFallback-DMSpIQWH.cjs} +2 -2
  48. package/dist/{signPsbtsWithFallback-CrkvpSJz.cjs.map → signPsbtsWithFallback-DMSpIQWH.cjs.map} +1 -1
  49. package/dist/tbv/core/clients/eth/__tests__/eth-import-boundary.test.d.ts +2 -0
  50. package/dist/tbv/core/clients/eth/__tests__/eth-import-boundary.test.d.ts.map +1 -0
  51. package/dist/tbv/core/clients/eth/__tests__/onChainBtcPubkey.test.d.ts +2 -0
  52. package/dist/tbv/core/clients/eth/__tests__/onChainBtcPubkey.test.d.ts.map +1 -0
  53. package/dist/tbv/core/clients/eth/__tests__/payout-script.test.d.ts +2 -0
  54. package/dist/tbv/core/clients/eth/__tests__/payout-script.test.d.ts.map +1 -0
  55. package/dist/tbv/core/clients/eth/__tests__/pegin-registration-calldata.test.d.ts +2 -0
  56. package/dist/tbv/core/clients/eth/__tests__/pegin-registration-calldata.test.d.ts.map +1 -0
  57. package/dist/tbv/core/clients/eth/__tests__/pegin-registration-client.test.d.ts +2 -0
  58. package/dist/tbv/core/clients/eth/__tests__/pegin-registration-client.test.d.ts.map +1 -0
  59. package/dist/tbv/core/clients/eth/__tests__/pegin-transaction.test.d.ts +2 -0
  60. package/dist/tbv/core/clients/eth/__tests__/pegin-transaction.test.d.ts.map +1 -0
  61. package/dist/tbv/core/clients/eth/index.cjs +2 -0
  62. package/dist/tbv/core/clients/eth/index.cjs.map +1 -0
  63. package/dist/tbv/core/clients/eth/index.d.ts +4 -0
  64. package/dist/tbv/core/clients/eth/index.d.ts.map +1 -1
  65. package/dist/tbv/core/clients/eth/index.js +22 -0
  66. package/dist/tbv/core/clients/eth/index.js.map +1 -0
  67. package/dist/tbv/core/clients/eth/onChainBtcPubkey.d.ts.map +1 -1
  68. package/dist/tbv/core/clients/eth/operation-key-reader.d.ts +1 -1
  69. package/dist/tbv/core/clients/eth/operation-key-reader.d.ts.map +1 -1
  70. package/dist/tbv/core/clients/eth/payout-script.d.ts +4 -0
  71. package/dist/tbv/core/clients/eth/payout-script.d.ts.map +1 -0
  72. package/dist/tbv/core/clients/eth/pegin-registration-client.d.ts +99 -0
  73. package/dist/tbv/core/clients/eth/pegin-registration-client.d.ts.map +1 -0
  74. package/dist/tbv/core/clients/eth/pegin-transaction.d.ts +14 -0
  75. package/dist/tbv/core/clients/eth/pegin-transaction.d.ts.map +1 -0
  76. package/dist/tbv/core/clients/eth/protocol-params-reader.d.ts +6 -1
  77. package/dist/tbv/core/clients/eth/protocol-params-reader.d.ts.map +1 -1
  78. package/dist/tbv/core/clients/eth/signer-set-reader.d.ts +4 -4
  79. package/dist/tbv/core/clients/eth/signer-set-reader.d.ts.map +1 -1
  80. package/dist/tbv/core/clients/eth/types.d.ts +29 -8
  81. package/dist/tbv/core/clients/eth/types.d.ts.map +1 -1
  82. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts +1 -1
  83. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts.map +1 -1
  84. package/dist/tbv/core/clients/index.cjs +1 -1
  85. package/dist/tbv/core/clients/index.js +55 -48
  86. package/dist/tbv/core/clients/index.js.map +1 -1
  87. package/dist/tbv/core/clients/mempool/index.cjs +2 -0
  88. package/dist/tbv/core/clients/mempool/index.cjs.map +1 -0
  89. package/dist/tbv/core/clients/mempool/index.js +222 -0
  90. package/dist/tbv/core/clients/mempool/index.js.map +1 -0
  91. package/dist/tbv/core/contracts/index.cjs +1 -1
  92. package/dist/tbv/core/contracts/index.cjs.map +1 -1
  93. package/dist/tbv/core/contracts/index.js +491 -12
  94. package/dist/tbv/core/contracts/index.js.map +1 -1
  95. package/dist/tbv/core/index.cjs +1 -1
  96. package/dist/tbv/core/index.d.ts +1 -0
  97. package/dist/tbv/core/index.d.ts.map +1 -1
  98. package/dist/tbv/core/index.js +207 -203
  99. package/dist/tbv/core/index.js.map +1 -1
  100. package/dist/tbv/core/managers/PeginManager.d.ts +38 -30
  101. package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -1
  102. package/dist/tbv/core/managers/index.cjs +1 -1
  103. package/dist/tbv/core/managers/index.d.ts +2 -1
  104. package/dist/tbv/core/managers/index.d.ts.map +1 -1
  105. package/dist/tbv/core/managers/index.js +2 -2
  106. package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts +20 -0
  107. package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts.map +1 -1
  108. package/dist/tbv/core/services/index.cjs +1 -1
  109. package/dist/tbv/core/services/index.js +2 -2
  110. package/dist/tbv/core/services/participants/resolveParticipantKeys.d.ts +8 -0
  111. package/dist/tbv/core/services/participants/resolveParticipantKeys.d.ts.map +1 -1
  112. package/dist/tbv/core/utils/eth/index.cjs +2 -0
  113. package/dist/tbv/core/utils/eth/index.cjs.map +1 -0
  114. package/dist/tbv/core/utils/eth/index.js +109 -0
  115. package/dist/tbv/core/utils/eth/index.js.map +1 -0
  116. package/dist/tbv/core/utils/index.cjs +1 -1
  117. package/dist/tbv/core/utils/index.js +41 -40
  118. package/dist/tbv/core/utils/index.js.map +1 -1
  119. package/dist/tbv/core/vault-secrets/index.cjs +1 -1
  120. package/dist/tbv/core/vault-secrets/index.js +1 -1
  121. package/dist/tbv/index.cjs +1 -1
  122. package/dist/tbv/index.js +207 -203
  123. package/dist/tbv/index.js.map +1 -1
  124. package/dist/testing/index.cjs +1 -1
  125. package/dist/testing/index.js +1 -1
  126. package/dist/{toRefundInputs-Df1vi23S.js → toRefundInputs-BkcFhvDp.js} +5 -5
  127. package/dist/{toRefundInputs-Df1vi23S.js.map → toRefundInputs-BkcFhvDp.js.map} +1 -1
  128. package/dist/{toRefundInputs-CY9u84U9.cjs → toRefundInputs-CatCKniS.cjs} +2 -2
  129. package/dist/{toRefundInputs-CY9u84U9.cjs.map → toRefundInputs-CatCKniS.cjs.map} +1 -1
  130. package/dist/types-CPDLZm3l.js +430 -0
  131. package/dist/types-CPDLZm3l.js.map +1 -0
  132. package/dist/types-DSlcXtog.cjs +2 -0
  133. package/dist/types-DSlcXtog.cjs.map +1 -0
  134. package/package.json +32 -3
  135. package/dist/BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js +0 -111
  136. package/dist/BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js.map +0 -1
  137. package/dist/BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs +0 -2
  138. package/dist/BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs.map +0 -1
  139. package/dist/PeginManager-Bn8FxM35.cjs +0 -2
  140. package/dist/PeginManager-Bn8FxM35.cjs.map +0 -1
  141. package/dist/PeginManager-C3ojNTlv.js +0 -1503
  142. package/dist/PeginManager-C3ojNTlv.js.map +0 -1
  143. package/dist/ProtocolParams.abi-C0TSRaHV.js +0 -486
  144. package/dist/ProtocolParams.abi-C0TSRaHV.js.map +0 -1
  145. package/dist/ProtocolParams.abi-CYZoV2EI.cjs +0 -2
  146. package/dist/ProtocolParams.abi-CYZoV2EI.cjs.map +0 -1
  147. package/dist/buildAndBroadcastReclaim-YvWDRAN8.js.map +0 -1
  148. package/dist/buildAndBroadcastReclaim-zfjDI5__.cjs +0 -2
  149. package/dist/buildAndBroadcastReclaim-zfjDI5__.cjs.map +0 -1
  150. package/dist/errors-Blc-JWnI.js +0 -121
  151. package/dist/errors-Blc-JWnI.js.map +0 -1
  152. package/dist/errors-CGcNP0rV.cjs +0 -2
  153. package/dist/errors-CGcNP0rV.cjs.map +0 -1
  154. package/dist/mempoolApi-CKD_IbrM.js +0 -611
  155. package/dist/mempoolApi-CKD_IbrM.js.map +0 -1
  156. package/dist/mempoolApi-DronQ5xn.cjs +0 -2
  157. package/dist/mempoolApi-DronQ5xn.cjs.map +0 -1
  158. package/dist/onChainBtcPubkey-B5ZvWCCF.cjs +0 -2
  159. package/dist/onChainBtcPubkey-B5ZvWCCF.cjs.map +0 -1
  160. package/dist/onChainBtcPubkey-DATNfAAl.js +0 -19
  161. package/dist/onChainBtcPubkey-DATNfAAl.js.map +0 -1
  162. package/dist/primeVpAuth-Cjq6qFHq.cjs +0 -2
  163. package/dist/primeVpAuth-Cjq6qFHq.cjs.map +0 -1
  164. package/dist/primeVpAuth-tLRjdHwZ.js +0 -1159
  165. package/dist/primeVpAuth-tLRjdHwZ.js.map +0 -1
  166. package/dist/sha2-BYVxyZzX.js +0 -274
  167. package/dist/sha2-DsrLC4NM.cjs +0 -2
  168. package/dist/waitForTransactionReceiptSmartAware-DpQ69ySe.cjs +0 -2
  169. package/dist/waitForTransactionReceiptSmartAware-DpQ69ySe.cjs.map +0 -1
  170. package/dist/waitForTransactionReceiptSmartAware-z3Xfmo44.js +0 -277
  171. package/dist/waitForTransactionReceiptSmartAware-z3Xfmo44.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/tbv/core/contracts/abis/ApplicationRegistry.abi.ts","../../../../src/tbv/core/contracts/abis/ProtocolParams.abi.ts"],"sourcesContent":["/**\n * ApplicationRegistry Contract ABI\n *\n * Minimal ABI containing only the vault keeper read functions needed by the SDK.\n * Generated from vault-contracts-aave-v4 IApplicationRegistry.sol interface.\n *\n * @module contracts/abis/ApplicationRegistry\n */\n\nexport const ApplicationRegistryABI = [\n {\n type: \"function\",\n name: \"getVaultKeepersByVersion\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentVaultKeepers\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentVaultKeepersVersion\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // A keeper's roster entry (`AddressBTCKeyPair` above) carries its *admin*\n // ETH address and its *genesis* BTC key. The key that actually goes into\n // the scripts is the operation key bonded at the vault's frozen\n // `appKeeperKeyEpoch`, which the admin address keys the lookup for.\n //\n // The `...OrGenesis` variant takes the roster key explicitly because the\n // correct genesis for a keeper is its key in the vault's *frozen membership\n // version* — a keeper may have been dropped from the current roster, or\n // listed under a different key in an older version. The plain\n // `getOperationBtcKeyAtEpoch` variant resolves genesis version-agnostically\n // and can therefore pick the wrong one; do not use it for a frozen vault.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpochOrGenesis\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"rosterGenesisKey\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPayoutScriptAtEpoch\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"view\",\n },\n] as const;\n","/**\n * ProtocolParams Contract ABI\n *\n * Minimal ABI containing only the read functions needed by the SDK.\n * Generated from vault-contracts-aave-v4 IProtocolParams.sol interface.\n *\n * @module contracts/abis/ProtocolParams\n */\n\nexport const ProtocolParamsABI = [\n {\n type: \"function\",\n name: \"activeVaultCoreVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTBVProtocolParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.TBVProtocolParams\",\n components: [\n {\n name: \"minimumPegInAmount\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPegInAmount\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"pegInAckTimeout\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"pegInActivationTimeout\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxHtlcOutputCount\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"expiredPegInGraceBlocks\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getLatestOffchainParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.VersionedOffchainParams\",\n components: [\n {\n name: \"timelockAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"timelockChallengeAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"securityCouncilKeys\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"councilQuorum\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"feeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"babeTotalInstances\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"babeInstancesToFinalize\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"minVpCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tRefund\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"tStale\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minPeginFeeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minPrepeginDepth\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOffchainParamsByVersion\",\n inputs: [\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.VersionedOffchainParams\",\n components: [\n {\n name: \"timelockAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"timelockChallengeAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"securityCouncilKeys\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"councilQuorum\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"feeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"babeTotalInstances\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"babeInstancesToFinalize\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"minVpCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tRefund\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"tStale\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minPeginFeeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minPrepeginDepth\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"latestOffchainParamsVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getUniversalChallengersByVersion\",\n inputs: [\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentUniversalChallengers\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"latestUniversalChallengersVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // Universal challengers get the reduced RFC-006 model: an operation key\n // that goes into the challenge scripts, resolved against the vault's frozen\n // `ucKeyEpoch`, but no payout script (a UC is never a claimer, so its only\n // BTC output is the NoPayout anchor) and no per-UC setter — key changes go\n // through a roster version bump. The roster entry's `ethAddress` is the\n // `ucAdmin` lookup key and its `btcPubKey` is the genesis key.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [{ name: \"ucAdmin\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpochOrGenesis\",\n inputs: [\n { name: \"ucAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"rosterGenesisKey\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n // Observation window between a vault's final ACK and its activation, in ETH\n // blocks, measured from `verifiedAt`. Read through this standalone getter\n // rather than as a 7th component of `getTBVProtocolParams` above: the field\n // was appended to the struct, so a 7-component tuple decodes only against\n // deployments that carry it and throws `PositionOutOfBoundsError` against\n // the 6-word return of those that don't. Deployments are currently split\n // (devnet has it, testnet/staging do not), and that tuple feeds\n // `getPegInConfiguration` -> `ProtocolParamsContext`, whose failure blanks\n // the app. `uint256` (not the `uint64` storage width) — the accessor widens.\n {\n type: \"function\",\n name: \"peginActivationDelay\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n] as const;\n"],"names":["ApplicationRegistryABI","ProtocolParamsABI"],"mappings":"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"}
@@ -1,16 +1,495 @@
1
- import { A as o, P as t } from "../../../ProtocolParams.abi-C0TSRaHV.js";
2
- import { B as e } from "../../../BTCVaultRegistry.abi-CJwWI2EO.js";
3
- import { B as C } from "../../../BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js";
4
- import { C as i, e as n, g as p, h as A, i as R } from "../../../errors-Blc-JWnI.js";
1
+ import { B as a } from "../../../BTCVaultRegistry.abi-CJwWI2EO.js";
2
+ import { B as s, C as y, e as r, g as u, h as l, i as m } from "../../../BTCVaultRegistryKeyEpochs.abi-D8cIbMtH.js";
3
+ const e = [
4
+ {
5
+ type: "function",
6
+ name: "getVaultKeepersByVersion",
7
+ inputs: [
8
+ {
9
+ name: "appEntryPoint",
10
+ type: "address",
11
+ internalType: "address"
12
+ },
13
+ {
14
+ name: "versionNumber",
15
+ type: "uint16",
16
+ internalType: "uint16"
17
+ }
18
+ ],
19
+ outputs: [
20
+ {
21
+ name: "",
22
+ type: "tuple[]",
23
+ internalType: "struct BTCVaultTypes.AddressBTCKeyPair[]",
24
+ components: [
25
+ {
26
+ name: "ethAddress",
27
+ type: "address",
28
+ internalType: "address"
29
+ },
30
+ {
31
+ name: "btcPubKey",
32
+ type: "bytes32",
33
+ internalType: "bytes32"
34
+ }
35
+ ]
36
+ }
37
+ ],
38
+ stateMutability: "view"
39
+ },
40
+ {
41
+ type: "function",
42
+ name: "getCurrentVaultKeepers",
43
+ inputs: [
44
+ {
45
+ name: "appEntryPoint",
46
+ type: "address",
47
+ internalType: "address"
48
+ }
49
+ ],
50
+ outputs: [
51
+ {
52
+ name: "",
53
+ type: "tuple[]",
54
+ internalType: "struct BTCVaultTypes.AddressBTCKeyPair[]",
55
+ components: [
56
+ {
57
+ name: "ethAddress",
58
+ type: "address",
59
+ internalType: "address"
60
+ },
61
+ {
62
+ name: "btcPubKey",
63
+ type: "bytes32",
64
+ internalType: "bytes32"
65
+ }
66
+ ]
67
+ }
68
+ ],
69
+ stateMutability: "view"
70
+ },
71
+ {
72
+ type: "function",
73
+ name: "getCurrentVaultKeepersVersion",
74
+ inputs: [
75
+ {
76
+ name: "appEntryPoint",
77
+ type: "address",
78
+ internalType: "address"
79
+ }
80
+ ],
81
+ outputs: [
82
+ {
83
+ name: "",
84
+ type: "uint16",
85
+ internalType: "uint16"
86
+ }
87
+ ],
88
+ stateMutability: "view"
89
+ },
90
+ // --- RFC-006 operation-key resolution ---------------------------------
91
+ // A keeper's roster entry (`AddressBTCKeyPair` above) carries its *admin*
92
+ // ETH address and its *genesis* BTC key. The key that actually goes into
93
+ // the scripts is the operation key bonded at the vault's frozen
94
+ // `appKeeperKeyEpoch`, which the admin address keys the lookup for.
95
+ //
96
+ // The `...OrGenesis` variant takes the roster key explicitly because the
97
+ // correct genesis for a keeper is its key in the vault's *frozen membership
98
+ // version* — a keeper may have been dropped from the current roster, or
99
+ // listed under a different key in an older version. The plain
100
+ // `getOperationBtcKeyAtEpoch` variant resolves genesis version-agnostically
101
+ // and can therefore pick the wrong one; do not use it for a frozen vault.
102
+ {
103
+ type: "function",
104
+ name: "getCurrentOperationBtcKey",
105
+ inputs: [
106
+ { name: "appEntryPoint", type: "address", internalType: "address" },
107
+ { name: "keeperAdmin", type: "address", internalType: "address" }
108
+ ],
109
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
110
+ stateMutability: "view"
111
+ },
112
+ {
113
+ type: "function",
114
+ name: "getOperationBtcKeyAtEpochOrGenesis",
115
+ inputs: [
116
+ { name: "appEntryPoint", type: "address", internalType: "address" },
117
+ { name: "keeperAdmin", type: "address", internalType: "address" },
118
+ { name: "epoch", type: "uint64", internalType: "uint64" },
119
+ { name: "rosterGenesisKey", type: "bytes32", internalType: "bytes32" }
120
+ ],
121
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
122
+ stateMutability: "view"
123
+ },
124
+ {
125
+ type: "function",
126
+ name: "getPayoutScriptAtEpoch",
127
+ inputs: [
128
+ { name: "appEntryPoint", type: "address", internalType: "address" },
129
+ { name: "keeperAdmin", type: "address", internalType: "address" },
130
+ { name: "epoch", type: "uint64", internalType: "uint64" }
131
+ ],
132
+ outputs: [{ name: "", type: "bytes", internalType: "bytes" }],
133
+ stateMutability: "view"
134
+ }
135
+ ], t = [
136
+ {
137
+ type: "function",
138
+ name: "activeVaultCoreVersion",
139
+ inputs: [],
140
+ outputs: [
141
+ {
142
+ name: "",
143
+ type: "uint16",
144
+ internalType: "uint16"
145
+ }
146
+ ],
147
+ stateMutability: "view"
148
+ },
149
+ {
150
+ type: "function",
151
+ name: "getTBVProtocolParams",
152
+ inputs: [],
153
+ outputs: [
154
+ {
155
+ name: "",
156
+ type: "tuple",
157
+ internalType: "struct IProtocolParams.TBVProtocolParams",
158
+ components: [
159
+ {
160
+ name: "minimumPegInAmount",
161
+ type: "uint64",
162
+ internalType: "uint64"
163
+ },
164
+ {
165
+ name: "maxPegInAmount",
166
+ type: "uint64",
167
+ internalType: "uint64"
168
+ },
169
+ {
170
+ name: "pegInAckTimeout",
171
+ type: "uint64",
172
+ internalType: "uint64"
173
+ },
174
+ {
175
+ name: "pegInActivationTimeout",
176
+ type: "uint64",
177
+ internalType: "uint64"
178
+ },
179
+ {
180
+ name: "maxHtlcOutputCount",
181
+ type: "uint8",
182
+ internalType: "uint8"
183
+ },
184
+ {
185
+ name: "expiredPegInGraceBlocks",
186
+ type: "uint64",
187
+ internalType: "uint64"
188
+ }
189
+ ]
190
+ }
191
+ ],
192
+ stateMutability: "view"
193
+ },
194
+ {
195
+ type: "function",
196
+ name: "getLatestOffchainParams",
197
+ inputs: [],
198
+ outputs: [
199
+ {
200
+ name: "",
201
+ type: "tuple",
202
+ internalType: "struct IProtocolParams.VersionedOffchainParams",
203
+ components: [
204
+ {
205
+ name: "timelockAssert",
206
+ type: "uint256",
207
+ internalType: "uint256"
208
+ },
209
+ {
210
+ name: "timelockChallengeAssert",
211
+ type: "uint256",
212
+ internalType: "uint256"
213
+ },
214
+ {
215
+ name: "securityCouncilKeys",
216
+ type: "bytes32[]",
217
+ internalType: "bytes32[]"
218
+ },
219
+ {
220
+ name: "councilQuorum",
221
+ type: "uint8",
222
+ internalType: "uint8"
223
+ },
224
+ {
225
+ name: "feeRate",
226
+ type: "uint64",
227
+ internalType: "uint64"
228
+ },
229
+ {
230
+ name: "babeTotalInstances",
231
+ type: "uint16",
232
+ internalType: "uint16"
233
+ },
234
+ {
235
+ name: "babeInstancesToFinalize",
236
+ type: "uint8",
237
+ internalType: "uint8"
238
+ },
239
+ {
240
+ name: "minVpCommissionBps",
241
+ type: "uint16",
242
+ internalType: "uint16"
243
+ },
244
+ {
245
+ name: "tRefund",
246
+ type: "uint32",
247
+ internalType: "uint32"
248
+ },
249
+ {
250
+ name: "tStale",
251
+ type: "uint32",
252
+ internalType: "uint32"
253
+ },
254
+ {
255
+ name: "minPeginFeeRate",
256
+ type: "uint64",
257
+ internalType: "uint64"
258
+ },
259
+ {
260
+ name: "proverCircuitVersion",
261
+ type: "uint16",
262
+ internalType: "uint16"
263
+ },
264
+ {
265
+ name: "minPrepeginDepth",
266
+ type: "uint32",
267
+ internalType: "uint32"
268
+ }
269
+ ]
270
+ }
271
+ ],
272
+ stateMutability: "view"
273
+ },
274
+ {
275
+ type: "function",
276
+ name: "getOffchainParamsByVersion",
277
+ inputs: [
278
+ {
279
+ name: "versionNumber",
280
+ type: "uint16",
281
+ internalType: "uint16"
282
+ }
283
+ ],
284
+ outputs: [
285
+ {
286
+ name: "",
287
+ type: "tuple",
288
+ internalType: "struct IProtocolParams.VersionedOffchainParams",
289
+ components: [
290
+ {
291
+ name: "timelockAssert",
292
+ type: "uint256",
293
+ internalType: "uint256"
294
+ },
295
+ {
296
+ name: "timelockChallengeAssert",
297
+ type: "uint256",
298
+ internalType: "uint256"
299
+ },
300
+ {
301
+ name: "securityCouncilKeys",
302
+ type: "bytes32[]",
303
+ internalType: "bytes32[]"
304
+ },
305
+ {
306
+ name: "councilQuorum",
307
+ type: "uint8",
308
+ internalType: "uint8"
309
+ },
310
+ {
311
+ name: "feeRate",
312
+ type: "uint64",
313
+ internalType: "uint64"
314
+ },
315
+ {
316
+ name: "babeTotalInstances",
317
+ type: "uint16",
318
+ internalType: "uint16"
319
+ },
320
+ {
321
+ name: "babeInstancesToFinalize",
322
+ type: "uint8",
323
+ internalType: "uint8"
324
+ },
325
+ {
326
+ name: "minVpCommissionBps",
327
+ type: "uint16",
328
+ internalType: "uint16"
329
+ },
330
+ {
331
+ name: "tRefund",
332
+ type: "uint32",
333
+ internalType: "uint32"
334
+ },
335
+ {
336
+ name: "tStale",
337
+ type: "uint32",
338
+ internalType: "uint32"
339
+ },
340
+ {
341
+ name: "minPeginFeeRate",
342
+ type: "uint64",
343
+ internalType: "uint64"
344
+ },
345
+ {
346
+ name: "proverCircuitVersion",
347
+ type: "uint16",
348
+ internalType: "uint16"
349
+ },
350
+ {
351
+ name: "minPrepeginDepth",
352
+ type: "uint32",
353
+ internalType: "uint32"
354
+ }
355
+ ]
356
+ }
357
+ ],
358
+ stateMutability: "view"
359
+ },
360
+ {
361
+ type: "function",
362
+ name: "latestOffchainParamsVersion",
363
+ inputs: [],
364
+ outputs: [
365
+ {
366
+ name: "",
367
+ type: "uint16",
368
+ internalType: "uint16"
369
+ }
370
+ ],
371
+ stateMutability: "view"
372
+ },
373
+ {
374
+ type: "function",
375
+ name: "getUniversalChallengersByVersion",
376
+ inputs: [
377
+ {
378
+ name: "versionNumber",
379
+ type: "uint16",
380
+ internalType: "uint16"
381
+ }
382
+ ],
383
+ outputs: [
384
+ {
385
+ name: "",
386
+ type: "tuple[]",
387
+ internalType: "struct BTCVaultTypes.AddressBTCKeyPair[]",
388
+ components: [
389
+ {
390
+ name: "ethAddress",
391
+ type: "address",
392
+ internalType: "address"
393
+ },
394
+ {
395
+ name: "btcPubKey",
396
+ type: "bytes32",
397
+ internalType: "bytes32"
398
+ }
399
+ ]
400
+ }
401
+ ],
402
+ stateMutability: "view"
403
+ },
404
+ {
405
+ type: "function",
406
+ name: "getCurrentUniversalChallengers",
407
+ inputs: [],
408
+ outputs: [
409
+ {
410
+ name: "",
411
+ type: "tuple[]",
412
+ internalType: "struct BTCVaultTypes.AddressBTCKeyPair[]",
413
+ components: [
414
+ {
415
+ name: "ethAddress",
416
+ type: "address",
417
+ internalType: "address"
418
+ },
419
+ {
420
+ name: "btcPubKey",
421
+ type: "bytes32",
422
+ internalType: "bytes32"
423
+ }
424
+ ]
425
+ }
426
+ ],
427
+ stateMutability: "view"
428
+ },
429
+ {
430
+ type: "function",
431
+ name: "latestUniversalChallengersVersion",
432
+ inputs: [],
433
+ outputs: [
434
+ {
435
+ name: "",
436
+ type: "uint16",
437
+ internalType: "uint16"
438
+ }
439
+ ],
440
+ stateMutability: "view"
441
+ },
442
+ // --- RFC-006 operation-key resolution ---------------------------------
443
+ // Universal challengers get the reduced RFC-006 model: an operation key
444
+ // that goes into the challenge scripts, resolved against the vault's frozen
445
+ // `ucKeyEpoch`, but no payout script (a UC is never a claimer, so its only
446
+ // BTC output is the NoPayout anchor) and no per-UC setter — key changes go
447
+ // through a roster version bump. The roster entry's `ethAddress` is the
448
+ // `ucAdmin` lookup key and its `btcPubKey` is the genesis key.
449
+ {
450
+ type: "function",
451
+ name: "getCurrentOperationBtcKey",
452
+ inputs: [{ name: "ucAdmin", type: "address", internalType: "address" }],
453
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
454
+ stateMutability: "view"
455
+ },
456
+ {
457
+ type: "function",
458
+ name: "getOperationBtcKeyAtEpochOrGenesis",
459
+ inputs: [
460
+ { name: "ucAdmin", type: "address", internalType: "address" },
461
+ { name: "epoch", type: "uint64", internalType: "uint64" },
462
+ { name: "rosterGenesisKey", type: "bytes32", internalType: "bytes32" }
463
+ ],
464
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
465
+ stateMutability: "view"
466
+ },
467
+ // Observation window between a vault's final ACK and its activation, in ETH
468
+ // blocks, measured from `verifiedAt`. Read through this standalone getter
469
+ // rather than as a 7th component of `getTBVProtocolParams` above: the field
470
+ // was appended to the struct, so a 7-component tuple decodes only against
471
+ // deployments that carry it and throws `PositionOutOfBoundsError` against
472
+ // the 6-word return of those that don't. Deployments are currently split
473
+ // (devnet has it, testnet/staging do not), and that tuple feeds
474
+ // `getPegInConfiguration` -> `ProtocolParamsContext`, whose failure blanks
475
+ // the app. `uint256` (not the `uint64` storage width) — the accessor widens.
476
+ {
477
+ type: "function",
478
+ name: "peginActivationDelay",
479
+ inputs: [],
480
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
481
+ stateMutability: "view"
482
+ }
483
+ ];
5
484
  export {
6
- o as ApplicationRegistryABI,
7
- e as BTCVaultRegistryABI,
8
- C as BTCVaultRegistryKeyEpochsABI,
9
- i as CONTRACT_ERRORS,
485
+ e as ApplicationRegistryABI,
486
+ a as BTCVaultRegistryABI,
487
+ s as BTCVaultRegistryKeyEpochsABI,
488
+ y as CONTRACT_ERRORS,
10
489
  t as ProtocolParamsABI,
11
- n as extractErrorData,
12
- p as getContractErrorMessage,
13
- A as handleContractError,
14
- R as isKnownContractError
490
+ r as extractErrorData,
491
+ u as getContractErrorMessage,
492
+ l as handleContractError,
493
+ m as isKnownContractError
15
494
  };
16
495
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/tbv/core/contracts/abis/ApplicationRegistry.abi.ts","../../../../src/tbv/core/contracts/abis/ProtocolParams.abi.ts"],"sourcesContent":["/**\n * ApplicationRegistry Contract ABI\n *\n * Minimal ABI containing only the vault keeper read functions needed by the SDK.\n * Generated from vault-contracts-aave-v4 IApplicationRegistry.sol interface.\n *\n * @module contracts/abis/ApplicationRegistry\n */\n\nexport const ApplicationRegistryABI = [\n {\n type: \"function\",\n name: \"getVaultKeepersByVersion\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentVaultKeepers\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentVaultKeepersVersion\",\n inputs: [\n {\n name: \"appEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // A keeper's roster entry (`AddressBTCKeyPair` above) carries its *admin*\n // ETH address and its *genesis* BTC key. The key that actually goes into\n // the scripts is the operation key bonded at the vault's frozen\n // `appKeeperKeyEpoch`, which the admin address keys the lookup for.\n //\n // The `...OrGenesis` variant takes the roster key explicitly because the\n // correct genesis for a keeper is its key in the vault's *frozen membership\n // version* — a keeper may have been dropped from the current roster, or\n // listed under a different key in an older version. The plain\n // `getOperationBtcKeyAtEpoch` variant resolves genesis version-agnostically\n // and can therefore pick the wrong one; do not use it for a frozen vault.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpochOrGenesis\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"rosterGenesisKey\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPayoutScriptAtEpoch\",\n inputs: [\n { name: \"appEntryPoint\", type: \"address\", internalType: \"address\" },\n { name: \"keeperAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"view\",\n },\n] as const;\n","/**\n * ProtocolParams Contract ABI\n *\n * Minimal ABI containing only the read functions needed by the SDK.\n * Generated from vault-contracts-aave-v4 IProtocolParams.sol interface.\n *\n * @module contracts/abis/ProtocolParams\n */\n\nexport const ProtocolParamsABI = [\n {\n type: \"function\",\n name: \"activeVaultCoreVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTBVProtocolParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.TBVProtocolParams\",\n components: [\n {\n name: \"minimumPegInAmount\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxPegInAmount\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"pegInAckTimeout\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"pegInActivationTimeout\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"maxHtlcOutputCount\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"expiredPegInGraceBlocks\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getLatestOffchainParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.VersionedOffchainParams\",\n components: [\n {\n name: \"timelockAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"timelockChallengeAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"securityCouncilKeys\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"councilQuorum\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"feeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"babeTotalInstances\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"babeInstancesToFinalize\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"minVpCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tRefund\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"tStale\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minPeginFeeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minPrepeginDepth\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOffchainParamsByVersion\",\n inputs: [\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct IProtocolParams.VersionedOffchainParams\",\n components: [\n {\n name: \"timelockAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"timelockChallengeAssert\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"securityCouncilKeys\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"councilQuorum\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"feeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"babeTotalInstances\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"babeInstancesToFinalize\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"minVpCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tRefund\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"tStale\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minPeginFeeRate\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minPrepeginDepth\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"latestOffchainParamsVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getUniversalChallengersByVersion\",\n inputs: [\n {\n name: \"versionNumber\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCurrentUniversalChallengers\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultTypes.AddressBTCKeyPair[]\",\n components: [\n {\n name: \"ethAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"btcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"latestUniversalChallengersVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // Universal challengers get the reduced RFC-006 model: an operation key\n // that goes into the challenge scripts, resolved against the vault's frozen\n // `ucKeyEpoch`, but no payout script (a UC is never a claimer, so its only\n // BTC output is the NoPayout anchor) and no per-UC setter — key changes go\n // through a roster version bump. The roster entry's `ethAddress` is the\n // `ucAdmin` lookup key and its `btcPubKey` is the genesis key.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [{ name: \"ucAdmin\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpochOrGenesis\",\n inputs: [\n { name: \"ucAdmin\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"rosterGenesisKey\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n // Observation window between a vault's final ACK and its activation, in ETH\n // blocks, measured from `verifiedAt`. Read through this standalone getter\n // rather than as a 7th component of `getTBVProtocolParams` above: the field\n // was appended to the struct, so a 7-component tuple decodes only against\n // deployments that carry it and throws `PositionOutOfBoundsError` against\n // the 6-word return of those that don't. Deployments are currently split\n // (devnet has it, testnet/staging do not), and that tuple feeds\n // `getPegInConfiguration` -> `ProtocolParamsContext`, whose failure blanks\n // the app. `uint256` (not the `uint64` storage width) — the accessor widens.\n {\n type: \"function\",\n name: \"peginActivationDelay\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n] as const;\n"],"names":["ApplicationRegistryABI","ProtocolParamsABI"],"mappings":"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"}