Transaction Hash:
Block:
11552266 at Dec-30-2020 01:08:20 AM +UTC
Transaction Fee:
0.004711964074725603 ETH
$10.27
Gas Used:
51,217 Gas / 92.000001459 Gwei
Emitted Events:
| 242 |
IPFCToken.Transfer( _from=[Sender] 0x90ab23483b72c185b4c517b3db34f3e89064149a, _to=0xC279A82a405Aff62bC76b01ee53c14ebc586Fc70, _value=1000000000 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x90aB2348...89064149a |
0.67900769812878073 Eth
Nonce: 404
|
0.674295734054055127 Eth
Nonce: 405
| 0.004711964074725603 | ||
| 0xc4EC4C91...77f7E1eFb | |||||
|
0xEA674fdD...16B898ec8
Miner
| (Ethermine) | 956.988344475006616397 Eth | 956.993056439081342 Eth | 0.004711964074725603 |
Execution Trace
IPFCToken.transfer( _to=0xC279A82a405Aff62bC76b01ee53c14ebc586Fc70, _value=1000000000 ) => ( success=True )
transfer[ERC20 (ln:10)]
pragma solidity ^0.4.26;
/**
* ERC20 token
*
* https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 {
function balanceOf(address _owner) constant returns (uint);
function allowance(address _owner, address _spender) constant returns (uint);
function transfer(address _to, uint _value) returns (bool ok);
function transferFrom(address _from, address _to, uint _value) returns (bool ok);
function approve(address _spender, uint _value) returns (bool ok);
event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
event Burn(address target,uint amount);
}
contract SafeMath {
function safeMul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeDiv(uint a, uint b) internal returns (uint) {
assert(b > 0);
uint c = a / b;
assert(a == b * c + a % b);
return c;
}
function safeSub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function safeAdd(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c>=a && c>=b);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function assert(bool assertion) internal {
if (!assertion) {
throw;
}
}
}
contract StandardToken is ERC20, SafeMath {
mapping(address => uint) balances;
mapping (address => mapping (address => uint)) allowed;
modifier onlyPayloadSize(uint size) {
if(msg.data.length < size + 4) {
throw;
}
_;
}
function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], _value);
balances[_to] = safeAdd(balances[_to], _value);
Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint _value) returns (bool success) {
var _allowance = allowed[_from][msg.sender];
balances[_to] = safeAdd(balances[_to], _value);
balances[_from] = safeSub(balances[_from], _value);
allowed[_from][msg.sender] = safeSub(_allowance, _value);
Transfer(_from, _to, _value);
return true;
}
function balanceOf(address _owner) constant returns (uint balance) {
return balances[_owner];
}
function approve(address _spender, uint _value) returns (bool success) {
if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint remaining) {
return allowed[_owner][_spender];
}
}
/**
** Burn token function
**/
contract BurnableToken is StandardToken {
address public constant BURN_ADDRESS = 0;
uint256 public totalSupply;
function burn(uint burnAmount) {
require(balances[msg.sender]>=burnAmount);
totalSupply-=burnAmount;
balances[msg.sender]-=burnAmount;
emit Burn(msg.sender,burnAmount);
}
}
contract IPFCToken is BurnableToken {
string public name;
string public symbol;
uint8 public decimals = 6;
function IPFCToken(address _owner, string _name, string _symbol, uint _totalSupply, uint8 _decimals) {
name = _name;
symbol = _symbol;
totalSupply = _totalSupply * 10 ** uint256(_decimals);
decimals = _decimals;
if(_owner!= 0x0){
_owner = msg.sender;
}
balances[_owner] = totalSupply;
}
}