If you want to send ERC20 token to the Orbit IBC contract, you should check that the token is registered
decimal(address tokenAddr)
Send a deposit transaction to the Orbit IBC contract on the Ethereum MAINNET/ROPSTEN
// deposit ETH
function deposit(address toAddr, address extraToAddr) payable public
// deposit ERC20 TOKEN
function depositToken(address token, address toAddr, uint amount, address extraToAddr) public
If your transaction succeed,
event Deposit(address tokenAddr, address addr, address toAddr, uint amount, uint depositId, address extraToAddr);
Deposit event occur in your transaction
Then, Ethereum IBC operator and Validator begin to proceed this deposit
When deposit is completed in the Orbit chain, DepositValidated and BalanceChange event occur
// EthpeggingContract
event DepositValidated(address mainAddr, address tokenAddr, address addr, address toAddr, uint amount, uint depositId, address extraToAddr)
// BalanceContract
event BalanceChange(address indexed user, bytes32 indexed tokenId, uint balance);
Send a withdrawal transaction to OrbitChain BalanceContract
Then, Ethereum IBC operator and Validator begin to proceed this withdrawal
When withdrawal is completed in Ethereum, Withdrawal event occur
Contract Methods
relayDepositToken
Ethereum reserve contract address on main network
Receiver address on OrbitChain
Extra receiver address on OrbitChain
validateDepositToken
You should hash following parameters to sign or validate deposit request.
Ethereum reserve contract address on main network
Receiver address on OrbitChain
Extra receiver address on OrbitChain
Address of signer/validator
checkValidateDepositToken
Ethereum reserve contract address on main network
Receiver address on OrbitChain
Extra receiver address on OrbitChain
Identifier of BalanceContract withdrawal
Sender address on OrbitChain
Address of withdrawal destination
Identifier of BalanceContract withdrawal
Sender address on OrbitChain
Extra sender address on OrbitChain (for Giveback)
Address of withdrawal destination
validateWithdraw
Address of signer/validator
checkValidateWithdraw