/** ABI for the August `SwapRouter` periphery contract (v2: vault type passed per deposit, per-vault swap fees, `DepositRouted` event). */ export declare const ABI_SWAP_ROUTER: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "ownerAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "newFeesCollectorAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "wrappedNativeTokenAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "BPS_DENOMINATOR"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_ORIGIN_FEE_BPS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_SWAPS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_SWAP_FEE_BPS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "NATIVE_TOKEN_ADDRESS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "VAULT_TYPE_ERC4626"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "VAULT_TYPE_TOKENIZED_VAULT_V2"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "addOrigin"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "originFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "depositAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "vaultAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "vaultType"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "assetAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "receiverAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: "shares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositNativeToken"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "vaultAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "vaultType"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "receiverAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: "shares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "disableRouter"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "authorizedSelector"; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "disableToken"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "enableRouter"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenApprovalAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "authorizedSelector"; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "enableToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "contract IERC20Metadata"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "feesCollector"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isAuthorizedSelector"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "selector"; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isPaused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "origins"; readonly inputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "originFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pause"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "revokeOrigin"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setVaultSwapFee"; readonly inputs: readonly [{ readonly name: "vaultAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "swapFee"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "swapAndDeposit"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "vaultAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "vaultType"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "receiverAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "swapParams"; readonly type: "tuple[]"; readonly internalType: "struct ISwapRouter.SwapParams[]"; readonly components: readonly [{ readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amountIn"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmountOut"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "router"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "payload"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: "shares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "swapAndDepositNativeToken"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "vaultAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "vaultType"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "receiverAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: "shares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "tokenTransferProxies"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "unPause"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateFeesCollector"; readonly inputs: readonly [{ readonly name: "newFeesCollectorAddr"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateOrigin"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "originFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "vaultSwapFees"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "whitelistedTokens"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "wrappedNativeTokenAddress"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "ContractPaused"; readonly inputs: readonly []; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ContractResumed"; readonly inputs: readonly []; readonly anonymous: false; }, { readonly type: "event"; readonly name: "DepositRouted"; readonly inputs: readonly [{ readonly name: "sender"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "vaultAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "originCode"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "receiverAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "assetAddr"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "grossAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "depositedAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "shares"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "originFeeBps"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "originFeeAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "swapFeeAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeesCollectorUpdated"; readonly inputs: readonly [{ readonly name: "newAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OriginAdded"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "originFee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OriginRevoked"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OriginUpdated"; readonly inputs: readonly [{ readonly name: "originCode"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "originFee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "originFeeCollector"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ResidualBalanceSwept"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ResidualRefund"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RouterPathDisabled"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RouterPathEnabled"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "tokenApprovalAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "TokenDisabled"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "TokenEnabled"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "VaultSwapFeeUpdated"; readonly inputs: readonly [{ readonly name: "vaultAddr"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "swapFee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AssetNotAcceptedByVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ContractIsPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ContractNotPaused"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "EmptySwapParams"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "FeesCollectorNoOp"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InputTokenNotSwapped"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "InputTokenNotWhitelisted"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidErc20Token"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidFeeCollector"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidNotWhitelisted"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidOrigin"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPair"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPayload"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidReceiver"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRouter"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRouterPath"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenApprovalAddr"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "InvalidVault"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidVaultType"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MissingSlippageProtection"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NativeReferenceAssetNotSupported"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NativeSwapFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NativeTokenTransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OriginAlreadyExists"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OriginFeeTooHigh"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OriginFeeTooLow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OutputTokenCannotBeNativeToken"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OutputTokenNotWhitelisted"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "OwnerAddressRequired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OwnerOnly"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ReentrancyGuardReentrantCall"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "RouterPathAlreadyDisabled"; readonly inputs: readonly [{ readonly name: "routerAddr"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "SelectorRequired"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "SlippageError"; readonly inputs: readonly [{ readonly name: "tokenAddr"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amountOut"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmountOut"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "SwapFailed"; readonly inputs: readonly [{ readonly name: "returnData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly type: "error"; readonly name: "SwapFeeAmountTooLow"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "SwapFeeTooHigh"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenAlreadyDisabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TokenAlreadyEnabled"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TooManySwaps"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroSharesReceived"; readonly inputs: readonly []; }];