Transaction Hash:
Block:
11243732 at Nov-12-2020 04:01:24 PM +UTC
Transaction Fee:
0.00221675 ETH
$5.04
Gas Used:
44,335 Gas / 50 Gwei
Emitted Events:
| 299 |
DMScript.Approval( _owner=[Sender] 0x872ee23176f51ad59d1c2876c0572a0f672f33ec, _spender=0x7a250d56...659F2488D, _value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
|
0x6a7a43BE...A7ADB9B1F
Miner
| (Coinotron 3) | 9.442481471151230698 Eth | 9.444698221151230698 Eth | 0.00221675 | |
| 0x872eE231...f672F33EC |
0.0139253005 Eth
Nonce: 31
|
0.0117085505 Eth
Nonce: 32
| 0.00221675 | ||
| 0xF29992D7...EB73EaF85 |
Execution Trace
DMScript.approve( _spender=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, _amount=115792089237316195423570985008687907853269984665640564039457584007913129639935 ) => ( success=True )
approve[ERC20 (ln:26)]
pragma solidity ^0.6.6;
contract Owned {
modifier onlyOwner() {
require(msg.sender==owner);
_;
}
address payable owner;
address payable newOwner;
function changeOwner(address payable _newOwner) public onlyOwner {
require(_newOwner!=address(0));
newOwner = _newOwner;
}
function acceptOwnership() public {
if (msg.sender==newOwner) {
owner = newOwner;
}
}
}
abstract contract ERC20 {
uint256 public totalSupply;
function balanceOf(address _owner) view public virtual returns (uint256 balance);
function transfer(address _to, uint256 _value) public virtual returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public virtual returns (bool success);
function approve(address _spender, uint256 _value) public virtual returns (bool success);
function allowance(address _owner, address _spender) view public virtual returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract Token is Owned, ERC20 {
string public symbol;
string public name;
uint8 public decimals;
mapping (address=>uint256) balances;
mapping (address=>mapping (address=>uint256)) allowed;
function balanceOf(address _owner) view public virtual override returns (uint256 balance) {return balances[_owner];}
function transfer(address _to, uint256 _amount) public virtual override returns (bool success) {
require (balances[msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]);
balances[msg.sender]-=_amount;
balances[_to]+=_amount;
emit Transfer(msg.sender,_to,_amount);
return true;
}
function transferFrom(address _from,address _to,uint256 _amount) public virtual override returns (bool success) {
require (balances[_from]>=_amount&&allowed[_from][msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]);
balances[_from]-=_amount;
allowed[_from][msg.sender]-=_amount;
balances[_to]+=_amount;
emit Transfer(_from, _to, _amount);
return true;
}
function approve(address _spender, uint256 _amount) public virtual override returns (bool success) {
allowed[msg.sender][_spender]=_amount;
emit Approval(msg.sender, _spender, _amount);
return true;
}
function allowance(address _owner, address _spender) view public virtual override returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}
contract DMScript is Token{
constructor() public{
symbol = "DMST";
name = "DMScript";
decimals = 18;
totalSupply = 100000000000000000000000000;
owner = msg.sender;
balances[owner] = totalSupply;
}
receive () payable external {
require(msg.value>0);
owner.transfer(msg.value);
}
}