Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 5973329 | 2257 days ago | IN | 0 ETH | 0.00652102 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenDB
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-07-20 */ pragma solidity 0.4.24; contract Owned { /* Variables */ address public owner = msg.sender; /* Constructor */ constructor(address _owner) public { if ( _owner == 0x00 ) { _owner = msg.sender; } owner = _owner; } /* Externals */ function replaceOwner(address _owner) external returns(bool) { require( isOwner() ); owner = _owner; return true; } /* Internals */ function isOwner() internal view returns(bool) { return owner == msg.sender; } /* Modifiers */ modifier forOwner { require( isOwner() ); _; } } library SafeMath { /* Internals */ function add(uint256 a, uint256 b) internal pure returns(uint256 c) { c = a + b; assert( c >= a ); return c; } function sub(uint256 a, uint256 b) internal pure returns(uint256 c) { c = a - b; assert( c <= a ); return c; } function mul(uint256 a, uint256 b) internal pure returns(uint256 c) { c = a * b; assert( c == 0 || c / a == b ); return c; } function div(uint256 a, uint256 b) internal pure returns(uint256) { return a / b; } function pow(uint256 a, uint256 b) internal pure returns(uint256 c) { c = a ** b; assert( c % a == 0 ); return a ** b; } } contract TokenDB is Owned { /* Declarations */ using SafeMath for uint256; /* Structures */ struct balances_s { uint256 amount; bool valid; } /* Variables */ mapping(address => mapping(address => uint256)) public allowance; mapping(address => balances_s) public balances; address public tokenAddress; address public oldDBAddress; /* Constructor */ constructor(address _owner, address _tokenAddress, address _icoAddress, address _oldDBAddress) Owned(_owner) public { if ( _oldDBAddress == 0x00 && _icoAddress != 0x00 ) { balances[_icoAddress].amount = 44e16; } oldDBAddress = _oldDBAddress; tokenAddress = _tokenAddress; } /* Externals */ function changeTokenAddress(address _tokenAddress) external forOwner { tokenAddress = _tokenAddress; } function transfer(address _from, address _to, uint256 _amount) external forToken returns(bool _success) { uint256 _senderBalance = _getBalance(_from); uint256 _receiverBalance = _getBalance(_to); balances[_from].amount = _senderBalance.sub(_amount); balances[_to].amount = _receiverBalance.add(_amount); return true; } function bulkTransfer(address _from, address[] _to, uint256[] _amount) external forToken returns(bool _success) { uint256 _senderBalance = _getBalance(_from); uint256 _receiverBalance; uint256 i; for ( i=0 ; i<_to.length ; i++ ) { _receiverBalance = _getBalance(_to[i]); _senderBalance = _senderBalance.sub(_amount[i]); balances[_to[i]].amount = _receiverBalance.add(_amount[i]); } balances[_from].amount = _senderBalance; return true; } function setAllowance(address _owner, address _spender, uint256 _amount) external forToken returns(bool _success) { allowance[_owner][_spender] = _amount; return true; } /* Constants */ function getAllowance(address _owner, address _spender) public view returns(bool _success, uint256 _remaining) { return ( true, allowance[_owner][_spender] ); } function balanceOf(address _owner) public view returns(bool _success, uint256 _balance) { return ( true, _getBalance(_owner) ); } /* Internals */ function _getBalance(address _owner) internal returns(uint256 _balance) { if ( ( ! balances[_owner].valid ) && oldDBAddress != 0x00 ) { bool _subResult; ( _subResult, _balance ) = TokenDB(oldDBAddress).balanceOf(_owner); balances[_owner].amount = _balance; balances[_owner].valid = true; } return balances[_owner].amount; } /* Modifiers */ modifier forToken { require( msg.sender == tokenAddress ); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"getAllowance","outputs":[{"name":"_success","type":"bool"},{"name":"_remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"amount","type":"uint256"},{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_success","type":"bool"},{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldDBAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"replaceOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"changeTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"setAllowance","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"name":"bulkTransfer","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_tokenAddress","type":"address"},{"name":"_icoAddress","type":"address"},{"name":"_oldDBAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
Contract Creation Code
608060405260008054600160a060020a0319163317905534801561002257600080fd5b50604051608080610876833981016040908152815160208301519183015160609093015190929083600160a060020a038116151561005d5750335b60008054600160a060020a031916600160a060020a0392831617905581161580156100905750600160a060020a03821615155b156100b957600160a060020a038216600090815260026020526040902067061b31ab352c000090555b60048054600160a060020a03928316600160a060020a0319918216179091556003805494909216931692909217909155505061077c806100fa6000396000f3006080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630af4187d81146100be57806327e235e31461010057806370a082311461013a5780637e7dd5811461015b5780638da5cb5b1461018c5780639d76ea58146101a1578063a39a45b7146101b6578063beabacc8146101eb578063c9cda91f14610215578063da46098c14610238578063dd62ed3e14610262578063e886dade1461029b575b600080fd5b3480156100ca57600080fd5b506100e5600160a060020a03600435811690602435166102d4565b60408051921515835260208301919091528051918290030190f35b34801561010c57600080fd5b50610121600160a060020a0360043516610303565b6040805192835290151560208301528051918290030190f35b34801561014657600080fd5b506100e5600160a060020a036004351661031f565b34801561016757600080fd5b50610170610336565b60408051600160a060020a039092168252519081900360200190f35b34801561019857600080fd5b50610170610345565b3480156101ad57600080fd5b50610170610354565b3480156101c257600080fd5b506101d7600160a060020a0360043516610363565b604080519115158252519081900360200190f35b3480156101f757600080fd5b506101d7600160a060020a03600435811690602435166044356103aa565b34801561022157600080fd5b50610236600160a060020a036004351661043d565b005b34801561024457600080fd5b506101d7600160a060020a036004358116906024351660443561047f565b34801561026e57600080fd5b50610289600160a060020a03600435811690602435166104cb565b60408051918252519081900360200190f35b3480156102a757600080fd5b506101d760048035600160a060020a031690602480358082019290810135916044359081019101356104e8565b600160a060020a0380831660009081526001602081815260408084209486168452939052919020549250929050565b6002602052600090815260409020805460019091015460ff1682565b600080600161032d846105f8565b91509150915091565b600454600160a060020a031681565b600054600160a060020a031681565b600354600160a060020a031681565b600061036d61071f565b151561037857600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60035460009081908190600160a060020a031633146103c857600080fd5b6103d1866105f8565b91506103dc856105f8565b90506103ee828563ffffffff61073016565b600160a060020a038716600090815260026020526040902055610417818563ffffffff61074316565b600160a060020a0386166000908152600260205260409020556001925050509392505050565b61044561071f565b151561045057600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600354600090600160a060020a0316331461049957600080fd5b50600160a060020a03808416600090815260016020818152604080842094871684529390529190208290559392505050565b600160209081526000928352604080842090915290825290205481565b600354600090819081908190600160a060020a0316331461050857600080fd5b610511896105f8565b9250600090505b868110156105cd5761054488888381811061052f57fe5b90506020020135600160a060020a03166105f8565b915061056b86868381811061055557fe5b905060200201358461073090919063ffffffff16565b925061059286868381811061057c57fe5b905060200201358361074390919063ffffffff16565b600260008a8a858181106105a257fe5b60209081029290920135600160a060020a031683525081019190915260400160002055600101610518565b600160a060020a03891660009081526002602052604090208390556001935050505095945050505050565b600160a060020a038116600090815260026020526040812060010154819060ff161580156106305750600454600160a060020a031615155b156107025760048054604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a0387811694820194909452815193909216926370a082319260248082019392918290030181600087803b15801561069d57600080fd5b505af11580156106b1573d6000803e3d6000fd5b505050506040513d60408110156106c757600080fd5b508051602091820151600160a060020a0386166000908152600290935260409092208281556001908101805460ff1916909117905590925090505b5050600160a060020a031660009081526002602052604090205490565b600054600160a060020a0316331490565b8082038281111561073d57fe5b92915050565b8181018281101561073d57fe00a165627a7a7230582049ba5a569a4b434c1d0e1c1007364aedfee06dae6010f78c184a1354772f589e0029000000000000000000000000da8c0c6311ab6e43aa1c14967ad7abc6035b9596000000000000000000000000f784682c82526e245f50975190ef0fff4e4fc077000000000000000000000000578fa4ab3b27a94fe97bd52167f1b02da20d31e80000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630af4187d81146100be57806327e235e31461010057806370a082311461013a5780637e7dd5811461015b5780638da5cb5b1461018c5780639d76ea58146101a1578063a39a45b7146101b6578063beabacc8146101eb578063c9cda91f14610215578063da46098c14610238578063dd62ed3e14610262578063e886dade1461029b575b600080fd5b3480156100ca57600080fd5b506100e5600160a060020a03600435811690602435166102d4565b60408051921515835260208301919091528051918290030190f35b34801561010c57600080fd5b50610121600160a060020a0360043516610303565b6040805192835290151560208301528051918290030190f35b34801561014657600080fd5b506100e5600160a060020a036004351661031f565b34801561016757600080fd5b50610170610336565b60408051600160a060020a039092168252519081900360200190f35b34801561019857600080fd5b50610170610345565b3480156101ad57600080fd5b50610170610354565b3480156101c257600080fd5b506101d7600160a060020a0360043516610363565b604080519115158252519081900360200190f35b3480156101f757600080fd5b506101d7600160a060020a03600435811690602435166044356103aa565b34801561022157600080fd5b50610236600160a060020a036004351661043d565b005b34801561024457600080fd5b506101d7600160a060020a036004358116906024351660443561047f565b34801561026e57600080fd5b50610289600160a060020a03600435811690602435166104cb565b60408051918252519081900360200190f35b3480156102a757600080fd5b506101d760048035600160a060020a031690602480358082019290810135916044359081019101356104e8565b600160a060020a0380831660009081526001602081815260408084209486168452939052919020549250929050565b6002602052600090815260409020805460019091015460ff1682565b600080600161032d846105f8565b91509150915091565b600454600160a060020a031681565b600054600160a060020a031681565b600354600160a060020a031681565b600061036d61071f565b151561037857600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60035460009081908190600160a060020a031633146103c857600080fd5b6103d1866105f8565b91506103dc856105f8565b90506103ee828563ffffffff61073016565b600160a060020a038716600090815260026020526040902055610417818563ffffffff61074316565b600160a060020a0386166000908152600260205260409020556001925050509392505050565b61044561071f565b151561045057600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600354600090600160a060020a0316331461049957600080fd5b50600160a060020a03808416600090815260016020818152604080842094871684529390529190208290559392505050565b600160209081526000928352604080842090915290825290205481565b600354600090819081908190600160a060020a0316331461050857600080fd5b610511896105f8565b9250600090505b868110156105cd5761054488888381811061052f57fe5b90506020020135600160a060020a03166105f8565b915061056b86868381811061055557fe5b905060200201358461073090919063ffffffff16565b925061059286868381811061057c57fe5b905060200201358361074390919063ffffffff16565b600260008a8a858181106105a257fe5b60209081029290920135600160a060020a031683525081019190915260400160002055600101610518565b600160a060020a03891660009081526002602052604090208390556001935050505095945050505050565b600160a060020a038116600090815260026020526040812060010154819060ff161580156106305750600454600160a060020a031615155b156107025760048054604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a0387811694820194909452815193909216926370a082319260248082019392918290030181600087803b15801561069d57600080fd5b505af11580156106b1573d6000803e3d6000fd5b505050506040513d60408110156106c757600080fd5b508051602091820151600160a060020a0386166000908152600290935260409092208281556001908101805460ff1916909117905590925090505b5050600160a060020a031660009081526002602052604090205490565b600054600160a060020a0316331490565b8082038281111561073d57fe5b92915050565b8181018281101561073d57fe00a165627a7a7230582049ba5a569a4b434c1d0e1c1007364aedfee06dae6010f78c184a1354772f589e0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000da8c0c6311ab6e43aa1c14967ad7abc6035b9596000000000000000000000000f784682c82526e245f50975190ef0fff4e4fc077000000000000000000000000578fa4ab3b27a94fe97bd52167f1b02da20d31e80000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _owner (address): 0xda8c0c6311ab6E43aa1C14967ad7aBc6035B9596
Arg [1] : _tokenAddress (address): 0xF784682C82526e245F50975190EF0fff4E4fC077
Arg [2] : _icoAddress (address): 0x578FA4ab3B27A94fe97Bd52167F1B02dA20D31e8
Arg [3] : _oldDBAddress (address): 0x0000000000000000000000000000000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000da8c0c6311ab6e43aa1c14967ad7abc6035b9596
Arg [1] : 000000000000000000000000f784682c82526e245f50975190ef0fff4e4fc077
Arg [2] : 000000000000000000000000578fa4ab3b27a94fe97bd52167f1b02da20d31e8
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://49ba5a569a4b434c1d0e1c1007364aedfee06dae6010f78c184a1354772f589e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.