@babylonlabs-io/ts-sdk 0.56.0 → 0.57.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 (169) hide show
  1. package/README.md +1 -1
  2. package/dist/BTCVaultRegistry.abi-AUAyCHal.cjs +2 -0
  3. package/dist/BTCVaultRegistry.abi-AUAyCHal.cjs.map +1 -0
  4. package/dist/{BTCVaultRegistry.abi-Chs4AFBj.js → BTCVaultRegistry.abi-CixOlp3B.js} +73 -14
  5. package/dist/BTCVaultRegistry.abi-CixOlp3B.js.map +1 -0
  6. package/dist/BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js +111 -0
  7. package/dist/BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js.map +1 -0
  8. package/dist/BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs +2 -0
  9. package/dist/BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs.map +1 -0
  10. package/dist/{PeginManager-aYBkb-Qx.js → PeginManager-CnX3uFb0.js} +6 -6
  11. package/dist/{PeginManager-aYBkb-Qx.js.map → PeginManager-CnX3uFb0.js.map} +1 -1
  12. package/dist/PeginManager-iDbqXsKD.cjs +2 -0
  13. package/dist/{PeginManager-BkWdZI7P.cjs.map → PeginManager-iDbqXsKD.cjs.map} +1 -1
  14. package/dist/ProtocolParams.abi-C8U7BHCS.cjs +2 -0
  15. package/dist/ProtocolParams.abi-C8U7BHCS.cjs.map +1 -0
  16. package/dist/{ApplicationRegistry.abi-w5prf7Ig.js → ProtocolParams.abi-CV938AYZ.js} +150 -80
  17. package/dist/ProtocolParams.abi-CV938AYZ.js.map +1 -0
  18. package/dist/{buildAndBroadcastRefund-BtXUqBkb.js → buildAndBroadcastRefund-CCb1_z24.js} +627 -452
  19. package/dist/buildAndBroadcastRefund-CCb1_z24.js.map +1 -0
  20. package/dist/buildAndBroadcastRefund-CDzzTZ2U.cjs +2 -0
  21. package/dist/buildAndBroadcastRefund-CDzzTZ2U.cjs.map +1 -0
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.js +186 -175
  24. package/dist/index.js.map +1 -1
  25. package/dist/{types-CQDRQvV-.js → json-rpc-client-Ehjthcd7.js} +61 -61
  26. package/dist/json-rpc-client-Ehjthcd7.js.map +1 -0
  27. package/dist/{types-WA0LrDk1.cjs → json-rpc-client-fUoK-TzT.cjs} +2 -2
  28. package/dist/json-rpc-client-fUoK-TzT.cjs.map +1 -0
  29. package/dist/mempoolApi-C0olk43O.js +536 -0
  30. package/dist/mempoolApi-C0olk43O.js.map +1 -0
  31. package/dist/mempoolApi-Dsm2VPXp.cjs +2 -0
  32. package/dist/mempoolApi-Dsm2VPXp.cjs.map +1 -0
  33. package/dist/{noPayout-CihCk1HE.js → noPayout-CI4l1qu2.js} +2 -2
  34. package/dist/{noPayout-CihCk1HE.js.map → noPayout-CI4l1qu2.js.map} +1 -1
  35. package/dist/{noPayout-Cb8vFrkY.cjs → noPayout-Djrv31V5.cjs} +2 -2
  36. package/dist/{noPayout-Cb8vFrkY.cjs.map → noPayout-Djrv31V5.cjs.map} +1 -1
  37. package/dist/onChainBtcPubkey-Cd9kpz-S.cjs +2 -0
  38. package/dist/onChainBtcPubkey-Cd9kpz-S.cjs.map +1 -0
  39. package/dist/onChainBtcPubkey-aPY5ib3Q.js +19 -0
  40. package/dist/onChainBtcPubkey-aPY5ib3Q.js.map +1 -0
  41. package/dist/primeVpAuth-BlxUcdBf.cjs +2 -0
  42. package/dist/primeVpAuth-BlxUcdBf.cjs.map +1 -0
  43. package/dist/{primeVpAuth-DZOaC_Ui.js → primeVpAuth-DkJbvywo.js} +479 -367
  44. package/dist/primeVpAuth-DkJbvywo.js.map +1 -0
  45. package/dist/signPsbtsWithFallback-C01N6Kdo.cjs +2 -0
  46. package/dist/signPsbtsWithFallback-C01N6Kdo.cjs.map +1 -0
  47. package/dist/{PayoutManager-BVgmuKuK.js → signPsbtsWithFallback-CzZFZf0I.js} +105 -101
  48. package/dist/signPsbtsWithFallback-CzZFZf0I.js.map +1 -0
  49. package/dist/tbv/core/clients/eth/index.d.ts +5 -3
  50. package/dist/tbv/core/clients/eth/index.d.ts.map +1 -1
  51. package/dist/tbv/core/clients/eth/onChainBtcPubkey.d.ts +16 -0
  52. package/dist/tbv/core/clients/eth/onChainBtcPubkey.d.ts.map +1 -0
  53. package/dist/tbv/core/clients/eth/operation-key-reader.d.ts +33 -0
  54. package/dist/tbv/core/clients/eth/operation-key-reader.d.ts.map +1 -0
  55. package/dist/tbv/core/clients/eth/types.d.ts +122 -3
  56. package/dist/tbv/core/clients/eth/types.d.ts.map +1 -1
  57. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts +25 -1
  58. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts.map +1 -1
  59. package/dist/tbv/core/clients/index.cjs +1 -1
  60. package/dist/tbv/core/clients/index.js +35 -32
  61. package/dist/tbv/core/clients/index.js.map +1 -1
  62. package/dist/tbv/core/clients/mempool/mempoolApi.d.ts.map +1 -1
  63. package/dist/tbv/core/contracts/__tests__/BTCVaultRegistryKeyEpochs.abi.test.d.ts +2 -0
  64. package/dist/tbv/core/contracts/__tests__/BTCVaultRegistryKeyEpochs.abi.test.d.ts.map +1 -0
  65. package/dist/tbv/core/contracts/abis/ApplicationRegistry.abi.d.ts +66 -0
  66. package/dist/tbv/core/contracts/abis/ApplicationRegistry.abi.d.ts.map +1 -1
  67. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +50 -0
  68. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
  69. package/dist/tbv/core/contracts/abis/BTCVaultRegistryKeyEpochs.abi.d.ts +111 -0
  70. package/dist/tbv/core/contracts/abis/BTCVaultRegistryKeyEpochs.abi.d.ts.map +1 -0
  71. package/dist/tbv/core/contracts/abis/ProtocolParams.abi.d.ts +36 -0
  72. package/dist/tbv/core/contracts/abis/ProtocolParams.abi.d.ts.map +1 -1
  73. package/dist/tbv/core/contracts/index.cjs +1 -1
  74. package/dist/tbv/core/contracts/index.d.ts +2 -1
  75. package/dist/tbv/core/contracts/index.d.ts.map +1 -1
  76. package/dist/tbv/core/contracts/index.js +8 -6
  77. package/dist/tbv/core/contracts/index.js.map +1 -1
  78. package/dist/tbv/core/index.cjs +1 -1
  79. package/dist/tbv/core/index.js +183 -172
  80. package/dist/tbv/core/index.js.map +1 -1
  81. package/dist/tbv/core/managers/PayoutManager.d.ts +8 -0
  82. package/dist/tbv/core/managers/PayoutManager.d.ts.map +1 -1
  83. package/dist/tbv/core/managers/index.cjs +1 -1
  84. package/dist/tbv/core/managers/index.js +2 -2
  85. package/dist/tbv/core/primitives/index.cjs +1 -1
  86. package/dist/tbv/core/primitives/index.js +2 -2
  87. package/dist/tbv/core/primitives/psbt/__tests__/standardPayoutScript.test.d.ts +2 -0
  88. package/dist/tbv/core/primitives/psbt/__tests__/standardPayoutScript.test.d.ts.map +1 -0
  89. package/dist/tbv/core/primitives/psbt/assertPayoutFeeBand.d.ts +5 -5
  90. package/dist/tbv/core/primitives/psbt/assertPayoutFeeBand.d.ts.map +1 -1
  91. package/dist/tbv/core/primitives/psbt/payout.d.ts +23 -0
  92. package/dist/tbv/core/primitives/psbt/payout.d.ts.map +1 -1
  93. package/dist/tbv/core/primitives/psbt/standardPayoutScript.d.ts +41 -0
  94. package/dist/tbv/core/primitives/psbt/standardPayoutScript.d.ts.map +1 -0
  95. package/dist/tbv/core/services/deposit/__tests__/verifyRegisteredParticipantKeys.test.d.ts +2 -0
  96. package/dist/tbv/core/services/deposit/__tests__/verifyRegisteredParticipantKeys.test.d.ts.map +1 -0
  97. package/dist/tbv/core/services/deposit/index.d.ts +7 -6
  98. package/dist/tbv/core/services/deposit/index.d.ts.map +1 -1
  99. package/dist/tbv/core/services/deposit/runDepositorPresignFlow.d.ts +10 -0
  100. package/dist/tbv/core/services/deposit/runDepositorPresignFlow.d.ts.map +1 -1
  101. package/dist/tbv/core/services/deposit/signDepositorGraph.d.ts +9 -0
  102. package/dist/tbv/core/services/deposit/signDepositorGraph.d.ts.map +1 -1
  103. package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts +38 -1
  104. package/dist/tbv/core/services/deposit/validateOnChainParticipantKeys.d.ts.map +1 -1
  105. package/dist/tbv/core/services/deposit/verifyRegisteredParticipantKeys.d.ts +42 -0
  106. package/dist/tbv/core/services/deposit/verifyRegisteredParticipantKeys.d.ts.map +1 -0
  107. package/dist/tbv/core/services/index.cjs +1 -1
  108. package/dist/tbv/core/services/index.d.ts +1 -0
  109. package/dist/tbv/core/services/index.d.ts.map +1 -1
  110. package/dist/tbv/core/services/index.js +36 -31
  111. package/dist/tbv/core/services/participants/__tests__/fixtures/rotation.d.ts +55 -0
  112. package/dist/tbv/core/services/participants/__tests__/fixtures/rotation.d.ts.map +1 -0
  113. package/dist/tbv/core/services/participants/__tests__/resolveParticipantKeys.test.d.ts +2 -0
  114. package/dist/tbv/core/services/participants/__tests__/resolveParticipantKeys.test.d.ts.map +1 -0
  115. package/dist/tbv/core/services/participants/index.d.ts +8 -0
  116. package/dist/tbv/core/services/participants/index.d.ts.map +1 -0
  117. package/dist/tbv/core/services/participants/resolveParticipantKeys.d.ts +26 -0
  118. package/dist/tbv/core/services/participants/resolveParticipantKeys.d.ts.map +1 -0
  119. package/dist/tbv/core/services/participants/types.d.ts +62 -0
  120. package/dist/tbv/core/services/participants/types.d.ts.map +1 -0
  121. package/dist/tbv/core/utils/__tests__/abortSignals.test.d.ts +11 -0
  122. package/dist/tbv/core/utils/__tests__/abortSignals.test.d.ts.map +1 -0
  123. package/dist/tbv/core/utils/abortSignals.d.ts +23 -0
  124. package/dist/tbv/core/utils/abortSignals.d.ts.map +1 -0
  125. package/dist/tbv/core/utils/index.cjs +1 -1
  126. package/dist/tbv/core/utils/index.d.ts +1 -0
  127. package/dist/tbv/core/utils/index.d.ts.map +1 -1
  128. package/dist/tbv/core/utils/index.js +44 -43
  129. package/dist/tbv/index.cjs +1 -1
  130. package/dist/tbv/index.js +183 -172
  131. package/dist/tbv/index.js.map +1 -1
  132. package/dist/validation-CDbOaDj7.cjs +2 -0
  133. package/dist/validation-CDbOaDj7.cjs.map +1 -0
  134. package/dist/validation-Dj3dqYtl.js +30 -0
  135. package/dist/validation-Dj3dqYtl.js.map +1 -0
  136. package/dist/verifyScriptPathSchnorrSignature-C-84KJ6U.cjs +2 -0
  137. package/dist/verifyScriptPathSchnorrSignature-C-84KJ6U.cjs.map +1 -0
  138. package/dist/{verifyScriptPathSchnorrSignature-CgrnAjMW.js → verifyScriptPathSchnorrSignature-Xoo9DOHW.js} +359 -301
  139. package/dist/verifyScriptPathSchnorrSignature-Xoo9DOHW.js.map +1 -0
  140. package/package.json +3 -3
  141. package/dist/ApplicationRegistry.abi-CLaa6E99.cjs +0 -2
  142. package/dist/ApplicationRegistry.abi-CLaa6E99.cjs.map +0 -1
  143. package/dist/ApplicationRegistry.abi-w5prf7Ig.js.map +0 -1
  144. package/dist/BTCVaultRegistry.abi-Chs4AFBj.js.map +0 -1
  145. package/dist/BTCVaultRegistry.abi-JdeqLz4x.cjs +0 -2
  146. package/dist/BTCVaultRegistry.abi-JdeqLz4x.cjs.map +0 -1
  147. package/dist/PayoutManager-BVgmuKuK.js.map +0 -1
  148. package/dist/PayoutManager-Cu4_l-_Y.cjs +0 -2
  149. package/dist/PayoutManager-Cu4_l-_Y.cjs.map +0 -1
  150. package/dist/PeginManager-BkWdZI7P.cjs +0 -2
  151. package/dist/buildAndBroadcastRefund-BtXUqBkb.js.map +0 -1
  152. package/dist/buildAndBroadcastRefund-Cq01wyZX.cjs +0 -2
  153. package/dist/buildAndBroadcastRefund-Cq01wyZX.cjs.map +0 -1
  154. package/dist/mempoolApi-P_ApODLd.js +0 -483
  155. package/dist/mempoolApi-P_ApODLd.js.map +0 -1
  156. package/dist/mempoolApi-emec8bHK.cjs +0 -2
  157. package/dist/mempoolApi-emec8bHK.cjs.map +0 -1
  158. package/dist/primeVpAuth-DZOaC_Ui.js.map +0 -1
  159. package/dist/primeVpAuth-j2getl3f.cjs +0 -2
  160. package/dist/primeVpAuth-j2getl3f.cjs.map +0 -1
  161. package/dist/types-CQDRQvV-.js.map +0 -1
  162. package/dist/types-WA0LrDk1.cjs.map +0 -1
  163. package/dist/validation-CxqROCno.js +0 -15
  164. package/dist/validation-CxqROCno.js.map +0 -1
  165. package/dist/validation-u8W7Lp2x.cjs +0 -2
  166. package/dist/validation-u8W7Lp2x.cjs.map +0 -1
  167. package/dist/verifyScriptPathSchnorrSignature-BZhX-SOd.cjs +0 -2
  168. package/dist/verifyScriptPathSchnorrSignature-BZhX-SOd.cjs.map +0 -1
  169. package/dist/verifyScriptPathSchnorrSignature-CgrnAjMW.js.map +0 -1
