- Contract name:
- CrossChainPayload
- Optimization enabled
- true
- Compiler version
- v0.4.25+commit.59dbf8f1
- Optimization runs
- 200
- EVM Version
- constantinople
- Verified at
- 2021-12-24 04:54:00.595240Z
Contract source code
pragma solidity ^0.4.25;
library SafeMath {
function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
uint256 c = _a + _b;
assert(c >= _a);
return c;
}
function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
assert(_a >= _b);
return _a - _b;
}
function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
uint256 c = _a * _b;
assert(_a == 0 || c / _a == _b);
return c;
}
}
contract CrossChainPayload {
using SafeMath for uint256;
event PayloadReceived(string _addr, uint256 _amount, uint256 _crosschainamount, address indexed _sender);
event EtherDeposited(address indexed _sender, uint256 _amount, address indexed _black);
function receivePayload(string _addr, uint256 _amount, uint256 _fee) public payable {
require(msg.value == _amount);
require(_fee >= 100000000000000 && _fee % 10000000000 == 0);
require(_amount % 10000000000 == 0 && _amount.sub(_fee) >= _fee);
emit PayloadReceived(_addr, _amount, _amount.sub(_fee), msg.sender);
emit EtherDeposited(msg.sender, msg.value, address(0));
}
function() public payable {
revert();
}
}
Contract ABI
[{"type":"function","stateMutability":"payable","payable":true,"outputs":[],"name":"receivePayload","inputs":[{"type":"string","name":"_addr"},{"type":"uint256","name":"_amount"},{"type":"uint256","name":"_fee"}],"constant":false},{"type":"fallback","stateMutability":"payable","payable":true},{"type":"event","name":"PayloadReceived","inputs":[{"type":"string","name":"_addr","indexed":false},{"type":"uint256","name":"_amount","indexed":false},{"type":"uint256","name":"_crosschainamount","indexed":false},{"type":"address","name":"_sender","indexed":true}],"anonymous":false},{"type":"event","name":"EtherDeposited","inputs":[{"type":"address","name":"_sender","indexed":true},{"type":"uint256","name":"_amount","indexed":false},{"type":"address","name":"_black","indexed":true}],"anonymous":false}]
Deployed ByteCode
0x6080604052600436106100405763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166367d630fa8114610045575b600080fd5b6040805160206004803580820135601f810184900484028501840190955284845261009a94369492936024939284019190819084018382808284375094975050843595505050602090920135915061009c9050565b005b3482146100a857600080fd5b655af3107a400081101580156100c357506402540be4008106155b15156100ce57600080fd5b6402540be40082061580156100f25750806100ef838263ffffffff6101f316565b10155b15156100fd57600080fd5b337f40c265d46b6f076876ffff007c9d27aeca8c4bf3ed2c655fcbce7c462a5efc048484610131818663ffffffff6101f316565b6040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561017a578181015183820152602001610162565b50505050905090810190601f1680156101a75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a260408051348152905160009133917f9149265b72d014f5f6b46388cbfe228d52de840dd1abc6b3f035716abaf611709181900360200190a3505050565b6000818310156101ff57fe5b509003905600a165627a7a7230582078d4ef1db7d0a0e68c3bfcd7c4e6c15982505ab906c4ff67d4fedc7a84cf4e8c0029