@babylonlabs-io/ts-sdk 3.1.1 → 3.1.2

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 (77) hide show
  1. package/dist/{BTCVaultRegistry.abi-DBW0dyqH.js → BTCVaultRegistry.abi-BmHpMUWD.js} +1 -52
  2. package/dist/BTCVaultRegistry.abi-BmHpMUWD.js.map +1 -0
  3. package/dist/BTCVaultRegistry.abi-DffWFdpA.cjs +2 -0
  4. package/dist/BTCVaultRegistry.abi-DffWFdpA.cjs.map +1 -0
  5. package/dist/BTCVaultRegistryKeyEpochs.abi-Btg0nBz1.js +262 -0
  6. package/dist/BTCVaultRegistryKeyEpochs.abi-Btg0nBz1.js.map +1 -0
  7. package/dist/BTCVaultRegistryKeyEpochs.abi-CReWFJdu.cjs +2 -0
  8. package/dist/BTCVaultRegistryKeyEpochs.abi-CReWFJdu.cjs.map +1 -0
  9. package/dist/{PeginManager-QRwMUxZg.js → PeginManager-Dfr5Qe1g.js} +2 -2
  10. package/dist/{PeginManager-QRwMUxZg.js.map → PeginManager-Dfr5Qe1g.js.map} +1 -1
  11. package/dist/{PeginManager-8EUlm10F.cjs → PeginManager-PyKbfy5q.cjs} +2 -2
  12. package/dist/{PeginManager-8EUlm10F.cjs.map → PeginManager-PyKbfy5q.cjs.map} +1 -1
  13. package/dist/VaultErrors.abi-Boz4w97c.js +5 -0
  14. package/dist/VaultErrors.abi-Boz4w97c.js.map +1 -0
  15. package/dist/VaultErrors.abi-DQ18kM0L.cjs +2 -0
  16. package/dist/VaultErrors.abi-DQ18kM0L.cjs.map +1 -0
  17. package/dist/{buildAndBroadcastReclaim-DjX7wVb2.cjs → buildAndBroadcastReclaim-Da8rD5Z7.cjs} +2 -2
  18. package/dist/{buildAndBroadcastReclaim-DjX7wVb2.cjs.map → buildAndBroadcastReclaim-Da8rD5Z7.cjs.map} +1 -1
  19. package/dist/{buildAndBroadcastReclaim-DoprHX7o.js → buildAndBroadcastReclaim-R0HNpLMD.js} +2 -2
  20. package/dist/{buildAndBroadcastReclaim-DoprHX7o.js.map → buildAndBroadcastReclaim-R0HNpLMD.js.map} +1 -1
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.js +222 -219
  23. package/dist/index.js.map +1 -1
  24. package/dist/{pegin-registration-client-D4EguWaz.cjs → pegin-registration-client-C-abxMWq.cjs} +2 -2
  25. package/dist/{pegin-registration-client-D4EguWaz.cjs.map → pegin-registration-client-C-abxMWq.cjs.map} +1 -1
  26. package/dist/{pegin-registration-client-BWMwxtr8.js → pegin-registration-client-kdz4fT5_.js} +3 -3
  27. package/dist/{pegin-registration-client-BWMwxtr8.js.map → pegin-registration-client-kdz4fT5_.js.map} +1 -1
  28. package/dist/{signer-set-reader-C1VmC9_U.js → signer-set-reader-BCtmSKUM.js} +2 -2
  29. package/dist/{signer-set-reader-C1VmC9_U.js.map → signer-set-reader-BCtmSKUM.js.map} +1 -1
  30. package/dist/{signer-set-reader-C6g47hdk.cjs → signer-set-reader-DFAu6I-v.cjs} +2 -2
  31. package/dist/{signer-set-reader-C6g47hdk.cjs.map → signer-set-reader-DFAu6I-v.cjs.map} +1 -1
  32. package/dist/tbv/core/clients/eth/index.cjs +1 -1
  33. package/dist/tbv/core/clients/eth/index.js +2 -2
  34. package/dist/tbv/core/clients/index.cjs +1 -1
  35. package/dist/tbv/core/clients/index.js +2 -2
  36. package/dist/tbv/core/contracts/__tests__/vaultErrors.abi.test.d.ts +2 -0
  37. package/dist/tbv/core/contracts/__tests__/vaultErrors.abi.test.d.ts.map +1 -0
  38. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +0 -40
  39. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
  40. package/dist/tbv/core/contracts/abis/VaultErrors.abi.d.ts +3 -0
  41. package/dist/tbv/core/contracts/abis/VaultErrors.abi.d.ts.map +1 -0
  42. package/dist/tbv/core/contracts/abis/vaultErrors.abi.json.d.ts +4 -0
  43. package/dist/tbv/core/contracts/errors.d.ts +7 -2
  44. package/dist/tbv/core/contracts/errors.d.ts.map +1 -1
  45. package/dist/tbv/core/contracts/index.cjs +1 -1
  46. package/dist/tbv/core/contracts/index.d.ts +2 -1
  47. package/dist/tbv/core/contracts/index.d.ts.map +1 -1
  48. package/dist/tbv/core/contracts/index.js +13 -10
  49. package/dist/tbv/core/contracts/index.js.map +1 -1
  50. package/dist/tbv/core/index.cjs +1 -1
  51. package/dist/tbv/core/index.js +210 -207
  52. package/dist/tbv/core/index.js.map +1 -1
  53. package/dist/tbv/core/managers/index.cjs +1 -1
  54. package/dist/tbv/core/managers/index.js +1 -1
  55. package/dist/tbv/core/services/index.cjs +1 -1
  56. package/dist/tbv/core/services/index.js +1 -1
  57. package/dist/tbv/index.cjs +1 -1
  58. package/dist/tbv/index.js +210 -207
  59. package/dist/tbv/index.js.map +1 -1
  60. package/dist/tbv/integrations/aave/clients/abis/AaveIntegrationAdapter.abi.json.d.ts +7 -701
  61. package/dist/tbv/integrations/aave/clients/query.d.ts +2 -2
  62. package/dist/tbv/integrations/aave/index.cjs +1 -1
  63. package/dist/tbv/integrations/aave/index.cjs.map +1 -1
  64. package/dist/tbv/integrations/aave/index.js +119 -119
  65. package/dist/tbv/integrations/aave/index.js.map +1 -1
  66. package/dist/{toRefundInputs-BZXvuOMY.cjs → toRefundInputs-BbAOOUg6.cjs} +2 -2
  67. package/dist/{toRefundInputs-BZXvuOMY.cjs.map → toRefundInputs-BbAOOUg6.cjs.map} +1 -1
  68. package/dist/{toRefundInputs-dKDSvpVI.js → toRefundInputs-DW14g6wH.js} +2 -2
  69. package/dist/{toRefundInputs-dKDSvpVI.js.map → toRefundInputs-DW14g6wH.js.map} +1 -1
  70. package/package.json +3 -3
  71. package/dist/BTCVaultRegistry.abi-CohlJX7c.cjs +0 -2
  72. package/dist/BTCVaultRegistry.abi-CohlJX7c.cjs.map +0 -1
  73. package/dist/BTCVaultRegistry.abi-DBW0dyqH.js.map +0 -1
  74. package/dist/BTCVaultRegistryKeyEpochs.abi-BWoxwPQv.js +0 -266
  75. package/dist/BTCVaultRegistryKeyEpochs.abi-BWoxwPQv.js.map +0 -1
  76. package/dist/BTCVaultRegistryKeyEpochs.abi-DCJnzKer.cjs +0 -2
  77. package/dist/BTCVaultRegistryKeyEpochs.abi-DCJnzKer.cjs.map +0 -1
