/** * BTCVaultRegistry ABI — RFC-006 key-epoch view of `getBtcVaultProtocolInfo`. * * This is a deliberate second copy of a single function entry, NOT a * convenience re-export, and it must never be merged into * `BTCVaultRegistryABI`. * * `getBtcVaultProtocolInfo` returns a *positional* tuple. RFC-006 appended * three `uint64` epoch fields (`vpKeyEpoch`, `appKeeperKeyEpoch`, * `ucKeyEpoch`) after `vaultCoreVersion`. Declaring those three components * against a registry that predates RFC-006 makes viem read past the end of * the returndata and throw — and because the shared reader batches this call * through `multicall({ allowFailure: false })`, one bad decode fails the * whole batch. That would break vault status, resume, payout and refund * app-wide, on every network whose registry has not been upgraded yet. * * So the shared `BTCVaultRegistryABI` keeps the 13-field shape that decodes * against every deployed registry, and the extended shape lives here, read * only by `ViemVaultRegistryReader.getVaultKeyEpochs*` on the epoch-aware * path. Reading the same call through two ABIs is the price of keeping the * shared decode path independent of the registry version. * * The 13 shared components must stay an exact prefix of the 16 below; * `__tests__/abi-key-epochs.test.ts` pins that. * * Generated from vault-contracts-aave-v4 * `src/protocol/lib/types/BTCVaultRegistryTypes.sol`. * * @module contracts/abis/BTCVaultRegistryKeyEpochs */ export declare const BTCVaultRegistryKeyEpochsABI: readonly [{ readonly type: "function"; readonly name: "getBtcVaultProtocolInfo"; readonly inputs: readonly [{ readonly name: "vaultId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "vProtocol"; readonly type: "tuple"; readonly internalType: "struct BTCVaultRegistryTypes.BTCVaultProtocolInfo"; readonly components: readonly [{ readonly name: "depositorSignedPeginTx"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "universalChallengersVersion"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "appVaultKeepersVersion"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "offchainParamsVersion"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "verifiedAt"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositorWotsPkHash"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "hashlock"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "htlcVout"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "depositorPopSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "prePeginTxHash"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "vaultProviderCommissionBps"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "claimExpiredUntil"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "vaultCoreVersion"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "vpKeyEpoch"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "appKeeperKeyEpoch"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "ucKeyEpoch"; readonly type: "uint64"; readonly internalType: "uint64"; }]; }]; readonly stateMutability: "view"; }]; //# sourceMappingURL=BTCVaultRegistryKeyEpochs.abi.d.ts.map