Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Latest 25 from a total of 474 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Destroy | 19433889 | 367 days ago | IN | 0 ETH | 0.00329045 | ||||
Destroy Benefici... | 19431166 | 367 days ago | IN | 0 ETH | 0.00306086 | ||||
Transfer | 17177309 | 683 days ago | IN | 0.00182454 ETH | 0.00678818 | ||||
Transfer | 17175226 | 684 days ago | IN | 0.0000154 ETH | 0.00971914 | ||||
Transfer | 14121698 | 1139 days ago | IN | 0 ETH | 0.00447061 | ||||
Transfer | 12883423 | 1332 days ago | IN | 0 ETH | 0.00333142 | ||||
Destroy Benefici... | 12865588 | 1335 days ago | IN | 0 ETH | 0.00359564 | ||||
Add Beneficiary | 12865441 | 1335 days ago | IN | 0 ETH | 0.00188447 | ||||
Destroy Benefici... | 12859337 | 1336 days ago | IN | 0 ETH | 0.00513663 | ||||
Add Beneficiary | 12859320 | 1336 days ago | IN | 0 ETH | 0.00310233 | ||||
Destroy Benefici... | 12859164 | 1336 days ago | IN | 0 ETH | 0.00279248 | ||||
Destroy Benefici... | 12859103 | 1336 days ago | IN | 0 ETH | 0.0034672 | ||||
Destroy Benefici... | 12859103 | 1336 days ago | IN | 0 ETH | 0.00259364 | ||||
Destroy Benefici... | 12859047 | 1336 days ago | IN | 0 ETH | 0.00288934 | ||||
Destroy Benefici... | 12859031 | 1336 days ago | IN | 0 ETH | 0.00278454 | ||||
Destroy Benefici... | 12859027 | 1336 days ago | IN | 0 ETH | 0.00245153 | ||||
Destroy Benefici... | 12859027 | 1336 days ago | IN | 0 ETH | 0.00164075 | ||||
Destroy Benefici... | 12858965 | 1336 days ago | IN | 0 ETH | 0.00161117 | ||||
Destroy Benefici... | 12858940 | 1336 days ago | IN | 0 ETH | 0.00154826 | ||||
Transfer | 12681844 | 1363 days ago | IN | 0 ETH | 0.00230837 | ||||
Transfer | 12680839 | 1363 days ago | IN | 0 ETH | 0.00333502 | ||||
Transfer | 12512895 | 1390 days ago | IN | 0 ETH | 0.00216862 | ||||
Transfer | 12504959 | 1391 days ago | IN | 0 ETH | 0.001029 | ||||
Destroy Benefici... | 12207299 | 1437 days ago | IN | 0 ETH | 0.02259565 | ||||
Destroy Benefici... | 12207266 | 1437 days ago | IN | 0 ETH | 0.01855043 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 19433889 | 367 days ago | 0.00323946 ETH |
Loading...
Loading
Self-destruct was called for this contract at txhash 0xfffd4d9e6f5e4e5cec96259d5a68ed1fb276786b8502d0523bd3f48486fb42aa. With EIP-6780, all contract storage and onchain code are retained upon self-destruct.
Contract Name:
MultiVesting
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-23 */ pragma solidity ^0.4.21; /** * Changes by https://www.docademic.com/ */ /** * @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 OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() 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 transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Destroyable is Ownable{ /** * @notice Allows to destroy the contract and return the tokens to the owner. */ function destroy() public onlyOwner{ selfdestruct(owner); } } interface Token { function transfer(address _to, uint256 _value) external; function balanceOf(address who) view external returns (uint256); } contract MultiVesting is Ownable, Destroyable { using SafeMath for uint256; // beneficiary of tokens struct Beneficiary { string description; uint256 vested; uint256 released; uint256 start; uint256 cliff; uint256 duration; bool revoked; bool revocable; bool isBeneficiary; } event Released(address _beneficiary, uint256 amount); event Revoked(address _beneficiary); event NewBeneficiary(address _beneficiary); event BeneficiaryDestroyed(address _beneficiary); mapping(address => Beneficiary) public beneficiaries; address[] public addresses; Token public token; uint256 public totalVested; uint256 public totalReleased; /* * Modifiers */ modifier isNotBeneficiary(address _beneficiary) { require(!beneficiaries[_beneficiary].isBeneficiary); _; } modifier isBeneficiary(address _beneficiary) { require(beneficiaries[_beneficiary].isBeneficiary); _; } modifier wasRevoked(address _beneficiary) { require(beneficiaries[_beneficiary].revoked); _; } modifier wasNotRevoked(address _beneficiary) { require(!beneficiaries[_beneficiary].revoked); _; } /** * @dev Creates a vesting contract that vests its balance of any ERC20 token to the * beneficiary, gradually in a linear fashion until _start + _duration. By then all * of the balance will have vested. * @param _token address of the token of vested tokens */ function MultiVesting (address _token) public { require(_token != address(0)); token = Token(_token); } function() payable public { release(msg.sender); } /** * @notice Transfers vested tokens to beneficiary (alternative to fallback function). */ function release() public { release(msg.sender); } /** * @notice Transfers vested tokens to beneficiary. * @param _beneficiary Beneficiary address */ function release(address _beneficiary) private isBeneficiary(_beneficiary) { Beneficiary storage beneficiary = beneficiaries[_beneficiary]; uint256 unreleased = releasableAmount(_beneficiary); require(unreleased > 0); beneficiary.released = beneficiary.released.add(unreleased); totalReleased = totalReleased.add(unreleased); token.transfer(_beneficiary, unreleased); if ((beneficiary.vested - beneficiary.released) == 0) { beneficiary.isBeneficiary = false; } emit Released(_beneficiary, unreleased); } /** * @notice Allows the owner to transfers vested tokens to beneficiary. * @param _beneficiary Beneficiary address */ function releaseTo(address _beneficiary) public onlyOwner { release(_beneficiary); } /** * @dev Add new beneficiary to start vesting * @param _beneficiary address of the beneficiary to whom vested tokens are transferred * @param _start time in seconds which the tokens will vest * @param _cliff time in seconds of the cliff in which tokens will begin to vest * @param _duration duration in seconds of the period in which the tokens will vest * @param _revocable whether the vesting is revocable or not */ function addBeneficiary(address _beneficiary, uint256 _vested, uint256 _start, uint256 _cliff, uint256 _duration, bool _revocable, string _description) onlyOwner isNotBeneficiary(_beneficiary) public { require(_beneficiary != address(0)); require(_cliff >= _start); require(token.balanceOf(this) >= totalVested.sub(totalReleased).add(_vested)); beneficiaries[_beneficiary] = Beneficiary({ released : 0, vested : _vested, start : _start, cliff : _cliff, duration : _duration, revoked : false, revocable : _revocable, isBeneficiary : true, description : _description }); totalVested = totalVested.add(_vested); addresses.push(_beneficiary); emit NewBeneficiary(_beneficiary); } /** * @notice Allows the owner to revoke the vesting. Tokens already vested * remain in the contract, the rest are returned to the owner. * @param _beneficiary Beneficiary address */ function revoke(address _beneficiary) public onlyOwner { Beneficiary storage beneficiary = beneficiaries[_beneficiary]; require(beneficiary.revocable); require(!beneficiary.revoked); uint256 balance = beneficiary.vested.sub(beneficiary.released); uint256 unreleased = releasableAmount(_beneficiary); uint256 refund = balance.sub(unreleased); token.transfer(owner, refund); totalReleased = totalReleased.add(refund); beneficiary.revoked = true; beneficiary.released = beneficiary.released.add(refund); emit Revoked(_beneficiary); } /** * @notice Allows the owner to destroy a beneficiary. Remain tokens are returned to the owner. * @param _beneficiary Beneficiary address */ function destroyBeneficiary(address _beneficiary) public onlyOwner { Beneficiary storage beneficiary = beneficiaries[_beneficiary]; uint256 balance = beneficiary.vested.sub(beneficiary.released); token.transfer(owner, balance); totalReleased = totalReleased.add(balance); beneficiary.isBeneficiary = false; beneficiary.released = beneficiary.released.add(balance); for (uint i = 0; i < addresses.length - 1; i++) if (addresses[i] == _beneficiary) { addresses[i] = addresses[addresses.length - 1]; break; } addresses.length -= 1; emit BeneficiaryDestroyed(_beneficiary); } /** * @notice Allows the owner to clear the contract. Remain tokens are returned to the owner. */ function clearAll() public onlyOwner { token.transfer(owner, token.balanceOf(this)); for (uint i = 0; i < addresses.length; i++) { Beneficiary storage beneficiary = beneficiaries[addresses[i]]; beneficiary.isBeneficiary = false; beneficiary.released = 0; beneficiary.vested = 0; beneficiary.start = 0; beneficiary.cliff = 0; beneficiary.duration = 0; beneficiary.revoked = false; beneficiary.revocable = false; beneficiary.description = ""; } addresses.length = 0; } /** * @dev Calculates the amount that has already vested but hasn't been released yet. * @param _beneficiary Beneficiary address */ function releasableAmount(address _beneficiary) public view returns (uint256) { return vestedAmount(_beneficiary).sub(beneficiaries[_beneficiary].released); } /** * @dev Calculates the amount that has already vested. * @param _beneficiary Beneficiary address */ function vestedAmount(address _beneficiary) public view returns (uint256) { Beneficiary storage beneficiary = beneficiaries[_beneficiary]; uint256 totalBalance = beneficiary.vested; if (now < beneficiary.cliff) { return 0; } else if (now >= beneficiary.start.add(beneficiary.duration) || beneficiary.revoked) { return totalBalance; } else { return totalBalance.mul(now.sub(beneficiary.start)).div(beneficiary.duration); } } /** * @dev Get the remain MTC on the contract. */ function Balance() view public returns (uint256) { return token.balanceOf(address(this)); } /** * @dev Get the numbers of beneficiaries in the vesting contract. */ function beneficiariesLength() view public returns (uint256) { return addresses.length; } /** * @notice Allows the owner to flush the eth. */ function flushEth() public onlyOwner { owner.transfer(address(this).balance); } /** * @notice Allows the owner to destroy the contract and return the tokens to the owner. */ function destroy() public onlyOwner { token.transfer(owner, token.balanceOf(this)); selfdestruct(owner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"beneficiaries","outputs":[{"name":"description","type":"string"},{"name":"vested","type":"uint256"},{"name":"released","type":"uint256"},{"name":"start","type":"uint256"},{"name":"cliff","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"revoked","type":"bool"},{"name":"revocable","type":"bool"},{"name":"isBeneficiary","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"releasableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalVested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"flushEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"vestedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"revoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"destroyBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"beneficiariesLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"releaseTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clearAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_vested","type":"uint256"},{"name":"_start","type":"uint256"},{"name":"_cliff","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_revocable","type":"bool"},{"name":"_description","type":"string"}],"name":"addBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Released","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_beneficiary","type":"address"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_beneficiary","type":"address"}],"name":"NewBeneficiary","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_beneficiary","type":"address"}],"name":"BeneficiaryDestroyed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b6040516020806113ef8339810160405280805160008054600160a060020a03191633600160a060020a039081169190911790915590925082161515905061005557600080fd5b60038054600160a060020a031916600160a060020a039290921691909117905561136b806100846000396000f3006060604052600436106100ed5763ffffffff60e060020a6000350416630156773981146100f85780630ef67887146101d35780631726cbc8146101f8578063199cbc54146102175780631d4233b91461022a578063384711cc1461023d57806374a8f1031461025c57806383197ef01461027b57806386d1a69f1461028e5780638da5cb5b146102a15780639742d64a146102d0578063c0659108146102ef578063d1fb564614610302578063e33b7de314610321578063ebb689a114610334578063edf26d9b14610347578063f2fde38b1461035d578063fc0c546a1461037c578063fcf7e73d1461038f575b6100f633610406565b005b341561010357600080fd5b610117600160a060020a036004351661056c565b6040516020810189905260408101889052606081018790526080810186905260a0810185905283151560c082015282151560e0820152811515610100820152610120808252819081018b818151815260200191508051906020019080838360005b83811015610190578082015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156101de57600080fd5b6101e661065f565b60405190815260200160405180910390f35b341561020357600080fd5b6101e6600160a060020a03600435166106ce565b341561022257600080fd5b6101e6610709565b341561023557600080fd5b6100f661070f565b341561024857600080fd5b6101e6600160a060020a0360043516610765565b341561026757600080fd5b6100f6600160a060020a0360043516610815565b341561028657600080fd5b6100f66109a5565b341561029957600080fd5b6100f6610a97565b34156102ac57600080fd5b6102b4610aa0565b604051600160a060020a03909116815260200160405180910390f35b34156102db57600080fd5b6100f6600160a060020a0360043516610aaf565b34156102fa57600080fd5b6101e6610ccb565b341561030d57600080fd5b6100f6600160a060020a0360043516610cd1565b341561032c57600080fd5b6101e6610cf8565b341561033f57600080fd5b6100f6610cfe565b341561035257600080fd5b6102b4600435610e9f565b341561036857600080fd5b6100f6600160a060020a0360043516610ec7565b341561038757600080fd5b6102b4610f62565b341561039a57600080fd5b6100f660048035600160a060020a031690602480359160443591606435916084359160a4351515919060e49060c43590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f7195505050505050565b600160a060020a0381166000908152600160205260408120600601548190839062010000900460ff16151561043a57600080fd5b600160a060020a0384166000908152600160205260409020925061045d846106ce565b91506000821161046c57600080fd5b6002830154610481908363ffffffff61121516565b6002840155600554610499908363ffffffff61121516565b600555600354600160a060020a031663a9059cbb858460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156104f257600080fd5b5af115156104ff57600080fd5b505050600283015460018401540315156105225760068301805462ff0000191690555b7fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e8483604051600160a060020a03909216825260208201526040908101905180910390a150505050565b6001602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106185780601f106105ed57610100808354040283529160200191610618565b820191906000526020600020905b8154815290600101906020018083116105fb57829003601f168201915b5050506001840154600285015460038601546004870154600588015460069098015496979396929550909350919060ff808216916101008104821691620100009091041689565b600354600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106b257600080fd5b5af115156106bf57600080fd5b50505060405180519150505b90565b600160a060020a038116600090815260016020526040812060020154610703906106f784610765565b9063ffffffff61122f16565b92915050565b60045481565b60005433600160a060020a0390811691161461072a57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561076357600080fd5b565b600160a060020a03811660009081526001602081905260408220908101546004820154421015610798576000925061080e565b600582015460038301546107b19163ffffffff61121516565b421015806107c35750600682015460ff165b156107d05780925061080e565b61080b82600501546107ff6107f285600301544261122f90919063ffffffff16565b849063ffffffff61124116565b9063ffffffff61126c16565b92505b5050919050565b6000805481908190819033600160a060020a0390811691161461083757600080fd5b600160a060020a03851660009081526001602052604090206006810154909450610100900460ff16151561086a57600080fd5b600684015460ff161561087c57600080fd5b600284015460018501546108959163ffffffff61122f16565b92506108a0856106ce565b91506108b2838363ffffffff61122f16565b600354600054919250600160a060020a039081169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561091257600080fd5b5af1151561091f57600080fd5b505060055461093591508263ffffffff61121516565b60055560068401805460ff19166001179055600284015461095c908263ffffffff61121516565b60028501557fb6fa8b8bd5eab60f292eca876e3ef90722275b785309d84b1de113ce0b8c4e7485604051600160a060020a03909116815260200160405180910390a15050505050565b60005433600160a060020a039081169116146109c057600080fd5b600354600054600160a060020a039182169163a9059cbb9116826370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a1e57600080fd5b5af11515610a2b57600080fd5b5050506040518051905060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610a7857600080fd5b5af11515610a8557600080fd5b5050600054600160a060020a03169050ff5b61076333610406565b600054600160a060020a031681565b600080548190819033600160a060020a03908116911614610acf57600080fd5b600160a060020a0384166000908152600160208190526040909120600281015491810154909450610b059163ffffffff61122f16565b600354600054919350600160a060020a039081169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610b6557600080fd5b5af11515610b7257600080fd5b5050600554610b8891508363ffffffff61121516565b60055560068301805462ff0000191690556002830154610bae908363ffffffff61121516565b60028401555060005b60025460001901811015610c745783600160a060020a0316600282815481101515610bde57fe5b600091825260209091200154600160a060020a03161415610c6c57600280546000198101908110610c0b57fe5b60009182526020909120015460028054600160a060020a039092169183908110610c3157fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610c74565b600101610bb7565b600280546000190190610c879082611283565b507feab6d74c4333dc545afc8f0ffc059c43b97bbb19562cf6cc91ec8c2595ae107384604051600160a060020a03909116815260200160405180910390a150505050565b60025490565b60005433600160a060020a03908116911614610cec57600080fd5b610cf581610406565b50565b60055481565b60008054819033600160a060020a03908116911614610d1c57600080fd5b600354600054600160a060020a039182169163a9059cbb9116826370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610d7a57600080fd5b5af11515610d8757600080fd5b5050506040518051905060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610dd457600080fd5b5af11515610de157600080fd5b505050600091505b600254821015610e8d5760016000600284815481101515610e0657fe5b6000918252602080832090910154600160a060020a03168352828101939093526040918201812060068101805460028301849055600183018490556003830184905560048301849055600583019390935562ffffff199092169091559250519081016040526000815281908051610e819291602001906112a7565b50600190910190610de9565b6000610e9a600282611283565b505050565b6002805482908110610ead57fe5b600091825260209091200154600160a060020a0316905081565b60005433600160a060020a03908116911614610ee257600080fd5b600160a060020a0381161515610ef757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600354600160a060020a031681565b60005433600160a060020a03908116911614610f8c57600080fd5b600160a060020a038716600090815260016020526040902060060154879062010000900460ff1615610fbd57600080fd5b600160a060020a0388161515610fd257600080fd5b85851015610fdf57600080fd5b61100687610ffa60055460045461122f90919063ffffffff16565b9063ffffffff61121516565b600354600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105657600080fd5b5af1151561106357600080fd5b505050604051805190501015151561107a57600080fd5b610120604051908101604090815283825260208083018a90526000828401819052606084018a90526080840189905260a0840188905260c0840181905286151560e085015260016101008501819052600160a060020a038d168252909152208151819080516110ed9291602001906112a7565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c082015160068201805460ff191691151591909117905560e082015160068201805461ff001916610100921515830217905582015160069091018054911515620100000262ff00001990921691909117905550600454611187908863ffffffff61121516565b600455600280546001810161119c8382611283565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a161790557fb7f9091934668a9f014cd4f5f11b64f9d04811a9ad304aaf178f1f0d70a2cd6d88604051600160a060020a03909116815260200160405180910390a15050505050505050565b60008282018381101561122457fe5b8091505b5092915050565b60008282111561123b57fe5b50900390565b6000808315156112545760009150611228565b5082820282848281151561126457fe5b041461122457fe5b600080828481151561127a57fe5b04949350505050565b815481835581811511610e9a57600083815260209020610e9a918101908301611325565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e857805160ff1916838001178555611315565b82800160010185558215611315579182015b828111156113155782518255916020019190600101906112fa565b50611321929150611325565b5090565b6106cb91905b80821115611321576000815560010161132b5600a165627a7a7230582041619356153f7807e8f9c15fc1e55b7d8c10fc3a18337e6021dd4e71bd0084290029000000000000000000000000905e337c6c8645263d3521205aa37bf4d034e745
Deployed Bytecode
0x6060604052600436106100ed5763ffffffff60e060020a6000350416630156773981146100f85780630ef67887146101d35780631726cbc8146101f8578063199cbc54146102175780631d4233b91461022a578063384711cc1461023d57806374a8f1031461025c57806383197ef01461027b57806386d1a69f1461028e5780638da5cb5b146102a15780639742d64a146102d0578063c0659108146102ef578063d1fb564614610302578063e33b7de314610321578063ebb689a114610334578063edf26d9b14610347578063f2fde38b1461035d578063fc0c546a1461037c578063fcf7e73d1461038f575b6100f633610406565b005b341561010357600080fd5b610117600160a060020a036004351661056c565b6040516020810189905260408101889052606081018790526080810186905260a0810185905283151560c082015282151560e0820152811515610100820152610120808252819081018b818151815260200191508051906020019080838360005b83811015610190578082015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156101de57600080fd5b6101e661065f565b60405190815260200160405180910390f35b341561020357600080fd5b6101e6600160a060020a03600435166106ce565b341561022257600080fd5b6101e6610709565b341561023557600080fd5b6100f661070f565b341561024857600080fd5b6101e6600160a060020a0360043516610765565b341561026757600080fd5b6100f6600160a060020a0360043516610815565b341561028657600080fd5b6100f66109a5565b341561029957600080fd5b6100f6610a97565b34156102ac57600080fd5b6102b4610aa0565b604051600160a060020a03909116815260200160405180910390f35b34156102db57600080fd5b6100f6600160a060020a0360043516610aaf565b34156102fa57600080fd5b6101e6610ccb565b341561030d57600080fd5b6100f6600160a060020a0360043516610cd1565b341561032c57600080fd5b6101e6610cf8565b341561033f57600080fd5b6100f6610cfe565b341561035257600080fd5b6102b4600435610e9f565b341561036857600080fd5b6100f6600160a060020a0360043516610ec7565b341561038757600080fd5b6102b4610f62565b341561039a57600080fd5b6100f660048035600160a060020a031690602480359160443591606435916084359160a4351515919060e49060c43590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f7195505050505050565b600160a060020a0381166000908152600160205260408120600601548190839062010000900460ff16151561043a57600080fd5b600160a060020a0384166000908152600160205260409020925061045d846106ce565b91506000821161046c57600080fd5b6002830154610481908363ffffffff61121516565b6002840155600554610499908363ffffffff61121516565b600555600354600160a060020a031663a9059cbb858460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156104f257600080fd5b5af115156104ff57600080fd5b505050600283015460018401540315156105225760068301805462ff0000191690555b7fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e8483604051600160a060020a03909216825260208201526040908101905180910390a150505050565b6001602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106185780601f106105ed57610100808354040283529160200191610618565b820191906000526020600020905b8154815290600101906020018083116105fb57829003601f168201915b5050506001840154600285015460038601546004870154600588015460069098015496979396929550909350919060ff808216916101008104821691620100009091041689565b600354600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106b257600080fd5b5af115156106bf57600080fd5b50505060405180519150505b90565b600160a060020a038116600090815260016020526040812060020154610703906106f784610765565b9063ffffffff61122f16565b92915050565b60045481565b60005433600160a060020a0390811691161461072a57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561076357600080fd5b565b600160a060020a03811660009081526001602081905260408220908101546004820154421015610798576000925061080e565b600582015460038301546107b19163ffffffff61121516565b421015806107c35750600682015460ff165b156107d05780925061080e565b61080b82600501546107ff6107f285600301544261122f90919063ffffffff16565b849063ffffffff61124116565b9063ffffffff61126c16565b92505b5050919050565b6000805481908190819033600160a060020a0390811691161461083757600080fd5b600160a060020a03851660009081526001602052604090206006810154909450610100900460ff16151561086a57600080fd5b600684015460ff161561087c57600080fd5b600284015460018501546108959163ffffffff61122f16565b92506108a0856106ce565b91506108b2838363ffffffff61122f16565b600354600054919250600160a060020a039081169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561091257600080fd5b5af1151561091f57600080fd5b505060055461093591508263ffffffff61121516565b60055560068401805460ff19166001179055600284015461095c908263ffffffff61121516565b60028501557fb6fa8b8bd5eab60f292eca876e3ef90722275b785309d84b1de113ce0b8c4e7485604051600160a060020a03909116815260200160405180910390a15050505050565b60005433600160a060020a039081169116146109c057600080fd5b600354600054600160a060020a039182169163a9059cbb9116826370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a1e57600080fd5b5af11515610a2b57600080fd5b5050506040518051905060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610a7857600080fd5b5af11515610a8557600080fd5b5050600054600160a060020a03169050ff5b61076333610406565b600054600160a060020a031681565b600080548190819033600160a060020a03908116911614610acf57600080fd5b600160a060020a0384166000908152600160208190526040909120600281015491810154909450610b059163ffffffff61122f16565b600354600054919350600160a060020a039081169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610b6557600080fd5b5af11515610b7257600080fd5b5050600554610b8891508363ffffffff61121516565b60055560068301805462ff0000191690556002830154610bae908363ffffffff61121516565b60028401555060005b60025460001901811015610c745783600160a060020a0316600282815481101515610bde57fe5b600091825260209091200154600160a060020a03161415610c6c57600280546000198101908110610c0b57fe5b60009182526020909120015460028054600160a060020a039092169183908110610c3157fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610c74565b600101610bb7565b600280546000190190610c879082611283565b507feab6d74c4333dc545afc8f0ffc059c43b97bbb19562cf6cc91ec8c2595ae107384604051600160a060020a03909116815260200160405180910390a150505050565b60025490565b60005433600160a060020a03908116911614610cec57600080fd5b610cf581610406565b50565b60055481565b60008054819033600160a060020a03908116911614610d1c57600080fd5b600354600054600160a060020a039182169163a9059cbb9116826370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610d7a57600080fd5b5af11515610d8757600080fd5b5050506040518051905060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610dd457600080fd5b5af11515610de157600080fd5b505050600091505b600254821015610e8d5760016000600284815481101515610e0657fe5b6000918252602080832090910154600160a060020a03168352828101939093526040918201812060068101805460028301849055600183018490556003830184905560048301849055600583019390935562ffffff199092169091559250519081016040526000815281908051610e819291602001906112a7565b50600190910190610de9565b6000610e9a600282611283565b505050565b6002805482908110610ead57fe5b600091825260209091200154600160a060020a0316905081565b60005433600160a060020a03908116911614610ee257600080fd5b600160a060020a0381161515610ef757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600354600160a060020a031681565b60005433600160a060020a03908116911614610f8c57600080fd5b600160a060020a038716600090815260016020526040902060060154879062010000900460ff1615610fbd57600080fd5b600160a060020a0388161515610fd257600080fd5b85851015610fdf57600080fd5b61100687610ffa60055460045461122f90919063ffffffff16565b9063ffffffff61121516565b600354600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105657600080fd5b5af1151561106357600080fd5b505050604051805190501015151561107a57600080fd5b610120604051908101604090815283825260208083018a90526000828401819052606084018a90526080840189905260a0840188905260c0840181905286151560e085015260016101008501819052600160a060020a038d168252909152208151819080516110ed9291602001906112a7565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c082015160068201805460ff191691151591909117905560e082015160068201805461ff001916610100921515830217905582015160069091018054911515620100000262ff00001990921691909117905550600454611187908863ffffffff61121516565b600455600280546001810161119c8382611283565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a161790557fb7f9091934668a9f014cd4f5f11b64f9d04811a9ad304aaf178f1f0d70a2cd6d88604051600160a060020a03909116815260200160405180910390a15050505050505050565b60008282018381101561122457fe5b8091505b5092915050565b60008282111561123b57fe5b50900390565b6000808315156112545760009150611228565b5082820282848281151561126457fe5b041461122457fe5b600080828481151561127a57fe5b04949350505050565b815481835581811511610e9a57600083815260209020610e9a918101908301611325565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e857805160ff1916838001178555611315565b82800160010185558215611315579182015b828111156113155782518255916020019190600101906112fa565b50611321929150611325565b5090565b6106cb91905b80821115611321576000815560010161132b5600a165627a7a7230582041619356153f7807e8f9c15fc1e55b7d8c10fc3a18337e6021dd4e71bd0084290029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000905e337c6c8645263d3521205aa37bf4d034e745
-----Decoded View---------------
Arg [0] : _token (address): 0x905E337c6c8645263D3521205Aa37bf4d034e745
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000905e337c6c8645263d3521205aa37bf4d034e745
Swarm Source
bzzr://41619356153f7807e8f9c15fc1e55b7d8c10fc3a18337e6021dd4e71bd008429
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.