UNPKG

@eco-foundation/routes

Version:

The Eco Routes Protocol is a decentralized intent based system that allows users to submit their intent to the network and have it fulfilled by a solver on the destination rollup of their choice.

1,406 lines 50.7 kB
/** * ABI for the IIntentSource contract */ export declare const IIntentSourceAbi: readonly [{ readonly inputs: readonly []; readonly name: "ArrayLengthMismatch"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "CannotFundForWithNativeReward"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "InsufficientNativeReward"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "InsufficientTokenAllowance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "IntentAlreadyExists"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "IntentAlreadyFunded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "IntentNotClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "IntentNotExpired"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidRefundToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "NativeRewardTransferFailed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }]; readonly name: "RewardsAlreadyWithdrawn"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }]; readonly name: "UnauthorizedWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "WrongSourceChain"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly indexed: false; readonly internalType: "struct TokenAmount[]"; readonly name: "routeTokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly indexed: false; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly indexed: false; readonly internalType: "struct TokenAmount[]"; readonly name: "rewardTokens"; readonly type: "tuple[]"; }]; readonly name: "IntentCreated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "funder"; readonly type: "address"; }]; readonly name: "IntentFunded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "funder"; readonly type: "address"; }]; readonly name: "IntentPartiallyFunded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "IntentProofChallenged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "Refund"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "Withdrawal"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent[]"; readonly name: "_intents"; readonly type: "tuple[]"; }]; readonly name: "batchWithdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "routeHash"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "allowPartial"; readonly type: "bool"; }]; readonly name: "fund"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "routeHash"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "fundingAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "permitContract"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "allowPartial"; readonly type: "bool"; }]; readonly name: "fundFor"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }]; readonly name: "getIntentHash"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "routeHash"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "rewardHash"; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "getPermitContract"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "getRewardStatus"; readonly outputs: readonly [{ readonly internalType: "enum IVaultStorage.RewardStatus"; readonly name: "status"; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly name: "getVaultState"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint8"; readonly name: "status"; readonly type: "uint8"; }, { readonly internalType: "uint8"; readonly name: "mode"; readonly type: "uint8"; }, { readonly internalType: "uint8"; readonly name: "allowPartialFunding"; readonly type: "uint8"; }, { readonly internalType: "uint8"; readonly name: "usePermit"; readonly type: "uint8"; }, { readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }]; readonly internalType: "struct IVaultStorage.VaultState"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }]; readonly name: "intentVaultAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }]; readonly name: "isIntentFunded"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }]; readonly name: "publish"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "allowPartial"; readonly type: "bool"; }]; readonly name: "publishAndFund"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "intent"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "funder"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "permitContract"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "allowPartial"; readonly type: "bool"; }]; readonly name: "publishAndFundFor"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "intentHash"; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "routeHash"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "recoverToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }]; readonly internalType: "struct Reward"; readonly name: "reward"; readonly type: "tuple"; }]; readonly internalType: "struct Intent"; readonly name: "_intent"; readonly type: "tuple"; }]; readonly name: "refund"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "source"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "destination"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "inbox"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly internalType: "struct Route"; readonly name: "route"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "creator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "prover"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nativeValue"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct TokenAmount[]"; readonly name: "tokens"; readonly type: "tuple[]"; }];