package/README.md CHANGED
@@ -51,7 +51,7 @@ targets — see the [Troubleshooting Guide](./docs/get-started/troubleshooting.m
51
51
 
52
52
  ### Requirements
53
53
 
54
- - **Node.js ≥ 20.3.0** (for `AbortSignal.any()`). Works on Node 20 LTS, 22 LTS, 24 LTS.
54
+ - **Node.js ≥ 20.3.0** — the supported baseline. Works on Node 20 LTS, 22 LTS, 24 LTS.
55
55
  - Package manager: npm, yarn, or pnpm
56
56
 
57
57
  ### Install
@@ -0,0 +1,2 @@
1
+ "use strict";const e=[{type:"function",name:"submitPeginRequest",inputs:[{name:"depositor",type:"address",internalType:"address"},{name:"depositorBtcPubKey",type:"bytes32",internalType:"bytes32"},{name:"btcPopSignature",type:"bytes",internalType:"bytes"},{name:"unsignedPrePeginTx",type:"bytes",internalType:"bytes"},{name:"depositorSignedPeginTx",type:"bytes",internalType:"bytes"},{name:"vaultProvider",type:"address",internalType:"address"},{name:"maxAcceptableCommissionBps",type:"uint16",internalType:"uint16"},{name:"hashlock",type:"bytes32",internalType:"bytes32"},{name:"htlcVout",type:"uint8",internalType:"uint8"},{name:"depositorPayoutBtcAddress",type:"bytes",internalType:"bytes"},{name:"depositorWotsPkHash",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"payable"},{type:"function",name:"submitPeginRequest",inputs:[{name:"depositor",type:"address",internalType:"address"},{name:"depositorBtcPubKey",type:"bytes32",internalType:"bytes32"},{name:"btcPopSignature",type:"bytes",internalType:"bytes"},{name:"unsignedPrePeginTx",type:"bytes",internalType:"bytes"},{name:"depositorSignedPeginTx",type:"bytes",internalType:"bytes"},{name:"vaultProvider",type:"address",internalType:"address"},{name:"maxAcceptableCommissionBps",type:"uint16",internalType:"uint16"},{name:"hashlock",type:"bytes32",internalType:"bytes32"},{name:"htlcVout",type:"uint8",internalType:"uint8"},{name:"referralCode",type:"uint32",internalType:"uint32"},{name:"depositorPayoutBtcAddress",type:"bytes",internalType:"bytes"},{name:"depositorWotsPkHash",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"payable"},{type:"function",name:"submitPeginRequestBatch",inputs:[{name:"depositor",type:"address",internalType:"address"},{name:"vaultProvider",type:"address",internalType:"address"},{name:"maxAcceptableCommissionBps",type:"uint16",internalType:"uint16"},{name:"requests",type:"tuple[]",internalType:"struct BTCVaultRegistryTypes.BatchPeginRequest[]",components:[{name:"depositorBtcPubKey",type:"bytes32",internalType:"bytes32"},{name:"btcPopSignature",type:"bytes",internalType:"bytes"},{name:"unsignedPrePeginTx",type:"bytes",internalType:"bytes"},{name:"depositorSignedPeginTx",type:"bytes",internalType:"bytes"},{name:"hashlock",type:"bytes32",internalType:"bytes32"},{name:"htlcVout",type:"uint8",internalType:"uint8"},{name:"referralCode",type:"uint32",internalType:"uint32"},{name:"depositorPayoutBtcAddress",type:"bytes",internalType:"bytes"},{name:"depositorWotsPkHash",type:"bytes32",internalType:"bytes32"}]}],outputs:[{name:"vaultIds",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"payable"},{type:"function",name:"activateVaultWithSecret",inputs:[{name:"vaultId",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"},{name:"activationMetadata",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getPegInFee",inputs:[{name:"vaultProvider",type:"address",internalType:"address"}],outputs:[{name:"totalFee",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getVaultProviderBTCKey",inputs:[{name:"vpAddr",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"getCurrentOperationBtcKey",inputs:[{name:"provider",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"getOperationBtcKeyAtEpoch",inputs:[{name:"provider",type:"address",internalType:"address"},{name:"epoch",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"getPayoutScriptAtEpoch",inputs:[{name:"provider",type:"address",internalType:"address"},{name:"epoch",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getVaultProviderCommission",inputs:[{name:"vpAddr",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{type:"function",name:"getBtcVaultBasicInfo",inputs:[{name:"vaultId",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"vBasic",type:"tuple",internalType:"struct BTCVaultTypes.BTCVaultBasicInfo",components:[{name:"depositor",type:"address",internalType:"address"},{name:"depositorBtcPubKey",type:"bytes32",internalType:"bytes32"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"vaultProvider",type:"address",internalType:"address"},{name:"status",type:"uint8",internalType:"enum IBTCVaultRegistry.BTCVaultStatus"},{name:"applicationEntryPoint",type:"address",internalType:"address"},{name:"createdAt",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"error",name:"InvalidPeginFee",inputs:[{name:"provided",type:"uint256",internalType:"uint256"},{name:"required",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSecret",inputs:[]},{type:"error",name:"ActivationDeadlineExpired",inputs:[]},{type:"error",name:"InvalidHashlock",inputs:[]},{type:"error",name:"DuplicateHashlock",inputs:[]},{type:"error",name:"CapExceeded",inputs:[]},{type:"error",name:"InvalidOutputIndex",inputs:[]},{type:"error",name:"PeginSignaturesIncomplete",inputs:[]},{type:"function",name:"getBtcVaultProtocolInfo",inputs:[{name:"vaultId",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"vProtocol",type:"tuple",internalType:"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo",components:[{name:"depositorSignedPeginTx",type:"bytes",internalType:"bytes"},{name:"universalChallengersVersion",type:"uint16",internalType:"uint16"},{name:"appVaultKeepersVersion",type:"uint16",internalType:"uint16"},{name:"offchainParamsVersion",type:"uint16",internalType:"uint16"},{name:"verifiedAt",type:"uint256",internalType:"uint256"},{name:"depositorWotsPkHash",type:"bytes32",internalType:"bytes32"},{name:"hashlock",type:"bytes32",internalType:"bytes32"},{name:"htlcVout",type:"uint8",internalType:"uint8"},{name:"depositorPopSignature",type:"bytes",internalType:"bytes"},{name:"prePeginTxHash",type:"bytes32",internalType:"bytes32"},{name:"vaultProviderCommissionBps",type:"uint16",internalType:"uint16"},{name:"claimExpiredUntil",type:"uint256",internalType:"uint256"},{name:"vaultCoreVersion",type:"uint16",internalType:"uint16"}]}],stateMutability:"view"},{type:"function",name:"protocolParams",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IProtocolParams"}],stateMutability:"view"},{type:"function",name:"applicationRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IApplicationRegistry"}],stateMutability:"view"},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"TransferFailed",inputs:[]},{type:"error",name:"InvalidTransaction",inputs:[]},{type:"error",name:"EmptyPayoutAddress",inputs:[]},{type:"error",name:"PayoutAddressTooLong",inputs:[]},{type:"error",name:"VaultAlreadyExists",inputs:[]},{type:"error",name:"VaultFeeAlreadyEscrowed",inputs:[]},{type:"error",name:"NoEscrowedFees",inputs:[]},{type:"error",name:"BTCVaultNotFound",inputs:[]},{type:"error",name:"InvalidBTCVaultStatus",inputs:[]},{type:"error",name:"PeginNotExpired",inputs:[]},{type:"error",name:"InvalidParticipantsList",inputs:[]},{type:"error",name:"DuplicateParticipant",inputs:[]},{type:"error",name:"ParticipantRoleOverlap",inputs:[]},{type:"error",name:"NotAuthorizedToACK",inputs:[]},{type:"error",name:"UnauthorizedVaultKeeper",inputs:[]},{type:"error",name:"BlocklistedVaultKeeper",inputs:[]},{type:"error",name:"PeginTransactionExpired",inputs:[]},{type:"error",name:"PrePeginOutputAlreadyUsed",inputs:[]},{type:"error",name:"PeginTransactionAlreadyUsed",inputs:[]},{type:"error",name:"InvalidPeginFee",inputs:[{name:"provided",type:"uint256",internalType:"uint256"},{name:"required",type:"uint256",internalType:"uint256"}]},{type:"error",name:"AmountBelowMinimumThreshold",inputs:[{name:"actual",type:"uint256",internalType:"uint256"},{name:"minimum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidOutputIndex",inputs:[{name:"provided",type:"uint256",internalType:"uint256"},{name:"maxValid",type:"uint256",internalType:"uint256"}]},{type:"error",name:"TooManyHtlcOutputs",inputs:[{name:"outputCount",type:"uint256",internalType:"uint256"},{name:"maxAllowed",type:"uint256",internalType:"uint256"}]},{type:"error",name:"VaultBelowMinimum",inputs:[{name:"actual",type:"uint256",internalType:"uint256"},{name:"minimum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"VaultAboveMaximum",inputs:[{name:"actual",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidBTCPublicKey",inputs:[]},{type:"error",name:"InvalidDepositorWotsPkHash",inputs:[]},{type:"error",name:"InvalidBTCProofOfPossession",inputs:[]},{type:"error",name:"EthKeyAlreadyRegistered",inputs:[]},{type:"error",name:"BtcKeyAlreadyRegistered",inputs:[]},{type:"error",name:"InvalidRegistrationFee",inputs:[]},{type:"error",name:"CommissionBelowMinimum",inputs:[{name:"provided",type:"uint16",internalType:"uint16"},{name:"minimum",type:"uint16",internalType:"uint16"}]},{type:"error",name:"CommissionAboveMaximum",inputs:[{name:"provided",type:"uint16",internalType:"uint16"}]},{type:"error",name:"CommissionUnchanged",inputs:[]},{type:"error",name:"VaultProviderCommissionExceeded",inputs:[{name:"maxAcceptable",type:"uint16",internalType:"uint16"},{name:"actual",type:"uint16",internalType:"uint16"}]},{type:"error",name:"VaultProviderNotRegistered",inputs:[]},{type:"error",name:"ApplicationAlreadyRegistered",inputs:[]},{type:"error",name:"ApplicationNotRegistered",inputs:[]},{type:"error",name:"ApplicationNotActive",inputs:[]},{type:"error",name:"InvalidApplicationStatus",inputs:[]},{type:"error",name:"OnlyApplicationEntryPoint",inputs:[]},{type:"error",name:"EmptyVaultKeepers",inputs:[]},{type:"error",name:"NoUniversalChallengersConfigured",inputs:[]},{type:"error",name:"NoAppVaultKeepersConfigured",inputs:[]},{type:"error",name:"PeginSignaturesIncomplete",inputs:[]},{type:"error",name:"InvalidSignatureLength",inputs:[]},{type:"error",name:"PeginInputSignatureAlreadySubmitted",inputs:[]},{type:"error",name:"InvalidHashlock",inputs:[]},{type:"error",name:"DuplicateHashlock",inputs:[]},{type:"error",name:"InvalidSecret",inputs:[]},{type:"error",name:"ActivationDeadlineExpired",inputs:[]},{type:"error",name:"PostExpiryGraceWindowElapsed",inputs:[]},{type:"error",name:"CapExceeded",inputs:[]}];exports.BTCVaultRegistryABI=e;
2
+ //# sourceMappingURL=BTCVaultRegistry.abi-AUAyCHal.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistry.abi-AUAyCHal.cjs","sources":["../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"sourcesContent":["/**\n * BTCVaultRegistry Contract ABI\n *\n * Minimal ABI containing only the functions needed by the SDK.\n * Full ABI is available in the vault service package.\n *\n * @module contracts/abis/BTCVaultRegistry\n */\n\n/**\n * Minimal ABI for BTCVaultRegistry contract.\n * Contains submitPeginRequest, submitPeginRequestBatch, activateVaultWithSecret, getPegInFee, getBtcVaultBasicInfo, and getVaultProviderCommission.\n */\nexport const BTCVaultRegistryABI = [\n {\n type: \"function\",\n name: \"submitPeginRequest\",\n inputs: [\n {\n name: \"depositor\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"submitPeginRequest\",\n inputs: [\n {\n name: \"depositor\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"submitPeginRequestBatch\",\n inputs: [\n { name: \"depositor\", type: \"address\", internalType: \"address\" },\n { name: \"vaultProvider\", type: \"address\", internalType: \"address\" },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"requests\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultRegistryTypes.BatchPeginRequest[]\",\n components: [\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n { name: \"btcPopSignature\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"unsignedPrePeginTx\", type: \"bytes\", internalType: \"bytes\" },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n { name: \"hashlock\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"htlcVout\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"referralCode\", type: \"uint32\", internalType: \"uint32\" },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n outputs: [\n { name: \"vaultIds\", type: \"bytes32[]\", internalType: \"bytes32[]\" },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"activateVaultWithSecret\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"activationMetadata\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getPegInFee\",\n inputs: [\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"totalFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getVaultProviderBTCKey\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // A vault provider's BTC key is no longer the fixed registration key\n // returned by `getVaultProviderBTCKey` above: it is an append-only history\n // of *operation* keys, rotated by the provider's cold ETH admin key. Each\n // vault freezes a `vpKeyEpoch` at `submitPeginRequest` and resolves the key\n // bonded at that epoch, so a later rotation never invalidates a live vault.\n //\n // `getCurrentOperationBtcKey` falls back on-chain to the registration key at\n // version 0, so adopting it is a no-op for a provider that never rotated.\n //\n // `getPayoutScriptAtEpoch` does NOT behave that way, and assuming it did was\n // wrong in an earlier revision of this comment. A payout script is mandatory\n // at registration and stored as version 1, so on an RFC-006 registry this\n // returns the operator's own registered script from the very first epoch —\n // not a BIP-86 derivation of its key. The contract's BIP-86 branch is a\n // migration default for pre-RFC-006 rows and is not reachable from\n // registration. An operator whose registered script happens to equal\n // bip86(key) is a coincidence of what it chose to register, not a fallback.\n //\n // This is why depositor payout validation must accept the legacy BIP-86 form\n // alongside the registered one: a payout graph is built once at BaBe Setup\n // and never rebuilt, so a vault whose graph predates its network's\n // btc-vault#2440 upgrade pays BIP-86 for the rest of its life. See\n // `acceptedPayoutScriptHexes` in `primitives/psbt/payout.ts`.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [{ name: \"provider\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpoch\",\n inputs: [\n { name: \"provider\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPayoutScriptAtEpoch\",\n inputs: [\n { name: \"provider\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getVaultProviderCommission\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint16\", internalType: \"uint16\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getBtcVaultBasicInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vBasic\",\n type: \"tuple\",\n internalType: \"struct BTCVaultTypes.BTCVaultBasicInfo\",\n components: [\n { name: \"depositor\", type: \"address\", internalType: \"address\" },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"status\",\n type: \"uint8\",\n internalType: \"enum IBTCVaultRegistry.BTCVaultStatus\",\n },\n {\n name: \"applicationEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n { name: \"createdAt\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"error\",\n name: \"InvalidPeginFee\",\n inputs: [\n {\n name: \"provided\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"required\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidSecret\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ActivationDeadlineExpired\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidHashlock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DuplicateHashlock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"CapExceeded\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidOutputIndex\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"PeginSignaturesIncomplete\",\n inputs: [],\n },\n {\n type: \"function\",\n name: \"getBtcVaultProtocolInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vProtocol\",\n type: \"tuple\",\n internalType: \"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo\",\n components: [\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"verifiedAt\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"prePeginTxHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"vaultProviderCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"claimExpiredUntil\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"protocolParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IProtocolParams\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"applicationRegistry\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IApplicationRegistry\",\n },\n ],\n stateMutability: \"view\",\n },\n // ============================================================================\n // Errors — needed so viem can decode revert data into a named error.\n // Without these, every revert surfaces as \"Execution reverted for an\n // unknown reason.\" Mirrors errors thrown from BTCVaultRegistry's reachable\n // code paths (pegin submission, ACK, activation). Source:\n // https://github.com/babylonlabs-io/vault-contracts-aave-v4/blob/652c4582/src/protocol/lib/types/Errors.sol\n // ============================================================================\n { type: \"error\", name: \"ZeroAddress\", inputs: [] },\n { type: \"error\", name: \"Unauthorized\", inputs: [] },\n { type: \"error\", name: \"InvalidAmount\", inputs: [] },\n { type: \"error\", name: \"TransferFailed\", inputs: [] },\n { type: \"error\", name: \"InvalidTransaction\", inputs: [] },\n { type: \"error\", name: \"EmptyPayoutAddress\", inputs: [] },\n { type: \"error\", name: \"PayoutAddressTooLong\", inputs: [] },\n { type: \"error\", name: \"VaultAlreadyExists\", inputs: [] },\n { type: \"error\", name: \"VaultFeeAlreadyEscrowed\", inputs: [] },\n { type: \"error\", name: \"NoEscrowedFees\", inputs: [] },\n { type: \"error\", name: \"BTCVaultNotFound\", inputs: [] },\n { type: \"error\", name: \"InvalidBTCVaultStatus\", inputs: [] },\n { type: \"error\", name: \"PeginNotExpired\", inputs: [] },\n { type: \"error\", name: \"InvalidParticipantsList\", inputs: [] },\n { type: \"error\", name: \"DuplicateParticipant\", inputs: [] },\n { type: \"error\", name: \"ParticipantRoleOverlap\", inputs: [] },\n { type: \"error\", name: \"NotAuthorizedToACK\", inputs: [] },\n { type: \"error\", name: \"UnauthorizedVaultKeeper\", inputs: [] },\n { type: \"error\", name: \"BlocklistedVaultKeeper\", inputs: [] },\n { type: \"error\", name: \"PeginTransactionExpired\", inputs: [] },\n { type: \"error\", name: \"PrePeginOutputAlreadyUsed\", inputs: [] },\n { type: \"error\", name: \"PeginTransactionAlreadyUsed\", inputs: [] },\n {\n type: \"error\",\n name: \"InvalidPeginFee\",\n inputs: [\n { name: \"provided\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"required\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"AmountBelowMinimumThreshold\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minimum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidOutputIndex\",\n inputs: [\n { name: \"provided\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maxValid\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"TooManyHtlcOutputs\",\n inputs: [\n { name: \"outputCount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maxAllowed\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"VaultBelowMinimum\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minimum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"VaultAboveMaximum\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maximum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n { type: \"error\", name: \"InvalidBTCPublicKey\", inputs: [] },\n { type: \"error\", name: \"InvalidDepositorWotsPkHash\", inputs: [] },\n { type: \"error\", name: \"InvalidBTCProofOfPossession\", inputs: [] },\n { type: \"error\", name: \"EthKeyAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"BtcKeyAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"InvalidRegistrationFee\", inputs: [] },\n {\n type: \"error\",\n name: \"CommissionBelowMinimum\",\n inputs: [\n { name: \"provided\", type: \"uint16\", internalType: \"uint16\" },\n { name: \"minimum\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n {\n type: \"error\",\n name: \"CommissionAboveMaximum\",\n inputs: [{ name: \"provided\", type: \"uint16\", internalType: \"uint16\" }],\n },\n { type: \"error\", name: \"CommissionUnchanged\", inputs: [] },\n {\n type: \"error\",\n name: \"VaultProviderCommissionExceeded\",\n inputs: [\n { name: \"maxAcceptable\", type: \"uint16\", internalType: \"uint16\" },\n { name: \"actual\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n { type: \"error\", name: \"VaultProviderNotRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationNotRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationNotActive\", inputs: [] },\n { type: \"error\", name: \"InvalidApplicationStatus\", inputs: [] },\n { type: \"error\", name: \"OnlyApplicationEntryPoint\", inputs: [] },\n { type: \"error\", name: \"EmptyVaultKeepers\", inputs: [] },\n { type: \"error\", name: \"NoUniversalChallengersConfigured\", inputs: [] },\n { type: \"error\", name: \"NoAppVaultKeepersConfigured\", inputs: [] },\n { type: \"error\", name: \"PeginSignaturesIncomplete\", inputs: [] },\n { type: \"error\", name: \"InvalidSignatureLength\", inputs: [] },\n { type: \"error\", name: \"PeginInputSignatureAlreadySubmitted\", inputs: [] },\n { type: \"error\", name: \"InvalidHashlock\", inputs: [] },\n { type: \"error\", name: \"DuplicateHashlock\", inputs: [] },\n { type: \"error\", name: \"InvalidSecret\", inputs: [] },\n { type: \"error\", name: \"ActivationDeadlineExpired\", inputs: [] },\n { type: \"error\", name: \"PostExpiryGraceWindowElapsed\", inputs: [] },\n { type: \"error\", name: \"CapExceeded\", inputs: [] },\n] as const;\n"],"names":["BTCVaultRegistryABI"],"mappings":"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"}
@@ -158,15 +158,31 @@ const e = [
158
158
  type: "tuple[]",
159
159
  internalType: "struct BTCVaultRegistryTypes.BatchPeginRequest[]",
160
160
  components: [
161
- { name: "depositorBtcPubKey", type: "bytes32", internalType: "bytes32" },
161
+ {
162
+ name: "depositorBtcPubKey",
163
+ type: "bytes32",
164
+ internalType: "bytes32"
165
+ },
162
166
  { name: "btcPopSignature", type: "bytes", internalType: "bytes" },
163
167
  { name: "unsignedPrePeginTx", type: "bytes", internalType: "bytes" },
164
- { name: "depositorSignedPeginTx", type: "bytes", internalType: "bytes" },
168
+ {
169
+ name: "depositorSignedPeginTx",
170
+ type: "bytes",
171
+ internalType: "bytes"
172
+ },
165
173
  { name: "hashlock", type: "bytes32", internalType: "bytes32" },
166
174
  { name: "htlcVout", type: "uint8", internalType: "uint8" },
167
175
  { name: "referralCode", type: "uint32", internalType: "uint32" },
168
- { name: "depositorPayoutBtcAddress", type: "bytes", internalType: "bytes" },
169
- { name: "depositorWotsPkHash", type: "bytes32", internalType: "bytes32" }
176
+ {
177
+ name: "depositorPayoutBtcAddress",
178
+ type: "bytes",
179
+ internalType: "bytes"
180
+ },
181
+ {
182
+ name: "depositorWotsPkHash",
183
+ type: "bytes32",
184
+ internalType: "bytes32"
185
+ }
170
186
  ]
171
187
  }
172
188
  ],
@@ -220,23 +236,66 @@ const e = [
220
236
  {
221
237
  type: "function",
222
238
  name: "getVaultProviderBTCKey",
239
+ inputs: [{ name: "vpAddr", type: "address", internalType: "address" }],
240
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
241
+ stateMutability: "view"
242
+ },
243
+ // --- RFC-006 operation-key resolution ---------------------------------
244
+ // A vault provider's BTC key is no longer the fixed registration key
245
+ // returned by `getVaultProviderBTCKey` above: it is an append-only history
246
+ // of *operation* keys, rotated by the provider's cold ETH admin key. Each
247
+ // vault freezes a `vpKeyEpoch` at `submitPeginRequest` and resolves the key
248
+ // bonded at that epoch, so a later rotation never invalidates a live vault.
249
+ //
250
+ // `getCurrentOperationBtcKey` falls back on-chain to the registration key at
251
+ // version 0, so adopting it is a no-op for a provider that never rotated.
252
+ //
253
+ // `getPayoutScriptAtEpoch` does NOT behave that way, and assuming it did was
254
+ // wrong in an earlier revision of this comment. A payout script is mandatory
255
+ // at registration and stored as version 1, so on an RFC-006 registry this
256
+ // returns the operator's own registered script from the very first epoch —
257
+ // not a BIP-86 derivation of its key. The contract's BIP-86 branch is a
258
+ // migration default for pre-RFC-006 rows and is not reachable from
259
+ // registration. An operator whose registered script happens to equal
260
+ // bip86(key) is a coincidence of what it chose to register, not a fallback.
261
+ //
262
+ // This is why depositor payout validation must accept the legacy BIP-86 form
263
+ // alongside the registered one: a payout graph is built once at BaBe Setup
264
+ // and never rebuilt, so a vault whose graph predates its network's
265
+ // btc-vault#2440 upgrade pays BIP-86 for the rest of its life. See
266
+ // `acceptedPayoutScriptHexes` in `primitives/psbt/payout.ts`.
267
+ {
268
+ type: "function",
269
+ name: "getCurrentOperationBtcKey",
270
+ inputs: [{ name: "provider", type: "address", internalType: "address" }],
271
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
272
+ stateMutability: "view"
273
+ },
274
+ {
275
+ type: "function",
276
+ name: "getOperationBtcKeyAtEpoch",
223
277
  inputs: [
224
- { name: "vpAddr", type: "address", internalType: "address" }
225
- ],
226
- outputs: [
227
- { name: "", type: "bytes32", internalType: "bytes32" }
278
+ { name: "provider", type: "address", internalType: "address" },
279
+ { name: "epoch", type: "uint64", internalType: "uint64" }
228
280
  ],
281
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
229
282
  stateMutability: "view"
230
283
  },
231
284
  {
232
285
  type: "function",
233
- name: "getVaultProviderCommission",
286
+ name: "getPayoutScriptAtEpoch",
234
287
  inputs: [
235
- { name: "vpAddr", type: "address", internalType: "address" }
236
- ],
237
- outputs: [
238
- { name: "", type: "uint16", internalType: "uint16" }
288
+ { name: "provider", type: "address", internalType: "address" },
289
+ { name: "epoch", type: "uint64", internalType: "uint64" }
239
290
  ],
291
+ outputs: [{ name: "", type: "bytes", internalType: "bytes" }],
292
+ stateMutability: "view"
293
+ },
294
+ {
295
+ type: "function",
296
+ name: "getVaultProviderCommission",
297
+ inputs: [{ name: "vpAddr", type: "address", internalType: "address" }],
298
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
240
299
  stateMutability: "view"
241
300
  },
242
301
  {
@@ -573,4 +632,4 @@ const e = [
573
632
  export {
574
633
  e as B
575
634
  };
576
- //# sourceMappingURL=BTCVaultRegistry.abi-Chs4AFBj.js.map
635
+ //# sourceMappingURL=BTCVaultRegistry.abi-CixOlp3B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistry.abi-CixOlp3B.js","sources":["../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"sourcesContent":["/**\n * BTCVaultRegistry Contract ABI\n *\n * Minimal ABI containing only the functions needed by the SDK.\n * Full ABI is available in the vault service package.\n *\n * @module contracts/abis/BTCVaultRegistry\n */\n\n/**\n * Minimal ABI for BTCVaultRegistry contract.\n * Contains submitPeginRequest, submitPeginRequestBatch, activateVaultWithSecret, getPegInFee, getBtcVaultBasicInfo, and getVaultProviderCommission.\n */\nexport const BTCVaultRegistryABI = [\n {\n type: \"function\",\n name: \"submitPeginRequest\",\n inputs: [\n {\n name: \"depositor\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"submitPeginRequest\",\n inputs: [\n {\n name: \"depositor\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"submitPeginRequestBatch\",\n inputs: [\n { name: \"depositor\", type: \"address\", internalType: \"address\" },\n { name: \"vaultProvider\", type: \"address\", internalType: \"address\" },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"requests\",\n type: \"tuple[]\",\n internalType: \"struct BTCVaultRegistryTypes.BatchPeginRequest[]\",\n components: [\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n { name: \"btcPopSignature\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"unsignedPrePeginTx\", type: \"bytes\", internalType: \"bytes\" },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n { name: \"hashlock\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"htlcVout\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"referralCode\", type: \"uint32\", internalType: \"uint32\" },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n ],\n outputs: [\n { name: \"vaultIds\", type: \"bytes32[]\", internalType: \"bytes32[]\" },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"activateVaultWithSecret\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"activationMetadata\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getPegInFee\",\n inputs: [\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"totalFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getVaultProviderBTCKey\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n // --- RFC-006 operation-key resolution ---------------------------------\n // A vault provider's BTC key is no longer the fixed registration key\n // returned by `getVaultProviderBTCKey` above: it is an append-only history\n // of *operation* keys, rotated by the provider's cold ETH admin key. Each\n // vault freezes a `vpKeyEpoch` at `submitPeginRequest` and resolves the key\n // bonded at that epoch, so a later rotation never invalidates a live vault.\n //\n // `getCurrentOperationBtcKey` falls back on-chain to the registration key at\n // version 0, so adopting it is a no-op for a provider that never rotated.\n //\n // `getPayoutScriptAtEpoch` does NOT behave that way, and assuming it did was\n // wrong in an earlier revision of this comment. A payout script is mandatory\n // at registration and stored as version 1, so on an RFC-006 registry this\n // returns the operator's own registered script from the very first epoch —\n // not a BIP-86 derivation of its key. The contract's BIP-86 branch is a\n // migration default for pre-RFC-006 rows and is not reachable from\n // registration. An operator whose registered script happens to equal\n // bip86(key) is a coincidence of what it chose to register, not a fallback.\n //\n // This is why depositor payout validation must accept the legacy BIP-86 form\n // alongside the registered one: a payout graph is built once at BaBe Setup\n // and never rebuilt, so a vault whose graph predates its network's\n // btc-vault#2440 upgrade pays BIP-86 for the rest of its life. See\n // `acceptedPayoutScriptHexes` in `primitives/psbt/payout.ts`.\n {\n type: \"function\",\n name: \"getCurrentOperationBtcKey\",\n inputs: [{ name: \"provider\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getOperationBtcKeyAtEpoch\",\n inputs: [\n { name: \"provider\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPayoutScriptAtEpoch\",\n inputs: [\n { name: \"provider\", type: \"address\", internalType: \"address\" },\n { name: \"epoch\", type: \"uint64\", internalType: \"uint64\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getVaultProviderCommission\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint16\", internalType: \"uint16\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getBtcVaultBasicInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vBasic\",\n type: \"tuple\",\n internalType: \"struct BTCVaultTypes.BTCVaultBasicInfo\",\n components: [\n { name: \"depositor\", type: \"address\", internalType: \"address\" },\n {\n name: \"depositorBtcPubKey\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"vaultProvider\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"status\",\n type: \"uint8\",\n internalType: \"enum IBTCVaultRegistry.BTCVaultStatus\",\n },\n {\n name: \"applicationEntryPoint\",\n type: \"address\",\n internalType: \"address\",\n },\n { name: \"createdAt\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"error\",\n name: \"InvalidPeginFee\",\n inputs: [\n {\n name: \"provided\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"required\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidSecret\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ActivationDeadlineExpired\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidHashlock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DuplicateHashlock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"CapExceeded\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidOutputIndex\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"PeginSignaturesIncomplete\",\n inputs: [],\n },\n {\n type: \"function\",\n name: \"getBtcVaultProtocolInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vProtocol\",\n type: \"tuple\",\n internalType: \"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo\",\n components: [\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"verifiedAt\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"prePeginTxHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"vaultProviderCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"claimExpiredUntil\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"protocolParams\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IProtocolParams\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"applicationRegistry\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IApplicationRegistry\",\n },\n ],\n stateMutability: \"view\",\n },\n // ============================================================================\n // Errors — needed so viem can decode revert data into a named error.\n // Without these, every revert surfaces as \"Execution reverted for an\n // unknown reason.\" Mirrors errors thrown from BTCVaultRegistry's reachable\n // code paths (pegin submission, ACK, activation). Source:\n // https://github.com/babylonlabs-io/vault-contracts-aave-v4/blob/652c4582/src/protocol/lib/types/Errors.sol\n // ============================================================================\n { type: \"error\", name: \"ZeroAddress\", inputs: [] },\n { type: \"error\", name: \"Unauthorized\", inputs: [] },\n { type: \"error\", name: \"InvalidAmount\", inputs: [] },\n { type: \"error\", name: \"TransferFailed\", inputs: [] },\n { type: \"error\", name: \"InvalidTransaction\", inputs: [] },\n { type: \"error\", name: \"EmptyPayoutAddress\", inputs: [] },\n { type: \"error\", name: \"PayoutAddressTooLong\", inputs: [] },\n { type: \"error\", name: \"VaultAlreadyExists\", inputs: [] },\n { type: \"error\", name: \"VaultFeeAlreadyEscrowed\", inputs: [] },\n { type: \"error\", name: \"NoEscrowedFees\", inputs: [] },\n { type: \"error\", name: \"BTCVaultNotFound\", inputs: [] },\n { type: \"error\", name: \"InvalidBTCVaultStatus\", inputs: [] },\n { type: \"error\", name: \"PeginNotExpired\", inputs: [] },\n { type: \"error\", name: \"InvalidParticipantsList\", inputs: [] },\n { type: \"error\", name: \"DuplicateParticipant\", inputs: [] },\n { type: \"error\", name: \"ParticipantRoleOverlap\", inputs: [] },\n { type: \"error\", name: \"NotAuthorizedToACK\", inputs: [] },\n { type: \"error\", name: \"UnauthorizedVaultKeeper\", inputs: [] },\n { type: \"error\", name: \"BlocklistedVaultKeeper\", inputs: [] },\n { type: \"error\", name: \"PeginTransactionExpired\", inputs: [] },\n { type: \"error\", name: \"PrePeginOutputAlreadyUsed\", inputs: [] },\n { type: \"error\", name: \"PeginTransactionAlreadyUsed\", inputs: [] },\n {\n type: \"error\",\n name: \"InvalidPeginFee\",\n inputs: [\n { name: \"provided\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"required\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"AmountBelowMinimumThreshold\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minimum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidOutputIndex\",\n inputs: [\n { name: \"provided\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maxValid\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"TooManyHtlcOutputs\",\n inputs: [\n { name: \"outputCount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maxAllowed\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"VaultBelowMinimum\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minimum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"VaultAboveMaximum\",\n inputs: [\n { name: \"actual\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"maximum\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n { type: \"error\", name: \"InvalidBTCPublicKey\", inputs: [] },\n { type: \"error\", name: \"InvalidDepositorWotsPkHash\", inputs: [] },\n { type: \"error\", name: \"InvalidBTCProofOfPossession\", inputs: [] },\n { type: \"error\", name: \"EthKeyAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"BtcKeyAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"InvalidRegistrationFee\", inputs: [] },\n {\n type: \"error\",\n name: \"CommissionBelowMinimum\",\n inputs: [\n { name: \"provided\", type: \"uint16\", internalType: \"uint16\" },\n { name: \"minimum\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n {\n type: \"error\",\n name: \"CommissionAboveMaximum\",\n inputs: [{ name: \"provided\", type: \"uint16\", internalType: \"uint16\" }],\n },\n { type: \"error\", name: \"CommissionUnchanged\", inputs: [] },\n {\n type: \"error\",\n name: \"VaultProviderCommissionExceeded\",\n inputs: [\n { name: \"maxAcceptable\", type: \"uint16\", internalType: \"uint16\" },\n { name: \"actual\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n { type: \"error\", name: \"VaultProviderNotRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationAlreadyRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationNotRegistered\", inputs: [] },\n { type: \"error\", name: \"ApplicationNotActive\", inputs: [] },\n { type: \"error\", name: \"InvalidApplicationStatus\", inputs: [] },\n { type: \"error\", name: \"OnlyApplicationEntryPoint\", inputs: [] },\n { type: \"error\", name: \"EmptyVaultKeepers\", inputs: [] },\n { type: \"error\", name: \"NoUniversalChallengersConfigured\", inputs: [] },\n { type: \"error\", name: \"NoAppVaultKeepersConfigured\", inputs: [] },\n { type: \"error\", name: \"PeginSignaturesIncomplete\", inputs: [] },\n { type: \"error\", name: \"InvalidSignatureLength\", inputs: [] },\n { type: \"error\", name: \"PeginInputSignatureAlreadySubmitted\", inputs: [] },\n { type: \"error\", name: \"InvalidHashlock\", inputs: [] },\n { type: \"error\", name: \"DuplicateHashlock\", inputs: [] },\n { type: \"error\", name: \"InvalidSecret\", inputs: [] },\n { type: \"error\", name: \"ActivationDeadlineExpired\", inputs: [] },\n { type: \"error\", name: \"PostExpiryGraceWindowElapsed\", inputs: [] },\n { type: \"error\", name: \"CapExceeded\", inputs: [] },\n] as const;\n"],"names":["BTCVaultRegistryABI"],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ const e = [
2
+ {
3
+ type: "function",
4
+ name: "getBtcVaultProtocolInfo",
5
+ inputs: [
6
+ {
7
+ name: "vaultId",
8
+ type: "bytes32",
9
+ internalType: "bytes32"
10
+ }
11
+ ],
12
+ outputs: [
13
+ {
14
+ name: "vProtocol",
15
+ type: "tuple",
16
+ internalType: "struct BTCVaultRegistryTypes.BTCVaultProtocolInfo",
17
+ components: [
18
+ {
19
+ name: "depositorSignedPeginTx",
20
+ type: "bytes",
21
+ internalType: "bytes"
22
+ },
23
+ {
24
+ name: "universalChallengersVersion",
25
+ type: "uint16",
26
+ internalType: "uint16"
27
+ },
28
+ {
29
+ name: "appVaultKeepersVersion",
30
+ type: "uint16",
31
+ internalType: "uint16"
32
+ },
33
+ {
34
+ name: "offchainParamsVersion",
35
+ type: "uint16",
36
+ internalType: "uint16"
37
+ },
38
+ {
39
+ name: "verifiedAt",
40
+ type: "uint256",
41
+ internalType: "uint256"
42
+ },
43
+ {
44
+ name: "depositorWotsPkHash",
45
+ type: "bytes32",
46
+ internalType: "bytes32"
47
+ },
48
+ {
49
+ name: "hashlock",
50
+ type: "bytes32",
51
+ internalType: "bytes32"
52
+ },
53
+ {
54
+ name: "htlcVout",
55
+ type: "uint8",
56
+ internalType: "uint8"
57
+ },
58
+ {
59
+ name: "depositorPopSignature",
60
+ type: "bytes",
61
+ internalType: "bytes"
62
+ },
63
+ {
64
+ name: "prePeginTxHash",
65
+ type: "bytes32",
66
+ internalType: "bytes32"
67
+ },
68
+ {
69
+ name: "vaultProviderCommissionBps",
70
+ type: "uint16",
71
+ internalType: "uint16"
72
+ },
73
+ {
74
+ name: "claimExpiredUntil",
75
+ type: "uint256",
76
+ internalType: "uint256"
77
+ },
78
+ {
79
+ name: "vaultCoreVersion",
80
+ type: "uint16",
81
+ internalType: "uint16"
82
+ },
83
+ // RFC-006: per-pegin operation-key epochs, frozen at
84
+ // `submitPeginRequest`. All three pack into one storage slot and were
85
+ // appended after `vaultCoreVersion` so pre-existing rows decode
86
+ // unchanged.
87
+ {
88
+ name: "vpKeyEpoch",
89
+ type: "uint64",
90
+ internalType: "uint64"
91
+ },
92
+ {
93
+ name: "appKeeperKeyEpoch",
94
+ type: "uint64",
95
+ internalType: "uint64"
96
+ },
97
+ {
98
+ name: "ucKeyEpoch",
99
+ type: "uint64",
100
+ internalType: "uint64"
101
+ }
102
+ ]
103
+ }
104
+ ],
105
+ stateMutability: "view"
106
+ }
107
+ ];
108
+ export {
109
+ e as B
110
+ };
111
+ //# sourceMappingURL=BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistryKeyEpochs.abi-CXjhRZbm.js","sources":["../src/tbv/core/contracts/abis/BTCVaultRegistryKeyEpochs.abi.ts"],"sourcesContent":["/**\n * BTCVaultRegistry ABI — RFC-006 key-epoch view of `getBtcVaultProtocolInfo`.\n *\n * This is a deliberate second copy of a single function entry, NOT a\n * convenience re-export, and it must never be merged into\n * `BTCVaultRegistryABI`.\n *\n * `getBtcVaultProtocolInfo` returns a *positional* tuple. RFC-006 appended\n * three `uint64` epoch fields (`vpKeyEpoch`, `appKeeperKeyEpoch`,\n * `ucKeyEpoch`) after `vaultCoreVersion`. Declaring those three components\n * against a registry that predates RFC-006 makes viem read past the end of\n * the returndata and throw — and because the shared reader batches this call\n * through `multicall({ allowFailure: false })`, one bad decode fails the\n * whole batch. That would break vault status, resume, payout and refund\n * app-wide, on every network whose registry has not been upgraded yet.\n *\n * So the shared `BTCVaultRegistryABI` keeps the 13-field shape that decodes\n * against every deployed registry, and the extended shape lives here, read\n * only by `ViemVaultRegistryReader.getVaultKeyEpochs*` on the epoch-aware\n * path. Reading the same call through two ABIs is the price of keeping the\n * shared decode path independent of the registry version.\n *\n * The 13 shared components must stay an exact prefix of the 16 below;\n * `__tests__/abi-key-epochs.test.ts` pins that.\n *\n * Generated from vault-contracts-aave-v4\n * `src/protocol/lib/types/BTCVaultRegistryTypes.sol`.\n *\n * @module contracts/abis/BTCVaultRegistryKeyEpochs\n */\n\nexport const BTCVaultRegistryKeyEpochsABI = [\n {\n type: \"function\",\n name: \"getBtcVaultProtocolInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vProtocol\",\n type: \"tuple\",\n internalType: \"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo\",\n components: [\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"verifiedAt\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"prePeginTxHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"vaultProviderCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"claimExpiredUntil\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n // RFC-006: per-pegin operation-key epochs, frozen at\n // `submitPeginRequest`. All three pack into one storage slot and were\n // appended after `vaultCoreVersion` so pre-existing rows decode\n // unchanged.\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n] as const;\n"],"names":["BTCVaultRegistryKeyEpochsABI"],"mappings":"AA+BO,MAAMA,IAA+B;AAAA,EAC1C;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,cAAc;AAAA,MAAA;AAAA,IAChB;AAAA,IAEF,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,cAAc;AAAA,QACd,YAAY;AAAA,UACV;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,UAEhB;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cAAc;AAAA,UAAA;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAAA,IAEF,iBAAiB;AAAA,EAAA;AAErB;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=[{type:"function",name:"getBtcVaultProtocolInfo",inputs:[{name:"vaultId",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"vProtocol",type:"tuple",internalType:"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo",components:[{name:"depositorSignedPeginTx",type:"bytes",internalType:"bytes"},{name:"universalChallengersVersion",type:"uint16",internalType:"uint16"},{name:"appVaultKeepersVersion",type:"uint16",internalType:"uint16"},{name:"offchainParamsVersion",type:"uint16",internalType:"uint16"},{name:"verifiedAt",type:"uint256",internalType:"uint256"},{name:"depositorWotsPkHash",type:"bytes32",internalType:"bytes32"},{name:"hashlock",type:"bytes32",internalType:"bytes32"},{name:"htlcVout",type:"uint8",internalType:"uint8"},{name:"depositorPopSignature",type:"bytes",internalType:"bytes"},{name:"prePeginTxHash",type:"bytes32",internalType:"bytes32"},{name:"vaultProviderCommissionBps",type:"uint16",internalType:"uint16"},{name:"claimExpiredUntil",type:"uint256",internalType:"uint256"},{name:"vaultCoreVersion",type:"uint16",internalType:"uint16"},{name:"vpKeyEpoch",type:"uint64",internalType:"uint64"},{name:"appKeeperKeyEpoch",type:"uint64",internalType:"uint64"},{name:"ucKeyEpoch",type:"uint64",internalType:"uint64"}]}],stateMutability:"view"}];exports.BTCVaultRegistryKeyEpochsABI=e;
2
+ //# sourceMappingURL=BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistryKeyEpochs.abi-_NERAdc5.cjs","sources":["../src/tbv/core/contracts/abis/BTCVaultRegistryKeyEpochs.abi.ts"],"sourcesContent":["/**\n * BTCVaultRegistry ABI — RFC-006 key-epoch view of `getBtcVaultProtocolInfo`.\n *\n * This is a deliberate second copy of a single function entry, NOT a\n * convenience re-export, and it must never be merged into\n * `BTCVaultRegistryABI`.\n *\n * `getBtcVaultProtocolInfo` returns a *positional* tuple. RFC-006 appended\n * three `uint64` epoch fields (`vpKeyEpoch`, `appKeeperKeyEpoch`,\n * `ucKeyEpoch`) after `vaultCoreVersion`. Declaring those three components\n * against a registry that predates RFC-006 makes viem read past the end of\n * the returndata and throw — and because the shared reader batches this call\n * through `multicall({ allowFailure: false })`, one bad decode fails the\n * whole batch. That would break vault status, resume, payout and refund\n * app-wide, on every network whose registry has not been upgraded yet.\n *\n * So the shared `BTCVaultRegistryABI` keeps the 13-field shape that decodes\n * against every deployed registry, and the extended shape lives here, read\n * only by `ViemVaultRegistryReader.getVaultKeyEpochs*` on the epoch-aware\n * path. Reading the same call through two ABIs is the price of keeping the\n * shared decode path independent of the registry version.\n *\n * The 13 shared components must stay an exact prefix of the 16 below;\n * `__tests__/abi-key-epochs.test.ts` pins that.\n *\n * Generated from vault-contracts-aave-v4\n * `src/protocol/lib/types/BTCVaultRegistryTypes.sol`.\n *\n * @module contracts/abis/BTCVaultRegistryKeyEpochs\n */\n\nexport const BTCVaultRegistryKeyEpochsABI = [\n {\n type: \"function\",\n name: \"getBtcVaultProtocolInfo\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"vProtocol\",\n type: \"tuple\",\n internalType: \"struct BTCVaultRegistryTypes.BTCVaultProtocolInfo\",\n components: [\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"verifiedAt\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n internalType: \"uint8\",\n },\n {\n name: \"depositorPopSignature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"prePeginTxHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"vaultProviderCommissionBps\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"claimExpiredUntil\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n // RFC-006: per-pegin operation-key epochs, frozen at\n // `submitPeginRequest`. All three pack into one storage slot and were\n // appended after `vaultCoreVersion` so pre-existing rows decode\n // unchanged.\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n] as const;\n"],"names":["BTCVaultRegistryKeyEpochsABI"],"mappings":"aA+BO,MAAMA,EAA+B,CAC1C,CACE,KAAM,WACN,KAAM,0BACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CACP,CACE,KAAM,YACN,KAAM,QACN,aAAc,oDACd,WAAY,CACV,CACE,KAAM,yBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,8BACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,yBACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,wBACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,aACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,wBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,iBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,6BACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,oBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,mBACN,KAAM,SACN,aAAc,QAAA,EAMhB,CACE,KAAM,aACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,oBACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,aACN,KAAM,SACN,aAAc,QAAA,CAChB,CACF,CACF,EAEF,gBAAiB,MAAA,CAErB"}
@@ -6,20 +6,20 @@ import * as Et from "bitcoinjs-lib";
6
6
  import { Transaction as Xt, Psbt as it } from "bitcoinjs-lib";
7
7
  import { Buffer as Y } from "buffer";
8
8
  import { isAddressEqual as at, encodeFunctionData as j, zeroAddress as Kt } from "viem";
9
- import { B as H } from "./BTCVaultRegistry.abi-Chs4AFBj.js";
9
+ import { B as H } from "./BTCVaultRegistry.abi-CixOlp3B.js";
10
10
  import { h as R } from "./errors-Blc-JWnI.js";
11
11
  import { expandWotsSeed as Gt, expandHashlockSecret as qt, expandAuthAnchor as zt, deriveVaultId as ct } from "@babylonlabs-io/babylon-tbv-rust-wasm";
12
- import { a as lt, b as Yt, d as ut, f as jt } from "./verifyScriptPathSchnorrSignature-CgrnAjMW.js";
12
+ import { a as lt, b as Yt, d as ut, f as jt } from "./verifyScriptPathSchnorrSignature-Xoo9DOHW.js";
13
13
  import { b as Qt, e as Zt, f as Jt } from "./peginInput-BKD_b3gq.js";
14
14
  import { u as Q, e as A, p as te, i as ht, h as dt, s as v, j as gt, X as ee } from "./bitcoin-B5aNKtsk.js";
15
15
  import { c as se } from "./signing-DaLvGwQe.js";
16
- import { M as ft } from "./validation-CxqROCno.js";
16
+ import { M as ft } from "./validation-Dj3dqYtl.js";
17
17
  import { d as oe } from "./deriveVaultRoot-B_gEOTD6.js";
18
- import { c as ne, a as re, s as ie, b as ae } from "./PayoutManager-BVgmuKuK.js";
18
+ import { c as ne, a as re, s as ie, b as ae } from "./signPsbtsWithFallback-CzZFZf0I.js";
19
19
  import { s as ce, f as X, i as le, w as pt } from "./waitForTransactionReceiptSmartAware-lobLm0q0.js";
20
20
  import { p as ue, f as he } from "./fundPeginTransaction-B2wyjqp0.js";
21
21
  import { M as mt, B as de } from "./constants-CDQE812z.js";
22
- import { p as ge, V as fe, i as pe } from "./mempoolApi-P_ApODLd.js";
22
+ import { p as ge, V as fe, i as pe } from "./mempoolApi-C0olk43O.js";
23
23
  const U = /* @__PURE__ */ BigInt(2 ** 32 - 1), Pt = /* @__PURE__ */ BigInt(32);
24
24
  function me(s, e = !1) {
25
25
  return e ? { h: Number(s & U), l: Number(s >> Pt & U) } : { h: Number(s >> Pt & U) | 0, l: Number(s & U) | 0 };
@@ -1286,4 +1286,4 @@ export {
1286
1286
  ze as d,
1287
1287
  As as e
1288
1288
  };
1289
- //# sourceMappingURL=PeginManager-aYBkb-Qx.js.map
1289
+ //# sourceMappingURL=PeginManager-CnX3uFb0.js.map