EeseeExpress
EeseeExpress
Squid Router extension that adds permit support and the ability to use ERC20 tokens from contract's balance.
AddressWithChain
struct AddressWithChain {
string chain;
address _address;
}
TokenData
struct TokenData {
contract IERC20 token;
uint256 amount;
bytes permit;
}
squid
contract ISquidRouter squid
Contract address for Squid Router.
InvalidConstructor
error InvalidConstructor()
InvalidRecipient
error InvalidRecipient()
callBridgeCall
function callBridgeCall(struct EeseeExpress.AddressWithChain squidRouter, string tokenToSymbol, struct EeseeExpress.TokenData tokenFrom, struct ISquidMulticall.Call[] sourceCalls, struct ISquidMulticall.Call[] destinationCalls, address refundRecipient, bool isExpress) external payable
Send tokens to another chain with Squid and call multicall on both chains. Note: The caller must either own those tokens, or have them transfered to this contract beforehand. !WARNING! Never send any tokens to this contract from an EOA, or by contract in a separate transaction or they will be lost. Only send funds to this contract if you spend them by calling callBridgeCall function in the same transaction.
Parameters
squidRouter
struct EeseeExpress.AddressWithChain
- Struct with destination chain and the address of SquidRouter on that chain.
tokenToSymbol
string
- Token symbol to transfer to {squidRouter.chain}.
tokenFrom
struct EeseeExpress.TokenData
- Token to collect from sender or use from this contract's balance with abi-encoded permit containing approveAmount, deadline, v, r and s. Set to empty bytes to skip permit.
sourceCalls
struct ISquidMulticall.Call[]
- Calls to make on this chain.
destinationCalls
struct ISquidMulticall.Call[]
- Calls to make on {squidRouter.chain}.
refundRecipient
address
- In case calls on destination chain fail, this is the address that will receive the tokens instead.
isExpress
bool
- Set to true for GMP express calls.
Inherited from EeseePausable
pause
function pause() external virtual
Called by the PAUSER_ROLE to pause, triggers stopped state.
unpause
function unpause() external virtual
Called by the PAUSER_ROLE to unpause, returns to normal state.
Inherited from EeseeRoleHandler
Inherited from Pausable
paused
function paused() public view virtual returns (bool)
Returns true if the contract is paused, and false otherwise.
Paused
event Paused(address account)
Emitted when the pause is triggered by account
.
Unpaused
event Unpaused(address account)
Emitted when the pause is lifted by account
.
Inherited from ERC2771Context
isTrustedForwarder
function isTrustedForwarder(address forwarder) public view virtual returns (bool)
Last updated