@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
TypeScript
/**
* 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[]";
}];