@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.
- package/dist/{BTCVaultRegistry.abi-DBW0dyqH.js → BTCVaultRegistry.abi-BmHpMUWD.js} +1 -52
- package/dist/BTCVaultRegistry.abi-BmHpMUWD.js.map +1 -0
- package/dist/BTCVaultRegistry.abi-DffWFdpA.cjs +2 -0
- package/dist/BTCVaultRegistry.abi-DffWFdpA.cjs.map +1 -0
- package/dist/BTCVaultRegistryKeyEpochs.abi-Btg0nBz1.js +262 -0
- package/dist/BTCVaultRegistryKeyEpochs.abi-Btg0nBz1.js.map +1 -0
- package/dist/BTCVaultRegistryKeyEpochs.abi-CReWFJdu.cjs +2 -0
- package/dist/BTCVaultRegistryKeyEpochs.abi-CReWFJdu.cjs.map +1 -0
- package/dist/{PeginManager-QRwMUxZg.js → PeginManager-Dfr5Qe1g.js} +2 -2
- package/dist/{PeginManager-QRwMUxZg.js.map → PeginManager-Dfr5Qe1g.js.map} +1 -1
- package/dist/{PeginManager-8EUlm10F.cjs → PeginManager-PyKbfy5q.cjs} +2 -2
- package/dist/{PeginManager-8EUlm10F.cjs.map → PeginManager-PyKbfy5q.cjs.map} +1 -1
- package/dist/VaultErrors.abi-Boz4w97c.js +5 -0
- package/dist/VaultErrors.abi-Boz4w97c.js.map +1 -0
- package/dist/VaultErrors.abi-DQ18kM0L.cjs +2 -0
- package/dist/VaultErrors.abi-DQ18kM0L.cjs.map +1 -0
- package/dist/{buildAndBroadcastReclaim-DjX7wVb2.cjs → buildAndBroadcastReclaim-Da8rD5Z7.cjs} +2 -2
- package/dist/{buildAndBroadcastReclaim-DjX7wVb2.cjs.map → buildAndBroadcastReclaim-Da8rD5Z7.cjs.map} +1 -1
- package/dist/{buildAndBroadcastReclaim-DoprHX7o.js → buildAndBroadcastReclaim-R0HNpLMD.js} +2 -2
- package/dist/{buildAndBroadcastReclaim-DoprHX7o.js.map → buildAndBroadcastReclaim-R0HNpLMD.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +222 -219
- package/dist/index.js.map +1 -1
- package/dist/{pegin-registration-client-D4EguWaz.cjs → pegin-registration-client-C-abxMWq.cjs} +2 -2
- package/dist/{pegin-registration-client-D4EguWaz.cjs.map → pegin-registration-client-C-abxMWq.cjs.map} +1 -1
- package/dist/{pegin-registration-client-BWMwxtr8.js → pegin-registration-client-kdz4fT5_.js} +3 -3
- package/dist/{pegin-registration-client-BWMwxtr8.js.map → pegin-registration-client-kdz4fT5_.js.map} +1 -1
- package/dist/{signer-set-reader-C1VmC9_U.js → signer-set-reader-BCtmSKUM.js} +2 -2
- package/dist/{signer-set-reader-C1VmC9_U.js.map → signer-set-reader-BCtmSKUM.js.map} +1 -1
- package/dist/{signer-set-reader-C6g47hdk.cjs → signer-set-reader-DFAu6I-v.cjs} +2 -2
- package/dist/{signer-set-reader-C6g47hdk.cjs.map → signer-set-reader-DFAu6I-v.cjs.map} +1 -1
- package/dist/tbv/core/clients/eth/index.cjs +1 -1
- package/dist/tbv/core/clients/eth/index.js +2 -2
- package/dist/tbv/core/clients/index.cjs +1 -1
- package/dist/tbv/core/clients/index.js +2 -2
- package/dist/tbv/core/contracts/__tests__/vaultErrors.abi.test.d.ts +2 -0
- package/dist/tbv/core/contracts/__tests__/vaultErrors.abi.test.d.ts.map +1 -0
- package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +0 -40
- package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
- package/dist/tbv/core/contracts/abis/VaultErrors.abi.d.ts +3 -0
- package/dist/tbv/core/contracts/abis/VaultErrors.abi.d.ts.map +1 -0
- package/dist/tbv/core/contracts/abis/vaultErrors.abi.json.d.ts +4 -0
- package/dist/tbv/core/contracts/errors.d.ts +7 -2
- package/dist/tbv/core/contracts/errors.d.ts.map +1 -1
- package/dist/tbv/core/contracts/index.cjs +1 -1
- package/dist/tbv/core/contracts/index.d.ts +2 -1
- package/dist/tbv/core/contracts/index.d.ts.map +1 -1
- package/dist/tbv/core/contracts/index.js +13 -10
- package/dist/tbv/core/contracts/index.js.map +1 -1
- package/dist/tbv/core/index.cjs +1 -1
- package/dist/tbv/core/index.js +210 -207
- package/dist/tbv/core/index.js.map +1 -1
- package/dist/tbv/core/managers/index.cjs +1 -1
- package/dist/tbv/core/managers/index.js +1 -1
- package/dist/tbv/core/services/index.cjs +1 -1
- package/dist/tbv/core/services/index.js +1 -1
- package/dist/tbv/index.cjs +1 -1
- package/dist/tbv/index.js +210 -207
- package/dist/tbv/index.js.map +1 -1
- package/dist/tbv/integrations/aave/clients/abis/AaveIntegrationAdapter.abi.json.d.ts +7 -701
- package/dist/tbv/integrations/aave/clients/query.d.ts +2 -2
- package/dist/tbv/integrations/aave/index.cjs +1 -1
- package/dist/tbv/integrations/aave/index.cjs.map +1 -1
- package/dist/tbv/integrations/aave/index.js +119 -119
- package/dist/tbv/integrations/aave/index.js.map +1 -1
- package/dist/{toRefundInputs-BZXvuOMY.cjs → toRefundInputs-BbAOOUg6.cjs} +2 -2
- package/dist/{toRefundInputs-BZXvuOMY.cjs.map → toRefundInputs-BbAOOUg6.cjs.map} +1 -1
- package/dist/{toRefundInputs-dKDSvpVI.js → toRefundInputs-DW14g6wH.js} +2 -2
- package/dist/{toRefundInputs-dKDSvpVI.js.map → toRefundInputs-DW14g6wH.js.map} +1 -1
- package/package.json +3 -3
- package/dist/BTCVaultRegistry.abi-CohlJX7c.cjs +0 -2
- package/dist/BTCVaultRegistry.abi-CohlJX7c.cjs.map +0 -1
- package/dist/BTCVaultRegistry.abi-DBW0dyqH.js.map +0 -1
- package/dist/BTCVaultRegistryKeyEpochs.abi-BWoxwPQv.js +0 -266
- package/dist/BTCVaultRegistryKeyEpochs.abi-BWoxwPQv.js.map +0 -1
- package/dist/BTCVaultRegistryKeyEpochs.abi-DCJnzKer.cjs +0 -2
- 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-
|
|
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,IAChB;AAAA,IAEF,WAAW;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;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,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,IAChB;AAAA,IAEF,WAAW;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;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,IAChB;AAAA,IAEF,WAAW;AAAA,EAAA;AAEf;"}
|
|
@@ -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":"aAcO,MAAMA,EAAsB,CACjC,CACE,KAAM,WACN,KAAM,qBACN,OAAQ,CACN,CACE,KAAM,YACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,qBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,kBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,qBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,yBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,gBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,6BACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,4BACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,EAIhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CACP,CACE,KAAM,GACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,gBAAiB,SAAA,EAEnB,CACE,KAAM,WACN,KAAM,qBACN,OAAQ,CACN,CACE,KAAM,YACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,qBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,kBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,qBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,yBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,gBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,6BACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,eACN,KAAM,SACN,aAAc,QAAA,EAEhB,CACE,KAAM,4BACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CACP,CACE,KAAM,GACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,gBAAiB,SAAA,EAEnB,CACE,KAAM,WACN,KAAM,0BACN,OAAQ,CACN,CAAE,KAAM,YAAa,KAAM,UAAW,aAAc,SAAA,EACpD,CAAE,KAAM,gBAAiB,KAAM,UAAW,aAAc,SAAA,EACxD,CACE,KAAM,6BACN,KAAM,SACN,aAAc,QAAA,EAKhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,aAAc,mDACd,WAAY,CACV,CACE,KAAM,qBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CAAE,KAAM,kBAAmB,KAAM,QAAS,aAAc,OAAA,EACxD,CAAE,KAAM,qBAAsB,KAAM,QAAS,aAAc,OAAA,EAC3D,CACE,KAAM,yBACN,KAAM,QACN,aAAc,OAAA,EAEhB,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,WAAY,KAAM,QAAS,aAAc,OAAA,EACjD,CAAE,KAAM,eAAgB,KAAM,SAAU,aAAc,QAAA,EACtD,CACE,KAAM,4BACN,KAAM,QACN,aAAc,OAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,aAAc,SAAA,CAChB,CACF,CACF,EAEF,QAAS,CACP,CAAE,KAAM,WAAY,KAAM,YAAa,aAAc,WAAA,CAAY,EAEnE,gBAAiB,SAAA,EAEnB,CACE,KAAM,WACN,KAAM,0BACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,IACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,qBACN,KAAM,QACN,aAAc,OAAA,CAChB,EAEF,QAAS,CAAA,EACT,gBAAiB,YAAA,EAEnB,CACE,KAAM,WACN,KAAM,mCACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,IACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CAAA,EACT,gBAAiB,YAAA,EAEnB,CACE,KAAM,WACN,KAAM,cACN,OAAQ,CACN,CACE,KAAM,gBACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CACP,CACE,KAAM,WACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,gBAAiB,MAAA,EAgCnB,CACE,KAAM,WACN,KAAM,4BACN,OAAQ,CAAC,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,UAAW,EACvE,QAAS,CAAC,CAAE,KAAM,GAAI,KAAM,UAAW,aAAc,UAAW,EAChE,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,4BACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,QAAS,KAAM,SAAU,aAAc,QAAA,CAAS,EAE1D,QAAS,CAAC,CAAE,KAAM,GAAI,KAAM,UAAW,aAAc,UAAW,EAChE,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,yBACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,QAAS,KAAM,SAAU,aAAc,QAAA,CAAS,EAE1D,QAAS,CAAC,CAAE,KAAM,GAAI,KAAM,QAAS,aAAc,QAAS,EAC5D,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,6BACN,OAAQ,CAAC,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,UAAW,EACrE,QAAS,CAAC,CAAE,KAAM,GAAI,KAAM,SAAU,aAAc,SAAU,EAC9D,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,8BACN,OAAQ,CAAC,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,UAAW,EACrE,QAAS,CAAC,CAAE,KAAM,GAAI,KAAM,UAAW,aAAc,UAAW,EAChE,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,uBACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,aAAc,SAAA,CAChB,EAEF,QAAS,CACP,CACE,KAAM,SACN,KAAM,QACN,aAAc,yCACd,WAAY,CACV,CAAE,KAAM,YAAa,KAAM,UAAW,aAAc,SAAA,EACpD,CACE,KAAM,qBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,SAAA,EACjD,CACE,KAAM,gBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CACE,KAAM,SACN,KAAM,QACN,aAAc,uCAAA,EAEhB,CACE,KAAM,wBACN,KAAM,UACN,aAAc,SAAA,EAEhB,CAAE,KAAM,YAAa,KAAM,UAAW,aAAc,SAAA,CAAU,CAChE,CACF,EAEF,gBAAiB,MAAA,EAEnB,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,CAChB,CACF,CACF,EAEF,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,iBACN,OAAQ,CAAA,EACR,QAAS,CACP,CACE,KAAM,GACN,KAAM,UACN,aAAc,0BAAA,CAChB,EAEF,gBAAiB,MAAA,EAEnB,CACE,KAAM,WACN,KAAM,sBACN,OAAQ,CAAA,EACR,QAAS,CACP,CACE,KAAM,GACN,KAAM,UACN,aAAc,+BAAA,CAChB,EAEF,gBAAiB,MAAA,EASnB,CAAE,KAAM,QAAS,KAAM,cAAe,OAAQ,CAAA,CAAC,EAC/C,CAAE,KAAM,QAAS,KAAM,eAAgB,OAAQ,CAAA,CAAC,EAChD,CAAE,KAAM,QAAS,KAAM,gBAAiB,OAAQ,CAAA,CAAC,EACjD,CAAE,KAAM,QAAS,KAAM,iBAAkB,OAAQ,CAAA,CAAC,EAClD,CAAE,KAAM,QAAS,KAAM,qBAAsB,OAAQ,CAAA,CAAC,EACtD,CAAE,KAAM,QAAS,KAAM,qBAAsB,OAAQ,CAAA,CAAC,EACtD,CAAE,KAAM,QAAS,KAAM,uBAAwB,OAAQ,CAAA,CAAC,EACxD,CAAE,KAAM,QAAS,KAAM,qBAAsB,OAAQ,CAAA,CAAC,EACtD,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,iBAAkB,OAAQ,CAAA,CAAC,EAClD,CAAE,KAAM,QAAS,KAAM,mBAAoB,OAAQ,CAAA,CAAC,EACpD,CAAE,KAAM,QAAS,KAAM,wBAAyB,OAAQ,CAAA,CAAC,EACzD,CAAE,KAAM,QAAS,KAAM,kBAAmB,OAAQ,CAAA,CAAC,EACnD,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,uBAAwB,OAAQ,CAAA,CAAC,EACxD,CAAE,KAAM,QAAS,KAAM,yBAA0B,OAAQ,CAAA,CAAC,EAC1D,CAAE,KAAM,QAAS,KAAM,qBAAsB,OAAQ,CAAA,CAAC,EACtD,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,yBAA0B,OAAQ,CAAA,CAAC,EAC1D,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,4BAA6B,OAAQ,CAAA,CAAC,EAC7D,CAAE,KAAM,QAAS,KAAM,8BAA+B,OAAQ,CAAA,CAAC,EAC/D,CACE,KAAM,QACN,KAAM,kBACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,CAAU,CAC/D,EAEF,CACE,KAAM,QACN,KAAM,8BACN,OAAQ,CACN,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,SAAA,EACjD,CAAE,KAAM,UAAW,KAAM,UAAW,aAAc,SAAA,CAAU,CAC9D,EAEF,CACE,KAAM,QACN,KAAM,qBACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,CAAU,CAC/D,EAEF,CACE,KAAM,QACN,KAAM,qBACN,OAAQ,CACN,CAAE,KAAM,cAAe,KAAM,UAAW,aAAc,SAAA,EACtD,CAAE,KAAM,aAAc,KAAM,UAAW,aAAc,SAAA,CAAU,CACjE,EAEF,CACE,KAAM,QACN,KAAM,oBACN,OAAQ,CACN,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,SAAA,EACjD,CAAE,KAAM,UAAW,KAAM,UAAW,aAAc,SAAA,CAAU,CAC9D,EAEF,CACE,KAAM,QACN,KAAM,oBACN,OAAQ,CACN,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,SAAA,EACjD,CAAE,KAAM,UAAW,KAAM,UAAW,aAAc,SAAA,CAAU,CAC9D,EAEF,CAAE,KAAM,QAAS,KAAM,sBAAuB,OAAQ,CAAA,CAAC,EACvD,CAAE,KAAM,QAAS,KAAM,6BAA8B,OAAQ,CAAA,CAAC,EAC9D,CAAE,KAAM,QAAS,KAAM,8BAA+B,OAAQ,CAAA,CAAC,EAC/D,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,0BAA2B,OAAQ,CAAA,CAAC,EAC3D,CAAE,KAAM,QAAS,KAAM,yBAA0B,OAAQ,CAAA,CAAC,EAC1D,CACE,KAAM,QACN,KAAM,yBACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,SAAU,aAAc,QAAA,EAClD,CAAE,KAAM,UAAW,KAAM,SAAU,aAAc,QAAA,CAAS,CAC5D,EAEF,CACE,KAAM,QACN,KAAM,yBACN,OAAQ,CAAC,CAAE,KAAM,WAAY,KAAM,SAAU,aAAc,QAAA,CAAU,CAAA,EAEvE,CAAE,KAAM,QAAS,KAAM,sBAAuB,OAAQ,CAAA,CAAC,EACvD,CACE,KAAM,QACN,KAAM,kCACN,OAAQ,CACN,CAAE,KAAM,gBAAiB,KAAM,SAAU,aAAc,QAAA,EACvD,CAAE,KAAM,SAAU,KAAM,SAAU,aAAc,QAAA,CAAS,CAC3D,EASF,CACE,KAAM,QACN,KAAM,0BACN,OAAQ,CACN,CAAE,KAAM,WAAY,KAAM,UAAW,aAAc,SAAA,EACnD,CAAE,KAAM,SAAU,KAAM,UAAW,aAAc,SAAA,CAAU,CAC7D,EAEF,CAAE,KAAM,QAAS,KAAM,6BAA8B,OAAQ,CAAA,CAAC,EAC9D,CAAE,KAAM,QAAS,KAAM,+BAAgC,OAAQ,CAAA,CAAC,EAChE,CAAE,KAAM,QAAS,KAAM,2BAA4B,OAAQ,CAAA,CAAC,EAC5D,CAAE,KAAM,QAAS,KAAM,uBAAwB,OAAQ,CAAA,CAAC,EACxD,CAAE,KAAM,QAAS,KAAM,2BAA4B,OAAQ,CAAA,CAAC,EAC5D,CAAE,KAAM,QAAS,KAAM,4BAA6B,OAAQ,CAAA,CAAC,EAC7D,CAAE,KAAM,QAAS,KAAM,oBAAqB,OAAQ,CAAA,CAAC,EACrD,CAAE,KAAM,QAAS,KAAM,mCAAoC,OAAQ,CAAA,CAAC,EACpE,CAAE,KAAM,QAAS,KAAM,8BAA+B,OAAQ,CAAA,CAAC,EAC/D,CAAE,KAAM,QAAS,KAAM,4BAA6B,OAAQ,CAAA,CAAC,EAC7D,CAAE,KAAM,QAAS,KAAM,yBAA0B,OAAQ,CAAA,CAAC,EAC1D,CAAE,KAAM,QAAS,KAAM,sCAAuC,OAAQ,CAAA,CAAC,EACvE,CAAE,KAAM,QAAS,KAAM,kBAAmB,OAAQ,CAAA,CAAC,EACnD,CAAE,KAAM,QAAS,KAAM,oBAAqB,OAAQ,CAAA,CAAC,EACrD,CAAE,KAAM,QAAS,KAAM,gBAAiB,OAAQ,CAAA,CAAC,EACjD,CAAE,KAAM,QAAS,KAAM,4BAA6B,OAAQ,CAAA,CAAC,EAI7D,CAAE,KAAM,QAAS,KAAM,4BAA6B,OAAQ,CAAA,CAAC,EAC7D,CAAE,KAAM,QAAS,KAAM,+BAAgC,OAAQ,CAAA,CAAC,EAChE,CAAE,KAAM,QAAS,KAAM,cAAe,OAAQ,CAAA,CAAC,EAG/C,CACE,KAAM,QACN,KAAM,iBACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,cACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,YACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,gBACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,SACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,mBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,8BACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,yBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,uBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,wBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,eACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,4BACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,kBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,WACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,qBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,yBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,aACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,oBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,aACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,CAChB,EAEF,UAAW,EAAA,EAKb,CACE,KAAM,QACN,KAAM,mBACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,cACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,YACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,gBACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,SACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,mBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,8BACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,yBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,uBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,wBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,eACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,4BACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,sBACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,WACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,kBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,WACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,qBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,yBACN,KAAM,QACN,QAAS,GACT,aAAc,OAAA,EAEhB,CACE,KAAM,aACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,oBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,aACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,6BACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,CAChB,EAEF,UAAW,EAAA,EASb,CACE,KAAM,QACN,KAAM,mBACN,OAAQ,CACN,CACE,KAAM,UACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,cACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,YACN,KAAM,UACN,QAAS,GACT,aAAc,SAAA,EAEhB,CACE,KAAM,mBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,uBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,wBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,8BACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,EAEhB,CACE,KAAM,yBACN,KAAM,SACN,QAAS,GACT,aAAc,QAAA,CAChB,EAEF,UAAW,EAAA,CAEf"}
|
|
@@ -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
|