Transaction Hash:
Block:
10956090 at Sep-29-2020 07:34:22 AM +UTC
Transaction Fee:
0.005014827 ETH
$12.82
Gas Used:
44,379 Gas / 113 Gwei
Emitted Events:
127 |
Vybe.Approval( owner=[Sender] 0x9374176ba0e0e56d1f244b2f4ba32a794bf06e0e, spender=0x7a250d56...659F2488D, value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x3A1c1d1c...B37c97CE9 | |||||
0x9374176B...94BF06e0e |
0.172359307682697063 Eth
Nonce: 33
|
0.167344480682697063 Eth
Nonce: 34
| 0.005014827 | ||
0xEA674fdD...16B898ec8
Miner
| (Ethermine) | 622.883166436886017103 Eth | 622.888181263886017103 Eth | 0.005014827 |
Execution Trace
Vybe.approve( spender=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, amount=115792089237316195423570985008687907853269984665640564039457584007913129639935 ) => ( True )
{"IOwnershipTransferrable.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.7.0;\n\ninterface IOwnershipTransferrable {\n function transferOwnership(address owner) external;\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n}\n"},"Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.7.0;\n\nimport \"./IOwnershipTransferrable.sol\";\n\nabstract contract Ownable is IOwnershipTransferrable {\n address private _owner;\n\n constructor(address owner) {\n _owner = owner;\n emit OwnershipTransferred(address(0), _owner);\n }\n\n function owner() public view returns (address) {\n return _owner;\n }\n\n modifier onlyOwner() {\n require(_owner == msg.sender, \"Ownable: caller is not the owner\");\n _;\n }\n\n function transferOwnership(address newOwner) override external onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n}\n"},"SafeMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.7.0;\n\nlibrary SafeMath {\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c \u003e= a);\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b \u003c= a);\n uint256 c = a - b;\n return c;\n }\n\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n uint256 c = a * b;\n require(c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b \u003e 0);\n uint256 c = a / b;\n return c;\n }\n\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0);\n return a % b;\n }\n}\n"},"Vybe.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.7.0;\n\nimport \"./SafeMath.sol\";\nimport \"./Ownable.sol\";\n\ncontract Vybe is Ownable {\n using SafeMath for uint256;\n\n uint256 constant UINT256_MAX = ~uint256(0);\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n uint256 private _totalSupply;\n mapping(address =\u003e uint256) private _balances;\n mapping(address =\u003e mapping(address =\u003e uint256)) private _allowances;\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n constructor() Ownable(msg.sender) {\n _name = \"Vybe\";\n _symbol = \"VYBE\";\n _decimals = 18;\n\n _totalSupply = 2000000 * 1e18;\n _balances[msg.sender] = _totalSupply;\n emit Transfer(address(0), msg.sender, _totalSupply);\n }\n\n function name() external view returns (string memory) {\n return _name;\n }\n\n function symbol() external view returns (string memory) {\n return _symbol;\n }\n\n function decimals() external view returns (uint8) {\n return _decimals;\n }\n\n function totalSupply() external view returns (uint256) {\n return _totalSupply;\n }\n\n function balanceOf(address account) external view returns (uint256) {\n return _balances[account];\n }\n\n function allowance(address owner, address spender) external view returns (uint256) {\n return _allowances[owner][spender];\n }\n\n function transfer(address recipient, uint256 amount) external returns (bool) {\n _transfer(msg.sender, recipient, amount);\n return true;\n }\n\n function approve(address spender, uint256 amount) external returns (bool) {\n _approve(msg.sender, spender, amount);\n return true;\n }\n\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {\n _transfer(sender, recipient, amount);\n if (_allowances[msg.sender][sender] != UINT256_MAX) {\n _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));\n }\n return true;\n }\n\n function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {\n _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));\n return true;\n }\n\n function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {\n _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));\n return true;\n }\n\n function _transfer(address sender, address recipient, uint256 amount) internal {\n require(sender != address(0));\n require(recipient != address(0));\n\n _balances[sender] = _balances[sender].sub(amount);\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n function _approve(address owner, address spender, uint256 amount) internal {\n require(owner != address(0));\n require(spender != address(0));\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n function mint(address account, uint256 amount) external onlyOwner {\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n function burn(uint256 amount) external returns (bool) {\n _balances[msg.sender] = _balances[msg.sender].sub(amount);\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(msg.sender, address(0), amount);\n return true;\n }\n}\n"}}