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: "view"; 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: "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: "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: "StringTooLong"; 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: "TransfersDisabled"; 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: "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 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 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: "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: "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: "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 []; }]; 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: "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 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: "OnlyValidator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlySystemContract"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PoolDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientFeeTokenBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InternalError"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithinBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithPendingFees"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenPolicyForbids"; 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 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: "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: "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: "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: "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: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }]; 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 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: "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: "view"; 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 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: "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: "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: "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: "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 []; }]; 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 abis: 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: "view"; 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: "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: "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: "StringTooLong"; 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: "TransfersDisabled"; 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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "OnlyValidator"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OnlySystemContract"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PoolDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientFeeTokenBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InternalError"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithinBlock"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "CannotChangeWithPendingFees"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TokenPolicyForbids"; 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: "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: "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: "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: "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: "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: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }, { 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: "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: "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: "view"; 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: "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: "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: "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: "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: "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"; }]; }]; //# sourceMappingURL=Abis.d.ts.map