@eco-foundation/routes
Version:
The Eco Routes Protocol is a decentralized intent based system that allows users to submit their intent to the network and have it fulfilled by a solver on the destination rollup of their choice.
1,955 lines (1,953 loc) • 97.5 kB
text/typescript
/**
* ABI for the IntentSource contract
*/
export const IntentSourceAbi = [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "ArrayLengthMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "CannotFundForWithNativeReward",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "InsufficientNativeReward",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "InsufficientTokenAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "IntentAlreadyExists",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "IntentAlreadyFunded",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "IntentNotClaimed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "IntentNotExpired",
"type": "error"
},
{
"inputs": [],
"name": "InvalidRefundToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "NativeRewardTransferFailed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"name": "RewardsAlreadyWithdrawn",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
}
],
"name": "UnauthorizedWithdrawal",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "WrongSourceChain",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct TokenAmount[]",
"name": "routeTokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
},
{
"indexed": true,
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct TokenAmount[]",
"name": "rewardTokens",
"type": "tuple[]"
}
],
"name": "IntentCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "funder",
"type": "address"
}
],
"name": "IntentFunded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "funder",
"type": "address"
}
],
"name": "IntentPartiallyFunded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "IntentProofChallenged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "Refund",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "hash",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "Withdrawal",
"type": "event"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent[]",
"name": "_intents",
"type": "tuple[]"
}
],
"name": "batchWithdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "routeHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
},
{
"internalType": "bool",
"name": "allowPartial",
"type": "bool"
}
],
"name": "fund",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "routeHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
},
{
"internalType": "address",
"name": "funder",
"type": "address"
},
{
"internalType": "address",
"name": "permitContract",
"type": "address"
},
{
"internalType": "bool",
"name": "allowPartial",
"type": "bool"
}
],
"name": "fundFor",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
}
],
"name": "getIntentHash",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "routeHash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "rewardHash",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "getPermitContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "getRewardStatus",
"outputs": [
{
"internalType": "enum IVaultStorage.RewardStatus",
"name": "status",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "getVaultState",
"outputs": [
{
"components": [
{
"internalType": "uint8",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "mode",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "allowPartialFunding",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "usePermit",
"type": "uint8"
},
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"internalType": "struct IVaultStorage.VaultState",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
}
],
"name": "intentVaultAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
}
],
"name": "isIntentFunded",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
}
],
"name": "publish",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
},
{
"internalType": "bool",
"name": "allowPartial",
"type": "bool"
}
],
"name": "publishAndFund",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "intent",
"type": "tuple"
},
{
"internalType": "address",
"name": "funder",
"type": "address"
},
{
"internalType": "address",
"name": "permitContract",
"type": "address"
},
{
"internalType": "bool",
"name": "allowPartial",
"type": "bool"
}
],
"name": "publishAndFundFor",
"outputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "routeHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "recoverToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "_intent",
"type": "tuple"
}
],
"name": "refund",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "intentHash",
"type": "bytes32"
}
],
"name": "vaults",
"outputs": [
{
"components": [
{
"internalType": "uint8",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "mode",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "allowPartialFunding",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "usePermit",
"type": "uint8"
},
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"internalType": "struct IVaultStorage.VaultState",
"name": "state",
"type": "tuple"
},
{
"internalType": "address",
"name": "permitContract",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "source",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destination",
"type": "uint256"
},
{
"internalType": "address",
"name": "inbox",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"internalType": "struct Route",
"name": "route",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "creator",
"type": "address"
},
{
"internalType": "address",
"name": "prover",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nativeValue",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"internalType": "struct TokenAmount[]",
"name": "tokens",
"type": "tuple[]"
}
],
"internalType": "struct Reward",
"name": "reward",
"type": "tuple"
}
],
"internalType": "struct Intent",
"name": "_intent",
"type": "tuple"
}
],
"name": "withdrawRewards",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
] as const
/**
* Type-safe ABI for the IntentSource contract
*/
export type IntentSourceAbiType = typeof IntentSourceAbi
/**
* Bytecode for the IntentSource contract
*/
export const IntentSourceBytecode = "0x60808060405234601557612f4d908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163111980f714610c1d575080631299d61714610bce578063251043bf14610b93578063526a72aa14610ac357806354fd4d5014610a6757806369cc6c7a14610a5157806369f7cdc61461098957806381a09d34146108eb5780638616615e146106a357806393a359e91461068157806396c5c2721461063d578063a65b2bf9146105a6578063a900c6521461056f578063ab4b583e146104a3578063cca23bf214610419578063de4b22f21461010a5763fb4035f6146100da57600080fd5b346101055760606100f26100ed36610cd1565b61150e565b9060405192835260208301526040820152f35b600080fd5b346101055761011836610cd1565b60208101906101278282610ec1565b604051610152816101446020820194602086526040830190610e58565b03601f198101835282610d6c565b519020916101608280610f5e565b60405161017d81610144602082019460208652604083019061104b565b5190209260405160208101918583526040820152604081526101a0606082610d6c565b519020918260005260006020526101ba6040600020610d8d565b600360ff82511614158061040a575b610316575b9081600360ff6102b0959451160361030d575b600260208281019182526000604080850182815260608601838152608087018481528b85528486529290932