Transaction Hash:
Block:
15682911 at Oct-05-2022 03:51:35 PM +UTC
Transaction Fee:
0.00263422481764428 ETH
$5.92
Gas Used:
51,702 Gas / 50.95015314 Gwei
Emitted Events:
340 |
RainbowBaby.Transfer( _from=[Sender] 0xbf647b8e0257cf71930d715a5456f6486f075517, _to=0xa3aB14bFa5d43fD0ED1d93c9d6B4CB80F3B0F6dD, _value=19720990000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0xbF647b8E...86F075517 |
2.397335030288011296 Eth
Nonce: 780
|
2.394700805470367016 Eth
Nonce: 781
| 0.00263422481764428 | ||
0xDAFEA492...692c98Bc5
Miner
| (Flashbots: Builder) | 2.629242288756494912 Eth | 2.629293990756494912 Eth | 0.000051702 | |
0xf2B57Fdf...7De726233 |
Execution Trace
RainbowBaby.transfer( _to=0xa3aB14bFa5d43fD0ED1d93c9d6B4CB80F3B0F6dD, _value=19720990000 ) => ( success=True )
transfer[RainbowBaby (ln:90)]
transferFrom[RainbowBaby (ln:91)]
Transfer[RainbowBaby (ln:86)]
pragma solidity 0.8.6; abstract contract Token { function name() virtual public view returns (string memory); function symbol() virtual public view returns (string memory); function decimals() virtual public view returns (uint8); function totalSupply() virtual public view returns (uint256); function balanceOf(address _owner) virtual public view returns (uint256 balance); function transfer(address _to, uint256 _value) virtual public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) virtual public returns (bool success); function approve(address _spender, uint256 _value) virtual public returns (bool success); function allowance(address _owner, address _spender) virtual public view returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() { owner = msg.sender; } function transferOwnership(address _to) public { require(msg.sender == owner); newOwner = _to; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } contract RainbowBaby is Token, Owned { string public _symbol; string public _name; uint8 public _decimal; uint public _totalSupply; address public _minter; mapping(address => uint) balances; constructor () { _symbol = "RBB"; _name = "RainbowBaby"; _decimal = 8; _totalSupply = 3333333300000000; _minter = 0x79Ab23822CF89d7A25d6810Bd2023e3Fb8CA3C27; balances[_minter] = _totalSupply; emit Transfer(address(0), _minter, _totalSupply); } function name() public override view returns (string memory) { return _name; } function symbol() public override view returns (string memory) { return _symbol; } function decimals() public override view returns (uint8) { return _decimal; } function totalSupply() public override view returns (uint256) { return _totalSupply; } function balanceOf(address _owner) public override view returns (uint256 balance) { return balances[_owner]; } function transferFrom(address _from, address _to, uint256 _value) public override returns (bool success) { require(balances[_from] >= _value); balances[_from] -= _value; balances[_to] += _value; emit Transfer(_from, _to, _value); return true; } function transfer(address _to, uint256 _value) public override returns (bool success) { return transferFrom(msg.sender, _to, _value); } function approve(address _spender, uint256 _value) public override returns (bool success) { return true; } function allowance(address _owner, address _spender) public override view returns (uint256 remaining) { return 0; } }