UNPKG

@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
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