DepositBoxEth

receive receive() external

deposit deposit(string schainName) external

Allows msg.sender to send ETH from mainnet to schain.

Requirements:

  • Schain name must not be Mainnet.

  • Receiver contract should be added as twin contract on schain.

  • Schain that receives tokens should not be killed.

postMessage postMessage(bytes32 schainHash, address sender, bytes data) → address external

Allows MessageProxyForMainnet contract to execute transferring ERC20 token from schain to mainnet.

Requirements:

  • Schain from which the tokens came should not be killed.

  • Sender contract should be defined and schain name cannot be Mainnet.

  • Amount of tokens on DepositBoxERC20 should be equal or more than transferred amount.

gasPayer gasPayer(bytes32 schainHash, address sender, bytes data) → address external

getMyEth getMyEth() external

Transfers a user’s ETH.

Requirements:

  • DepositBoxETh must have sufficient ETH.

  • User must be approved for ETH transfer.

getFunds getFunds(string schainName, address payable receiver, uint256 amount) external

Allows Schain owner to return each user their ETH.

Requirements:

  • Amount of ETH on schain should be equal or more than transferred amount.

  • Receiver address must not be null.

initialize initialize(contract IContractManager contractManagerOfSkaleManagerValue, contract Linker linkerValue, contract MessageProxyForMainnet messageProxyValue) public

Creates a new DepositBoxEth contract.