Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
Latest 25 from a total of 1,439 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Take Back | 6393562 | 2149 days ago | IN | 0 ETH | 0.0001005 | ||||
Take Back | 6379416 | 2151 days ago | IN | 0 ETH | 0.00002093 | ||||
Take Back | 6269743 | 2169 days ago | IN | 0 ETH | 0.00004181 | ||||
Take Back | 6265432 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265356 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265323 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265281 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265281 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265268 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265219 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265177 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265157 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265157 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265157 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265152 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265116 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6265088 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265087 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265087 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265044 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6265028 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6264924 | 2170 days ago | IN | 0 ETH | 0.00008363 | ||||
Take Back | 6264921 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6264814 | 2170 days ago | IN | 0 ETH | 0.00008375 | ||||
Take Back | 6264754 | 2170 days ago | IN | 0 ETH | 0.0000835 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TakeBack
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-08-06 */ pragma solidity ^0.4.23; // File: openzeppelin-solidity/contracts/ownership/Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: contracts/TakeBack.sol contract TakeBack is Ownable{ // address of RING.sol on ethereum address public tokenAdd; address public supervisor; uint256 public networkId; mapping (address => uint256) public userToNonce; // used for old&new users to claim their ring out event TakedBack(address indexed _user, uint indexed _nonce, uint256 _value); // used for supervisor to claim all kind of token event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount); constructor(address _token, address _supervisor, uint256 _networkId) public { tokenAdd = _token; supervisor = _supervisor; networkId = _networkId; } // _hashmessage = hash("${_user}${_nonce}${_value}") // _v, _r, _s are from supervisor's signature on _hashmessage // claimRing(...) is invoked by the user who want to claim rings // while the _hashmessage is signed by supervisor function takeBack(uint256 _nonce, uint256 _value, bytes32 _hashmessage, uint8 _v, bytes32 _r, bytes32 _s) public { address _user = msg.sender; // verify the _nonce is right require(userToNonce[_user] == _nonce); // verify the _hashmessage is signed by supervisor require(supervisor == verify(_hashmessage, _v, _r, _s)); // verify that the _user, _nonce, _value are exactly what they should be require(keccak256(abi.encodePacked(_user,_nonce,_value,networkId)) == _hashmessage); // transfer token from address(this) to _user ERC20 token = ERC20(tokenAdd); token.transfer(_user, _value); // after the claiming operation succeeds userToNonce[_user] += 1; emit TakedBack(_user, _nonce, _value); } function verify(bytes32 _hashmessage, uint8 _v, bytes32 _r, bytes32 _s) internal pure returns (address) { bytes memory prefix = "\x19EvolutionLand Signed Message:\n32"; bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, _hashmessage)); address signer = ecrecover(prefixedHash, _v, _r, _s); return signer; } function claimTokens(address _token) public onlyOwner { if (_token == 0x0) { owner.transfer(address(this).balance); return; } ERC20 token = ERC20(_token); uint balance = token.balanceOf(this); token.transfer(owner, balance); emit ClaimedTokens(_token, owner, balance); } function changeSupervisor(address _newSupervisor) public onlyOwner { supervisor = _newSupervisor; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"supervisor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"networkId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userToNonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenAdd","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nonce","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_hashmessage","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"takeBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newSupervisor","type":"address"}],"name":"changeSupervisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_supervisor","type":"address"},{"name":"_networkId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"},{"indexed":true,"name":"_nonce","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"TakedBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_controller","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516060806109a983398101604090815281516020830151919092015160008054600160a060020a0319908116331790915560018054600160a060020a039586169083161790556002805494909316931692909217905560035561092e8061007b6000396000f3006080604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166356e4b68b81146100a8578063715018a6146100d95780638da5cb5b146100f05780639025e64c14610105578063d87a794f1461012c578063df8de3e71461014d578063e29f99f01461016e578063e4cdf3cc14610183578063ee0c0346146101ad578063f2fde38b146101ce575b600080fd5b3480156100b457600080fd5b506100bd6101ef565b60408051600160a060020a039092168252519081900360200190f35b3480156100e557600080fd5b506100ee6101fe565b005b3480156100fc57600080fd5b506100bd61026a565b34801561011157600080fd5b5061011a610279565b60408051918252519081900360200190f35b34801561013857600080fd5b5061011a600160a060020a036004351661027f565b34801561015957600080fd5b506100ee600160a060020a0360043516610291565b34801561017a57600080fd5b506100bd610478565b34801561018f57600080fd5b506100ee60043560243560443560ff6064351660843560a435610487565b3480156101b957600080fd5b506100ee600160a060020a0360043516610693565b3480156101da57600080fd5b506100ee600160a060020a03600435166106d9565b600254600160a060020a031681565b600054600160a060020a0316331461021557600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60035481565b60046020526000908152604090205481565b600080548190600160a060020a031633146102ab57600080fd5b600160a060020a03831615156102fc5760008054604051600160a060020a0390911691303180156108fc02929091818181858888f193505050501580156102f6573d6000803e3d6000fd5b50610473565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561040057600080fd5b505af1158015610414573d6000803e3d6000fd5b505050506040513d602081101561042a57600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600154600160a060020a031681565b3360008181526004602052604081205488146104a257600080fd5b6104ae868686866106fc565b600254600160a060020a039081169116146104c857600080fd5b85600019168289896003546040516020018085600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018481526020018381526020018281526020019450505050506040516020818303038152906040526040518082805190602001908083835b602083106105575780518252601f199092019160209182019101610538565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561059457600080fd5b50600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018a905291519190921691829163a9059cbb916044808201926020929091908290030181600087803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b505050506040513d602081101561063157600080fd5b5050600160a060020a0382166000818152600460209081526040918290208054600101905581518a815291518b93927f947388a4a9d9f5a626e1867acb228f28168d398c4c1f411e50428581024f81b892908290030190a35050505050505050565b600054600160a060020a031633146106aa57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146106f057600080fd5b6106f981610885565b50565b6040805160608101825260218082527f1945766f6c7574696f6e4c616e64205369676e6564204d6573736167653a0a3360208084019182527f32000000000000000000000000000000000000000000000000000000000000008486015293516000948593849386938c9301918291908083835b6020831061078e5780518252601f19909201916020918201910161076f565b51815160209384036101000a600019018019909216911617905292019384525060408051808503815293820190819052835193945092839250908401908083835b602083106107ee5780518252601f1990920191602091820191016107cf565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8f1684870152606084018e9052608084018d905294519098506001965060a080840196509194601f19820194509281900390910191865af115801561086e573d6000803e3d6000fd5b5050604051601f1901519998505050505050505050565b600160a060020a038116151561089a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058203dac510c7a40db5687853931de1ad32aca909914ec171c33d97ad8d44dea7cd0002900000000000000000000000086e56f3c89a14528858e58b3de48c074538baf2c000000000000000000000000536deacedc6e972822b9e78571786b5a6dd10c8a0000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x6080604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166356e4b68b81146100a8578063715018a6146100d95780638da5cb5b146100f05780639025e64c14610105578063d87a794f1461012c578063df8de3e71461014d578063e29f99f01461016e578063e4cdf3cc14610183578063ee0c0346146101ad578063f2fde38b146101ce575b600080fd5b3480156100b457600080fd5b506100bd6101ef565b60408051600160a060020a039092168252519081900360200190f35b3480156100e557600080fd5b506100ee6101fe565b005b3480156100fc57600080fd5b506100bd61026a565b34801561011157600080fd5b5061011a610279565b60408051918252519081900360200190f35b34801561013857600080fd5b5061011a600160a060020a036004351661027f565b34801561015957600080fd5b506100ee600160a060020a0360043516610291565b34801561017a57600080fd5b506100bd610478565b34801561018f57600080fd5b506100ee60043560243560443560ff6064351660843560a435610487565b3480156101b957600080fd5b506100ee600160a060020a0360043516610693565b3480156101da57600080fd5b506100ee600160a060020a03600435166106d9565b600254600160a060020a031681565b600054600160a060020a0316331461021557600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60035481565b60046020526000908152604090205481565b600080548190600160a060020a031633146102ab57600080fd5b600160a060020a03831615156102fc5760008054604051600160a060020a0390911691303180156108fc02929091818181858888f193505050501580156102f6573d6000803e3d6000fd5b50610473565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561040057600080fd5b505af1158015610414573d6000803e3d6000fd5b505050506040513d602081101561042a57600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600154600160a060020a031681565b3360008181526004602052604081205488146104a257600080fd5b6104ae868686866106fc565b600254600160a060020a039081169116146104c857600080fd5b85600019168289896003546040516020018085600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018481526020018381526020018281526020019450505050506040516020818303038152906040526040518082805190602001908083835b602083106105575780518252601f199092019160209182019101610538565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561059457600080fd5b50600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018a905291519190921691829163a9059cbb916044808201926020929091908290030181600087803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b505050506040513d602081101561063157600080fd5b5050600160a060020a0382166000818152600460209081526040918290208054600101905581518a815291518b93927f947388a4a9d9f5a626e1867acb228f28168d398c4c1f411e50428581024f81b892908290030190a35050505050505050565b600054600160a060020a031633146106aa57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146106f057600080fd5b6106f981610885565b50565b6040805160608101825260218082527f1945766f6c7574696f6e4c616e64205369676e6564204d6573736167653a0a3360208084019182527f32000000000000000000000000000000000000000000000000000000000000008486015293516000948593849386938c9301918291908083835b6020831061078e5780518252601f19909201916020918201910161076f565b51815160209384036101000a600019018019909216911617905292019384525060408051808503815293820190819052835193945092839250908401908083835b602083106107ee5780518252601f1990920191602091820191016107cf565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8f1684870152606084018e9052608084018d905294519098506001965060a080840196509194601f19820194509281900390910191865af115801561086e573d6000803e3d6000fd5b5050604051601f1901519998505050505050505050565b600160a060020a038116151561089a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058203dac510c7a40db5687853931de1ad32aca909914ec171c33d97ad8d44dea7cd00029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000086e56f3c89a14528858e58b3de48c074538baf2c000000000000000000000000536deacedc6e972822b9e78571786b5a6dd10c8a0000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : _token (address): 0x86E56f3c89a14528858e58B3De48c074538BAf2c
Arg [1] : _supervisor (address): 0x536DeaCEdC6E972822b9e78571786B5a6dd10c8A
Arg [2] : _networkId (uint256): 1
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000086e56f3c89a14528858e58b3de48c074538baf2c
Arg [1] : 000000000000000000000000536deacedc6e972822b9e78571786b5a6dd10c8a
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Swarm Source
bzzr://3dac510c7a40db5687853931de1ad32aca909914ec171c33d97ad8d44dea7cd0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.