IGatewayZEVM
Git Source (opens in a new tab)
Inherits: IGatewayZEVMErrors, IGatewayZEVMEvents
Interface for the GatewayZEVM contract.
Defines functions for cross-chain interactions and token handling.
Functions
withdraw
Withdraw ZRC20 tokens to an external chain.
function withdraw(
    bytes memory receiver,
    uint256 amount,
    address zrc20,
    RevertOptions calldata revertOptions
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| receiver | bytes | The receiver address on the external chain. | 
| amount | uint256 | The amount of tokens to withdraw. | 
| zrc20 | address | The address of the ZRC20 token. | 
| revertOptions | RevertOptions | Revert options. | 
withdraw
Withdraw ZETA tokens to an external chain.
function withdraw(
    bytes memory receiver,
    uint256 amount,
    uint256 chainId,
    RevertOptions calldata revertOptions
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| receiver | bytes | The receiver address on the external chain. | 
| amount | uint256 | The amount of tokens to withdraw. | 
| chainId | uint256 | |
| revertOptions | RevertOptions | Revert options. | 
withdrawAndCall
Withdraw ZRC20 tokens and call a smart contract on an external chain.
function withdrawAndCall(
    bytes memory receiver,
    uint256 amount,
    address zrc20,
    bytes calldata message,
    uint256 gasLimit,
    RevertOptions calldata revertOptions
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| receiver | bytes | The receiver address on the external chain. | 
| amount | uint256 | The amount of tokens to withdraw. | 
| zrc20 | address | The address of the ZRC20 token. | 
| message | bytes | The calldata to pass to the contract call. | 
| gasLimit | uint256 | Gas limit. | 
| revertOptions | RevertOptions | Revert options. | 
withdrawAndCall
Withdraw ZETA tokens and call a smart contract on an external chain.
function withdrawAndCall(
    bytes memory receiver,
    uint256 amount,
    uint256 chainId,
    bytes calldata message,
    RevertOptions calldata revertOptions
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| receiver | bytes | The receiver address on the external chain. | 
| amount | uint256 | The amount of tokens to withdraw. | 
| chainId | uint256 | Chain id of the external chain. | 
| message | bytes | The calldata to pass to the contract call. | 
| revertOptions | RevertOptions | Revert options. | 
call
Call a smart contract on an external chain without asset transfer.
function call(
    bytes memory receiver,
    address zrc20,
    bytes calldata message,
    uint256 gasLimit,
    RevertOptions calldata revertOptions
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| receiver | bytes | The receiver address on the external chain. | 
| zrc20 | address | Address of zrc20 to pay fees. | 
| message | bytes | The calldata to pass to the contract call. | 
| gasLimit | uint256 | Gas limit. | 
| revertOptions | RevertOptions | Revert options. | 
deposit
Deposit foreign coins into ZRC20.
function deposit(address zrc20, uint256 amount, address target) external;Parameters
| Name | Type | Description | 
|---|---|---|
| zrc20 | address | The address of the ZRC20 token. | 
| amount | uint256 | The amount of tokens to deposit. | 
| target | address | The target address to receive the deposited tokens. | 
execute
Execute a user-specified contract on ZEVM.
function execute(
    zContext calldata context,
    address zrc20,
    uint256 amount,
    address target,
    bytes calldata message
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| context | zContext | The context of the cross-chain call. | 
| zrc20 | address | The address of the ZRC20 token. | 
| amount | uint256 | The amount of tokens to transfer. | 
| target | address | The target contract to call. | 
| message | bytes | The calldata to pass to the contract call. | 
depositAndCall
Deposit foreign coins into ZRC20 and call a user-specified contract on ZEVM.
function depositAndCall(
    zContext calldata context,
    address zrc20,
    uint256 amount,
    address target,
    bytes calldata message
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| context | zContext | The context of the cross-chain call. | 
| zrc20 | address | The address of the ZRC20 token. | 
| amount | uint256 | The amount of tokens to transfer. | 
| target | address | The target contract to call. | 
| message | bytes | The calldata to pass to the contract call. | 
depositAndCall
Deposit ZETA and call a user-specified contract on ZEVM.
function depositAndCall(zContext calldata context, uint256 amount, address target, bytes calldata message) external;Parameters
| Name | Type | Description | 
|---|---|---|
| context | zContext | The context of the cross-chain call. | 
| amount | uint256 | The amount of tokens to transfer. | 
| target | address | The target contract to call. | 
| message | bytes | The calldata to pass to the contract call. | 
executeRevert
Revert a user-specified contract on ZEVM.
function executeRevert(address target, RevertContext calldata revertContext) external;Parameters
| Name | Type | Description | 
|---|---|---|
| target | address | The target contract to call. | 
| revertContext | RevertContext | Revert context to pass to onRevert. | 
depositAndRevert
Deposit foreign coins into ZRC20 and revert a user-specified contract on ZEVM.
function depositAndRevert(
    address zrc20,
    uint256 amount,
    address target,
    RevertContext calldata revertContext
)
    external;Parameters
| Name | Type | Description | 
|---|---|---|
| zrc20 | address | The address of the ZRC20 token. | 
| amount | uint256 | The amount of tokens to revert. | 
| target | address | The target contract to call. | 
| revertContext | RevertContext | Revert context to pass to onRevert. |