@@ -386,57 +386,6 @@ const e = [
386
386
  ],
387
387
  stateMutability: "view"
388
388
  },
389
- {
390
- type: "error",
391
- name: "InvalidPeginFee",
392
- inputs: [
393
- {
394
- name: "provided",
395
- type: "uint256",
396
- internalType: "uint256"
397
- },
398
- {
399
- name: "required",
400
- type: "uint256",
401
- internalType: "uint256"
402
- }
403
- ]
404
- },
405
- {
406
- type: "error",
407
- name: "InvalidSecret",
408
- inputs: []
409
- },
410
- {
411
- type: "error",
412
- name: "ActivationDeadlineExpired",
413
- inputs: []
414
- },
415
- {
416
- type: "error",
417
- name: "InvalidHashlock",
418
- inputs: []
419
- },
420
- {
421
- type: "error",
422
- name: "DuplicateHashlock",
423
- inputs: []
424
- },
425
- {
426
- type: "error",
427
- name: "CapExceeded",
428
- inputs: []
429
- },
430
- {
431
- type: "error",
432
- name: "InvalidOutputIndex",
433
- inputs: []
434
- },
435
- {
436
- type: "error",
437
- name: "PeginSignaturesIncomplete",
438
- inputs: []
439
- },
440
389
  {
441
390
  type: "function",
442
391
  name: "getBtcVaultProtocolInfo",
@@ -1034,4 +983,4 @@ const e = [
1034
983
  export {
1035
984
  e as B
1036
985
  };
1037
- //# sourceMappingURL=BTCVaultRegistry.abi-DBW0dyqH.js.map
986
+ //# sourceMappingURL=BTCVaultRegistry.abi-BmHpMUWD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistry.abi-BmHpMUWD.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, getVaultProviderCommission,\n * and the PegInSubmitted / PegInSubmittedV2 events.\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 // Appended last on both singular overloads, unlike the batch entry where\n // it sits before `requests`. Order is the signature, so it is the ABI.\n {\n name: \"expectedFingerprint\",\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 name: \"expectedFingerprint\",\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 // The fingerprint is argument 4, BEFORE `requests` — not appended, as it\n // is on the two singular overloads. It takes no per-request input and the\n // batch fixes one vault provider, so one value covers every entry.\n {\n name: \"expectedFingerprint\",\n type: \"bytes32\",\n internalType: \"bytes32\",\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: \"activateVaultWithSecretAndRedeem\",\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 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 // --- RFC-006 operation-key resolution ---------------------------------\n // A vault provider's BTC key is not a fixed registration key: it is an\n // append-only history of *operation* keys, rotated by the provider's cold ETH\n // admin key. Each vault freezes a `vpKeyEpoch` at `submitPeginRequest` and\n // resolves the key bonded at that epoch, so a later rotation never\n // invalidates a live vault.\n //\n // The dedicated `getVaultProviderBTCKey` / `getVaultProviderKeyPair` getters\n // are deliberately absent: vault-contracts-aave-v4#539 removes them, and\n // keeping them here would let a call compile against a selector the registry\n // no longer exposes. The registration key is read as the operation key at\n // epoch 0 instead — see `getVaultProviderGenesisBtcPubKey`.\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: \"getVaultProviderApplication\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\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: \"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 // The same intent-binding shape as VaultProviderCommissionExceeded above,\n // one axis wider: the depositor commits to the whole protocol resolution the\n // Pre-Pegin was built against, and the registry rejects a submission whose\n // resolution moved. Newer than the block header's source commit — it arrives\n // with https://github.com/babylonlabs-io/vault-contracts-aave-v4/pull/555.\n // Selector 0x846c25bb, confirmed against that repo's generated\n // snapshots/selectors.md at head 86577e40.\n {\n type: \"error\",\n name: \"PeginFingerprintChanged\",\n inputs: [\n { name: \"expected\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"actual\", type: \"bytes32\", internalType: \"bytes32\" },\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 // Lower bound on activation: reverts while\n // `block.number < verifiedAt + peginActivationDelay`. Clears with time, so\n // unlike ActivationDeadlineExpired it is retryable, not terminal.\n { type: \"error\", name: \"ActivationDelayNotElapsed\", inputs: [] },\n { type: \"error\", name: \"PostExpiryGraceWindowElapsed\", inputs: [] },\n { type: \"error\", name: \"CapExceeded\", inputs: [] },\n // Registration event, emitted on every registration since genesis\n // (vault-contracts-aave-v4 src/protocol/lib/types/Events.sol).\n {\n type: \"event\",\n name: \"PegInSubmitted\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"depositor\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n indexed: false,\n internalType: \"uint8\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n // Emitted alongside PegInSubmitted on every registration since #548; the\n // only on-chain source of the depositor's commission ceiling, which the\n // contract bound-checks and discards (Events.sol, vault-contracts-aave-v4 #548).\n {\n type: \"event\",\n name: \"PegInSubmittedV2\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"depositor\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n indexed: false,\n internalType: \"uint8\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n // Redemption event (vault-contracts-aave-v4 src/protocol/lib/types/Events.sol\n // @ c559f5c2). Emitted once per authorized claimer key, all in one\n // transaction, by RedeemLogic._emitVaultClaimableBy (`redeemForDepositor`\n // and the other depositor paths) and by PeginLogic `claimExpired`\n // (:1101, :1111): the vault provider's key and then the depositor's\n // registered BTC key — except `redeemForAVK`, which authorizes the vault\n // keeper alone, so a REDEEMED vault can carry no log for its depositor.\n {\n type: \"event\",\n name: \"VaultClaimableBy\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"claimerPK\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n] as const;\n"],"names":["BTCVaultRegistryABI"],"mappings":"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AM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,IAC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"}
@@ -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"},{name:"expectedFingerprint",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"},{name:"expectedFingerprint",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:"expectedFingerprint",type:"bytes32",internalType:"bytes32"},{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:"activateVaultWithSecretAndRedeem",inputs:[{name:"vaultId",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}],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:"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:"getVaultProviderApplication",inputs:[{name:"vpAddr",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],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:"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:"PeginFingerprintChanged",inputs:[{name:"expected",type:"bytes32",internalType:"bytes32"},{name:"actual",type:"bytes32",internalType:"bytes32"}]},{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:"ActivationDelayNotElapsed",inputs:[]},{type:"error",name:"PostExpiryGraceWindowElapsed",inputs:[]},{type:"error",name:"CapExceeded",inputs:[]},{type:"event",name:"PegInSubmitted",inputs:[{name:"vaultId",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"peginTxHash",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"depositor",type:"address",indexed:!0,internalType:"address"},{name:"vaultProvider",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"vaultCoreVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"universalChallengersVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"appVaultKeepersVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"proverCircuitVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"offchainParamsVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"referralCode",type:"uint32",indexed:!1,internalType:"uint32"},{name:"depositorPayoutBtcAddress",type:"bytes",indexed:!1,internalType:"bytes"},{name:"depositorWotsPkHash",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"hashlock",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"btcPopSignature",type:"bytes",indexed:!1,internalType:"bytes"},{name:"htlcVout",type:"uint8",indexed:!1,internalType:"uint8"},{name:"unsignedPrePeginTx",type:"bytes",indexed:!1,internalType:"bytes"},{name:"depositorSignedPeginTx",type:"bytes",indexed:!1,internalType:"bytes"},{name:"vpKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"},{name:"appKeeperKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"},{name:"ucKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"PegInSubmittedV2",inputs:[{name:"vaultId",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"peginTxHash",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"depositor",type:"address",indexed:!0,internalType:"address"},{name:"vaultProvider",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"vaultCoreVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"universalChallengersVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"appVaultKeepersVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"proverCircuitVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"offchainParamsVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"referralCode",type:"uint32",indexed:!1,internalType:"uint32"},{name:"depositorPayoutBtcAddress",type:"bytes",indexed:!1,internalType:"bytes"},{name:"depositorWotsPkHash",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"hashlock",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"btcPopSignature",type:"bytes",indexed:!1,internalType:"bytes"},{name:"htlcVout",type:"uint8",indexed:!1,internalType:"uint8"},{name:"unsignedPrePeginTx",type:"bytes",indexed:!1,internalType:"bytes"},{name:"depositorSignedPeginTx",type:"bytes",indexed:!1,internalType:"bytes"},{name:"vpKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"},{name:"appKeeperKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"},{name:"ucKeyEpoch",type:"uint64",indexed:!1,internalType:"uint64"},{name:"maxAcceptableCommissionBps",type:"uint16",indexed:!1,internalType:"uint16"}],anonymous:!1},{type:"event",name:"VaultClaimableBy",inputs:[{name:"vaultId",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"peginTxHash",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"claimerPK",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"vaultCoreVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"proverCircuitVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"offchainParamsVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"universalChallengersVersion",type:"uint16",indexed:!1,internalType:"uint16"},{name:"appVaultKeepersVersion",type:"uint16",indexed:!1,internalType:"uint16"}],anonymous:!1}];exports.BTCVaultRegistryABI=e;
2
+ //# sourceMappingURL=BTCVaultRegistry.abi-DffWFdpA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BTCVaultRegistry.abi-DffWFdpA.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, getVaultProviderCommission,\n * and the PegInSubmitted / PegInSubmittedV2 events.\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 // Appended last on both singular overloads, unlike the batch entry where\n // it sits before `requests`. Order is the signature, so it is the ABI.\n {\n name: \"expectedFingerprint\",\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 name: \"expectedFingerprint\",\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 // The fingerprint is argument 4, BEFORE `requests` — not appended, as it\n // is on the two singular overloads. It takes no per-request input and the\n // batch fixes one vault provider, so one value covers every entry.\n {\n name: \"expectedFingerprint\",\n type: \"bytes32\",\n internalType: \"bytes32\",\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: \"activateVaultWithSecretAndRedeem\",\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 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 // --- RFC-006 operation-key resolution ---------------------------------\n // A vault provider's BTC key is not a fixed registration key: it is an\n // append-only history of *operation* keys, rotated by the provider's cold ETH\n // admin key. Each vault freezes a `vpKeyEpoch` at `submitPeginRequest` and\n // resolves the key bonded at that epoch, so a later rotation never\n // invalidates a live vault.\n //\n // The dedicated `getVaultProviderBTCKey` / `getVaultProviderKeyPair` getters\n // are deliberately absent: vault-contracts-aave-v4#539 removes them, and\n // keeping them here would let a call compile against a selector the registry\n // no longer exposes. The registration key is read as the operation key at\n // epoch 0 instead — see `getVaultProviderGenesisBtcPubKey`.\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: \"getVaultProviderApplication\",\n inputs: [{ name: \"vpAddr\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\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: \"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 // The same intent-binding shape as VaultProviderCommissionExceeded above,\n // one axis wider: the depositor commits to the whole protocol resolution the\n // Pre-Pegin was built against, and the registry rejects a submission whose\n // resolution moved. Newer than the block header's source commit — it arrives\n // with https://github.com/babylonlabs-io/vault-contracts-aave-v4/pull/555.\n // Selector 0x846c25bb, confirmed against that repo's generated\n // snapshots/selectors.md at head 86577e40.\n {\n type: \"error\",\n name: \"PeginFingerprintChanged\",\n inputs: [\n { name: \"expected\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"actual\", type: \"bytes32\", internalType: \"bytes32\" },\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 // Lower bound on activation: reverts while\n // `block.number < verifiedAt + peginActivationDelay`. Clears with time, so\n // unlike ActivationDeadlineExpired it is retryable, not terminal.\n { type: \"error\", name: \"ActivationDelayNotElapsed\", inputs: [] },\n { type: \"error\", name: \"PostExpiryGraceWindowElapsed\", inputs: [] },\n { type: \"error\", name: \"CapExceeded\", inputs: [] },\n // Registration event, emitted on every registration since genesis\n // (vault-contracts-aave-v4 src/protocol/lib/types/Events.sol).\n {\n type: \"event\",\n name: \"PegInSubmitted\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"depositor\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n indexed: false,\n internalType: \"uint8\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n // Emitted alongside PegInSubmitted on every registration since #548; the\n // only on-chain source of the depositor's commission ceiling, which the\n // contract bound-checks and discards (Events.sol, vault-contracts-aave-v4 #548).\n {\n type: \"event\",\n name: \"PegInSubmittedV2\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"depositor\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"vaultProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"referralCode\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"depositorPayoutBtcAddress\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorWotsPkHash\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"hashlock\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"btcPopSignature\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"htlcVout\",\n type: \"uint8\",\n indexed: false,\n internalType: \"uint8\",\n },\n {\n name: \"unsignedPrePeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"depositorSignedPeginTx\",\n type: \"bytes\",\n indexed: false,\n internalType: \"bytes\",\n },\n {\n name: \"vpKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"appKeeperKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"ucKeyEpoch\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n {\n name: \"maxAcceptableCommissionBps\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n // Redemption event (vault-contracts-aave-v4 src/protocol/lib/types/Events.sol\n // @ c559f5c2). Emitted once per authorized claimer key, all in one\n // transaction, by RedeemLogic._emitVaultClaimableBy (`redeemForDepositor`\n // and the other depositor paths) and by PeginLogic `claimExpired`\n // (:1101, :1111): the vault provider's key and then the depositor's\n // registered BTC key — except `redeemForAVK`, which authorizes the vault\n // keeper alone, so a REDEEMED vault can carry no log for its depositor.\n {\n type: \"event\",\n name: \"VaultClaimableBy\",\n inputs: [\n {\n name: \"vaultId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"peginTxHash\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"claimerPK\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"vaultCoreVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"proverCircuitVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"offchainParamsVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"universalChallengersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"appVaultKeepersVersion\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n] as const;\n"],"names":["BTCVaultRegistryABI"],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ var p = Object.defineProperty;
2
+ var d = (t, a, e) => a in t ? p(t, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[a] = e;
3
+ var o = (t, a, e) => d(t, typeof a != "symbol" ? a + "" : a, e);
4
+ import { toFunctionSelector as y, decodeAbiParameters as h } from "viem";
5
+ const m = "0x846c25bb", g = "The contract rejected this deposit without giving a reason. Refresh the app and try again; if it keeps happening, contact support.", f = 138;
6
+ class u extends Error {
7
+ constructor(e, n) {
8
+ super(e);
9
+ o(this, "expected");
10
+ o(this, "actual");
11
+ this.name = "PeginFingerprintChangedError", this.expected = n == null ? void 0 : n.expected, this.actual = n == null ? void 0 : n.actual;
12
+ }
13
+ }
14
+ function b(t) {
15
+ return t instanceof u || t instanceof Error && t.name === "PeginFingerprintChangedError";
16
+ }
17
+ function T(t) {
18
+ if (t.length === f)
19
+ try {
20
+ const [a, e] = h(
21
+ [{ type: "bytes32" }, { type: "bytes32" }],
22
+ `0x${t.slice(10)}`
23
+ );
24
+ return { expected: a, actual: e };
25
+ } catch {
26
+ return;
27
+ }
28
+ }
29
+ const E = {
30
+ "VaultAlreadyExists()": "Vault already exists: This Bitcoin transaction has already been registered. Please select different UTXOs or use a different amount to create a unique transaction.",
31
+ "InvalidBTCProofOfPossession()": "Invalid BTC proof of possession: The signature has an invalid length. Please ensure you're signing with the correct Bitcoin wallet.",
32
+ "InvalidBTCPublicKey()": "Invalid BTC public key: The Bitcoin public key format is invalid.",
33
+ "InvalidAmount()": "Invalid amount: The deposit amount is invalid or below the minimum required.",
34
+ "ApplicationNotRegistered()": "Application not registered: The application controller is not registered in the system.",
35
+ "ZeroAddress()": "Vault provider not registered: The selected vault provider is not registered.",
36
+ "Unauthorized()": "Unauthorized: The vault registry rejected this request. Please try again later or contact support.",
37
+ "InvalidPeginFee(uint256,uint256)": "Invalid pegin fee: The ETH fee sent does not match the required amount. This may indicate a fee rate change during the transaction.",
38
+ "PrePeginOutputAlreadyUsed()": "This Bitcoin output is already registered for one of your vaults. Select different UTXOs to create a new deposit.",
39
+ // keccak256(abi.encodePacked(hashlock, msg.sender)) collision in
40
+ // BTCVaultRegistry.hashlockToVaultId. Hashlocks are derived from the
41
+ // depositor's BTC wallet and selected UTXOs, so reusing the same UTXOs from
42
+ // the same wallet (even after a previous vault expires) reverts here.
43
+ "DuplicateHashlock()": "Duplicate deposit: a BTCVault with this hashlock is already registered to your wallet. Hashlocks are derived from your BTC wallet and selected UTXOs — use different UTXOs to create a unique deposit.",
44
+ "DepositorWotsPkHashAlreadyUsed()": "Duplicate deposit: these deposit keys are already registered to your wallet. Select different UTXOs to create a new deposit.",
45
+ "TooManyFundingInputs(uint256,uint256)": "Too many Bitcoin inputs: This deposit spends more UTXOs than the protocol allows. Select fewer, larger UTXOs and try again.",
46
+ "TooManyHtlcOutputs(uint256,uint256)": "Too many vaults in one deposit: Split this deposit into fewer vaults and try again.",
47
+ "VaultBelowMinimum(uint256,uint256)": "Deposit too small: Each vault must be at least the protocol minimum. Increase the amount and try again.",
48
+ "VaultAboveMaximum(uint256,uint256)": "Deposit too large: Each vault must be at most the protocol maximum. Reduce the amount and try again.",
49
+ "VaultProviderCommissionExceeded(uint16,uint16)": "Vault provider commission changed: The provider's commission is now above the limit you accepted. Review the new commission and try again.",
50
+ "DepositNotAllowed()": "Deposit not allowed: Your address is not on this application's allow list.",
51
+ "CapExceeded()": "Deposit cap reached: This deposit would exceed the application's total deposit cap or your wallet's deposit cap. Try a smaller amount.",
52
+ "LiveVaultCapExceeded()": "Vault limit reached: The protocol has no vault capacity left right now. Please try again later.",
53
+ "ApplicationNotActive()": "Application unavailable: This application is not accepting deposits right now. Please try again later.",
54
+ "TBV_Paused()": "The protocol is paused. Please try again later.",
55
+ "TBV_Frozen()": "This action isn't available while the system is frozen."
56
+ }, i = Object.fromEntries(
57
+ Object.entries(E).map(([t, a]) => [
58
+ y(t),
59
+ a
60
+ ])
61
+ );
62
+ function l(t) {
63
+ return s(t, 0);
64
+ }
65
+ function s(t, a) {
66
+ if (a > 10 || !t || typeof t != "object") return;
67
+ const e = t;
68
+ if (typeof e.data == "string" && e.data.startsWith("0x"))
69
+ return e.data;
70
+ if (typeof e.revertData == "string" && e.revertData.startsWith("0x"))
71
+ return e.revertData;
72
+ if (typeof e.signature == "string" && e.signature.startsWith("0x"))
73
+ return e.signature;
74
+ if (typeof e.details == "string" && e.details.startsWith("0x"))
75
+ return e.details;
76
+ if (e.error && typeof e.error == "object") {
77
+ const n = e.error.data;
78
+ if (typeof n == "string" && n.startsWith("0x"))
79
+ return n;
80
+ }
81
+ if (e.cause) {
82
+ const n = s(e.cause, a + 1);
83
+ if (n) return n;
84
+ }
85
+ if (typeof e.walk == "function")
86
+ try {
87
+ let n;
88
+ if (e.walk((r) => {
89
+ if (r === t) return !1;
90
+ const c = s(r, a + 1);
91
+ return c ? (n = c, !0) : !1;
92
+ }), n) return n;
93
+ } catch {
94
+ }
95
+ if (a === 0) {
96
+ const r = (typeof e.message == "string" ? e.message : "").match(/\b(0x[a-fA-F0-9]{8})\b/);
97
+ if (r) return r[1];
98
+ }
99
+ }
100
+ function P(t) {
101
+ const a = l(t);
102
+ if (a) {
103
+ const e = a.substring(0, 10);
104
+ return i[a] ?? i[e];
105
+ }
106
+ }
107
+ function C(t) {
108
+ const a = l(t);
109
+ if (a === void 0) return !1;
110
+ const e = a.substring(0, 10);
111
+ return a in i || e in i;
112
+ }
113
+ function x(t) {
114
+ console.error("[Contract Error] Raw error:", t);
115
+ const a = l(t);
116
+ if (console.error("[Contract Error] Extracted error data:", a), a) {
117
+ const n = a.substring(0, 10);
118
+ if (n.toLowerCase() === m)
119
+ throw new u(
120
+ "Peg-in configuration fingerprint changed: the protocol state resolved at inclusion differs from the state this deposit was built against.",
121
+ T(a)
122
+ );
123
+ const r = i[a] ?? i[n];
124
+ if (r)
125
+ throw console.error("[Contract Error] Known error:", r), new Error(r);
126
+ if (a === "0x")
127
+ throw new Error(g);
128
+ }
129
+ const e = (t == null ? void 0 : t.message) || "";
130
+ if (e.includes("gas limit too high") || e.includes("21000000") || e.includes("Internal JSON-RPC error")) {
131
+ const n = a ? ` (error code: ${a})` : "";
132
+ throw console.error(
133
+ "[Contract Error] Transaction rejected. Error code:",
134
+ a,
135
+ "Message:",
136
+ e
137
+ ), new Error(
138
+ `Transaction failed: The contract rejected this transaction${n}. Possible causes: (1) Vault already exists for this transaction, (2) Invalid signature, (3) Unauthorized caller. Please check your transaction parameters and try again.`
139
+ );
140
+ }
141
+ throw t instanceof Error ? (console.error("[Contract Error] Unhandled error:", t.message), t) : new Error(`Contract call failed: ${String(t)}`);
142
+ }
143
+ const V = [
144
+ {
145
+ type: "function",
146
+ name: "getBtcVaultProtocolInfo",
147
+ inputs: [
148
+ {
149
+ name: "vaultId",
150
+ type: "bytes32",
151
+ internalType: "bytes32"
152
+ }
153
+ ],
154
+ outputs: [
155
+ {
156
+ name: "vProtocol",
157
+ type: "tuple",
158
+ internalType: "struct BTCVaultRegistryTypes.BTCVaultProtocolInfo",
159
+ components: [
160
+ {
161
+ name: "depositorSignedPeginTx",
162
+ type: "bytes",
163
+ internalType: "bytes"
164
+ },
165
+ {
166
+ name: "universalChallengersVersion",
167
+ type: "uint16",
168
+ internalType: "uint16"
169
+ },
170
+ {
171
+ name: "appVaultKeepersVersion",
172
+ type: "uint16",
173
+ internalType: "uint16"
174
+ },
175
+ {
176
+ name: "offchainParamsVersion",
177
+ type: "uint16",
178
+ internalType: "uint16"
179
+ },
180
+ {
181
+ name: "verifiedAt",
182
+ type: "uint256",
183
+ internalType: "uint256"
184
+ },
185
+ {
186
+ name: "depositorWotsPkHash",
187
+ type: "bytes32",
188
+ internalType: "bytes32"
189
+ },
190
+ {
191
+ name: "hashlock",
192
+ type: "bytes32",
193
+ internalType: "bytes32"
194
+ },
195
+ {
196
+ name: "htlcVout",
197
+ type: "uint8",
198
+ internalType: "uint8"
199
+ },
200
+ {
201
+ name: "depositorPopSignature",
202
+ type: "bytes",
203
+ internalType: "bytes"
204
+ },
205
+ {
206
+ name: "prePeginTxHash",
207
+ type: "bytes32",
208
+ internalType: "bytes32"
209
+ },
210
+ {
211
+ name: "vaultProviderCommissionBps",
212
+ type: "uint16",
213
+ internalType: "uint16"
214
+ },
215
+ {
216
+ name: "claimExpiredUntil",
217
+ type: "uint256",
218
+ internalType: "uint256"
219
+ },
220
+ {
221
+ name: "vaultCoreVersion",
222
+ type: "uint16",
223
+ internalType: "uint16"
224
+ },
225
+ // RFC-006: per-pegin operation-key epochs, frozen at
226
+ // `submitPeginRequest`. All three pack into one storage slot and were
227
+ // appended after `vaultCoreVersion` so pre-existing rows decode
228
+ // unchanged.
229
+ {
230
+ name: "vpKeyEpoch",
231
+ type: "uint64",
232
+ internalType: "uint64"
233
+ },
234
+ {
235
+ name: "appKeeperKeyEpoch",
236
+ type: "uint64",
237
+ internalType: "uint64"
238
+ },
239
+ {
240
+ name: "ucKeyEpoch",
241
+ type: "uint64",
242
+ internalType: "uint64"
243
+ }
244
+ ]
245
+ }
246
+ ],
247
+ stateMutability: "view"
248
+ }
249
+ ];
250
+ export {
251
+ V as B,
252
+ i as C,
253
+ g as E,
254
+ m as P,
255
+ u as a,
256
+ b,
257
+ l as e,
258
+ P as g,
259
+ x as h,
260
+ C as i
261
+ };
262
+ //# sourceMappingURL=BTCVaultRegistryKeyEpochs.abi-Btg0nBz1.js.map