export declare const accountKeychain: readonly [{ readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "authorizeAdminKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "burnKeyAuthorizationWitness"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "revokeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly []; }, { readonly name: "updateSpendingLimit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; readonly outputs: readonly []; }, { readonly name: "setAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "removeAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "target"; }]; readonly outputs: readonly []; }, { readonly name: "getKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "bool"; readonly name: "isRevoked"; }]; }]; }, { readonly name: "getRemainingLimit"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }]; }, { readonly name: "getRemainingLimitWithPeriod"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }, { readonly type: "uint64"; readonly name: "periodEnd"; }]; }, { readonly name: "getAllowedCalls"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isScoped"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly name: "isKeyAuthorizationWitnessBurned"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAdminKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTransactionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "KeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }]; }, { readonly name: "AdminKeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "KeyRevoked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "SpendingLimitUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; }, { readonly name: "AccessKeySpend"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "remainingLimit"; }]; }, { readonly name: "KeyAuthorizationWitness"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "KeyAuthorizationWitnessBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "UnauthorizedCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SpendingLimitExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSpendingLimit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiryInPast"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyRevoked"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SignatureTypeMismatch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "expected"; }, { readonly type: "uint8"; readonly name: "actual"; }]; }, { readonly name: "CallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCallScope"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyAuthorizationWitness"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAuthorizationWitnessAlreadyBurned"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }]; export declare const addressRegistry: readonly [{ readonly name: "registerVirtualMaster"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; }, { readonly name: "getMaster"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "resolveRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "effectiveRecipient"; }]; }, { readonly name: "resolveVirtualAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "virtualAddr"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "isVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "decodeVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isVirtual"; }, { readonly type: "bytes4"; readonly name: "masterId"; }, { readonly type: "bytes6"; readonly name: "userTag"; }]; }, { readonly name: "isImplicitlyApproved"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "MasterRegistered"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "masterAddress"; readonly indexed: true; }]; }, { readonly name: "MasterIdCollision"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "InvalidMasterAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProofOfWorkFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressUnregistered"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const nativeMultisig: readonly [{ readonly name: "deriveAccount"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "getConfigCommitment"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "commitment"; }]; }, { readonly name: "updateConfig"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "current"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly []; }, { readonly name: "MultisigConfigUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly name: "InvalidAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidThreshold"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMultisigOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWeight"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyOwners"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwnerOrder"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedMultisigCaller"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const currentCommittee: readonly [{ readonly name: "getCommitteeMembers"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; }, { readonly name: "setCommitteeMembers"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; readonly outputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const nonce: readonly [{ readonly name: "getNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint256"; readonly name: "nonceKey"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; }]; }, { readonly name: "NonceIncremented"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "nonceKey"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newNonce"; }]; }, { readonly name: "ProtocolNonceNotSupported"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidNonceKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NonceOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceReplay"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceSetFull"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidExpiringNonceExpiry"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const receivePolicyGuard: readonly [{ readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "claim"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlockedReceipt"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "TransferBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; }, { readonly name: "ReceiptClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "ReceiptBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidReceipt"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClaimAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedClaimer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const signatureVerifier: readonly [{ readonly name: "recover"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "signer"; }]; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "signer"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychain"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychainAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "InvalidFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const stablecoinDex: readonly [{ readonly name: "createPair"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; }]; }, { readonly name: "place"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "placeFlip"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "cancel"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "cancelStaleOrder"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "swapExactAmountIn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }, { readonly type: "uint128"; readonly name: "minAmountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "swapExactAmountOut"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }, { readonly type: "uint128"; readonly name: "maxAmountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "quoteSwapExactAmountIn"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "quoteSwapExactAmountOut"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "getOrder"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }, { readonly type: "address"; readonly name: "maker"; }, { readonly type: "bytes32"; readonly name: "bookKey"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "remaining"; }, { readonly type: "uint128"; readonly name: "prev"; }, { readonly type: "uint128"; readonly name: "next"; }, { readonly type: "bool"; readonly name: "isFlip"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }]; }, { readonly name: "getTickLevel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isBid"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "head"; }, { readonly type: "uint128"; readonly name: "tail"; }, { readonly type: "uint128"; readonly name: "totalLiquidity"; }]; }, { readonly name: "pairKey"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; }, { readonly type: "address"; readonly name: "tokenB"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "nextOrderId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "books"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "pairKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "address"; readonly name: "quote"; }, { readonly type: "int16"; readonly name: "bestBidTick"; }, { readonly type: "int16"; readonly name: "bestAskTick"; }]; }]; }, { readonly name: "bookIndexForKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "set"; }, { readonly type: "uint32"; readonly name: "index"; }]; }, { readonly name: "bookKeyForIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; }, { readonly name: "setBookIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly []; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "MIN_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "MAX_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "TICK_SPACING"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "PRICE_SCALE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MIN_ORDER_AMOUNT"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MIN_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MAX_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "tickToPrice"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; }, { readonly name: "priceToTick"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; readonly outputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "PairCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; readonly indexed: true; }, { readonly type: "address"; readonly name: "base"; readonly indexed: true; }, { readonly type: "address"; readonly name: "quote"; readonly indexed: true; }]; }, { readonly name: "OrderPlaced"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isFlipOrder"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "OrderFilled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "taker"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amountFilled"; }, { readonly type: "bool"; readonly name: "partialFill"; }]; }, { readonly name: "OrderFlipped"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "FlipFailed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "bytes4"; readonly name: "reason"; }]; }, { readonly name: "OrderCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IdenticalTokens"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TickOutOfBounds"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "InvalidTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidFlipTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientOutput"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MaxInputExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "BelowMinimumOrderSize"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "InvalidBaseToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderNotStale"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IndexAlreadySet"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const storageCredits: readonly [{ readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "modeOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "budgetOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "newMode"; }]; readonly outputs: readonly []; }, { readonly name: "setBudget"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; readonly outputs: readonly []; }, { readonly name: "InvalidMode"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyDirectCall"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const feeManager: readonly [{ readonly name: "userTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "setUserToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setValidatorToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "distributeFees"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "collectedFees"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "UserTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "ValidatorTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "FeesDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientFeeTokenBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithinBlock"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const feeAmm: readonly [{ readonly name: "M"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "N"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "SCALE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MIN_LIQUIDITY"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPoolId"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getPool"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "pools"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "liquidityBalances"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "rebalanceSwap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountOut"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; }, { readonly name: "RebalanceSwap"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "swapper"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountIn"; }, { readonly type: "uint256"; readonly name: "amountOut"; }]; }, { readonly name: "IdenticalAddresses"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientReserves"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DivisionByZero"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSwapCalculation"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const tip20ChannelReserve: readonly [{ readonly name: "CLOSE_GRACE_PERIOD"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "VOUCHER_TYPEHASH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "open"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; }, { readonly name: "settle"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "topUp"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }]; readonly outputs: readonly []; }, { readonly name: "close"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "captureAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "requestClose"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "getChannel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "tuple"; readonly name: "state"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }]; }, { readonly name: "getChannelState"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "getChannelStatesBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32[]"; readonly name: "channelIds"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "computeChannelId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getVoucherDigest"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "domainSeparator"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "ChannelOpened"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }, { readonly type: "uint96"; readonly name: "deposit"; }]; }, { readonly name: "Settled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "deltaPaid"; }, { readonly type: "uint96"; readonly name: "newSettled"; }]; }, { readonly name: "TopUp"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }, { readonly type: "uint96"; readonly name: "newDeposit"; }]; }, { readonly name: "CloseRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "closeGraceEnd"; }]; }, { readonly name: "ChannelClosed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "settledToPayee"; }, { readonly type: "uint96"; readonly name: "refundedToPayer"; }]; }, { readonly name: "CloseRequestCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }]; }, { readonly name: "ChannelAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ChannelNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayeeOrOperator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayee"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceHashNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountExceedsDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountNotIncreasing"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CaptureAmountInvalid"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CloseNotReady"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositOverflow"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const tip20Factory: readonly [{ readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "string"; readonly name: "logoURI"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isTIP20"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTokenAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "TokenCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressNotReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; }]; export declare const tip20: readonly [{ readonly name: "name"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "symbol"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "decimals"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "quoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "nextQuoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transfer"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "approve"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "allowance"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transferFrom"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "currency"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "supplyCap"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "transferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "logoURI"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setLogoURI"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "newLogoURI"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlocked"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "mintWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "burnWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferFromWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "changeTransferPolicyId"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newPolicyId"; }]; readonly outputs: readonly []; }, { readonly name: "setSupplyCap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "newSupplyCap"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "unpause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "setNextQuoteToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newQuoteToken"; }]; readonly outputs: readonly []; }, { readonly name: "completeQuoteTokenUpdate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "PAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "UNPAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "ISSUER_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "BURN_BLOCKED_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "permit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "value"; }, { readonly type: "uint256"; readonly name: "deadline"; }, { readonly type: "uint8"; readonly name: "v"; }, { readonly type: "bytes32"; readonly name: "r"; }, { readonly type: "bytes32"; readonly name: "s"; }]; readonly outputs: readonly []; }, { readonly name: "nonces"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "DOMAIN_SEPARATOR"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "distributeReward"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "setRewardRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; readonly outputs: readonly []; }, { readonly name: "claimRewards"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "optedInSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "globalRewardPerToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "userRewardInfo"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "rewardRecipient"; }, { readonly type: "uint256"; readonly name: "rewardPerToken"; }, { readonly type: "uint256"; readonly name: "rewardBalance"; }]; }]; }, { readonly name: "getPendingRewards"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "Transfer"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Approval"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "spender"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "BurnBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "TransferWithMemo"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; readonly indexed: true; }]; }, { readonly name: "TransferPolicyUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newPolicyId"; readonly indexed: true; }]; }, { readonly name: "SupplyCapUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newSupplyCap"; readonly indexed: true; }]; }, { readonly name: "PauseStateUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "isPaused"; }]; }, { readonly name: "NextQuoteTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "nextQuoteToken"; readonly indexed: true; }]; }, { readonly name: "QuoteTokenUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newQuoteToken"; readonly indexed: true; }]; }, { readonly name: "RewardDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "funder"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "RewardRecipientSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "holder"; readonly indexed: true; }, { readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }]; }, { readonly name: "LogoURIUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "string"; readonly name: "newLogoURI"; }]; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "available"; }, { readonly type: "uint256"; readonly name: "required"; }, { readonly type: "address"; readonly name: "token"; }]; }, { readonly name: "InsufficientAllowance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SupplyCapExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSupplyCap"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayload"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyForbids"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ContractPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrency"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoOptedInSupply"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProtectedAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Uninitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTransferPolicyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PermitExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LogoURITooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidLogoURI"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getRoleAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "grantRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "revokeRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "renounceRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly []; }, { readonly name: "setRoleAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "bytes32"; readonly name: "adminRole"; }]; readonly outputs: readonly []; }, { readonly name: "RoleMembershipUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "hasRole"; }]; }, { readonly name: "RoleAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "newAdminRole"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const tip403Registry: readonly [{ readonly name: "policyIdCounter"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "policyExists"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenTransferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isSet"; }, { readonly type: "uint64"; readonly name: "policyId"; }]; }, { readonly name: "policyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address"; readonly name: "admin"; }]; }, { readonly name: "isAuthorized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedSender"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedMintRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "compoundPolicyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "receivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "hasReceivePolicy"; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint8"; readonly name: "senderPolicyType"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "uint8"; readonly name: "tokenFilterType"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "validateReceivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "receiver"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "authorized"; }, { readonly type: "uint8"; readonly name: "blockedReason"; }]; }, { readonly name: "createPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "createPolicyWithAccounts"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address[]"; readonly name: "accounts"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setPolicyAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "admin"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyWhitelist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyBlacklist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "restricted"; }]; readonly outputs: readonly []; }, { readonly name: "createCompoundPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setReceivePolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; readonly outputs: readonly []; }, { readonly name: "migrateTransferPolicyIds"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "tokens"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "migrated"; }]; }, { readonly name: "PolicyAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "admin"; readonly indexed: true; }]; }, { readonly name: "PolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "policyType"; }]; }, { readonly name: "WhitelistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "allowed"; }]; }, { readonly name: "BlacklistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "restricted"; }]; }, { readonly name: "CompoundPolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "creator"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "ReceivePolicyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotSimple"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IncompatiblePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidReceivePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecoveryAuthority"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const validatorConfigV2: readonly [{ readonly name: "getActiveValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getInitializedAtHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "validatorByIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByPublicKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getNextNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "isInitialized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; }, { readonly name: "deactivateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "rotateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "setFeeRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "setIpAddresses"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }]; readonly outputs: readonly []; }, { readonly name: "transferValidatorOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "newAddress"; }]; readonly outputs: readonly []; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "setNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "migrateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "initializeIfMigrated"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "ValidatorAdded"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; }, { readonly name: "ValidatorDeactivated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }]; }, { readonly name: "ValidatorRotated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "deactivatedIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "oldPublicKey"; }, { readonly type: "bytes32"; readonly name: "newPublicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "FeeRecipientUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "IpAddressesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "ValidatorOwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "oldAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "oldOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ValidatorMigrated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "NetworkIdentityRotationEpochSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "previousEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "nextEpoch"; readonly indexed: true; }]; }, { readonly name: "Initialized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "height"; }]; }, { readonly name: "SkippedValidatorMigration"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IngressAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "ingress"; }]; }, { readonly name: "EmptyV1ValidatorSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMigrationIndex"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidValidatorAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MigrationNotComplete"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotIp"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "PublicKeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressAlreadyHasValidator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyDeactivated"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const validatorConfig: readonly [{ readonly name: "getValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "updateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatus"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatusByIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "changeOwner"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "getNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "validatorsArray"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotHostPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }]; export declare const zoneFactory: readonly [{ readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "nextZoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "zones"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "id"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "info"; readonly components: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; }, { readonly name: "isZonePortal"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "portal"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClosedLoopConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateAllowedAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateZoneGateway"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "messenger"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "tuple"; readonly name: "zoneParams"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }]; export declare const zonePortal: readonly [{ readonly name: "SequencerSetUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address[]"; readonly name: "sequencers"; }]; }, { readonly name: "TokenEnabled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }]; }, { readonly name: "RoleUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "prev"; }, { readonly type: "uint8"; readonly name: "next"; }]; }, { readonly name: "EnforcementModesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }]; }, { readonly name: "LeaderUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousLeader"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newLeader"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderActivationTempoBlock"; }]; }, { readonly name: "zoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "admin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "messenger"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isAccessEnforced"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAccessMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "isGatewayOpen"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setGatewayMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint8"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAllowedAccount"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setGateway"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setPauseGuardian"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setSequencerSet"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "newSequencers"; }, { readonly type: "uint8"; readonly name: "newThreshold"; }]; readonly outputs: readonly []; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "sequencerSetVersion"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "sequencerThreshold"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "zoneHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "isSequencer"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "sequencerCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "sequencerAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leader"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leaderEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "leaderActivationTempoBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setLeader"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newLeader"; }, { readonly type: "uint64"; readonly name: "expectedEpoch"; }]; readonly outputs: readonly []; }, { readonly name: "withdrawalBatchIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "blockHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "currentDepositQueueHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "lastSyncedTempoBlockNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "withdrawalQueueHead"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueTail"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueSlot"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "queueIndex"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "calculateDepositFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "calculateBouncebackFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "depositCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastProcessedDepositNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "FIXED_DEPOSIT_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_GAS_FEE_RATE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_TOKEN_METADATA_BYTES"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "areDepositsActive"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenConfig"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bool"; readonly name: "enabled"; }, { readonly type: "bool"; readonly name: "depositsActive"; }]; }]; }, { readonly name: "initialize"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "messenger"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deliverWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "callbackData"; }]; readonly outputs: readonly []; }, { readonly name: "MAX_DEPOSITS_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "pauseExpiry"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "abdicationEffectiveAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "processWithdrawals"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly name: "withdrawals"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "encryptedSender"; }]; }, { readonly type: "bytes32"; readonly name: "remainingQueue"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "resume"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "abdicate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly []; }, { readonly name: "submitBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "recentTempoBlockNumber"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }, { readonly type: "uint256"; readonly name: "nextZoneHeight"; }, { readonly type: "bytes[]"; readonly name: "signatures"; }]; readonly outputs: readonly []; }, { readonly name: "enableToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "pauseDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "resumeDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setZoneGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newZoneGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newMaxTempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setBouncebackGas"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newBouncebackGas"; }]; readonly outputs: readonly []; }, { readonly name: "transferAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newAdmin"; }]; readonly outputs: readonly []; }, { readonly name: "acceptAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "rpcUrl"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setRpcUrl"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "depositEncrypted"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "setSequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint8"; readonly name: "popV"; }, { readonly type: "bytes32"; readonly name: "popR"; }, { readonly type: "bytes32"; readonly name: "popS"; }]; readonly outputs: readonly []; }, { readonly name: "isTokenEnabled"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "enabledTokenCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "enabledTokenAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "tokenEnablementHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "zoneGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxTempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "bouncebackGas"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "refunds"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "sequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }]; }, { readonly name: "encryptionKeyCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "encryptionKeyAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "entry"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }]; }, { readonly name: "isEncryptionKeyValid"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "valid"; }, { readonly type: "uint64"; readonly name: "expiresAtBlock"; }]; }, { readonly name: "encryptionKeyAtBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "claimRefund"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "DepositMade"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "netAmount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositsPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "DepositsResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "PortalPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "PortalResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "AbdicationScheduled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "effectiveAt"; }]; }, { readonly name: "RpcUrlUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; }, { readonly name: "SequencerEncryptionKeyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }, { readonly name: "BatchSubmitted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "withdrawalQueueIndex"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "nextProcessedDepositQueueHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "lastProcessedDepositNumber"; }]; }, { readonly name: "WithdrawalProcessed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "senderTag"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "callbackSuccess"; }]; }, { readonly name: "WithdrawalBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "DepositBounceBackPending"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "RefundClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "ZoneGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "zoneGasRate"; }]; }, { readonly name: "MaxTempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "maxTempoGasRate"; }]; }, { readonly name: "BouncebackGasUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "bouncebackGas"; }]; }, { readonly name: "AdminTransferStarted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "currentAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "pendingAdmin"; readonly indexed: true; }]; }, { readonly name: "AdminTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAdmin"; readonly indexed: true; }]; }, { readonly name: "NotSequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPauseAuthority"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CapabilityAbdicated"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "AbdicationAlreadyScheduled"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "PortalIsPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPendingAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidProof"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTempoBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotFactory"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotSelf"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MustDelegateCall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackRejected"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ReentrantWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "EncryptionKeyExpired"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }, { readonly type: "uint64"; readonly name: "supersededAtBlock"; }]; }, { readonly name: "InvalidEncryptionKeyIndex"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "NoEncryptionKeySet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoEncryptionKeyAtBlock"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "blockNumber"; }]; }, { readonly name: "InvalidEphemeralPubkey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCiphertextLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidProofOfPossession"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositTooSmall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenEnablementBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositsNotActive"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidDepositTransition"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SequencerConfigurationUnchanged"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuorumCertificate"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDidNotReturnToZone"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBouncebackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenNotEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "InvalidCallbackTarget"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AccountNotAllowed"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "InvalidLeader"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ActiveLeaderRemoved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LeaderAlreadyUpdatedThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaleLeadershipEpoch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "expected"; }, { readonly type: "uint64"; readonly name: "actual"; }]; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }]; export declare const earnContributionController: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "active"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeFunding"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "fund"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setActive"; readonly inputs: readonly [{ readonly name: "active_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "ActiveSet"; readonly inputs: readonly [{ readonly name: "active"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Funded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "fundedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EarnShareSupplyOutOfBounds"; readonly inputs: readonly [{ readonly name: "earnShareSupply"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "Inactive"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }]; export declare const earnEngine: readonly [{ readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "scale"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }]; export declare const earnEngineAsyncRedeem: readonly [{ readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }]; export declare const earnEngineInKindDeposit: readonly [{ readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }]; export declare const earnFactory: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "tip20Factory_"; readonly type: "address"; }, { readonly name: "earnVaultImplementation_"; readonly type: "address"; }, { readonly name: "earnFeesImplementation_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "DEFAULT_ADMIN_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "EARN_SHARE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEES_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEarnShareSalt"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }, { readonly name: "earnVault"; readonly type: "address"; }, { readonly name: "earnFees"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnFeesImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVaultImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnFees"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnShare"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "tip20Factory"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnStackDeployed"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShare"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnFees"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engine"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: false; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "migrationMode"; readonly type: "uint8"; readonly indexed: false; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "earnShareSalt"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "controlConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "feeConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "earnFeesSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AdminRelinquishmentFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnShareAlreadyExists"; readonly inputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "EarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyEarnShareMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyBound"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FailedDeployment"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientBalance"; readonly inputs: readonly [{ readonly name: "balance"; readonly type: "uint256"; }, { readonly name: "needed"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidDistributorConfig"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnFeesImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVaultImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "IssuerGrantFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferPolicyMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "UnsupportedTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }, { readonly name: "policyType"; readonly type: "uint8"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }]; export declare const earnFees: readonly [{ readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "to"; readonly type: "address"; }, { readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimableEarnShares"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "closeRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "currentFeeConfigId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeBaselinesPending"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeConfig"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeRemainder"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }, { readonly name: "slot"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesActive"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesDisabled"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "highWaterMark"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "initialConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeBaselines"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pendingFeeSnapshot"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }, { readonly name: "highWaterValue"; readonly type: "uint256"; }, { readonly name: "targetValue"; readonly type: "uint256"; }, { readonly name: "feeConfigId"; readonly type: "uint64"; }, { readonly name: "requestedAt"; readonly type: "uint40"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewAccruedFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recordRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settleCancelledRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "returnedValue"; readonly type: "uint256"; }, { readonly name: "activeSupply"; readonly type: "uint256"; }, { readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "totalReentryEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shouldChargeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetBase"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetStartedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalClaimableEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "validateFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "FeeBaselinesInitialized"; readonly inputs: readonly [{ readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetBase"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetStartedAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeConfigurationSet"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "configHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "reactivated"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeDustWaived"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "slot"; readonly type: "uint8"; readonly indexed: true; }, { readonly name: "remainder"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesAllocated"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesAccrued"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "activeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesDisabled"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientClaimableEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeClaimReceiver"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }]; export declare const earnMerkleRewardDistributor: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "treasury_"; readonly type: "address"; }, { readonly name: "campaignId_"; readonly type: "bytes32"; }, { readonly name: "claimDeadline_"; readonly type: "uint40"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "campaignId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }, { readonly name: "proof"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimDeadline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cumulativePaid"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "fundWithAssets"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "leaf"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "merkleRoot"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "paused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "publishRoot"; readonly inputs: readonly [{ readonly name: "root"; readonly type: "bytes32"; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; }, { readonly name: "statementHash_"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pushBatch"; readonly inputs: readonly [{ readonly name: "expectedRootVersion"; readonly type: "uint64"; }, { readonly name: "recipients"; readonly type: "address[]"; }, { readonly name: "cumulativeAmounts"; readonly type: "uint256[]"; }, { readonly name: "multiproof"; readonly type: "bytes32[]"; }, { readonly name: "proofFlags"; readonly type: "bool[]"; }]; readonly outputs: readonly [{ readonly name: "paidCount"; readonly type: "uint256"; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; }, { readonly name: "skippedCount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "returnUnspent"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rootTotalEntitlement"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rootVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setPaused"; readonly inputs: readonly [{ readonly name: "paused_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "statementHash"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalPaid"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "treasury"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "AssetsFunded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BatchPushed"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "batchHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "attemptedCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "skippedCount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PausedSet"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PayoutSkipped"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "reason"; readonly type: "uint8"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RewardClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RootPublished"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "root"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "statementHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UnspentReturned"; readonly inputs: readonly [{ readonly name: "treasury"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ClaimsExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimsNotExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientFunding"; readonly inputs: readonly [{ readonly name: "requiredBalance"; readonly type: "uint256"; }, { readonly name: "actualBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidArrayLengths"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MerkleProofInvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NothingOwed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnershipRenunciationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "Paused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PausedLiabilityIncrease"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrancyGuardReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RootTotalDecreased"; readonly inputs: readonly [{ readonly name: "previousTotal"; readonly type: "uint256"; }, { readonly name: "nextTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "RootTotalExceeded"; readonly inputs: readonly [{ readonly name: "requestedAmount"; readonly type: "uint256"; }, { readonly name: "remainingEntitlement"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleRootVersion"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedEarnShares"; readonly inputs: readonly [{ readonly name: "reported"; readonly type: "uint256"; }, { readonly name: "measured"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedRetainedAssets"; readonly inputs: readonly [{ readonly name: "beforeBalance"; readonly type: "uint256"; }, { readonly name: "afterBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroCampaignId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroDeadline"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroRoot"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroStatementHash"; readonly inputs: readonly []; }]; export declare const earnRouter: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "allowedZoneId_"; readonly type: "uint32"; }, { readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "privateAsset_"; readonly type: "address"; }, { readonly name: "tokenAuthority_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "allowedZoneId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "onWithdrawalReceived"; readonly inputs: readonly [{ readonly name: "sourceZoneId"; readonly type: "uint32"; }, { readonly name: "sourcePortal"; readonly type: "address"; }, { readonly name: ""; readonly type: "bytes32"; }, { readonly name: "token"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint128"; }, { readonly name: "callbackData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "privateAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "reserveToken"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsFlow"; readonly inputs: readonly [{ readonly name: "flow"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "tokenAuthority"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transactionLimit"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vaultAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnDeposit"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnRedeem"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "outputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AmountExceedsLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AmountOverflow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "BadFlow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidAuthority"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPrivateAsset"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidReturnToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRoutePair"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidSourcePortal"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransactionLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotZoneMessenger"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ResidualBalance"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongInputToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongSourceZone"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }]; export declare const earnVault: readonly [{ readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "MAX_REWARD_RATE_MULTIPLIER"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "absorbEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptDistributor"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "anchorEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "anchorEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asyncJanitor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelDistributorTransfer"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "minReceiverEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "contribute"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "receivedEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "convertEngineSharesToEarnShares"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "convertToEngineShares"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositVenueShares"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositsPaused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "distributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorFee"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorUpdateDelay"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "emergencyGuardian"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engine"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineMigrationMode"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeConfigId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "finalizeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "engine_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "earnFees_"; readonly type: "address"; }, { readonly name: "operator_"; readonly type: "address"; }, { readonly name: "controlInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isAccountingAligned"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxManagedAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "migrateEngine"; readonly inputs: readonly [{ readonly name: "newEngine"; readonly type: "address"; }, { readonly name: "minNewEngineShares"; readonly type: "uint256"; }, { readonly name: "minAssetsRetained"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "newEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "normalizedRewardRate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openRedeemRequestCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "operator"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }, { readonly name: "executableAt"; readonly type: "uint40"; }, { readonly name: "pending"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "receiver"; readonly type: "address"; }, { readonly name: "requester"; readonly type: "address"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rawEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "remainingDepositCapacity"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "engineData"; readonly type: "bytes"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rewardRateBaseline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "scheduleDistributorFeeUpdate"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setDepositsPaused"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setEmergencyRoles"; readonly inputs: readonly [{ readonly name: "newGuardian"; readonly type: "address"; }, { readonly name: "newJanitor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxManagedAssets"; readonly inputs: readonly [{ readonly name: "newMaxManagedAssets"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "surplusEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferDistributor"; readonly inputs: readonly [{ readonly name: "newDistributor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "withdrawExact"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "maxEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnSharesBurned"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Contributed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DepositPauseChanged"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateScheduled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "executableAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdated"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "feeConfigId"; readonly type: "uint64"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferStarted"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferred"; readonly inputs: readonly [{ readonly name: "previousDistributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EmergencyRolesChanged"; readonly inputs: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineMigrated"; readonly inputs: readonly [{ readonly name: "oldEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assetsMoved"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "totalEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineShareSurplusAbsorbed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxManagedAssetsChanged"; readonly inputs: readonly [{ readonly name: "previousMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelled"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemFinalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "requester"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ActiveSupplyWithoutBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotReady"; readonly inputs: readonly [{ readonly name: "executableAt"; readonly type: "uint40"; }]; }, { readonly type: "error"; readonly name: "DistributorTransferNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EngineAssetMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineCapabilityUnsupported"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; }, { readonly type: "error"; readonly name: "EngineEarnVaultMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineExitUnsupported"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExceedsMaxEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExcessiveConversionLoss"; readonly inputs: readonly [{ readonly name: "inputShares"; readonly type: "uint256"; }, { readonly name: "representedShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ExcessiveMigrationClassificationError"; readonly inputs: readonly [{ readonly name: "expectedManagedAssets"; readonly type: "uint256"; }, { readonly name: "actualManagedAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "FeeValuationStale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FinalizedAssetMismatch"; readonly inputs: readonly [{ readonly name: "finalizedAsset"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "GlobalFeeDisableUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InitialEarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngineShareScale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MaxManagedAssetsExceeded"; readonly inputs: readonly [{ readonly name: "maximum"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumAssetsNotMet"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEarnSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEarnShares"; readonly type: "uint256"; }, { readonly name: "actualEarnShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEngineSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEngineShares"; readonly type: "uint256"; }, { readonly name: "actualEngineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "NoEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEmergencyGuardianOrOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotPendingDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotRequesterOrJanitor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OperatorMigrationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PendingRedeemsOpen"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RequestNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ResidualBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RewardRateLimitExceeded"; readonly inputs: readonly [{ readonly name: "normalizedRate"; readonly type: "uint256"; }, { readonly name: "baselineRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SameEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumAssets"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEngineShares"; readonly inputs: readonly []; }]; export declare const erc4626Engine: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "vault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "nameOverride_"; readonly type: "string"; }, { readonly name: "symbolOverride_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }]; export declare const erc4626EngineFactory: readonly [{ readonly type: "function"; readonly name: "ENGINE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEngineSalt"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "predictEngine"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "ERC4626EngineDeployed"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "vault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "engineSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyExists"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }]; export declare const vedaEngine: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "peripheryRegistry_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "maxRateAge_"; readonly type: "uint64"; }, { readonly name: "name_"; readonly type: "string"; }, { readonly name: "symbol_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accountant"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "accountantRateUpdatedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "authorizedForwarder"; readonly inputs: readonly [{ readonly name: "forwarder"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "authorized"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claimRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "finalizeOneExternal"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "forwardSolved"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "delta"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getClaim"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "status"; readonly type: "uint8"; }, { readonly name: "request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint96"; }, { readonly name: "user"; readonly type: "address"; }, { readonly name: "assetOut"; readonly type: "address"; }, { readonly name: "amountOfShares"; readonly type: "uint128"; }, { readonly name: "amountOfAssets"; readonly type: "uint128"; }, { readonly name: "creationTime"; readonly type: "uint40"; }, { readonly name: "secondsToMaturity"; readonly type: "uint24"; }, { readonly name: "secondsToDeadline"; readonly type: "uint24"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxRateAge"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openClaimsByQueue"; readonly inputs: readonly [{ readonly name: "requestQueue"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "count"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryRegistry"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "queue"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recoverExternalSettlement"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "authorized"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxRateAge"; readonly inputs: readonly [{ readonly name: "newMaxRateAge"; readonly type: "uint64"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "sweepDust"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "to"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "syncVedaPeriphery"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "teller"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "unresolvedClaimCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "AuthorizedForwarderChanged"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; readonly indexed: true; }, { readonly name: "authorized"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DustSwept"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ExternalSettlementRecovered"; readonly inputs: readonly [{ readonly name: "requestCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "recoveredAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "claimed"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FinalizeFailed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Finalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxRateAgeUpdated"; readonly inputs: readonly [{ readonly name: "oldMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "newMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelledOnQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemClaimed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "assetOut"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Unearmarked"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VedaPeripheryUpdated"; readonly inputs: readonly [{ readonly name: "registryVersion"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "oldTeller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldQueue"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newTeller"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newQueue"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "validatedRate"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AssetsNotArrived"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "BaseAssetSweepBlocked"; readonly inputs: readonly [{ readonly name: "unresolvedClaims"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "CannotSweepEngineBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimNotClaimable"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ClaimNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "CreditExceedsBalance"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "have"; readonly type: "uint256"; }, { readonly name: "wantTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "DepositsNotPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineSharesTooLarge"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidAsset"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidMaxRateAge"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRateTimestamp"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidTrackedRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeriphery"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeripheryWiring"; readonly inputs: readonly [{ readonly name: "component"; readonly type: "address"; }, { readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaRateBounds"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoPublishedVedaPeriphery"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoRecoverableClaims"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueTrackingDisabled"; readonly inputs: readonly [{ readonly name: "queue"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RateChangedWithinTransaction"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RegistryEngineMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "SolveUnderfunded"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "delivered"; readonly type: "uint256"; }, { readonly name: "required"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleAccountantRate"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }, { readonly name: "maxAge"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SweepExceedsAvailableBalance"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesQueued"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnsupportedAccountantFreshness"; readonly inputs: readonly [{ readonly name: "accountant"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "VedaRateOutOfBounds"; readonly inputs: readonly [{ readonly name: "rate"; readonly type: "uint256"; }, { readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }]; export declare const earnRouterCallbackData: readonly [{ readonly components: readonly [{ readonly name: "flow"; readonly type: "uint8"; }, { readonly name: "minVaultAssets"; readonly type: "uint128"; }, { readonly name: "minEarnShares"; readonly type: "uint128"; }, { readonly name: "minOutputAmount"; readonly type: "uint128"; }, { readonly name: "actionId"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly name: "keyIndex"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly name: "ephemeralPubkeyX"; readonly type: "bytes32"; }, { readonly name: "ephemeralPubkeyYParity"; readonly type: "uint8"; }, { readonly name: "ciphertext"; readonly type: "bytes"; }, { readonly name: "nonce"; readonly type: "bytes12"; }, { readonly name: "tag"; readonly type: "bytes16"; }]; readonly name: "encrypted"; readonly type: "tuple"; }, { readonly name: "refundRecipient"; readonly type: "address"; }]; readonly name: "zoneReturn"; readonly type: "tuple"; }]; readonly name: "callbackData"; readonly type: "tuple"; }]; export declare const zoneOutbox: readonly [{ readonly name: "tempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "lastBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }]; }, { readonly name: "lastFinalizedTimestamp"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "nextWithdrawalIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastFallbackNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingWithdrawalsCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPendingWithdrawals"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "txHash"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }]; }, { readonly name: "consumeFallbackRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "fallbackNonce"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; }, { readonly name: "calculateWithdrawalFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "gasLimit"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "MAX_CALLBACK_DATA_SIZE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "WITHDRAWAL_BASE_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "REVEAL_TO_KEY_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "setTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "_tempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "_maxWithdrawalsPerBlock"; }]; readonly outputs: readonly []; }, { readonly name: "requestWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "address"; readonly name: "zoneFallbackRecipient"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; readonly outputs: readonly []; }, { readonly name: "enqueueDepositBounceBack"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "finalizeWithdrawalBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "count"; }, { readonly type: "uint64"; readonly name: "blockNumber"; }, { readonly type: "bytes[]"; readonly name: "encryptedSenders"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }]; }, { readonly name: "WithdrawalRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }, { readonly name: "BatchFinalized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }, { readonly name: "TempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "tempoGasRate"; }]; }, { readonly name: "MaxWithdrawalsPerBlockUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "maxWithdrawalsPerBlock"; }]; }, { readonly name: "OnlySequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasLimitTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyZoneInbox"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWithdrawalCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidFallbackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDataTooLarge"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyWithdrawalsThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRevealTo"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrentTxHash"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroAmountWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaticCallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const zoneMessenger: readonly [{ readonly name: "relayMessage"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "target"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "data"; }]; readonly outputs: readonly []; }]; export declare const zoneVerifier: readonly [{ readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "anchorBlockNumber"; }, { readonly type: "bytes32"; readonly name: "anchorBlockHash"; }, { readonly type: "uint64"; readonly name: "expectedWithdrawalBatchIndex"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }]; export declare const core: readonly [{ readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "authorizeAdminKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "burnKeyAuthorizationWitness"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "revokeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly []; }, { readonly name: "updateSpendingLimit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; readonly outputs: readonly []; }, { readonly name: "setAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "removeAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "target"; }]; readonly outputs: readonly []; }, { readonly name: "getKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "bool"; readonly name: "isRevoked"; }]; }]; }, { readonly name: "getRemainingLimit"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }]; }, { readonly name: "getRemainingLimitWithPeriod"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }, { readonly type: "uint64"; readonly name: "periodEnd"; }]; }, { readonly name: "getAllowedCalls"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isScoped"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly name: "isKeyAuthorizationWitnessBurned"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAdminKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTransactionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "KeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }]; }, { readonly name: "AdminKeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "KeyRevoked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "SpendingLimitUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; }, { readonly name: "AccessKeySpend"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "remainingLimit"; }]; }, { readonly name: "KeyAuthorizationWitness"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "KeyAuthorizationWitnessBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "UnauthorizedCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SpendingLimitExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSpendingLimit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiryInPast"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyRevoked"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SignatureTypeMismatch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "expected"; }, { readonly type: "uint8"; readonly name: "actual"; }]; }, { readonly name: "CallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCallScope"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyAuthorizationWitness"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAuthorizationWitnessAlreadyBurned"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }, { readonly name: "registerVirtualMaster"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; }, { readonly name: "getMaster"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "resolveRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "effectiveRecipient"; }]; }, { readonly name: "resolveVirtualAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "virtualAddr"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "isVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "decodeVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isVirtual"; }, { readonly type: "bytes4"; readonly name: "masterId"; }, { readonly type: "bytes6"; readonly name: "userTag"; }]; }, { readonly name: "isImplicitlyApproved"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "MasterRegistered"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "masterAddress"; readonly indexed: true; }]; }, { readonly name: "MasterIdCollision"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "InvalidMasterAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProofOfWorkFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressUnregistered"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getCommitteeMembers"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; }, { readonly name: "setCommitteeMembers"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; readonly outputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "M"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "N"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "SCALE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MIN_LIQUIDITY"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPoolId"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getPool"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "pools"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "liquidityBalances"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "rebalanceSwap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountOut"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; }, { readonly name: "RebalanceSwap"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "swapper"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountIn"; }, { readonly type: "uint256"; readonly name: "amountOut"; }]; }, { readonly name: "IdenticalAddresses"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientReserves"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DivisionByZero"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSwapCalculation"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "userTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "setUserToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setValidatorToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "distributeFees"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "collectedFees"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "UserTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "ValidatorTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "FeesDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientFeeTokenBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithinBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "deriveAccount"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "getConfigCommitment"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "commitment"; }]; }, { readonly name: "updateConfig"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "current"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly []; }, { readonly name: "MultisigConfigUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly name: "InvalidAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidThreshold"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMultisigOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWeight"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyOwners"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwnerOrder"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedMultisigCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint256"; readonly name: "nonceKey"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; }]; }, { readonly name: "NonceIncremented"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "nonceKey"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newNonce"; }]; }, { readonly name: "ProtocolNonceNotSupported"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidNonceKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NonceOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceReplay"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceSetFull"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidExpiringNonceExpiry"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "claim"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlockedReceipt"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "TransferBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; }, { readonly name: "ReceiptClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "ReceiptBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidReceipt"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClaimAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedClaimer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "recover"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "signer"; }]; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "signer"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychain"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychainAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "InvalidFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "createPair"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; }]; }, { readonly name: "place"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "placeFlip"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "cancel"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "cancelStaleOrder"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "swapExactAmountIn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }, { readonly type: "uint128"; readonly name: "minAmountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "swapExactAmountOut"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }, { readonly type: "uint128"; readonly name: "maxAmountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "quoteSwapExactAmountIn"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "quoteSwapExactAmountOut"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "getOrder"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }, { readonly type: "address"; readonly name: "maker"; }, { readonly type: "bytes32"; readonly name: "bookKey"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "remaining"; }, { readonly type: "uint128"; readonly name: "prev"; }, { readonly type: "uint128"; readonly name: "next"; }, { readonly type: "bool"; readonly name: "isFlip"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }]; }, { readonly name: "getTickLevel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isBid"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "head"; }, { readonly type: "uint128"; readonly name: "tail"; }, { readonly type: "uint128"; readonly name: "totalLiquidity"; }]; }, { readonly name: "pairKey"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; }, { readonly type: "address"; readonly name: "tokenB"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "nextOrderId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "books"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "pairKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "address"; readonly name: "quote"; }, { readonly type: "int16"; readonly name: "bestBidTick"; }, { readonly type: "int16"; readonly name: "bestAskTick"; }]; }]; }, { readonly name: "bookIndexForKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "set"; }, { readonly type: "uint32"; readonly name: "index"; }]; }, { readonly name: "bookKeyForIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; }, { readonly name: "setBookIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly []; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "MIN_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "MAX_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "TICK_SPACING"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "PRICE_SCALE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MIN_ORDER_AMOUNT"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MIN_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MAX_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "tickToPrice"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; }, { readonly name: "priceToTick"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; readonly outputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "PairCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; readonly indexed: true; }, { readonly type: "address"; readonly name: "base"; readonly indexed: true; }, { readonly type: "address"; readonly name: "quote"; readonly indexed: true; }]; }, { readonly name: "OrderPlaced"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isFlipOrder"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "OrderFilled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "taker"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amountFilled"; }, { readonly type: "bool"; readonly name: "partialFill"; }]; }, { readonly name: "OrderFlipped"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "FlipFailed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "bytes4"; readonly name: "reason"; }]; }, { readonly name: "OrderCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IdenticalTokens"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TickOutOfBounds"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "InvalidTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidFlipTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientOutput"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MaxInputExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "BelowMinimumOrderSize"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "InvalidBaseToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderNotStale"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IndexAlreadySet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "modeOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "budgetOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "newMode"; }]; readonly outputs: readonly []; }, { readonly name: "setBudget"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; readonly outputs: readonly []; }, { readonly name: "InvalidMode"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyDirectCall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "name"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "symbol"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "decimals"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "quoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "nextQuoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transfer"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "approve"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "allowance"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transferFrom"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "currency"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "supplyCap"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "transferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "logoURI"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setLogoURI"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "newLogoURI"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlocked"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "mintWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "burnWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferFromWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "changeTransferPolicyId"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newPolicyId"; }]; readonly outputs: readonly []; }, { readonly name: "setSupplyCap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "newSupplyCap"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "unpause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "setNextQuoteToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newQuoteToken"; }]; readonly outputs: readonly []; }, { readonly name: "completeQuoteTokenUpdate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "PAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "UNPAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "ISSUER_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "BURN_BLOCKED_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "permit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "value"; }, { readonly type: "uint256"; readonly name: "deadline"; }, { readonly type: "uint8"; readonly name: "v"; }, { readonly type: "bytes32"; readonly name: "r"; }, { readonly type: "bytes32"; readonly name: "s"; }]; readonly outputs: readonly []; }, { readonly name: "nonces"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "DOMAIN_SEPARATOR"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "distributeReward"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "setRewardRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; readonly outputs: readonly []; }, { readonly name: "claimRewards"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "optedInSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "globalRewardPerToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "userRewardInfo"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "rewardRecipient"; }, { readonly type: "uint256"; readonly name: "rewardPerToken"; }, { readonly type: "uint256"; readonly name: "rewardBalance"; }]; }]; }, { readonly name: "getPendingRewards"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "Transfer"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Approval"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "spender"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "BurnBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "TransferWithMemo"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; readonly indexed: true; }]; }, { readonly name: "TransferPolicyUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newPolicyId"; readonly indexed: true; }]; }, { readonly name: "SupplyCapUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newSupplyCap"; readonly indexed: true; }]; }, { readonly name: "PauseStateUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "isPaused"; }]; }, { readonly name: "NextQuoteTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "nextQuoteToken"; readonly indexed: true; }]; }, { readonly name: "QuoteTokenUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newQuoteToken"; readonly indexed: true; }]; }, { readonly name: "RewardDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "funder"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "RewardRecipientSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "holder"; readonly indexed: true; }, { readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }]; }, { readonly name: "LogoURIUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "string"; readonly name: "newLogoURI"; }]; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "available"; }, { readonly type: "uint256"; readonly name: "required"; }, { readonly type: "address"; readonly name: "token"; }]; }, { readonly name: "InsufficientAllowance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SupplyCapExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSupplyCap"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayload"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyForbids"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ContractPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrency"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoOptedInSupply"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProtectedAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Uninitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTransferPolicyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PermitExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LogoURITooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidLogoURI"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getRoleAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "grantRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "revokeRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "renounceRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly []; }, { readonly name: "setRoleAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "bytes32"; readonly name: "adminRole"; }]; readonly outputs: readonly []; }, { readonly name: "RoleMembershipUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "hasRole"; }]; }, { readonly name: "RoleAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "newAdminRole"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CLOSE_GRACE_PERIOD"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "VOUCHER_TYPEHASH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "open"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; }, { readonly name: "settle"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "topUp"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }]; readonly outputs: readonly []; }, { readonly name: "close"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "captureAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "requestClose"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "getChannel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "tuple"; readonly name: "state"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }]; }, { readonly name: "getChannelState"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "getChannelStatesBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32[]"; readonly name: "channelIds"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "computeChannelId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getVoucherDigest"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "domainSeparator"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "ChannelOpened"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }, { readonly type: "uint96"; readonly name: "deposit"; }]; }, { readonly name: "Settled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "deltaPaid"; }, { readonly type: "uint96"; readonly name: "newSettled"; }]; }, { readonly name: "TopUp"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }, { readonly type: "uint96"; readonly name: "newDeposit"; }]; }, { readonly name: "CloseRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "closeGraceEnd"; }]; }, { readonly name: "ChannelClosed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "settledToPayee"; }, { readonly type: "uint96"; readonly name: "refundedToPayer"; }]; }, { readonly name: "CloseRequestCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }]; }, { readonly name: "ChannelAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ChannelNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayeeOrOperator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayee"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceHashNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountExceedsDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountNotIncreasing"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CaptureAmountInvalid"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CloseNotReady"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "string"; readonly name: "logoURI"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isTIP20"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTokenAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "TokenCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressNotReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; }, { readonly name: "policyIdCounter"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "policyExists"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenTransferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isSet"; }, { readonly type: "uint64"; readonly name: "policyId"; }]; }, { readonly name: "policyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address"; readonly name: "admin"; }]; }, { readonly name: "isAuthorized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedSender"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedMintRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "compoundPolicyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "receivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "hasReceivePolicy"; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint8"; readonly name: "senderPolicyType"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "uint8"; readonly name: "tokenFilterType"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "validateReceivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "receiver"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "authorized"; }, { readonly type: "uint8"; readonly name: "blockedReason"; }]; }, { readonly name: "createPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "createPolicyWithAccounts"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address[]"; readonly name: "accounts"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setPolicyAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "admin"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyWhitelist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyBlacklist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "restricted"; }]; readonly outputs: readonly []; }, { readonly name: "createCompoundPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setReceivePolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; readonly outputs: readonly []; }, { readonly name: "migrateTransferPolicyIds"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "tokens"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "migrated"; }]; }, { readonly name: "PolicyAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "admin"; readonly indexed: true; }]; }, { readonly name: "PolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "policyType"; }]; }, { readonly name: "WhitelistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "allowed"; }]; }, { readonly name: "BlacklistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "restricted"; }]; }, { readonly name: "CompoundPolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "creator"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "ReceivePolicyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotSimple"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IncompatiblePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidReceivePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecoveryAuthority"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "updateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatus"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatusByIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "changeOwner"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "getNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "validatorsArray"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotHostPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "getActiveValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getInitializedAtHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "validatorByIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByPublicKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getNextNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "isInitialized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; }, { readonly name: "deactivateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "rotateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "setFeeRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "setIpAddresses"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }]; readonly outputs: readonly []; }, { readonly name: "transferValidatorOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "newAddress"; }]; readonly outputs: readonly []; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "setNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "migrateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "initializeIfMigrated"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "ValidatorAdded"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; }, { readonly name: "ValidatorDeactivated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }]; }, { readonly name: "ValidatorRotated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "deactivatedIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "oldPublicKey"; }, { readonly type: "bytes32"; readonly name: "newPublicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "FeeRecipientUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "IpAddressesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "ValidatorOwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "oldAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "oldOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ValidatorMigrated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "NetworkIdentityRotationEpochSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "previousEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "nextEpoch"; readonly indexed: true; }]; }, { readonly name: "Initialized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "height"; }]; }, { readonly name: "SkippedValidatorMigration"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IngressAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "ingress"; }]; }, { readonly name: "EmptyV1ValidatorSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMigrationIndex"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidValidatorAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MigrationNotComplete"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotIp"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "PublicKeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressAlreadyHasValidator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyDeactivated"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "nextZoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "zones"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "id"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "info"; readonly components: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; }, { readonly name: "isZonePortal"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "portal"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClosedLoopConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateAllowedAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateZoneGateway"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "messenger"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "tuple"; readonly name: "zoneParams"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "SequencerSetUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address[]"; readonly name: "sequencers"; }]; }, { readonly name: "TokenEnabled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }]; }, { readonly name: "RoleUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "prev"; }, { readonly type: "uint8"; readonly name: "next"; }]; }, { readonly name: "EnforcementModesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }]; }, { readonly name: "LeaderUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousLeader"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newLeader"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderActivationTempoBlock"; }]; }, { readonly name: "zoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "admin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "messenger"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isAccessEnforced"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAccessMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "isGatewayOpen"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setGatewayMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint8"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAllowedAccount"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setGateway"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setPauseGuardian"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setSequencerSet"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "newSequencers"; }, { readonly type: "uint8"; readonly name: "newThreshold"; }]; readonly outputs: readonly []; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "sequencerSetVersion"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "sequencerThreshold"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "zoneHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "isSequencer"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "sequencerCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "sequencerAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leader"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leaderEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "leaderActivationTempoBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setLeader"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newLeader"; }, { readonly type: "uint64"; readonly name: "expectedEpoch"; }]; readonly outputs: readonly []; }, { readonly name: "withdrawalBatchIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "blockHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "currentDepositQueueHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "lastSyncedTempoBlockNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "withdrawalQueueHead"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueTail"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueSlot"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "queueIndex"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "calculateDepositFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "calculateBouncebackFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "depositCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastProcessedDepositNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "FIXED_DEPOSIT_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_GAS_FEE_RATE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_TOKEN_METADATA_BYTES"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "areDepositsActive"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenConfig"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bool"; readonly name: "enabled"; }, { readonly type: "bool"; readonly name: "depositsActive"; }]; }]; }, { readonly name: "initialize"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "messenger"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deliverWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "callbackData"; }]; readonly outputs: readonly []; }, { readonly name: "MAX_DEPOSITS_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "pauseExpiry"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "abdicationEffectiveAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "processWithdrawals"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly name: "withdrawals"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "encryptedSender"; }]; }, { readonly type: "bytes32"; readonly name: "remainingQueue"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "resume"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "abdicate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly []; }, { readonly name: "submitBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "recentTempoBlockNumber"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }, { readonly type: "uint256"; readonly name: "nextZoneHeight"; }, { readonly type: "bytes[]"; readonly name: "signatures"; }]; readonly outputs: readonly []; }, { readonly name: "enableToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "pauseDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "resumeDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setZoneGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newZoneGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newMaxTempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setBouncebackGas"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newBouncebackGas"; }]; readonly outputs: readonly []; }, { readonly name: "transferAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newAdmin"; }]; readonly outputs: readonly []; }, { readonly name: "acceptAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "rpcUrl"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setRpcUrl"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "depositEncrypted"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "setSequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint8"; readonly name: "popV"; }, { readonly type: "bytes32"; readonly name: "popR"; }, { readonly type: "bytes32"; readonly name: "popS"; }]; readonly outputs: readonly []; }, { readonly name: "isTokenEnabled"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "enabledTokenCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "enabledTokenAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "tokenEnablementHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "zoneGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxTempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "bouncebackGas"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "refunds"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "sequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }]; }, { readonly name: "encryptionKeyCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "encryptionKeyAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "entry"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }]; }, { readonly name: "isEncryptionKeyValid"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "valid"; }, { readonly type: "uint64"; readonly name: "expiresAtBlock"; }]; }, { readonly name: "encryptionKeyAtBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "claimRefund"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "DepositMade"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "netAmount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositsPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "DepositsResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "PortalPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "PortalResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "AbdicationScheduled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "effectiveAt"; }]; }, { readonly name: "RpcUrlUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; }, { readonly name: "SequencerEncryptionKeyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }, { readonly name: "BatchSubmitted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "withdrawalQueueIndex"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "nextProcessedDepositQueueHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "lastProcessedDepositNumber"; }]; }, { readonly name: "WithdrawalProcessed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "senderTag"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "callbackSuccess"; }]; }, { readonly name: "WithdrawalBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "DepositBounceBackPending"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "RefundClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "ZoneGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "zoneGasRate"; }]; }, { readonly name: "MaxTempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "maxTempoGasRate"; }]; }, { readonly name: "BouncebackGasUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "bouncebackGas"; }]; }, { readonly name: "AdminTransferStarted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "currentAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "pendingAdmin"; readonly indexed: true; }]; }, { readonly name: "AdminTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAdmin"; readonly indexed: true; }]; }, { readonly name: "NotSequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPauseAuthority"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CapabilityAbdicated"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "AbdicationAlreadyScheduled"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "PortalIsPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPendingAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidProof"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTempoBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotFactory"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotSelf"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MustDelegateCall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackRejected"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ReentrantWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "EncryptionKeyExpired"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }, { readonly type: "uint64"; readonly name: "supersededAtBlock"; }]; }, { readonly name: "InvalidEncryptionKeyIndex"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "NoEncryptionKeySet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoEncryptionKeyAtBlock"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "blockNumber"; }]; }, { readonly name: "InvalidEphemeralPubkey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCiphertextLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidProofOfPossession"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositTooSmall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenEnablementBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositsNotActive"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidDepositTransition"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SequencerConfigurationUnchanged"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuorumCertificate"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDidNotReturnToZone"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBouncebackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenNotEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "InvalidCallbackTarget"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AccountNotAllowed"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "InvalidLeader"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ActiveLeaderRemoved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LeaderAlreadyUpdatedThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaleLeadershipEpoch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "expected"; }, { readonly type: "uint64"; readonly name: "actual"; }]; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }]; export declare const earn: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "active"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeFunding"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "fund"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setActive"; readonly inputs: readonly [{ readonly name: "active_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "ActiveSet"; readonly inputs: readonly [{ readonly name: "active"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Funded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "fundedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EarnShareSupplyOutOfBounds"; readonly inputs: readonly [{ readonly name: "earnShareSupply"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "Inactive"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "scale"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "tip20Factory_"; readonly type: "address"; }, { readonly name: "earnVaultImplementation_"; readonly type: "address"; }, { readonly name: "earnFeesImplementation_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "DEFAULT_ADMIN_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "EARN_SHARE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEES_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEarnShareSalt"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }, { readonly name: "earnVault"; readonly type: "address"; }, { readonly name: "earnFees"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnFeesImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVaultImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnFees"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnShare"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "tip20Factory"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnStackDeployed"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShare"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnFees"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engine"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: false; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "migrationMode"; readonly type: "uint8"; readonly indexed: false; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "earnShareSalt"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "controlConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "feeConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "earnFeesSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AdminRelinquishmentFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnShareAlreadyExists"; readonly inputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "EarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyEarnShareMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyBound"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FailedDeployment"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientBalance"; readonly inputs: readonly [{ readonly name: "balance"; readonly type: "uint256"; }, { readonly name: "needed"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidDistributorConfig"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnFeesImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVaultImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "IssuerGrantFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferPolicyMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "UnsupportedTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }, { readonly name: "policyType"; readonly type: "uint8"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "to"; readonly type: "address"; }, { readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimableEarnShares"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "closeRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "currentFeeConfigId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeBaselinesPending"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeConfig"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeRemainder"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }, { readonly name: "slot"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesActive"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesDisabled"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "highWaterMark"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "initialConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeBaselines"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pendingFeeSnapshot"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }, { readonly name: "highWaterValue"; readonly type: "uint256"; }, { readonly name: "targetValue"; readonly type: "uint256"; }, { readonly name: "feeConfigId"; readonly type: "uint64"; }, { readonly name: "requestedAt"; readonly type: "uint40"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewAccruedFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recordRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settleCancelledRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "returnedValue"; readonly type: "uint256"; }, { readonly name: "activeSupply"; readonly type: "uint256"; }, { readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "totalReentryEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shouldChargeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetBase"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetStartedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalClaimableEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "validateFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "FeeBaselinesInitialized"; readonly inputs: readonly [{ readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetBase"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetStartedAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeConfigurationSet"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "configHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "reactivated"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeDustWaived"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "slot"; readonly type: "uint8"; readonly indexed: true; }, { readonly name: "remainder"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesAllocated"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesAccrued"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "activeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesDisabled"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientClaimableEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeClaimReceiver"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "treasury_"; readonly type: "address"; }, { readonly name: "campaignId_"; readonly type: "bytes32"; }, { readonly name: "claimDeadline_"; readonly type: "uint40"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "campaignId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }, { readonly name: "proof"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimDeadline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cumulativePaid"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "fundWithAssets"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "leaf"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "merkleRoot"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "paused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "publishRoot"; readonly inputs: readonly [{ readonly name: "root"; readonly type: "bytes32"; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; }, { readonly name: "statementHash_"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pushBatch"; readonly inputs: readonly [{ readonly name: "expectedRootVersion"; readonly type: "uint64"; }, { readonly name: "recipients"; readonly type: "address[]"; }, { readonly name: "cumulativeAmounts"; readonly type: "uint256[]"; }, { readonly name: "multiproof"; readonly type: "bytes32[]"; }, { readonly name: "proofFlags"; readonly type: "bool[]"; }]; readonly outputs: readonly [{ readonly name: "paidCount"; readonly type: "uint256"; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; }, { readonly name: "skippedCount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "returnUnspent"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rootTotalEntitlement"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rootVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setPaused"; readonly inputs: readonly [{ readonly name: "paused_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "statementHash"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalPaid"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "treasury"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "AssetsFunded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BatchPushed"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "batchHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "attemptedCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "skippedCount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PausedSet"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PayoutSkipped"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "reason"; readonly type: "uint8"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RewardClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RootPublished"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "root"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "statementHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UnspentReturned"; readonly inputs: readonly [{ readonly name: "treasury"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ClaimsExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimsNotExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientFunding"; readonly inputs: readonly [{ readonly name: "requiredBalance"; readonly type: "uint256"; }, { readonly name: "actualBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidArrayLengths"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MerkleProofInvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NothingOwed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnershipRenunciationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "Paused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PausedLiabilityIncrease"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrancyGuardReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RootTotalDecreased"; readonly inputs: readonly [{ readonly name: "previousTotal"; readonly type: "uint256"; }, { readonly name: "nextTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "RootTotalExceeded"; readonly inputs: readonly [{ readonly name: "requestedAmount"; readonly type: "uint256"; }, { readonly name: "remainingEntitlement"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleRootVersion"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedEarnShares"; readonly inputs: readonly [{ readonly name: "reported"; readonly type: "uint256"; }, { readonly name: "measured"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedRetainedAssets"; readonly inputs: readonly [{ readonly name: "beforeBalance"; readonly type: "uint256"; }, { readonly name: "afterBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroCampaignId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroDeadline"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroRoot"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroStatementHash"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "allowedZoneId_"; readonly type: "uint32"; }, { readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "privateAsset_"; readonly type: "address"; }, { readonly name: "tokenAuthority_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "allowedZoneId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "onWithdrawalReceived"; readonly inputs: readonly [{ readonly name: "sourceZoneId"; readonly type: "uint32"; }, { readonly name: "sourcePortal"; readonly type: "address"; }, { readonly name: ""; readonly type: "bytes32"; }, { readonly name: "token"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint128"; }, { readonly name: "callbackData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "privateAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "reserveToken"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsFlow"; readonly inputs: readonly [{ readonly name: "flow"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "tokenAuthority"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transactionLimit"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vaultAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnDeposit"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnRedeem"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "outputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AmountExceedsLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AmountOverflow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "BadFlow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidAuthority"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPrivateAsset"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidReturnToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRoutePair"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidSourcePortal"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransactionLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotZoneMessenger"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ResidualBalance"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongInputToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongSourceZone"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "MAX_REWARD_RATE_MULTIPLIER"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "absorbEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptDistributor"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "anchorEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "anchorEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asyncJanitor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelDistributorTransfer"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "minReceiverEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "contribute"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "receivedEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "convertEngineSharesToEarnShares"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "convertToEngineShares"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositVenueShares"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositsPaused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "distributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorFee"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorUpdateDelay"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "emergencyGuardian"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engine"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineMigrationMode"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeConfigId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "finalizeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "engine_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "earnFees_"; readonly type: "address"; }, { readonly name: "operator_"; readonly type: "address"; }, { readonly name: "controlInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isAccountingAligned"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxManagedAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "migrateEngine"; readonly inputs: readonly [{ readonly name: "newEngine"; readonly type: "address"; }, { readonly name: "minNewEngineShares"; readonly type: "uint256"; }, { readonly name: "minAssetsRetained"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "newEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "normalizedRewardRate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openRedeemRequestCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "operator"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }, { readonly name: "executableAt"; readonly type: "uint40"; }, { readonly name: "pending"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "receiver"; readonly type: "address"; }, { readonly name: "requester"; readonly type: "address"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rawEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "remainingDepositCapacity"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "engineData"; readonly type: "bytes"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rewardRateBaseline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "scheduleDistributorFeeUpdate"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setDepositsPaused"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setEmergencyRoles"; readonly inputs: readonly [{ readonly name: "newGuardian"; readonly type: "address"; }, { readonly name: "newJanitor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxManagedAssets"; readonly inputs: readonly [{ readonly name: "newMaxManagedAssets"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "surplusEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferDistributor"; readonly inputs: readonly [{ readonly name: "newDistributor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "withdrawExact"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "maxEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnSharesBurned"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Contributed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DepositPauseChanged"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateScheduled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "executableAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdated"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "feeConfigId"; readonly type: "uint64"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferStarted"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferred"; readonly inputs: readonly [{ readonly name: "previousDistributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EmergencyRolesChanged"; readonly inputs: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineMigrated"; readonly inputs: readonly [{ readonly name: "oldEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assetsMoved"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "totalEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineShareSurplusAbsorbed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxManagedAssetsChanged"; readonly inputs: readonly [{ readonly name: "previousMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelled"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemFinalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "requester"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ActiveSupplyWithoutBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotReady"; readonly inputs: readonly [{ readonly name: "executableAt"; readonly type: "uint40"; }]; }, { readonly type: "error"; readonly name: "DistributorTransferNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EngineAssetMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineCapabilityUnsupported"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; }, { readonly type: "error"; readonly name: "EngineEarnVaultMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineExitUnsupported"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExceedsMaxEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExcessiveConversionLoss"; readonly inputs: readonly [{ readonly name: "inputShares"; readonly type: "uint256"; }, { readonly name: "representedShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ExcessiveMigrationClassificationError"; readonly inputs: readonly [{ readonly name: "expectedManagedAssets"; readonly type: "uint256"; }, { readonly name: "actualManagedAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "FeeValuationStale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FinalizedAssetMismatch"; readonly inputs: readonly [{ readonly name: "finalizedAsset"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "GlobalFeeDisableUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InitialEarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngineShareScale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MaxManagedAssetsExceeded"; readonly inputs: readonly [{ readonly name: "maximum"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumAssetsNotMet"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEarnSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEarnShares"; readonly type: "uint256"; }, { readonly name: "actualEarnShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEngineSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEngineShares"; readonly type: "uint256"; }, { readonly name: "actualEngineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "NoEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEmergencyGuardianOrOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotPendingDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotRequesterOrJanitor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OperatorMigrationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PendingRedeemsOpen"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RequestNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ResidualBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RewardRateLimitExceeded"; readonly inputs: readonly [{ readonly name: "normalizedRate"; readonly type: "uint256"; }, { readonly name: "baselineRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SameEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumAssets"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEngineShares"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "vault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "nameOverride_"; readonly type: "string"; }, { readonly name: "symbolOverride_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "function"; readonly name: "ENGINE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEngineSalt"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "predictEngine"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "ERC4626EngineDeployed"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "vault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "engineSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyExists"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "peripheryRegistry_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "maxRateAge_"; readonly type: "uint64"; }, { readonly name: "name_"; readonly type: "string"; }, { readonly name: "symbol_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accountant"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "accountantRateUpdatedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "authorizedForwarder"; readonly inputs: readonly [{ readonly name: "forwarder"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "authorized"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claimRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "finalizeOneExternal"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "forwardSolved"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "delta"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getClaim"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "status"; readonly type: "uint8"; }, { readonly name: "request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint96"; }, { readonly name: "user"; readonly type: "address"; }, { readonly name: "assetOut"; readonly type: "address"; }, { readonly name: "amountOfShares"; readonly type: "uint128"; }, { readonly name: "amountOfAssets"; readonly type: "uint128"; }, { readonly name: "creationTime"; readonly type: "uint40"; }, { readonly name: "secondsToMaturity"; readonly type: "uint24"; }, { readonly name: "secondsToDeadline"; readonly type: "uint24"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxRateAge"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openClaimsByQueue"; readonly inputs: readonly [{ readonly name: "requestQueue"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "count"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryRegistry"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "queue"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recoverExternalSettlement"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "authorized"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxRateAge"; readonly inputs: readonly [{ readonly name: "newMaxRateAge"; readonly type: "uint64"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "sweepDust"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "to"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "syncVedaPeriphery"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "teller"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "unresolvedClaimCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "AuthorizedForwarderChanged"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; readonly indexed: true; }, { readonly name: "authorized"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DustSwept"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ExternalSettlementRecovered"; readonly inputs: readonly [{ readonly name: "requestCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "recoveredAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "claimed"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FinalizeFailed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Finalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxRateAgeUpdated"; readonly inputs: readonly [{ readonly name: "oldMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "newMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelledOnQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemClaimed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "assetOut"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Unearmarked"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VedaPeripheryUpdated"; readonly inputs: readonly [{ readonly name: "registryVersion"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "oldTeller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldQueue"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newTeller"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newQueue"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "validatedRate"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AssetsNotArrived"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "BaseAssetSweepBlocked"; readonly inputs: readonly [{ readonly name: "unresolvedClaims"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "CannotSweepEngineBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimNotClaimable"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ClaimNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "CreditExceedsBalance"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "have"; readonly type: "uint256"; }, { readonly name: "wantTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "DepositsNotPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineSharesTooLarge"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidAsset"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidMaxRateAge"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRateTimestamp"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidTrackedRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeriphery"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeripheryWiring"; readonly inputs: readonly [{ readonly name: "component"; readonly type: "address"; }, { readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaRateBounds"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoPublishedVedaPeriphery"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoRecoverableClaims"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueTrackingDisabled"; readonly inputs: readonly [{ readonly name: "queue"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RateChangedWithinTransaction"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RegistryEngineMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "SolveUnderfunded"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "delivered"; readonly type: "uint256"; }, { readonly name: "required"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleAccountantRate"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }, { readonly name: "maxAge"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SweepExceedsAvailableBalance"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesQueued"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnsupportedAccountantFreshness"; readonly inputs: readonly [{ readonly name: "accountant"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "VedaRateOutOfBounds"; readonly inputs: readonly [{ readonly name: "rate"; readonly type: "uint256"; }, { readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }]; export declare const zone: readonly [{ readonly name: "relayMessage"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "target"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "data"; }]; readonly outputs: readonly []; }, { readonly name: "tempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "lastBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }]; }, { readonly name: "lastFinalizedTimestamp"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "nextWithdrawalIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastFallbackNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingWithdrawalsCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPendingWithdrawals"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "txHash"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }]; }, { readonly name: "consumeFallbackRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "fallbackNonce"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; }, { readonly name: "calculateWithdrawalFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "gasLimit"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "MAX_CALLBACK_DATA_SIZE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "WITHDRAWAL_BASE_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "REVEAL_TO_KEY_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "setTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "_tempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "_maxWithdrawalsPerBlock"; }]; readonly outputs: readonly []; }, { readonly name: "requestWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "address"; readonly name: "zoneFallbackRecipient"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; readonly outputs: readonly []; }, { readonly name: "enqueueDepositBounceBack"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "finalizeWithdrawalBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "count"; }, { readonly type: "uint64"; readonly name: "blockNumber"; }, { readonly type: "bytes[]"; readonly name: "encryptedSenders"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }]; }, { readonly name: "WithdrawalRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }, { readonly name: "BatchFinalized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }, { readonly name: "TempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "tempoGasRate"; }]; }, { readonly name: "MaxWithdrawalsPerBlockUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "maxWithdrawalsPerBlock"; }]; }, { readonly name: "OnlySequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasLimitTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyZoneInbox"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWithdrawalCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidFallbackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDataTooLarge"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyWithdrawalsThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRevealTo"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrentTxHash"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroAmountWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaticCallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "anchorBlockNumber"; }, { readonly type: "bytes32"; readonly name: "anchorBlockHash"; }, { readonly type: "uint64"; readonly name: "expectedWithdrawalBatchIndex"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }]; export declare const all: readonly [{ readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "authorizeAdminKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "burnKeyAuthorizationWitness"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "revokeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly []; }, { readonly name: "updateSpendingLimit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; readonly outputs: readonly []; }, { readonly name: "setAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "removeAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "target"; }]; readonly outputs: readonly []; }, { readonly name: "getKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "bool"; readonly name: "isRevoked"; }]; }]; }, { readonly name: "getRemainingLimit"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }]; }, { readonly name: "getRemainingLimitWithPeriod"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }, { readonly type: "uint64"; readonly name: "periodEnd"; }]; }, { readonly name: "getAllowedCalls"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isScoped"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly name: "isKeyAuthorizationWitnessBurned"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAdminKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTransactionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "KeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }]; }, { readonly name: "AdminKeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "KeyRevoked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "SpendingLimitUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; }, { readonly name: "AccessKeySpend"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "remainingLimit"; }]; }, { readonly name: "KeyAuthorizationWitness"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "KeyAuthorizationWitnessBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "UnauthorizedCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SpendingLimitExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSpendingLimit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiryInPast"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyRevoked"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SignatureTypeMismatch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "expected"; }, { readonly type: "uint8"; readonly name: "actual"; }]; }, { readonly name: "CallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCallScope"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyAuthorizationWitness"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAuthorizationWitnessAlreadyBurned"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }, { readonly name: "registerVirtualMaster"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; }, { readonly name: "getMaster"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "resolveRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "effectiveRecipient"; }]; }, { readonly name: "resolveVirtualAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "virtualAddr"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "isVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "decodeVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isVirtual"; }, { readonly type: "bytes4"; readonly name: "masterId"; }, { readonly type: "bytes6"; readonly name: "userTag"; }]; }, { readonly name: "isImplicitlyApproved"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "MasterRegistered"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "masterAddress"; readonly indexed: true; }]; }, { readonly name: "MasterIdCollision"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "InvalidMasterAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProofOfWorkFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressUnregistered"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getCommitteeMembers"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; }, { readonly name: "setCommitteeMembers"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }, { readonly type: "bytes32[]"; readonly name: "publicKeys"; }]; readonly outputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "M"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "N"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "SCALE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MIN_LIQUIDITY"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPoolId"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getPool"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "pools"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "reserveUserToken"; }, { readonly type: "uint128"; readonly name: "reserveValidatorToken"; }]; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "liquidityBalances"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "poolId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "rebalanceSwap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; }, { readonly type: "address"; readonly name: "validatorToken"; }, { readonly type: "uint256"; readonly name: "amountOut"; }, { readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountUserToken"; }, { readonly type: "uint256"; readonly name: "amountValidatorToken"; }, { readonly type: "uint256"; readonly name: "liquidity"; }, { readonly type: "address"; readonly name: "to"; }]; }, { readonly name: "RebalanceSwap"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "userToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorToken"; readonly indexed: true; }, { readonly type: "address"; readonly name: "swapper"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amountIn"; }, { readonly type: "uint256"; readonly name: "amountOut"; }]; }, { readonly name: "IdenticalAddresses"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientReserves"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DivisionByZero"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSwapCalculation"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "userTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorTokens"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "setUserToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setValidatorToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "distributeFees"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "collectedFees"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "UserTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "ValidatorTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "FeesDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientFeeTokenBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithinBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "deriveAccount"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "getConfigCommitment"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "commitment"; }]; }, { readonly name: "updateConfig"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "current"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; readonly outputs: readonly []; }, { readonly name: "MultisigConfigUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "uint64"; readonly name: "version"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "tuple[]"; readonly name: "owners"; readonly components: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "uint8"; readonly name: "weight"; }]; }]; }, { readonly name: "InvalidAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidThreshold"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMultisigOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWeight"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyOwners"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwnerOrder"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedMultisigCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint256"; readonly name: "nonceKey"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; }]; }, { readonly name: "NonceIncremented"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "nonceKey"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newNonce"; }]; }, { readonly name: "ProtocolNonceNotSupported"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidNonceKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NonceOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceReplay"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceSetFull"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidExpiringNonceExpiry"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "claim"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlockedReceipt"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "TransferBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; }, { readonly name: "ReceiptClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "ReceiptBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidReceipt"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClaimAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedClaimer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "recover"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "signer"; }]; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "signer"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychain"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychainAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "InvalidFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "createPair"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; }]; }, { readonly name: "place"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "placeFlip"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "cancel"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "cancelStaleOrder"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "swapExactAmountIn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }, { readonly type: "uint128"; readonly name: "minAmountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "swapExactAmountOut"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }, { readonly type: "uint128"; readonly name: "maxAmountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "quoteSwapExactAmountIn"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "quoteSwapExactAmountOut"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "getOrder"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }, { readonly type: "address"; readonly name: "maker"; }, { readonly type: "bytes32"; readonly name: "bookKey"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "remaining"; }, { readonly type: "uint128"; readonly name: "prev"; }, { readonly type: "uint128"; readonly name: "next"; }, { readonly type: "bool"; readonly name: "isFlip"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }]; }, { readonly name: "getTickLevel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isBid"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "head"; }, { readonly type: "uint128"; readonly name: "tail"; }, { readonly type: "uint128"; readonly name: "totalLiquidity"; }]; }, { readonly name: "pairKey"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; }, { readonly type: "address"; readonly name: "tokenB"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "nextOrderId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "books"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "pairKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "address"; readonly name: "quote"; }, { readonly type: "int16"; readonly name: "bestBidTick"; }, { readonly type: "int16"; readonly name: "bestAskTick"; }]; }]; }, { readonly name: "bookIndexForKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "set"; }, { readonly type: "uint32"; readonly name: "index"; }]; }, { readonly name: "bookKeyForIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "bookKey"; }]; }, { readonly name: "setBookIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "index"; }]; readonly outputs: readonly []; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "MIN_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "MAX_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "TICK_SPACING"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "PRICE_SCALE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MIN_ORDER_AMOUNT"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MIN_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MAX_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "tickToPrice"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; }, { readonly name: "priceToTick"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; readonly outputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "PairCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; readonly indexed: true; }, { readonly type: "address"; readonly name: "base"; readonly indexed: true; }, { readonly type: "address"; readonly name: "quote"; readonly indexed: true; }]; }, { readonly name: "OrderPlaced"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isFlipOrder"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "OrderFilled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "taker"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amountFilled"; }, { readonly type: "bool"; readonly name: "partialFill"; }]; }, { readonly name: "OrderFlipped"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "FlipFailed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "bytes4"; readonly name: "reason"; }]; }, { readonly name: "OrderCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IdenticalTokens"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TickOutOfBounds"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "InvalidTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidFlipTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientOutput"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MaxInputExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "BelowMinimumOrderSize"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "InvalidBaseToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderNotStale"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IndexAlreadySet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "modeOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "budgetOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "newMode"; }]; readonly outputs: readonly []; }, { readonly name: "setBudget"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; readonly outputs: readonly []; }, { readonly name: "InvalidMode"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyDirectCall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "name"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "symbol"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "decimals"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "quoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "nextQuoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transfer"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "approve"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "allowance"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transferFrom"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "currency"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "supplyCap"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "transferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "logoURI"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setLogoURI"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "newLogoURI"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlocked"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "mintWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "burnWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferFromWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "changeTransferPolicyId"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newPolicyId"; }]; readonly outputs: readonly []; }, { readonly name: "setSupplyCap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "newSupplyCap"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "unpause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "setNextQuoteToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newQuoteToken"; }]; readonly outputs: readonly []; }, { readonly name: "completeQuoteTokenUpdate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "PAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "UNPAUSE_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "ISSUER_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "BURN_BLOCKED_ROLE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "permit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "value"; }, { readonly type: "uint256"; readonly name: "deadline"; }, { readonly type: "uint8"; readonly name: "v"; }, { readonly type: "bytes32"; readonly name: "r"; }, { readonly type: "bytes32"; readonly name: "s"; }]; readonly outputs: readonly []; }, { readonly name: "nonces"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "DOMAIN_SEPARATOR"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "distributeReward"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "setRewardRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; readonly outputs: readonly []; }, { readonly name: "claimRewards"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "optedInSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "globalRewardPerToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "userRewardInfo"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "rewardRecipient"; }, { readonly type: "uint256"; readonly name: "rewardPerToken"; }, { readonly type: "uint256"; readonly name: "rewardBalance"; }]; }]; }, { readonly name: "getPendingRewards"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "Transfer"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Approval"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "spender"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Mint"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "Burn"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "BurnBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "TransferWithMemo"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; readonly indexed: true; }]; }, { readonly name: "TransferPolicyUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newPolicyId"; readonly indexed: true; }]; }, { readonly name: "SupplyCapUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newSupplyCap"; readonly indexed: true; }]; }, { readonly name: "PauseStateUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "isPaused"; }]; }, { readonly name: "NextQuoteTokenSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "nextQuoteToken"; readonly indexed: true; }]; }, { readonly name: "QuoteTokenUpdate"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newQuoteToken"; readonly indexed: true; }]; }, { readonly name: "RewardDistributed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "funder"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "RewardRecipientSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "holder"; readonly indexed: true; }, { readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }]; }, { readonly name: "LogoURIUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "string"; readonly name: "newLogoURI"; }]; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "available"; }, { readonly type: "uint256"; readonly name: "required"; }, { readonly type: "address"; readonly name: "token"; }]; }, { readonly name: "InsufficientAllowance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SupplyCapExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSupplyCap"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayload"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyForbids"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ContractPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrency"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAmount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoOptedInSupply"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProtectedAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Uninitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTransferPolicyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PermitExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LogoURITooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidLogoURI"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getRoleAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "grantRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "revokeRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly []; }, { readonly name: "renounceRole"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }]; readonly outputs: readonly []; }, { readonly name: "setRoleAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; }, { readonly type: "bytes32"; readonly name: "adminRole"; }]; readonly outputs: readonly []; }, { readonly name: "RoleMembershipUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "hasRole"; }]; }, { readonly name: "RoleAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "role"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "newAdminRole"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CLOSE_GRACE_PERIOD"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "VOUCHER_TYPEHASH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "open"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; }, { readonly name: "settle"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "topUp"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }]; readonly outputs: readonly []; }, { readonly name: "close"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "captureAmount"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "requestClose"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly []; }, { readonly name: "getChannel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "tuple"; readonly name: "descriptor"; readonly components: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; }, { readonly type: "tuple"; readonly name: "state"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }]; }, { readonly name: "getChannelState"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "getChannelStatesBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32[]"; readonly name: "channelIds"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "uint96"; readonly name: "settled"; }, { readonly type: "uint96"; readonly name: "deposit"; }, { readonly type: "uint32"; readonly name: "closeRequestedAt"; }]; }]; }, { readonly name: "computeChannelId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }, { readonly type: "address"; readonly name: "payee"; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "getVoucherDigest"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "domainSeparator"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "storageCredits"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "payer"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "credits"; }]; }, { readonly name: "ChannelOpened"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "address"; readonly name: "operator"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "authorizedSigner"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "bytes32"; readonly name: "expiringNonceHash"; }, { readonly type: "uint96"; readonly name: "deposit"; }]; }, { readonly name: "Settled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "cumulativeAmount"; }, { readonly type: "uint96"; readonly name: "deltaPaid"; }, { readonly type: "uint96"; readonly name: "newSettled"; }]; }, { readonly name: "TopUp"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "additionalDeposit"; }, { readonly type: "uint96"; readonly name: "newDeposit"; }]; }, { readonly name: "CloseRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "closeGraceEnd"; }]; }, { readonly name: "ChannelClosed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }, { readonly type: "uint96"; readonly name: "settledToPayee"; }, { readonly type: "uint96"; readonly name: "refundedToPayer"; }]; }, { readonly name: "CloseRequestCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "channelId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payer"; readonly indexed: true; }, { readonly type: "address"; readonly name: "payee"; readonly indexed: true; }]; }, { readonly name: "ChannelAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ChannelNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPayeeOrOperator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPayee"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceHashNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountExceedsDeposit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AmountNotIncreasing"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CaptureAmountInvalid"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CloseNotReady"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "createToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }, { readonly type: "string"; readonly name: "logoURI"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isTIP20"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTokenAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "TokenCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }, { readonly type: "address"; readonly name: "quoteToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "bytes32"; readonly name: "salt"; }]; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressNotReserved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuoteToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; }, { readonly name: "policyIdCounter"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "policyExists"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenTransferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isSet"; }, { readonly type: "uint64"; readonly name: "policyId"; }]; }, { readonly name: "policyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address"; readonly name: "admin"; }]; }, { readonly name: "isAuthorized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedSender"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAuthorizedMintRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "user"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "compoundPolicyData"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "receivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "hasReceivePolicy"; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint8"; readonly name: "senderPolicyType"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "uint8"; readonly name: "tokenFilterType"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "validateReceivePolicy"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "address"; readonly name: "receiver"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "authorized"; }, { readonly type: "uint8"; readonly name: "blockedReason"; }]; }, { readonly name: "createPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "createPolicyWithAccounts"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "admin"; }, { readonly type: "uint8"; readonly name: "policyType"; }, { readonly type: "address[]"; readonly name: "accounts"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setPolicyAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "admin"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyWhitelist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "modifyPolicyBlacklist"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; }, { readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "restricted"; }]; readonly outputs: readonly []; }, { readonly name: "createCompoundPolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setReceivePolicy"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; readonly outputs: readonly []; }, { readonly name: "migrateTransferPolicyIds"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "tokens"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "migrated"; }]; }, { readonly name: "PolicyAdminUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "admin"; readonly indexed: true; }]; }, { readonly name: "PolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "policyType"; }]; }, { readonly name: "WhitelistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "allowed"; }]; }, { readonly name: "BlacklistUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "updater"; readonly indexed: true; }, { readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "restricted"; }]; }, { readonly name: "CompoundPolicyCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "policyId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "creator"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "recipientPolicyId"; }, { readonly type: "uint64"; readonly name: "mintRecipientPolicyId"; }]; }, { readonly name: "ReceivePolicyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "senderPolicyId"; }, { readonly type: "uint64"; readonly name: "tokenFilterId"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PolicyNotSimple"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IncompatiblePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidReceivePolicyType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRecoveryAuthority"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "getValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "updateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newValidatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatus"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "changeValidatorStatusByIndex"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }, { readonly type: "bool"; readonly name: "active"; }]; readonly outputs: readonly []; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "changeOwner"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "getNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setNextFullDkgCeremony"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "validatorsArray"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validator"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "bool"; readonly name: "active"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "inboundAddress"; }, { readonly type: "string"; readonly name: "outboundAddress"; }]; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotHostPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "field"; }, { readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "getActiveValidators"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly name: "validators"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getInitializedAtHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "validatorCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "validatorByIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "validatorByPublicKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "uint64"; readonly name: "index"; }, { readonly type: "uint64"; readonly name: "addedAtHeight"; }, { readonly type: "uint64"; readonly name: "deactivatedAtHeight"; }]; }]; }, { readonly name: "getNextNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "isInitialized"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "addValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "validatorAddress"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "index"; }]; }, { readonly name: "deactivateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "rotateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly []; }, { readonly name: "setFeeRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "setIpAddresses"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }]; readonly outputs: readonly []; }, { readonly name: "transferValidatorOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }, { readonly type: "address"; readonly name: "newAddress"; }]; readonly outputs: readonly []; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "setNetworkIdentityRotationEpoch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "epoch"; }]; readonly outputs: readonly []; }, { readonly name: "migrateValidator"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "idx"; }]; readonly outputs: readonly []; }, { readonly name: "initializeIfMigrated"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "ValidatorAdded"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "feeRecipient"; }]; }, { readonly name: "ValidatorDeactivated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }]; }, { readonly name: "ValidatorRotated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "deactivatedIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "oldPublicKey"; }, { readonly type: "bytes32"; readonly name: "newPublicKey"; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "FeeRecipientUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "feeRecipient"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "IpAddressesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "string"; readonly name: "ingress"; }, { readonly type: "string"; readonly name: "egress"; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "ValidatorOwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "oldAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAddress"; readonly indexed: true; }, { readonly type: "address"; readonly name: "caller"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "oldOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ValidatorMigrated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "NetworkIdentityRotationEpochSet"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "previousEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "nextEpoch"; readonly indexed: true; }]; }, { readonly name: "Initialized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "height"; }]; }, { readonly name: "SkippedValidatorMigration"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "index"; readonly indexed: true; }, { readonly type: "address"; readonly name: "validatorAddress"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "publicKey"; }]; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IngressAlreadyExists"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "ingress"; }]; }, { readonly name: "EmptyV1ValidatorSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidMigrationIndex"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidValidatorAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MigrationNotComplete"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotIp"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "NotIpPort"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "input"; }, { readonly type: "string"; readonly name: "backtrace"; }]; }, { readonly name: "PublicKeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressAlreadyHasValidator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorAlreadyDeactivated"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ValidatorNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "owner"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "transferOwnership"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; }]; readonly outputs: readonly []; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "nextZoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "zones"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "id"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "info"; readonly components: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; }, { readonly name: "isZonePortal"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "portal"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "OwnershipTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousOwner"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly indexed: true; }]; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }]; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClosedLoopConfig"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotOwner"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateAllowedAccount"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DuplicateZoneGateway"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZoneCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "portal"; readonly indexed: true; }, { readonly type: "address"; readonly name: "messenger"; readonly indexed: true; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly name: "createZone"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly components: readonly [{ readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "sequencer"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "tuple"; readonly name: "zoneParams"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "genesisBlockHash"; }, { readonly type: "bytes32"; readonly name: "genesisTempoBlockHash"; }, { readonly type: "uint64"; readonly name: "genesisTempoBlockNumber"; }]; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "portal"; }]; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "SequencerSetUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address[]"; readonly name: "sequencers"; }]; }, { readonly name: "TokenEnabled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "string"; readonly name: "name"; }, { readonly type: "string"; readonly name: "symbol"; }, { readonly type: "string"; readonly name: "currency"; }]; }, { readonly name: "RoleUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "prev"; }, { readonly type: "uint8"; readonly name: "next"; }]; }, { readonly name: "EnforcementModesUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }]; }, { readonly name: "LeaderUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousLeader"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newLeader"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderEpoch"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "leaderActivationTempoBlock"; }]; }, { readonly name: "zoneId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "admin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "messenger"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "isAccessEnforced"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAccessMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "isGatewayOpen"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setGatewayMode"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "enforced"; }]; readonly outputs: readonly []; }, { readonly name: "hasRole"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint8"; readonly name: "role"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "setAllowedAccount"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setGateway"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setPauseGuardian"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bool"; readonly name: "allowed"; }]; readonly outputs: readonly []; }, { readonly name: "setSequencerSet"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address[]"; readonly name: "newSequencers"; }, { readonly type: "uint8"; readonly name: "newThreshold"; }]; readonly outputs: readonly []; }, { readonly name: "verifier"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "sequencerSetVersion"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "sequencerThreshold"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "zoneHeight"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "isSequencer"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "sequencerCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "sequencerAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leader"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "leaderEpoch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "leaderActivationTempoBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "setLeader"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newLeader"; }, { readonly type: "uint64"; readonly name: "expectedEpoch"; }]; readonly outputs: readonly []; }, { readonly name: "withdrawalBatchIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "blockHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "currentDepositQueueHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "lastSyncedTempoBlockNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "withdrawalQueueHead"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueTail"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "withdrawalQueueSlot"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "queueIndex"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "calculateDepositFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "calculateBouncebackFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "depositCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastProcessedDepositNumber"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "FIXED_DEPOSIT_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_GAS_FEE_RATE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_TOKEN_METADATA_BYTES"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "areDepositsActive"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "tokenConfig"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bool"; readonly name: "enabled"; }, { readonly type: "bool"; readonly name: "depositsActive"; }]; }]; }, { readonly name: "initialize"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "initialToken"; }, { readonly type: "bool"; readonly name: "accessMode"; }, { readonly type: "bool"; readonly name: "gatewayMode"; }, { readonly type: "address[]"; readonly name: "allowedAccounts"; }, { readonly type: "address[]"; readonly name: "zoneGateways"; }, { readonly type: "address"; readonly name: "admin"; }, { readonly type: "address"; readonly name: "messenger"; }, { readonly type: "address[]"; readonly name: "sequencers"; }, { readonly type: "uint8"; readonly name: "threshold"; }, { readonly type: "address"; readonly name: "verifier"; }, { readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deliverWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "callbackData"; }]; readonly outputs: readonly []; }, { readonly name: "MAX_DEPOSITS_PER_TEMPO_BLOCK"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "pauseExpiry"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "abdicationEffectiveAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "processWithdrawals"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly name: "withdrawals"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "encryptedSender"; }]; }, { readonly type: "bytes32"; readonly name: "remainingQueue"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "resume"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "abdicate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; readonly outputs: readonly []; }, { readonly name: "submitBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "recentTempoBlockNumber"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }, { readonly type: "uint256"; readonly name: "nextZoneHeight"; }, { readonly type: "bytes[]"; readonly name: "signatures"; }]; readonly outputs: readonly []; }, { readonly name: "enableToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "pauseDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "resumeDeposits"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly []; }, { readonly name: "setZoneGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newZoneGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "newMaxTempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setBouncebackGas"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newBouncebackGas"; }]; readonly outputs: readonly []; }, { readonly name: "transferAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newAdmin"; }]; readonly outputs: readonly []; }, { readonly name: "acceptAdmin"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "rpcUrl"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setRpcUrl"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; readonly outputs: readonly []; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "depositEncrypted"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "tuple"; readonly name: "encrypted"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }]; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; }]; }, { readonly name: "setSequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint8"; readonly name: "popV"; }, { readonly type: "bytes32"; readonly name: "popR"; }, { readonly type: "bytes32"; readonly name: "popS"; }]; readonly outputs: readonly []; }, { readonly name: "isTokenEnabled"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "enabledTokenCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "enabledTokenAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "tokenEnablementHash"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "zoneGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxTempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "bouncebackGas"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "refunds"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "owner"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "sequencerEncryptionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }]; }, { readonly name: "encryptionKeyCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "encryptionKeyAt"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "index"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly name: "entry"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }]; }, { readonly name: "isEncryptionKeyValid"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "valid"; }, { readonly type: "uint64"; readonly name: "expiresAtBlock"; }]; }, { readonly name: "encryptionKeyAtBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "tempoBlockNumber"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "claimRefund"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "DepositMade"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "netAmount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "bytes32"; readonly name: "ephemeralPubkeyX"; }, { readonly type: "uint8"; readonly name: "ephemeralPubkeyYParity"; }, { readonly type: "bytes"; readonly name: "ciphertext"; }, { readonly type: "bytes12"; readonly name: "nonce"; }, { readonly type: "bytes16"; readonly name: "tag"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositsPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "DepositsResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }]; }, { readonly name: "PortalPaused"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "PortalResumed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }]; }, { readonly name: "AbdicationScheduled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "effectiveAt"; }]; }, { readonly name: "RpcUrlUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "rpcUrl"; }]; }, { readonly name: "SequencerEncryptionKeyUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "x"; }, { readonly type: "uint8"; readonly name: "yParity"; }, { readonly type: "address"; readonly name: "pubkey"; }, { readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }]; }, { readonly name: "BatchSubmitted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "withdrawalQueueIndex"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "nextProcessedDepositQueueHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "lastProcessedDepositNumber"; }]; }, { readonly name: "WithdrawalProcessed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "senderTag"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "callbackSuccess"; }]; }, { readonly name: "WithdrawalBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "newCurrentDepositQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "depositNumber"; }]; }, { readonly name: "DepositBounceBack"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "DepositBounceBackPending"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tempoRefundRecipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "bouncebackFee"; }]; }, { readonly name: "RefundClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "recipient"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "ZoneGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "zoneGasRate"; }]; }, { readonly name: "MaxTempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "maxTempoGasRate"; }]; }, { readonly name: "BouncebackGasUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "bouncebackGas"; }]; }, { readonly name: "AdminTransferStarted"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "currentAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "pendingAdmin"; readonly indexed: true; }]; }, { readonly name: "AdminTransferred"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousAdmin"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newAdmin"; readonly indexed: true; }]; }, { readonly name: "NotSequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPauseAuthority"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CapabilityAbdicated"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "AbdicationAlreadyScheduled"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "capability"; }]; }, { readonly name: "PortalIsPaused"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotPendingAdmin"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidProof"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidTempoBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotFactory"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NotSelf"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AlreadyInitialized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MustDelegateCall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackRejected"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ReentrantWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "EncryptionKeyExpired"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }, { readonly type: "uint64"; readonly name: "activationBlock"; }, { readonly type: "uint64"; readonly name: "supersededAtBlock"; }]; }, { readonly name: "InvalidEncryptionKeyIndex"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "keyIndex"; }]; }, { readonly name: "NoEncryptionKeySet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NoEncryptionKeyAtBlock"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "blockNumber"; }]; }, { readonly name: "InvalidEphemeralPubkey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCiphertextLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidProofOfPossession"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositTooSmall"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenEnablementBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "TokenMetadataTooLong"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositsNotActive"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenAlreadyEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenTransferPolicyNotSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidDepositTransition"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSequencerSet"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SequencerConfigurationUnchanged"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidQuorumCertificate"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDidNotReturnToZone"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBouncebackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenNotEnabled"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "DepositBlockCapacityExceeded"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "maximum"; }]; }, { readonly name: "InvalidCallbackTarget"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AccountNotAllowed"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; }, { readonly name: "InvalidLeader"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ActiveLeaderRemoved"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LeaderAlreadyUpdatedThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaleLeadershipEpoch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "expected"; }, { readonly type: "uint64"; readonly name: "actual"; }]; }, { readonly name: "deposit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "active"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeFunding"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "fund"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "requestedAssets"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fundedAssets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setActive"; readonly inputs: readonly [{ readonly name: "active_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "ActiveSet"; readonly inputs: readonly [{ readonly name: "active"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Funded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "fundedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EarnShareSupplyOutOfBounds"; readonly inputs: readonly [{ readonly name: "earnShareSupply"; readonly type: "uint256"; }, { readonly name: "maxEarnShareSupply"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "Inactive"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "scale"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "tip20Factory_"; readonly type: "address"; }, { readonly name: "earnVaultImplementation_"; readonly type: "address"; }, { readonly name: "earnFeesImplementation_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "DEFAULT_ADMIN_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "EARN_SHARE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEES_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEarnShareSalt"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }, { readonly name: "earnVault"; readonly type: "address"; }, { readonly name: "earnFees"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnFeesImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVaultImplementation"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnFees"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "predictEarnShare"; readonly inputs: readonly [{ readonly name: "params"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "engine"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "controls"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }, { readonly name: "fees"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "tip20Factory"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnStackDeployed"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShare"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnFees"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engine"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: false; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: false; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "migrationMode"; readonly type: "uint8"; readonly indexed: false; }, { readonly name: "transferPolicyId"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "earnShareSalt"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "controlConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "feeConfigHash"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "earnFeesSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AdminRelinquishmentFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnShareAlreadyExists"; readonly inputs: readonly [{ readonly name: "earnShare"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "EarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyEarnShareMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyBound"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FailedDeployment"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientBalance"; readonly inputs: readonly [{ readonly name: "balance"; readonly type: "uint256"; }, { readonly name: "needed"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidDistributorConfig"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnFeesImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVaultImplementation"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "IssuerGrantFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferPolicyMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "UnsupportedTransferPolicy"; readonly inputs: readonly [{ readonly name: "policyId"; readonly type: "uint64"; }, { readonly name: "policyType"; readonly type: "uint8"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "to"; readonly type: "address"; }, { readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimableEarnShares"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "closeRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "currentFeeConfigId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeBaselinesPending"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeConfig"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeRemainder"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }, { readonly name: "slot"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesActive"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feesDisabled"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "highWaterMark"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "initialConfig"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeBaselines"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pendingFeeSnapshot"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }, { readonly name: "highWaterValue"; readonly type: "uint256"; }, { readonly name: "targetValue"; readonly type: "uint256"; }, { readonly name: "feeConfigId"; readonly type: "uint64"; }, { readonly name: "requestedAt"; readonly type: "uint40"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewAccruedFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "result"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; }, { readonly name: "fixedFeeAssets"; readonly type: "uint256"; }, { readonly name: "excessFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeAssets"; readonly type: "uint256"; }, { readonly name: "totalFeeEarnShares"; readonly type: "uint256"; }, { readonly name: "preFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "postFeeValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; }, { readonly name: "allocationCount"; readonly type: "uint8"; }, { readonly name: "allocations"; readonly type: "tuple[5]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recordRedeemRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "requestValue"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settleCancelledRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "returnedValue"; readonly type: "uint256"; }, { readonly name: "activeSupply"; readonly type: "uint256"; }, { readonly name: "activeAssets"; readonly type: "uint256"; }, { readonly name: "totalReentryEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shouldChargeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetBase"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "targetStartedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalClaimableEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "validateFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly []; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "FeeBaselinesInitialized"; readonly inputs: readonly [{ readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetBase"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetStartedAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeConfigurationSet"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "configHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "reactivated"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeDustWaived"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "slot"; readonly type: "uint8"; readonly indexed: true; }, { readonly name: "remainder"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesAllocated"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeEarnSharesClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesAccrued"; readonly inputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "activeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "positiveAccrualAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "highWaterMark"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "targetValuePerEarnShare"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesDisabled"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientClaimableEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeClaimReceiver"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "treasury_"; readonly type: "address"; }, { readonly name: "campaignId_"; readonly type: "bytes32"; }, { readonly name: "claimDeadline_"; readonly type: "uint40"; }, { readonly name: "owner_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "campaignId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }, { readonly name: "proof"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimDeadline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cumulativePaid"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "fundWithAssets"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "leaf"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "merkleRoot"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "paused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "publishRoot"; readonly inputs: readonly [{ readonly name: "root"; readonly type: "bytes32"; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; }, { readonly name: "statementHash_"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pushBatch"; readonly inputs: readonly [{ readonly name: "expectedRootVersion"; readonly type: "uint64"; }, { readonly name: "recipients"; readonly type: "address[]"; }, { readonly name: "cumulativeAmounts"; readonly type: "uint256[]"; }, { readonly name: "multiproof"; readonly type: "bytes32[]"; }, { readonly name: "proofFlags"; readonly type: "bool[]"; }]; readonly outputs: readonly [{ readonly name: "paidCount"; readonly type: "uint256"; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; }, { readonly name: "skippedCount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "returnUnspent"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rootTotalEntitlement"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rootVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setPaused"; readonly inputs: readonly [{ readonly name: "paused_"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "statementHash"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalPaid"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "treasury"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "AssetsFunded"; readonly inputs: readonly [{ readonly name: "funder"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BatchPushed"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "batchHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "attemptedCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "paidEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "skippedCount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PausedSet"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PayoutSkipped"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "reason"; readonly type: "uint8"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RewardClaimed"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "cumulativeAmount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RootPublished"; readonly inputs: readonly [{ readonly name: "version"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "root"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "statementHash"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "totalEntitlement"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UnspentReturned"; readonly inputs: readonly [{ readonly name: "treasury"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ClaimsExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimsNotExpired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientFunding"; readonly inputs: readonly [{ readonly name: "requiredBalance"; readonly type: "uint256"; }, { readonly name: "actualBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidArrayLengths"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MerkleProofInvalidMultiproof"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NothingOwed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnershipRenunciationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "Paused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PausedLiabilityIncrease"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrancyGuardReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RootTotalDecreased"; readonly inputs: readonly [{ readonly name: "previousTotal"; readonly type: "uint256"; }, { readonly name: "nextTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "RootTotalExceeded"; readonly inputs: readonly [{ readonly name: "requestedAmount"; readonly type: "uint256"; }, { readonly name: "remainingEntitlement"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleRootVersion"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint64"; }, { readonly name: "actual"; readonly type: "uint64"; }]; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedEarnShares"; readonly inputs: readonly [{ readonly name: "reported"; readonly type: "uint256"; }, { readonly name: "measured"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedRetainedAssets"; readonly inputs: readonly [{ readonly name: "beforeBalance"; readonly type: "uint256"; }, { readonly name: "afterBalance"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroCampaignId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroDeadline"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroRoot"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroStatementHash"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "allowedZoneId_"; readonly type: "uint32"; }, { readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "privateAsset_"; readonly type: "address"; }, { readonly name: "tokenAuthority_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "allowedZoneId"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "onWithdrawalReceived"; readonly inputs: readonly [{ readonly name: "sourceZoneId"; readonly type: "uint32"; }, { readonly name: "sourcePortal"; readonly type: "address"; }, { readonly name: ""; readonly type: "bytes32"; }, { readonly name: "token"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint128"; }, { readonly name: "callbackData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "privateAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "reserveToken"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsFlow"; readonly inputs: readonly [{ readonly name: "flow"; readonly type: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "tokenAuthority"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transactionLimit"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vaultAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "EarnDeposit"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "inputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnRedeem"; readonly inputs: readonly [{ readonly name: "actionId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "outputToken"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "vaultAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "outputAmount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "zoneDepositHash"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AmountExceedsLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AmountOverflow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "BadFlow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidAuthority"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPrivateAsset"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidReturnToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRoutePair"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidSourcePortal"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTransactionLimit"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotZoneMessenger"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ResidualBalance"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongInputToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongSourceZone"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "MAX_REWARD_RATE_MULTIPLIER"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "absorbEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptDistributor"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accrueFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeAssets"; readonly type: "uint256"; }, { readonly name: "feeEarnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "anchorEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "anchorEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asyncJanitor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelDistributorTransfer"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "minReceiverEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "contribute"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "receivedEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "convertEngineSharesToEarnShares"; readonly inputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "convertToEngineShares"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares_"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositVenueShares"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositsPaused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "disableFees"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "distributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorFee"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distributorUpdateDelay"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint40"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnFees"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "earnShare"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "emergencyGuardian"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engine"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineMigrationMode"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "engineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "executeDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "feeConfigId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "finalizeRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "engine_"; readonly type: "address"; }, { readonly name: "earnShare_"; readonly type: "address"; }, { readonly name: "earnFees_"; readonly type: "address"; }, { readonly name: "operator_"; readonly type: "address"; }, { readonly name: "controlInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; }, { readonly name: "asyncJanitor"; readonly type: "address"; }, { readonly name: "maxManagedAssets"; readonly type: "uint256"; }, { readonly name: "migrationMode"; readonly type: "uint8"; }]; }, { readonly name: "distributorInit_"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "distributor"; readonly type: "address"; }, { readonly name: "updateDelay"; readonly type: "uint40"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isAccountingAligned"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxManagedAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "migrateEngine"; readonly inputs: readonly [{ readonly name: "newEngine"; readonly type: "address"; }, { readonly name: "minNewEngineShares"; readonly type: "uint256"; }, { readonly name: "minAssetsRetained"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "newEngineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "normalizedRewardRate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openRedeemRequestCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "operator"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingDistributorFeeUpdate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }, { readonly name: "executableAt"; readonly type: "uint40"; }, { readonly name: "pending"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly components: readonly [{ readonly name: "receiver"; readonly type: "address"; }, { readonly name: "requester"; readonly type: "address"; }, { readonly name: "burnedEarnShares"; readonly type: "uint256"; }, { readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "open"; readonly type: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rawEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "remainingDepositCapacity"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "earnShares"; readonly type: "uint256"; }, { readonly name: "engineData"; readonly type: "bytes"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "rewardRateBaseline"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "scheduleDistributorFeeUpdate"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setDepositsPaused"; readonly inputs: readonly [{ readonly name: "paused"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setEmergencyRoles"; readonly inputs: readonly [{ readonly name: "newGuardian"; readonly type: "address"; }, { readonly name: "newJanitor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeConfig"; readonly inputs: readonly [{ readonly name: "config"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "fixedFeeCount"; readonly type: "uint8"; }, { readonly name: "fixedFees"; readonly type: "tuple[4]"; readonly components: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "rateBps"; readonly type: "uint16"; }]; }, { readonly name: "excess"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "enabled"; readonly type: "bool"; }, { readonly name: "account"; readonly type: "address"; }, { readonly name: "annualTargetRateBps"; readonly type: "uint16"; }, { readonly name: "excessFeeRateBps"; readonly type: "uint16"; }]; }]; }]; readonly outputs: readonly [{ readonly name: "configId"; readonly type: "uint64"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxManagedAssets"; readonly inputs: readonly [{ readonly name: "newMaxManagedAssets"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "surplusEngineShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalEarnShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferDistributor"; readonly inputs: readonly [{ readonly name: "newDistributor"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "withdrawExact"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "maxEarnShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "earnSharesBurned"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Contributed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DepositPauseChanged"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "paused"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdateScheduled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "executableAt"; readonly type: "uint40"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorFeeUpdated"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly indexed: true; }, { readonly name: "rateBps"; readonly type: "uint16"; readonly indexed: false; }, { readonly name: "feeConfigId"; readonly type: "uint64"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferCancelled"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferStarted"; readonly inputs: readonly [{ readonly name: "distributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "pendingDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DistributorTransferred"; readonly inputs: readonly [{ readonly name: "previousDistributor"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newDistributor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EmergencyRolesChanged"; readonly inputs: readonly [{ readonly name: "emergencyGuardian"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asyncJanitor"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineMigrated"; readonly inputs: readonly [{ readonly name: "oldEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newEngine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assetsMoved"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "totalEarnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EngineShareSurplusAbsorbed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "anchorEarnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxManagedAssetsChanged"; readonly inputs: readonly [{ readonly name: "previousMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newMaxManagedAssets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelled"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemFinalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "requester"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "earnSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "ActiveSupplyWithoutBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DepositsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DistributorFeeUpdateNotReady"; readonly inputs: readonly [{ readonly name: "executableAt"; readonly type: "uint40"; }]; }, { readonly type: "error"; readonly name: "DistributorTransferNotPending"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EngineAssetMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineCapabilityUnsupported"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; }, { readonly type: "error"; readonly name: "EngineEarnVaultMismatch"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineExitUnsupported"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExceedsMaxEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ExcessiveConversionLoss"; readonly inputs: readonly [{ readonly name: "inputShares"; readonly type: "uint256"; }, { readonly name: "representedShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ExcessiveMigrationClassificationError"; readonly inputs: readonly [{ readonly name: "expectedManagedAssets"; readonly type: "uint256"; }, { readonly name: "actualManagedAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "FeeValuationStale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FinalizedAssetMismatch"; readonly inputs: readonly [{ readonly name: "finalizedAsset"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "GlobalFeeDisableUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InitialEarnShareSupplyNotZero"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientEngineShareSurplus"; readonly inputs: readonly [{ readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientOutput"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDistributorFeeConfiguration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEarnDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidEngineShareScale"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MaxManagedAssetsExceeded"; readonly inputs: readonly [{ readonly name: "maximum"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumAssetsNotMet"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEarnSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEarnShares"; readonly type: "uint256"; }, { readonly name: "actualEarnShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "MinimumEngineSharesNotMet"; readonly inputs: readonly [{ readonly name: "minimumEngineShares"; readonly type: "uint256"; }, { readonly name: "actualEngineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "NoEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEmergencyGuardianOrOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotPendingDistributor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotRequesterOrJanitor"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OperatorMigrationDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PendingRedeemsOpen"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RequestNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ResidualBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RewardRateLimitExceeded"; readonly inputs: readonly [{ readonly name: "normalizedRate"; readonly type: "uint256"; }, { readonly name: "baselineRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SameEngine"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenCallFalse"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumAssets"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEarnShares"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroMinimumEngineShares"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "vault_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "nameOverride_"; readonly type: "string"; }, { readonly name: "symbolOverride_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositInKind"; readonly inputs: readonly [{ readonly name: "venueShares"; readonly type: "uint256"; }, { readonly name: "from"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineSharesReceived"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VenueSharesDeposited"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly indexed: true; }, { readonly name: "requestedVenueShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "receivedEngineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "function"; readonly name: "ENGINE_SALT_DOMAIN"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "computeEngineSalt"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly name: "deploy"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "predictEngine"; readonly inputs: readonly [{ readonly name: "deploymentId"; readonly type: "bytes32"; }, { readonly name: "vault"; readonly type: "address"; }, { readonly name: "owner"; readonly type: "address"; }, { readonly name: "nameOverride"; readonly type: "string"; }, { readonly name: "symbolOverride"; readonly type: "string"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "ERC4626EngineDeployed"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; readonly indexed: true; }, { readonly name: "vault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "owner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: false; }, { readonly name: "deploymentId"; readonly type: "bytes32"; readonly indexed: false; }, { readonly name: "engineSalt"; readonly type: "bytes32"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EmptyDeploymentId"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineAlreadyExists"; readonly inputs: readonly [{ readonly name: "engine"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "FactoryCannotBeFinalOwner"; readonly inputs: readonly []; }, { readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "peripheryRegistry_"; readonly type: "address"; }, { readonly name: "owner_"; readonly type: "address"; }, { readonly name: "maxRateAge_"; readonly type: "uint64"; }, { readonly name: "name_"; readonly type: "string"; }, { readonly name: "symbol_"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "acceptOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "accountant"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "accountantRateUpdatedAt"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "asset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "authorizedForwarder"; readonly inputs: readonly [{ readonly name: "forwarder"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "authorized"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "baseAsset"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claimRedeem"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "earnVault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "finalizeOneExternal"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "forwardSolved"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }, { readonly name: "asset_"; readonly type: "address"; }, { readonly name: "delta"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getClaim"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "status"; readonly type: "uint8"; }, { readonly name: "request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint96"; }, { readonly name: "user"; readonly type: "address"; }, { readonly name: "assetOut"; readonly type: "address"; }, { readonly name: "amountOfShares"; readonly type: "uint128"; }, { readonly name: "amountOfAssets"; readonly type: "uint128"; }, { readonly name: "creationTime"; readonly type: "uint40"; }, { readonly name: "secondsToMaturity"; readonly type: "uint24"; }, { readonly name: "secondsToDeadline"; readonly type: "uint24"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }, { readonly name: "finalOwner_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "initializeEarnVault"; readonly inputs: readonly [{ readonly name: "earnVault_"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isFeeValuationFresh"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxRateAge"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "openClaimsByQueue"; readonly inputs: readonly [{ readonly name: "requestQueue"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "count"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryRegistry"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "peripheryVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "previewWithdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "queue"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "rate"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "recoverExternalSettlement"; readonly inputs: readonly [{ readonly name: "requestIds"; readonly type: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimed"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "redeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }, { readonly name: "minAssets"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestRedeem"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }, { readonly name: "requestData"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "authorized"; readonly type: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMaxRateAge"; readonly inputs: readonly [{ readonly name: "newMaxRateAge"; readonly type: "uint64"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "shareScale"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "sweepDust"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "to"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "symbol"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "syncVedaPeriphery"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "teller"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalAssets"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "unresolvedClaimCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "valueOf"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "vault"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdraw"; readonly inputs: readonly [{ readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "AuthorizedForwarderChanged"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; readonly indexed: true; }, { readonly name: "authorized"; readonly type: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposited"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DustSwept"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EarnVaultInitialized"; readonly inputs: readonly [{ readonly name: "earnVault"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ExternalSettlementRecovered"; readonly inputs: readonly [{ readonly name: "requestCount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "recoveredAssets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "claimed"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FinalizeFailed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Finalized"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MaxRateAgeUpdated"; readonly inputs: readonly [{ readonly name: "oldMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }, { readonly name: "newMaxRateAge"; readonly type: "uint64"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferStarted"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemCancelledOnQueue"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemClaimed"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RedeemRequested"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; readonly indexed: true; }, { readonly name: "assetOut"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint128"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Redeemed"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "engineShares"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Settled"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Unearmarked"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; readonly indexed: true; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "newTotal"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VedaPeripheryUpdated"; readonly inputs: readonly [{ readonly name: "registryVersion"; readonly type: "uint64"; readonly indexed: true; }, { readonly name: "oldTeller"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldQueue"; readonly type: "address"; readonly indexed: true; }, { readonly name: "oldAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newTeller"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newQueue"; readonly type: "address"; readonly indexed: false; }, { readonly name: "newAccountant"; readonly type: "address"; readonly indexed: false; }, { readonly name: "validatedRate"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrewExact"; readonly inputs: readonly [{ readonly name: "receiver"; readonly type: "address"; readonly indexed: true; }, { readonly name: "assets"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "engineSharesBurned"; readonly type: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AlreadyInitialized"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "AssetsNotArrived"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "BaseAssetSweepBlocked"; readonly inputs: readonly [{ readonly name: "unresolvedClaims"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "CannotSweepEngineBacking"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ClaimNotClaimable"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ClaimNotOpen"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "CreditExceedsBalance"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "have"; readonly type: "uint256"; }, { readonly name: "wantTotal"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "DepositsNotPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "DuplicateRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "EarnVaultNotSet"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptyMetadata"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EngineSharesTooLarge"; readonly inputs: readonly [{ readonly name: "engineShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InsufficientAssetsReceived"; readonly inputs: readonly [{ readonly name: "minimumAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidAsset"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidMaxRateAge"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRateTimestamp"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidTrackedRequest"; readonly inputs: readonly [{ readonly name: "requestId"; readonly type: "bytes32"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeriphery"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaPeripheryWiring"; readonly inputs: readonly [{ readonly name: "component"; readonly type: "address"; }, { readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVedaRateBounds"; readonly inputs: readonly [{ readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidVenueShareDecimals"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoPublishedVedaPeriphery"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoRecoverableClaims"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoVenueSharesReceived"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotAuthorizedForwarder"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotEarnVault"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "NotSelf"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnableInvalidOwner"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "OwnableUnauthorizedAccount"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueTrackingDisabled"; readonly inputs: readonly [{ readonly name: "queue"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "QueueUnavailable"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RateChangedWithinTransaction"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "uint256"; }, { readonly name: "actual"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RegistryEngineMismatch"; readonly inputs: readonly [{ readonly name: "expected"; readonly type: "address"; }, { readonly name: "actual"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "SolveUnderfunded"; readonly inputs: readonly [{ readonly name: "asset"; readonly type: "address"; }, { readonly name: "delivered"; readonly type: "uint256"; }, { readonly name: "required"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "StaleAccountantRate"; readonly inputs: readonly [{ readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly name: "currentTime"; readonly type: "uint256"; }, { readonly name: "maxAge"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "SweepExceedsAvailableBalance"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "available"; readonly type: "uint256"; }, { readonly name: "requested"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "TransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnexpectedAssetsReceived"; readonly inputs: readonly [{ readonly name: "expectedAssets"; readonly type: "uint256"; }, { readonly name: "actualAssets"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesBurned"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnexpectedVenueSharesQueued"; readonly inputs: readonly [{ readonly name: "expectedShares"; readonly type: "uint256"; }, { readonly name: "actualShares"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "UnsupportedAccountantFreshness"; readonly inputs: readonly [{ readonly name: "accountant"; readonly type: "address"; }]; }, { readonly type: "error"; readonly name: "VedaRateOutOfBounds"; readonly inputs: readonly [{ readonly name: "rate"; readonly type: "uint256"; }, { readonly name: "minRate"; readonly type: "uint256"; }, { readonly name: "maxRate"; readonly type: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly name: "relayMessage"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "bytes32"; readonly name: "senderTag"; }, { readonly type: "address"; readonly name: "target"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "bytes"; readonly name: "data"; }]; readonly outputs: readonly []; }, { readonly name: "tempoGasRate"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "maxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "lastBatch"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }]; }, { readonly name: "lastFinalizedTimestamp"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "nextWithdrawalIndex"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "lastFallbackNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "pendingWithdrawalsCount"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "getPendingWithdrawals"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "sender"; }, { readonly type: "bytes32"; readonly name: "txHash"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "callbackData"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }]; }, { readonly name: "consumeFallbackRecipient"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "fallbackNonce"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "recipient"; }]; }, { readonly name: "calculateWithdrawalFee"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "gasLimit"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "fee"; }]; }, { readonly name: "MAX_CALLBACK_DATA_SIZE"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "MAX_WITHDRAWAL_GAS_LIMIT"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "WITHDRAWAL_BASE_GAS"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "REVEAL_TO_KEY_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "setTempoGasRate"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "_tempoGasRate"; }]; readonly outputs: readonly []; }, { readonly name: "setMaxWithdrawalsPerBlock"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "_maxWithdrawalsPerBlock"; }]; readonly outputs: readonly []; }, { readonly name: "requestWithdrawal"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "address"; readonly name: "zoneFallbackRecipient"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; readonly outputs: readonly []; }, { readonly name: "enqueueDepositBounceBack"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "address"; readonly name: "tempoRefundRecipient"; }]; readonly outputs: readonly []; }, { readonly name: "finalizeWithdrawalBatch"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "count"; }, { readonly type: "uint64"; readonly name: "blockNumber"; }, { readonly type: "bytes[]"; readonly name: "encryptedSenders"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }]; }, { readonly name: "WithdrawalRequested"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "withdrawalIndex"; readonly indexed: true; }, { readonly type: "address"; readonly name: "sender"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "fee"; }, { readonly type: "bytes32"; readonly name: "memo"; }, { readonly type: "uint64"; readonly name: "gasLimit"; }, { readonly type: "uint64"; readonly name: "fallbackNonce"; }, { readonly type: "bytes"; readonly name: "data"; }, { readonly type: "bytes"; readonly name: "revealTo"; }]; }, { readonly name: "BatchFinalized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "withdrawalBatchIndex"; }]; }, { readonly name: "TempoGasRateUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "tempoGasRate"; }]; }, { readonly name: "MaxWithdrawalsPerBlockUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "maxWithdrawalsPerBlock"; }]; }, { readonly name: "OnlySequencer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasLimitTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlyZoneInbox"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidWithdrawalCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderCount"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidEncryptedSenderLength"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "actual"; }, { readonly type: "uint256"; readonly name: "expected"; }]; }, { readonly name: "InvalidFallbackRecipient"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CallbackDataTooLarge"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "GasFeeRateTooHigh"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TransferFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidBlockNumber"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TooManyWithdrawalsThisBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidRevealTo"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCurrentTxHash"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroAmountWithdrawal"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "StaticCallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "zoneId"; }, { readonly type: "uint64"; readonly name: "tempoBlockNumber"; }, { readonly type: "uint64"; readonly name: "anchorBlockNumber"; }, { readonly type: "bytes32"; readonly name: "anchorBlockHash"; }, { readonly type: "uint64"; readonly name: "expectedWithdrawalBatchIndex"; }, { readonly type: "tuple"; readonly name: "blockTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevBlockHash"; }, { readonly type: "bytes32"; readonly name: "nextBlockHash"; }]; }, { readonly type: "tuple"; readonly name: "depositQueueTransition"; readonly components: readonly [{ readonly type: "bytes32"; readonly name: "prevProcessedHash"; }, { readonly type: "bytes32"; readonly name: "nextProcessedHash"; }, { readonly type: "uint64"; readonly name: "prevDepositNumber"; }, { readonly type: "uint64"; readonly name: "nextDepositNumber"; }]; }, { readonly type: "bytes32"; readonly name: "withdrawalQueueHash"; }, { readonly type: "bytes"; readonly name: "verifierConfig"; }, { readonly type: "bytes"; readonly name: "proof"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }]; //# sourceMappingURL=Abis.d.ts.map