Transaction Hash:
Block:
8767755 at Oct-18-2019 11:23:19 PM +UTC
Transaction Fee:
0.000146504 ETH
$0.39
Gas Used:
73,252 Gas / 2 Gwei
Emitted Events:
45 |
Saturn.Transfer( _from=[Receiver] 0x13f64609bf1ef46f6515f8cd3115433a93a00dc6, _to=[Sender] 0x42be07f603fc054bb074bae55edb7d3ed2368fd6, _value=593027617 )
|
46 |
Saturn.ERC223Transfer( _from=[Receiver] 0x13f64609bf1ef46f6515f8cd3115433a93a00dc6, _to=[Sender] 0x42be07f603fc054bb074bae55edb7d3ed2368fd6, _value=593027617, _data=0x )
|
47 |
0x13f64609bf1ef46f6515f8cd3115433a93a00dc6.0xe6f814da7244d1ae6c61b54b5684858ba39cad7b9a91884be10060664987d754( 0xe6f814da7244d1ae6c61b54b5684858ba39cad7b9a91884be10060664987d754, 00000000000000000000000042be07f603fc054bb074bae55edb7d3ed2368fd6, 000000000000000000000000720ca1df3aa5a4baaf720976584132798148e0b7, 0000000000000000000000000000000000000000000000000000000000000fb9, 000000000000000000000000000000000000000000000000000000002358e221, 000000000000000000000000000000000000000000000000020649726f81d980, 000000000000000000000000000000000000000000000000000000005daa4967 )
|
48 |
Saturn.Transfer( _from=[Receiver] 0x13f64609bf1ef46f6515f8cd3115433a93a00dc6, _to=[Sender] 0x42be07f603fc054bb074bae55edb7d3ed2368fd6, _value=36562 )
|
49 |
Saturn.ERC223Transfer( _from=[Receiver] 0x13f64609bf1ef46f6515f8cd3115433a93a00dc6, _to=[Sender] 0x42be07f603fc054bb074bae55edb7d3ed2368fd6, _value=36562, _data=0x )
|
50 |
0x13f64609bf1ef46f6515f8cd3115433a93a00dc6.0x5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c2( 0x5a9ec13c12ca9563a7b3108125f74c57ed388bb313394ea50f7e4a71b01497c2, 00000000000000000000000042be07f603fc054bb074bae55edb7d3ed2368fd6, 0000000000000000000000000000000000000000000000000000000000008ed2, 000000000000000000000000000000000000000000000000000000005daa4967 )
|
51 |
0x13f64609bf1ef46f6515f8cd3115433a93a00dc6.0xeb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e9880( 0xeb3b41be12efa25c0c65725eeff2e2ad0250e2e5de2aa939e18f36aa656e9880, 0000000000000000000000000000000000000000000000000000000000000fb9, 000000000000000000000000000000000000000000000000000000005daa4967 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x13f64609...a93a00DC6 | (Saturn Network: Old Contract) | ||||
0x42BE07F6...eD2368fD6 |
1.299571755277183888 Eth
Nonce: 252
|
1.153174831445604941 Eth
Nonce: 253
| 0.146396923831578947 | ||
0x5A0b54D5...D3E029c4c
Miner
| (Spark Pool) | 60.413001078303264583 Eth | 60.413147582303264583 Eth | 0.000146504 | |
0x720CA1Df...98148E0B7 | 0.159353338477159614 Eth | 0.305238132259159614 Eth | 0.145884793782 | ||
0x92EEb915...B6Af6d5fD | 2.332254922733766777 Eth | 2.332620548783345724 Eth | 0.000365626049578947 | ||
0xb9440022...794Bd76c8 |
Execution Trace
ETH 0.146250419831578947
Saturn Network: Old Contract.a4ff9c34( )
- ETH 0.145884793782
0x720ca1df3aa5a4baaf720976584132798148e0b7.CALL( )
-
Saturn.transfer( _to=0x42BE07F603fc054Bb074Bae55eDb7D3eD2368fD6, _value=593027617 ) => ( success=True )
- ETH 0.000365626049578947
0x92eeb915dafe3803f8a9d12000765c3b6af6d5fd.CALL( )
-
Saturn.transfer( _to=0x42BE07F603fc054Bb074Bae55eDb7D3eD2368fD6, _value=36562 ) => ( success=True )
pragma solidity ^0.4.18; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract ERC223 { uint public totalSupply; function balanceOf(address who) constant returns (uint); function name() constant returns (string _name); function symbol() constant returns (string _symbol); function decimals() constant returns (uint8 _decimals); function totalSupply() constant returns (uint256 _supply); function transfer(address to, uint value) returns (bool ok); function transfer(address to, uint value, bytes data) returns (bool ok); event Transfer(address indexed _from, address indexed _to, uint256 _value); event ERC223Transfer(address indexed _from, address indexed _to, uint256 _value, bytes _data); } contract ContractReceiver { function tokenFallback(address _from, uint _value, bytes _data); } contract ERC223Token is ERC223 { using SafeMath for uint; mapping(address => uint) balances; string public name; string public symbol; uint8 public decimals; uint256 public totalSupply; // Function to access name of token . function name() constant returns (string _name) { return name; } // Function to access symbol of token . function symbol() constant returns (string _symbol) { return symbol; } // Function to access decimals of token . function decimals() constant returns (uint8 _decimals) { return decimals; } // Function to access total supply of tokens . function totalSupply() constant returns (uint256 _totalSupply) { return totalSupply; } // Function that is called when a user or another contract wants to transfer funds . function transfer(address _to, uint _value, bytes _data) returns (bool success) { if(isContract(_to)) { return transferToContract(_to, _value, _data); } else { return transferToAddress(_to, _value, _data); } } // Standard function transfer similar to ERC20 transfer with no _data . // Added due to backwards compatibility reasons . function transfer(address _to, uint _value) returns (bool success) { //standard function transfer similar to ERC20 transfer with no _data //added due to backwards compatibility reasons bytes memory empty; if(isContract(_to)) { return transferToContract(_to, _value, empty); } else { return transferToAddress(_to, _value, empty); } } //assemble the given address bytecode. If bytecode exists then the _addr is a contract. function isContract(address _addr) private returns (bool is_contract) { uint length; assembly { //retrieve the size of the code on target address, this needs assembly length := extcodesize(_addr) } if(length>0) { return true; } else { return false; } } //function that is called when transaction target is an address function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) { if (balanceOf(msg.sender) < _value) revert(); balances[msg.sender] = balanceOf(msg.sender).sub(_value); balances[_to] = balanceOf(_to).add(_value); Transfer(msg.sender, _to, _value); ERC223Transfer(msg.sender, _to, _value, _data); return true; } //function that is called when transaction target is a contract function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) { if (balanceOf(msg.sender) < _value) revert(); balances[msg.sender] = balanceOf(msg.sender).sub(_value); balances[_to] = balanceOf(_to).add(_value); ContractReceiver reciever = ContractReceiver(_to); reciever.tokenFallback(msg.sender, _value, _data); Transfer(msg.sender, _to, _value); ERC223Transfer(msg.sender, _to, _value, _data); return true; } function balanceOf(address _owner) constant returns (uint balance) { return balances[_owner]; } } contract Saturn is ERC223Token { string public name = "Saturn DAO Token"; string public symbol = "SATURN"; uint public decimals = 4; uint public totalSupply = 1000000000 * 10**4; function Saturn() { balances[msg.sender] = totalSupply; } }