import { type Address, type Client, type GetContractReturnType, type PublicClient } from 'viem'; import { priceAndFeeCalculatorAbi } from '../abis/priceAndFeeCalculator'; import type { ContractVersion } from '../types'; export type PriceAndFeeCalculatorContract = GetContractReturnType; export declare function getPriceAndFeeCalculator(client: T, address: Address): PriceAndFeeCalculatorContract; export declare function getAsyncDepositUnitsOut(client: PublicClient, provisioner: Address, feeCalculator: Address, feeCalculatorVersion: ContractVersion, vault: Address, token: Address, tokensIn: bigint): Promise; export declare function getAsyncRedeemTokenOut(client: PublicClient, provisioner: Address, feeCalculator: Address, feeCalculatorVersion: ContractVersion, vault: Address, token: Address, unitsIn: bigint): Promise; export declare function getAsyncWithdrawUnitsIn(client: PublicClient, provisioner: Address, feeCalculator: Address, feeCalculatorVersion: ContractVersion, vault: Address, token: Address, tokensOut: bigint): Promise; export declare function requestDepositTxRequest(provisioner: Address, token: Address, tokensIn: bigint, minUnitsOut: bigint, solverTip: bigint, deadline: bigint, maxPriceAge: bigint, isFixedPrice: boolean, account: Address): { address: `0x${string}`; abi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "priceAndFeeCalculator"; readonly internalType: "contract IPriceAndFeeCalculator"; readonly type: "address"; }, { readonly name: "multiDepositorVault"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "owner_"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "authority_"; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "MULTI_DEPOSITOR_VAULT"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "PRICE_FEE_CALCULATOR"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "contract IPriceAndFeeCalculator"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "areUserUnitsLocked"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "asyncDepositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "asyncDepositHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "asyncRedeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "asyncRedeemHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "authority"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "deposit"; readonly outputs: readonly [{ readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "depositCap"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "depositRefundTimeout"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokenAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "unitsAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "refundableUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "getDepositHash"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "request"; readonly internalType: "struct Request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "getRequestHash"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "maxDeposit"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxTokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "pendingOwner"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "sender"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokenAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "unitsAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "refundableUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "refundDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "request"; readonly internalType: "struct Request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "refundRequest"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }]; readonly name: "removeToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly name: "requestDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "unitsIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minTokensOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly name: "requestRedeem"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "newAuthority"; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly name: "setAuthority"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "depositCap_"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "depositRefundTimeout_"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "setDepositDetails"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "details"; readonly internalType: "struct TokenDetails"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; }]; readonly name: "setTokenDetails"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "requests"; readonly internalType: "struct Request[]"; readonly type: "tuple[]"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "solveRequestsDirect"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "requests"; readonly internalType: "struct Request[]"; readonly type: "tuple[]"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "solveRequestsVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "syncDepositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "syncDepositHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }]; readonly name: "tokensDetails"; readonly outputs: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "userUnitsRefundableUntil"; readonly outputs: readonly [{ readonly name: "unitsLockedUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }, { readonly name: "amount"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "bound"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }]; readonly name: "AmountBoundExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "AsyncDepositDisabled"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "AsyncRedeemDisabled"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newAuthority"; readonly internalType: "contract Authority"; readonly type: "address"; readonly indexed: true; }]; readonly name: "AuthorityUpdated"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "DepositCapExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositCap"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "depositRefundTimeout"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }]; readonly name: "DepositDetailsUpdated"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DepositRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; readonly indexed: false; }, { readonly name: "depositRequestHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "DepositRequested"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DepositSolved"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "Deposited"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DirectDepositRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "InsufficientTokensForTip"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "InvalidRequestHash"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }]; readonly name: "OwnershipTransferStarted"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }]; readonly name: "OwnershipTransferred"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "PriceAgeExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "redeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "RedeemRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "minTokensOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "unitsIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; readonly indexed: false; }, { readonly name: "redeemRequestHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "RedeemRequested"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "redeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "RedeemSolved"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensDetails"; readonly internalType: "struct TokenDetails"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; readonly indexed: false; }]; readonly name: "TokenDetailsSet"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }]; readonly name: "TokenRemoved"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AsyncDepositDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AsyncRedeemDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AutoPriceSolveNotAllowed"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__CallerIsVault"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineInFutureAndUnauthorized"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineInPast"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineTooFarInFuture"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositCapExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositCapZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositHashNotFound"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositMultiplierTooHigh"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositMultiplierTooLow"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__FixedPriceSolverTipNotAllowed"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__HashCollision"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__HashNotFound"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__InvalidToken"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxDepositRefundTimeoutExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxTokensInExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxTokensInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinTokenOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinUnitsOutNotMet"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinUnitsOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__PriceAndFeeCalculatorVaultPaused"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RedeemMultiplierTooHigh"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RedeemMultiplierTooLow"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RefundPeriodExpired"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__SyncDepositDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__TokenCantBePriced"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__TokensInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__Unauthorized"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__UnitsInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__UnitsOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressAuthority"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressMultiDepositorVault"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressPriceAndFeeCalculator"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "ReentrancyGuardReentrantCall"; }, { readonly type: "error"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "SafeERC20FailedOperation"; }]; functionName: "requestDeposit"; args: readonly [`0x${string}`, bigint, bigint, bigint, bigint, bigint, boolean]; account: `0x${string}`; }; export declare function requestRedeemTxRequest(provisioner: Address, token: Address, unitsIn: bigint, minTokenOut: bigint, solverTip: bigint, deadline: bigint, maxPriceAge: bigint, isFixedPrice: boolean, account: Address): { address: `0x${string}`; abi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "priceAndFeeCalculator"; readonly internalType: "contract IPriceAndFeeCalculator"; readonly type: "address"; }, { readonly name: "multiDepositorVault"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "owner_"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "authority_"; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "MULTI_DEPOSITOR_VAULT"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "PRICE_FEE_CALCULATOR"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "contract IPriceAndFeeCalculator"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "areUserUnitsLocked"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "asyncDepositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "asyncDepositHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "asyncRedeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "asyncRedeemHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "authority"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "deposit"; readonly outputs: readonly [{ readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "depositCap"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "depositRefundTimeout"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokenAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "unitsAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "refundableUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "getDepositHash"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "request"; readonly internalType: "struct Request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "getRequestHash"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "maxDeposit"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxTokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly []; readonly name: "pendingOwner"; readonly outputs: readonly [{ readonly name: ""; readonly internalType: "address"; readonly type: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "sender"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokenAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "unitsAmount"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "refundableUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "refundDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "request"; readonly internalType: "struct Request"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "refundRequest"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }]; readonly name: "removeToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly name: "requestDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "unitsIn"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "minTokensOut"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly name: "requestRedeem"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "newAuthority"; readonly internalType: "contract Authority"; readonly type: "address"; }]; readonly name: "setAuthority"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "depositCap_"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "depositRefundTimeout_"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly name: "setDepositDetails"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "details"; readonly internalType: "struct TokenDetails"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; }]; readonly name: "setTokenDetails"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "requests"; readonly internalType: "struct Request[]"; readonly type: "tuple[]"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "solveRequestsDirect"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }, { readonly name: "requests"; readonly internalType: "struct Request[]"; readonly type: "tuple[]"; readonly components: readonly [{ readonly name: "requestType"; readonly internalType: "enum RequestType"; readonly type: "uint8"; }, { readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }, { readonly name: "units"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "tokens"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; }]; }]; readonly name: "solveRequestsVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "syncDepositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; }]; readonly name: "syncDepositHashes"; readonly outputs: readonly [{ readonly name: "exists"; readonly internalType: "bool"; readonly type: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; }]; readonly name: "tokensDetails"; readonly outputs: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "userUnitsRefundableUntil"; readonly outputs: readonly [{ readonly name: "unitsLockedUntil"; readonly internalType: "uint256"; readonly type: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }, { readonly name: "amount"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "bound"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }]; readonly name: "AmountBoundExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "AsyncDepositDisabled"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "AsyncRedeemDisabled"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newAuthority"; readonly internalType: "contract Authority"; readonly type: "address"; readonly indexed: true; }]; readonly name: "AuthorityUpdated"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "DepositCapExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositCap"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "depositRefundTimeout"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }]; readonly name: "DepositDetailsUpdated"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DepositRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "minUnitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; readonly indexed: false; }, { readonly name: "depositRequestHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "DepositRequested"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DepositSolved"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "unitsOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "Deposited"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "DirectDepositRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "InsufficientTokensForTip"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "depositHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "InvalidRequestHash"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }]; readonly name: "OwnershipTransferStarted"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "newOwner"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }]; readonly name: "OwnershipTransferred"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "index"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: true; }]; readonly name: "PriceAgeExceeded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "redeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "RedeemRefunded"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "user"; readonly internalType: "address"; readonly type: "address"; readonly indexed: true; }, { readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "minTokensOut"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "unitsIn"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "solverTip"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "deadline"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "maxPriceAge"; readonly internalType: "uint256"; readonly type: "uint256"; readonly indexed: false; }, { readonly name: "isFixedPrice"; readonly internalType: "bool"; readonly type: "bool"; readonly indexed: false; }, { readonly name: "redeemRequestHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: false; }]; readonly name: "RedeemRequested"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "redeemHash"; readonly internalType: "bytes32"; readonly type: "bytes32"; readonly indexed: true; }]; readonly name: "RedeemSolved"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }, { readonly name: "tokensDetails"; readonly internalType: "struct TokenDetails"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "asyncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "asyncRedeemEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "syncDepositEnabled"; readonly internalType: "bool"; readonly type: "bool"; }, { readonly name: "depositMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }, { readonly name: "redeemMultiplier"; readonly internalType: "uint16"; readonly type: "uint16"; }]; readonly indexed: false; }]; readonly name: "TokenDetailsSet"; }, { readonly type: "event"; readonly anonymous: false; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "contract IERC20"; readonly type: "address"; readonly indexed: true; }]; readonly name: "TokenRemoved"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AsyncDepositDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AsyncRedeemDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__AutoPriceSolveNotAllowed"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__CallerIsVault"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineInFutureAndUnauthorized"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineInPast"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DeadlineTooFarInFuture"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositCapExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositCapZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositHashNotFound"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositMultiplierTooHigh"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__DepositMultiplierTooLow"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__FixedPriceSolverTipNotAllowed"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__HashCollision"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__HashNotFound"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__InvalidToken"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxDepositRefundTimeoutExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxTokensInExceeded"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MaxTokensInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinTokenOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinUnitsOutNotMet"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__MinUnitsOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__PriceAndFeeCalculatorVaultPaused"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RedeemMultiplierTooHigh"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RedeemMultiplierTooLow"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__RefundPeriodExpired"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__SyncDepositDisabled"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__TokenCantBePriced"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__TokensInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__Unauthorized"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__UnitsInZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__UnitsOutZero"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressAuthority"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressMultiDepositorVault"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "Aera__ZeroAddressPriceAndFeeCalculator"; }, { readonly type: "error"; readonly inputs: readonly []; readonly name: "ReentrancyGuardReentrantCall"; }, { readonly type: "error"; readonly inputs: readonly [{ readonly name: "token"; readonly internalType: "address"; readonly type: "address"; }]; readonly name: "SafeERC20FailedOperation"; }]; functionName: "requestRedeem"; args: readonly [`0x${string}`, bigint, bigint, bigint, bigint, bigint, boolean]; account: `0x${string}`; }; //# sourceMappingURL=v1.d.ts.map