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

Name
Type
Description

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