DepositBoxEth
Runs on mainnet, accepts messages from schain, stores deposits of ETH.
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.