@eco-foundation/routes-ts
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 choise.
1,447 lines • 55.4 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: "InsufficientFunds";
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: "IntentNotClaimed";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidClaimant";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "InvalidRecoverToken";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "enum IIntentSource.Status";
readonly name: "status";
readonly type: "uint8";
}];
readonly name: "InvalidStatusForFunding";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "enum IIntentSource.Status";
readonly name: "status";
readonly type: "uint8";
}, {
readonly internalType: "uint256";
readonly name: "currentTime";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "deadline";
readonly type: "uint256";
}];
readonly name: "InvalidStatusForRefund";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "enum IIntentSource.Status";
readonly name: "status";
readonly type: "uint8";
}];
readonly name: "InvalidStatusForWithdrawal";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "caller";
readonly type: "address";
}];
readonly name: "NotCreatorCaller";
readonly type: "error";
}, {
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 indexed: false;
readonly internalType: "bool";
readonly name: "complete";
readonly type: "bool";
}];
readonly name: "IntentFunded";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly indexed: false;
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly indexed: false;
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
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: "uint64";
readonly name: "rewardDeadline";
readonly type: "uint64";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "rewardNativeAmount";
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: "IntentPublished";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "refundee";
readonly type: "address";
}];
readonly name: "IntentRefunded";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "refundee";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "IntentTokenRecovered";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "claimant";
readonly type: "address";
}];
readonly name: "IntentWithdrawn";
readonly type: "event";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64[]";
readonly name: "destinations";
readonly type: "uint64[]";
}, {
readonly internalType: "bytes32[]";
readonly name: "routeHashes";
readonly type: "bytes32[]";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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: "rewards";
readonly type: "tuple[]";
}];
readonly name: "batchWithdraw";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes32";
readonly name: "routeHash";
readonly type: "bytes32";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes32";
readonly name: "routeHash";
readonly type: "bytes32";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "address";
readonly name: "fundingAddress";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "permitContract";
readonly type: "address";
}];
readonly name: "fundFor";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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 components: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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: "getRewardStatus";
readonly outputs: readonly [{
readonly internalType: "enum IIntentSource.Status";
readonly name: "status";
readonly type: "uint8";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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 internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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 internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 name: "publish";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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: "publishAndFund";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes";
readonly name: "route";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "address";
readonly name: "funder";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "permitContract";
readonly type: "address";
}];
readonly name: "publishAndFundFor";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly components: readonly [{
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "portal";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 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: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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 internalType: "address";
readonly name: "funder";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "permitContract";
readonly type: "address";
}];
readonly name: "publishAndFundFor";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "vault";
readonly type: "address";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint64";
readonly name: "destination";
readonly type: "uint64";
}, {
readonly internalType: "bytes32";
readonly name: "routeHash";
readonly type: "bytes32";
}, {
readonly components: readonly [{
readonly internalType: "uint64";
readonly name: "deadline";
readonly type: "uint64";
}, {
readonly internalType: "address";
readonly name: "creator";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "prover";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nativeAmount";
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