Appendix
Action ABI Reference
This document contains the ABI structures for all Actions, taken from their respective hash
functions. Use these to properly encode Action arguments when forming EIP-712 hashes.
Refuel
Copy
Ask AI
const refuelAbi = [
{ name: 'target', type: 'address' },
{ name: 'threshold', type: 'uint256' },
{ name: 'endBalance', type: 'uint256' },
{ name: 'gasLimit', type: 'uint256' },
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
RefuelERC20
Copy
Ask AI
const refuelERC20Abi = [
{ name: 'token', type: 'address' },
{ name: 'target', type: 'address' },
{ name: 'threshold', type: 'uint256' },
{ name: 'endBalance', type: 'uint256' },
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
Transfer
Copy
Ask AI
const transferAbi = [
{ name: 'target', type: 'address' },
{ name: 'value', type: 'uint256' },
{ name: 'gasLimit', type: 'uint256' },
{
name: 'schedule',
type: 'tuple',
components: [
{ name: 'startAt', type: 'uint256' },
{ name: 'startBy', type: 'uint256' },
{ name: 'interval', type: 'uint256' },
{ name: 'timeout', type: 'uint256' }
]
},
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
TransferERC20
Copy
Ask AI
const transferERC20Abi = [
{ name: 'token', type: 'address' },
{ name: 'target', type: 'address' },
{ name: 'value', type: 'uint256' },
{
name: 'schedule',
type: 'tuple',
components: [
{ name: 'startAt', type: 'uint256' },
{ name: 'startBy', type: 'uint256' },
{ name: 'interval', type: 'uint256' },
{ name: 'timeout', type: 'uint256' }
]
},
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
SweepDepositAccount
Copy
Ask AI
const sweepDepositAccountAbi = [
{ name: 'depositor', type: 'address' },
{ name: 'recipient', type: 'address' },
{ name: 'threshold', type: 'uint256' },
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
SweepDepositAccountERC20
Copy
Ask AI
const sweepDepositAccountERC20Abi = [
{ name: 'token', type: 'address' },
{ name: 'depositor', type: 'address' },
{ name: 'recipient', type: 'address' },
{ name: 'threshold', type: 'uint256' },
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
UniswapV3ExactInput
Copy
Ask AI
const uniswapV3ExactInputAbi = [
{ name: 'recipient', type: 'address' },
{ name: 'tokenIn', type: 'address' },
{ name: 'tokenOut', type: 'address' },
{ name: 'feeTier', type: 'uint24' },
{ name: 'amountIn', type: 'uint256' },
{ name: 'floorAmountOut', type: 'uint256' },
{ name: 'meanPriceLookBack', type: 'uint32' },
{ name: 'maxPriceDeviationBPS', type: 'uint32' },
{
name: 'schedule',
type: 'tuple',
components: [
{ name: 'startAt', type: 'uint256' },
{ name: 'startBy', type: 'uint256' },
{ name: 'interval', type: 'uint256' },
{ name: 'timeout', type: 'uint256' }
]
},
{
name: 'fee',
type: 'tuple',
components: [
{ name: 'token', type: 'address' },
{ name: 'maxBaseFeePerGas', type: 'uint256' },
{ name: 'maxPriorityFeePerGas', type: 'uint256' },
{ name: 'executionFee', type: 'uint256' }
]
}
] as const
These ABIs are taken directly from the hash
function in each Action’s contract found on GitHub. Use them to properly encode Action arguments when forming EIP-712 hashes.
See How to Construct Instruction Activation and Deactivation EIP-712 Hashes for details on how to use these ABIs.
Assistant
Responses are generated using AI and may contain mistakes.