@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,322 lines • 90.9 kB
TypeScript
export declare const IntentSourceAbi: readonly [{
readonly inputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "constructor";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "target";
readonly type: "address";
}];
readonly name: "AddressEmptyCode";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "AddressInsufficientBalance";
readonly type: "error";
}, {
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 name: "FailedInnerCall";
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: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "SafeERC20FailedOperation";
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: "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 internalType: "bytes32[]";
readonly name: "routeHashes";
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: "rewards";
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: "funder";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "permitContact";
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: "permitContact";
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 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 name: "refund";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "intentHash";
readonly type: "bytes32";
}];
readonly name: "vaults";
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: "state";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "permitContract";
readonly type: "address";
}];
readonly stateMutability: "view";
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 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 name: "withdrawRewards";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}];
export declare const IntentSourceBytecode = "0x60808060405234601557612c10908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163111980f714610b66575080631299d61714610b17578063251043bf14610adc5780632c308f52146108f55780634f1c8070146108de578063526a72aa1461080e57806354fd4d50146107a7578063695a461c146106ec57806369f7cdc61461062457806381a09d34146105865780638616615e146102fd57806393a359e9146102db57806396c5c27214610297578063a900c65214610260578063ab4b583e14610194578063cca23bf21461010a5763fb4035f6146100da57600080fd5b346101055760606100f26100ed36610c1a565b611284565b9060405192835260208301526040820152f35b600080fd5b3461010557602036600319011261010557600435600052600060205260c0604060002061013681610d3e565b906001808060a01b039101541661018d604051809360809060ff815116835260ff602082015116602084015260ff604082015116604084015260ff60608201511660608401528160018060a01b0391015116910152565b60a0820152f35b6040366003190112610105576004356001600160401b03811161010557806004019060406003198236030112610105576024359182151583036101055760209281610245602461023f6101e961024e96611284565b509290978860005260008a5261022c6102056040600020610d3e565b61020f8b82611398565b6102258b8d61021e8b806110f5565b0135611da4565b8a8861188c565b019161023883866110e0565b90886113b7565b926110e0565b90339185611475565b6102584782611854565b604051908152f35b34610105576020366003190112610105576004356000526000602052602060018060a01b0360016040600020015416604051908152f35b346101055760206102c96102aa36610c1a565b6102c36102b682611284565b50919092858101906110e0565b916113b7565b6040516001600160a01b039091168152f35b346101055760206102f36102ee36610c1a565b611165565b6040519015158152f35b34610105576060366003190112610105576024356004356001600160401b03821161010557816004019060a06003198436030112610105576001600160a01b03610345610c85565b1691821561041e576040516020810190602082526103788161036a6040820186610e09565b03601f198101835282610d1d565b519020604051602081019184835260408201526040815261039a606082610d1d565b519020918260005260006020526103b46040600020610d3e565b92600360ff855116141580610577575b8061056a575b6105565792946084019260005b6103e1858561110a565b905081101561042f57858161041061040b6103fc898961110a565b6001600160a01b03949161113f565b610e72565b161461041e576001016103d7565b63cd91597b60e01b60005260046000fd5b508290868660208201906003825260408301600081526060840190600082526080850192835285600052600060205260ff60406000209551169063ff00000062ff000061ff008854975160081b16925160101b16935160181b1693600160201b600160c01b03905160201b1694600160201b600160c01b03199263ff000000199162ffffff191617161716171717905560018060a01b036104cf83610e72565b167f0ba6f12b978882904e7444c7a8fcadd2d9f692a6a97aa18e5fb44c3bbc5801236020604051848152a260405191610cd290818401928484106001600160401b0385111761054057849361052893611f098639610ea5565b03906000f51561053457005b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b6335bd755560e11b60005260045260246000fd5b50606486013515156103ca565b50600460ff85511614156103c4565b3461010557602036600319011261010557600060806040516105a781610d02565b8281528260208201528260408201528260608201520152600435600052600060205260a06105d86040600020610d3e565b610622604051809260809060ff815116835260ff602082015116602084015260ff604082015116604084015260ff60608201511660608401528160018060a01b0391015116910152565bf35b34610105576080366003190112610105576004356001600160401b0381116101055780600401906040600319823603011261010557602435916001600160a01b038316830361010557610675610c85565b606435908115158203610105576020948361069261025895611284565b509080978160005260008a526106e660246106b06040600020610d3e565b926106bc84868961188c565b6106cb858e61021e8a806110f5565b016106e06106d982886110e0565b86866113b7565b956110e0565b90611a61565b34610105576040366003190112610105576004356001600160401b0381116101055761071c903690600401610cd2565b6024356001600160401b0381116101055761073b903690600401610cd2565b908183036107965760005b838110156107945760008160051b908483101561078057509061077a826107716001948601866110e0565b90880135610ebc565b01610746565b634e487b7160e01b81526032600452602490fd5b005b63512509d360e11b60005260046000fd5b3461010557600036600319011261010557610800604080516107c98282610d1d565b600e8152602081016d0625c626e5c6c5ac8c86e6eca60760931b815282519384926020845251809281602086015285850190610caf565b601f01601f19168101030190f35b346101055760a0366003190112610105576024356004356001600160401b0382116101055760a0826004019260031990360301126101055761084e610c8556