UNPKG

viem

Version:

TypeScript Interface for Ethereum

1,816 lines (1,815 loc) • 259 kB
export declare const accountKeychain: readonly [{ readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "authorizeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "tuple"; readonly name: "config"; readonly components: readonly [{ readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "tuple[]"; readonly name: "limits"; readonly components: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint64"; readonly name: "period"; }]; }, { readonly type: "bool"; readonly name: "allowAnyCalls"; }, { readonly type: "tuple[]"; readonly name: "allowedCalls"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "authorizeAdminKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "burnKeyAuthorizationWitness"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly []; }, { readonly name: "revokeKey"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly []; }, { readonly name: "updateSpendingLimit"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; readonly outputs: readonly []; }, { readonly name: "setAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; readonly outputs: readonly []; }, { readonly name: "removeAllowedCalls"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "target"; }]; readonly outputs: readonly []; }, { readonly name: "getKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "uint64"; readonly name: "expiry"; }, { readonly type: "bool"; readonly name: "enforceLimits"; }, { readonly type: "bool"; readonly name: "isRevoked"; }]; }]; }, { readonly name: "getRemainingLimit"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }]; }, { readonly name: "getRemainingLimitWithPeriod"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "remaining"; }, { readonly type: "uint64"; readonly name: "periodEnd"; }]; }, { readonly name: "getAllowedCalls"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isScoped"; }, { readonly type: "tuple[]"; readonly name: "scopes"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "tuple[]"; readonly name: "selectorRules"; readonly components: readonly [{ readonly type: "bytes4"; readonly name: "selector"; }, { readonly type: "address[]"; readonly name: "recipients"; }]; }]; }]; }, { readonly name: "isKeyAuthorizationWitnessBurned"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "witness"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "isAdminKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "keyId"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "getTransactionKey"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "KeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "uint8"; readonly name: "signatureType"; }, { readonly type: "uint64"; readonly name: "expiry"; }]; }, { readonly name: "AdminKeyAuthorized"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "KeyRevoked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }]; }, { readonly name: "SpendingLimitUpdated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "newLimit"; }]; }, { readonly name: "AccessKeySpend"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "address"; readonly name: "publicKey"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint256"; readonly name: "remainingLimit"; }]; }, { readonly name: "KeyAuthorizationWitness"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "KeyAuthorizationWitnessBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "bytes32"; readonly name: "witness"; readonly indexed: true; }]; }, { readonly name: "UnauthorizedCaller"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyNotFound"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyExpired"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SpendingLimitExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSpendingLimit"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignatureType"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ZeroPublicKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiryInPast"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAlreadyRevoked"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "SignatureTypeMismatch"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint8"; readonly name: "expected"; }, { readonly type: "uint8"; readonly name: "actual"; }]; }, { readonly name: "CallNotAllowed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidCallScope"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyId"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidKeyAuthorizationWitness"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "KeyAuthorizationWitnessAlreadyBurned"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "LegacyAuthorizeKeySelectorChanged"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "newSelector"; }]; }]; export declare const addressRegistry: readonly [{ readonly name: "registerVirtualMaster"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "salt"; }]; readonly outputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; }, { readonly name: "getMaster"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; }]; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "resolveRecipient"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "effectiveRecipient"; }]; }, { readonly name: "resolveVirtualAddress"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "virtualAddr"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "isVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "decodeVirtualAddress"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "isVirtual"; }, { readonly type: "bytes4"; readonly name: "masterId"; }, { readonly type: "bytes6"; readonly name: "userTag"; }]; }, { readonly name: "isImplicitlyApproved"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "MasterRegistered"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes4"; readonly name: "masterId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "masterAddress"; readonly indexed: true; }]; }, { readonly name: "MasterIdCollision"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "master"; }]; }, { readonly name: "InvalidMasterAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ProofOfWorkFailed"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "VirtualAddressUnregistered"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const nonce: readonly [{ readonly name: "getNonce"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "uint256"; readonly name: "nonceKey"; }]; readonly outputs: readonly [{ readonly type: "uint64"; readonly name: "nonce"; }]; }, { readonly name: "NonceIncremented"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "nonceKey"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "newNonce"; }]; }, { readonly name: "ProtocolNonceNotSupported"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidNonceKey"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "NonceOverflow"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceReplay"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "ExpiringNonceSetFull"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidExpiringNonceExpiry"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const receivePolicyGuard: readonly [{ readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "claim"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlockedReceipt"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "receipt"; }]; readonly outputs: readonly []; }, { readonly name: "TransferBlocked"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "bytes"; readonly name: "receipt"; }]; }, { readonly name: "ReceiptClaimed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "ReceiptBurned"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "address"; readonly name: "receiver"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedNonce"; readonly indexed: true; }, { readonly type: "uint64"; readonly name: "blockedAt"; }, { readonly type: "uint8"; readonly name: "receiptVersion"; }, { readonly type: "address"; readonly name: "originator"; }, { readonly type: "address"; readonly name: "recipient"; }, { readonly type: "address"; readonly name: "recoveryAuthority"; }, { readonly type: "address"; readonly name: "caller"; }, { readonly type: "uint256"; readonly name: "amount"; }]; }, { readonly name: "InvalidReceipt"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidClaimAddress"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "UnauthorizedClaimer"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "AddressReserved"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const signatureVerifier: readonly [{ readonly name: "recover"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "address"; readonly name: "signer"; }]; }, { readonly name: "verify"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "signer"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychain"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "verifyKeychainAdmin"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "bytes32"; readonly name: "hash"; }, { readonly type: "bytes"; readonly name: "signature"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "InvalidFormat"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidSignature"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const stablecoinDex: readonly [{ readonly name: "createPair"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; }]; }, { readonly name: "place"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "placeFlip"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; }, { readonly name: "cancel"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "cancelStaleOrder"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly []; }, { readonly name: "swapExactAmountIn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }, { readonly type: "uint128"; readonly name: "minAmountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "swapExactAmountOut"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }, { readonly type: "uint128"; readonly name: "maxAmountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "quoteSwapExactAmountIn"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountIn"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountOut"; }]; }, { readonly name: "quoteSwapExactAmountOut"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenIn"; }, { readonly type: "address"; readonly name: "tokenOut"; }, { readonly type: "uint128"; readonly name: "amountOut"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amountIn"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; }, { readonly type: "address"; readonly name: "token"; }]; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "withdraw"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; }, { readonly type: "uint128"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "getOrder"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "uint128"; readonly name: "orderId"; }, { readonly type: "address"; readonly name: "maker"; }, { readonly type: "bytes32"; readonly name: "bookKey"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "uint128"; readonly name: "remaining"; }, { readonly type: "uint128"; readonly name: "prev"; }, { readonly type: "uint128"; readonly name: "next"; }, { readonly type: "bool"; readonly name: "isFlip"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }]; }, { readonly name: "getTickLevel"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isBid"; }]; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "head"; }, { readonly type: "uint128"; readonly name: "tail"; }, { readonly type: "uint128"; readonly name: "totalLiquidity"; }]; }, { readonly name: "pairKey"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; }, { readonly type: "address"; readonly name: "tokenB"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; }]; }, { readonly name: "nextOrderId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "books"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "pairKey"; }]; readonly outputs: readonly [{ readonly type: "tuple"; readonly components: readonly [{ readonly type: "address"; readonly name: "base"; }, { readonly type: "address"; readonly name: "quote"; }, { readonly type: "int16"; readonly name: "bestBidTick"; }, { readonly type: "int16"; readonly name: "bestAskTick"; }]; }]; }, { readonly name: "MIN_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "MAX_TICK"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "TICK_SPACING"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "int16"; }]; }, { readonly name: "PRICE_SCALE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MIN_ORDER_AMOUNT"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint128"; }]; }, { readonly name: "MIN_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "MAX_PRICE"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint32"; }]; }, { readonly name: "tickToPrice"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; readonly outputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; }, { readonly name: "priceToTick"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly [{ readonly type: "uint32"; readonly name: "price"; }]; readonly outputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "PairCreated"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "bytes32"; readonly name: "key"; readonly indexed: true; }, { readonly type: "address"; readonly name: "base"; readonly indexed: true; }, { readonly type: "address"; readonly name: "quote"; readonly indexed: true; }]; }, { readonly name: "OrderPlaced"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "bool"; readonly name: "isFlipOrder"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "OrderFilled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "taker"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amountFilled"; }, { readonly type: "bool"; readonly name: "partialFill"; }]; }, { readonly name: "OrderFlipped"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token"; readonly indexed: true; }, { readonly type: "uint128"; readonly name: "amount"; }, { readonly type: "bool"; readonly name: "isBid"; }, { readonly type: "int16"; readonly name: "tick"; }, { readonly type: "int16"; readonly name: "flipTick"; }]; }, { readonly name: "FlipFailed"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }, { readonly type: "address"; readonly name: "maker"; readonly indexed: true; }, { readonly type: "bytes4"; readonly name: "reason"; }]; }, { readonly name: "OrderCancelled"; readonly type: "event"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "orderId"; readonly indexed: true; }]; }, { readonly name: "Unauthorized"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "PairAlreadyExists"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderDoesNotExist"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "IdenticalTokens"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "TickOutOfBounds"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "int16"; readonly name: "tick"; }]; }, { readonly name: "InvalidTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InvalidFlipTick"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientBalance"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientLiquidity"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "InsufficientOutput"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "MaxInputExceeded"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "BelowMinimumOrderSize"; readonly type: "error"; readonly inputs: readonly [{ readonly type: "uint128"; readonly name: "amount"; }]; }, { readonly name: "InvalidBaseToken"; readonly type: "error"; readonly inputs: readonly []; }, { readonly name: "OrderNotStale"; readonly type: "error"; readonly inputs: readonly []; }]; export declare const tip20: readonly [{ readonly name: "name"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "symbol"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "decimals"; readonly type: "function"; readonly stateMutability: "pure"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly name: "totalSupply"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "quoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "nextQuoteToken"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transfer"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "approve"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "allowance"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; }, { readonly type: "address"; readonly name: "spender"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "transferFrom"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "mint"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "burn"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "currency"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "supplyCap"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly name: "paused"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "transferPolicyId"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint64"; }]; }, { readonly name: "logoURI"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly name: "setLogoURI"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "newLogoURI"; }]; readonly outputs: readonly []; }, { readonly name: "burnBlocked"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "uint256"; readonly name: "amount"; }]; readonly outputs: readonly []; }, { readonly name: "mintWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "burnWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly []; }, { readonly name: "transferFromWithMemo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; }, { readonly type: "address"; readonly name: "to"; }, { readonly type: "uint256"; readonly name: "amount"; }, { readonly type: "bytes32"; readonly name: "memo"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly name: "changeTransferPolicyId"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint64"; readonly name: "newPolicyId"; }]; readonly outputs: readonly []; }, { readonly name: "setSupplyCap"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "newSupplyCap"; }]; readonly outputs: readonly []; }, { readonly name: "pause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "unpause"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; }, { readonly name: "setNextQuoteToken"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newQuoteToken"; }];