Transaction Hash:
Block:
14138157 at Feb-04-2022 07:24:41 AM +UTC
Transaction Fee:
0.004153274 ETH
$10.46
Gas Used:
46,666 Gas / 89 Gwei
Emitted Events:
62 |
BHDT.Approval( _owner=[Sender] 0xa9bb8490b13414d490d84df4d8f672f4ee5699ff, _spender=0x7a250d56...659F2488D, _value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1aD91ee0...dA6B45836
Miner
| (Hiveon Pool) | 10,558.943373792860966451 Eth | 10,558.943563762459816269 Eth | 0.000189969598849818 | |
0xA9BB8490...4Ee5699FF |
0.03430816398066943 Eth
Nonce: 1150
|
0.03015488998066943 Eth
Nonce: 1151
| 0.004153274 | ||
0xe13C7A47...016Bb1AC3 |
Execution Trace
BHDT.approve( _spender=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, _amount=115792089237316195423570985008687907853269984665640564039457584007913129639935 ) => ( success=True )
approve[BHDT (ln:69)]
Approval[BHDT (ln:73)]
pragma solidity ^0.4.26; // Math operations with safety checks that throw on error library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); return a - b; } } // Abstract contract for the full ERC 20 Token standard contract ERC20 { function balanceOf(address _address) public view returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) 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); } // Token contract contract BHDT is ERC20 { string public name = "Bounty Hunter DEX Token"; string public symbol = "BHDT"; uint8 public decimals = 18; // 总发行量1千个 uint256 public totalSupply = 1000 * 10**18; mapping (address => uint256) public balances; mapping (address => mapping (address => uint256)) public allowed; constructor() public { balances[msg.sender] = totalSupply; } function balanceOf(address _address) public view returns (uint256 balance) { return balances[_address]; } function transfer(address _to, uint256 _value) public returns (bool success) { require(_to != address(0)); require(balances[msg.sender] >= _value && _value > 0, "Insufficient balance or zero amount"); balances[msg.sender] = SafeMath.sub(balances[msg.sender], _value); balances[_to] = SafeMath.add(balances[_to], _value); emit Transfer(msg.sender, _to, _value); return true; } function approve(address _spender, uint256 _amount) public returns (bool success) { require(_spender != address(0)); require((allowed[msg.sender][_spender] == 0) || (_amount == 0)); allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_from != address(0) && _to != address(0)); require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0, "Insufficient balance or zero amount"); balances[_from] = SafeMath.sub(balances[_from], _value); balances[_to] = SafeMath.add(balances[_to], _value); allowed[_from][msg.sender] = SafeMath.sub(allowed[_from][msg.sender], _value); emit Transfer(_from, _to, _value); return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } }