0 ETH
USD
BTC
0xd26114cd6EE289AccF82350c8d8487fedB8A0C07
In order to save any account details you will need to provide a signed message of that account for verification. Currently we support only signatures generated by the MyCrypto Tool.
The signature text MUST CONTAIN the the string " etherchain.org ".
Hash | Block | Type | From | To | Value | Fee | Time |
---|
pragma solidity ^0.4.11;
/**
* Math operations with safety checks
*/
library SafeMath {
function mul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint a, uint b) internal returns (uint) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function sub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function add(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function assert(bool assertion) internal {
if (!assertion) {
throw;
}
}
}
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20Basic {
uint public totalSupply;
function balanceOf(address who) constant returns (uint);
function transfer(address to, uint value);
event Transfer(address indexed from, address indexed to, uint value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
*/
contract BasicToken is ERC20Basic {
using SafeMath for uint;
mapping(address => uint) balances;
/**
* @dev Fix for the ERC20 short address attack.
*/
modifier onlyPayloadSize(uint size) {
if(msg.data.length < size + 4) {
throw;
}
_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(msg.sender, _to, _value);
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint representing the amount owned by the passed address.
*/
function balanceOf(address _owner) constant returns (uint balance) {
return balances[_owner];
}
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) constant returns (uint);
function transferFrom(address from, address to, uint value);
function approve(address spender, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
/**
* @title Standard ERC20 token
*
* @dev Implemantation of the basic standart token.
* @dev https://github.com/ethereum/EIPs/issues/20
* @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
*/
contract StandardToken is BasicToken, ERC20 {
mapping (address => mapping (address => uint)) allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint the amout of tokens to be transfered
*/
function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
var _allowance = allowed[_from][msg.sender];
// Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
// if (_value > _allowance) throw;
balances[_to] = balances[_to].add(_value);
balances[_from] = balances[_from].sub(_value);
allowed[_from][msg.sender] = _allowance.sub(_value);
Transfer(_from, _to, _value);
}
/**
* @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
*/
function approve(address _spender, uint _value) {
// To change the approve amount you first have to reduce the addresses`
// allowance to zero by calling `approve(_spender, 0)` if it is not
// already 0 to mitigate the race condition described here:
// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
}
/**
* @dev Function to check the amount of tokens than an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint specifing the amount of tokens still avaible for the spender.
*/
function allowance(address _owner, address _spender) constant returns (uint remaining) {
return allowed[_owner][_spender];
}
}
/**
* @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;
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
if (msg.sender != owner) {
throw;
}
_;
}
/**
* @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) onlyOwner {
if (newOwner != address(0)) {
owner = newOwner;
}
}
}
/**
* @title Mintable token
* @dev Simple ERC20 Token example, with mintable token creation
* @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
* Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
*/
contract MintableToken is StandardToken, Ownable {
event Mint(address indexed to, uint value);
event MintFinished();
bool public mintingFinished = false;
uint public totalSupply = 0;
modifier canMint() {
if(mintingFinished) throw;
_;
}
/**
* @dev Function to mint tokens
* @param _to The address that will recieve the minted tokens.
* @param _amount The amount of tokens to mint.
* @return A boolean that indicates if the operation was successful.
*/
function mint(address _to, uint _amount) onlyOwner canMint returns (bool) {
totalSupply = totalSupply.add(_amount);
balances[_to] = balances[_to].add(_amount);
Mint(_to, _amount);
return true;
}
/**
* @dev Function to stop minting new tokens.
* @return True if the operation was successful.
*/
function finishMinting() onlyOwner returns (bool) {
mintingFinished = true;
MintFinished();
return true;
}
}
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
/**
* @dev modifier to allow actions only when the contract IS paused
*/
modifier whenNotPaused() {
if (paused) throw;
_;
}
/**
* @dev modifier to allow actions only when the contract IS NOT paused
*/
modifier whenPaused {
if (!paused) throw;
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused returns (bool) {
paused = true;
Pause();
return true;
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused returns (bool) {
paused = false;
Unpause();
return true;
}
}
/**
* Pausable token
*
* Simple ERC20 Token example, with pausable token creation
**/
contract PausableToken is StandardToken, Pausable {
function transfer(address _to, uint _value) whenNotPaused {
super.transfer(_to, _value);
}
function transferFrom(address _from, address _to, uint _value) whenNotPaused {
super.transferFrom(_from, _to, _value);
}
}
/**
* @title TokenTimelock
* @dev TokenTimelock is a token holder contract that will allow a
* beneficiary to extract the tokens after a time has passed
*/
contract TokenTimelock {
// ERC20 basic token contract being held
ERC20Basic token;
// beneficiary of tokens after they are released
address beneficiary;
// timestamp where token release is enabled
uint releaseTime;
function TokenTimelock(ERC20Basic _token, address _beneficiary, uint _releaseTime) {
require(_releaseTime > now);
token = _token;
beneficiary = _beneficiary;
releaseTime = _releaseTime;
}
/**
* @dev beneficiary claims tokens held by time lock
*/
function claim() {
require(msg.sender == beneficiary);
require(now >= releaseTime);
uint amount = token.balanceOf(this);
require(amount > 0);
token.transfer(beneficiary, amount);
}
}
/**
* @title OMGToken
* @dev Omise Go Token contract
*/
contract OMGToken is PausableToken, MintableToken {
using SafeMath for uint256;
string public name = "OMGToken";
string public symbol = "OMG";
uint public decimals = 18;
/**
* @dev mint timelocked tokens
*/
function mintTimelocked(address _to, uint256 _amount, uint256 _releaseTime)
onlyOwner canMint returns (TokenTimelock) {
TokenTimelock timelock = new TokenTimelock(this, _to, _releaseTime);
mint(timelock, _amount);
return timelock;
}
}
Type | Name | Constant | Signature |
---|---|---|---|
function | mintingFinished() => ( bool) | true | 0x05d2035b |
function | name() => ( string) | true | 0x06fdde03 |
function | approve(_spender address, _value uint256) | false | 0x095ea7b3 |
function | totalSupply() => ( uint256) | true | 0x18160ddd |
function | transferFrom(_from address, _to address, _value uint256) | false | 0x23b872dd |
function | decimals() => ( uint256) | true | 0x313ce567 |
function | unpause() => ( bool) | false | 0x3f4ba83a |
function | mint(_to address, _amount uint256) => ( bool) | false | 0x40c10f19 |
function | paused() => ( bool) | true | 0x5c975abb |
function | balanceOf(_owner address) => (balance uint256) | true | 0x70a08231 |
function | finishMinting() => ( bool) | false | 0x7d64bcb4 |
function | pause() => ( bool) | false | 0x8456cb59 |
function | owner() => ( address) | true | 0x8da5cb5b |
function | symbol() => ( string) | true | 0x95d89b41 |
function | transfer(_to address, _value uint256) | false | 0xa9059cbb |
function | mintTimelocked(_to address, _amount uint256, _releaseTime uint256) => ( address) | false | 0xc14a3b8c |
function | allowance(_owner address, _spender address) => (remaining uint256) | true | 0xdd62ed3e |
function | transferOwnership(newOwner address) | false | 0xf2fde38b |
event | Mint(to address, value uint256) | 0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885 | |
event | MintFinished() | 0xae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08 | |
event | Pause() | 0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625 | |
event | Unpause() | 0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33 | |
event | Approval(owner address, spender address, value uint256) | 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 | |
event | Transfer(from address, to address, value uint256) | 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef |
[
{
"constant": true,
"inputs": [],
"name": "mintingFinished",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x05d2035b"
},
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"type": "function",
"signature": "0x06fdde03"
},
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"payable": false,
"type": "function",
"signature": "0x095ea7b3"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function",
"signature": "0x18160ddd"
},
{
"constant": false,
"inputs": [
{
"name": "_from",
"type": "address"
},
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"payable": false,
"type": "function",
"signature": "0x23b872dd"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function",
"signature": "0x313ce567"
},
{
"constant": false,
"inputs": [],
"name": "unpause",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x3f4ba83a"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x40c10f19"
},
{
"constant": true,
"inputs": [],
"name": "paused",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x5c975abb"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "balance",
"type": "uint256"
}
],
"payable": false,
"type": "function",
"signature": "0x70a08231"
},
{
"constant": false,
"inputs": [],
"name": "finishMinting",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x7d64bcb4"
},
{
"constant": false,
"inputs": [],
"name": "pause",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function",
"signature": "0x8456cb59"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function",
"signature": "0x8da5cb5b"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"type": "function",
"signature": "0x95d89b41"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [],
"payable": false,
"type": "function",
"signature": "0xa9059cbb"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
},
{
"name": "_releaseTime",
"type": "uint256"
}
],
"name": "mintTimelocked",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function",
"signature": "0xc14a3b8c"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"type": "function",
"signature": "0xdd62ed3e"
},
{
"constant": false,
"inputs": [
{
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"type": "function",
"signature": "0xf2fde38b"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Mint",
"type": "event",
"signature": "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885"
},
{
"anonymous": false,
"inputs": [],
"name": "MintFinished",
"type": "event",
"signature": "0xae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08"
},
{
"anonymous": false,
"inputs": [],
"name": "Pause",
"type": "event",
"signature": "0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625"
},
{
"anonymous": false,
"inputs": [],
"name": "Unpause",
"type": "event",
"signature": "0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": true,
"name": "spender",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event",
"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event",
"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
}
]
bzz://bd47f6ac2bce50684ad966d758abb0d15a897d3c3e985efd1d4b5ce46e735336
606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100fb57806306fdde031461011f578063095ea7b3146101af57806318160ddd146101d057806323b872dd146101f2578063313ce567146102195780633f4ba83a1461023b57806340c10f191461025f5780635c975abb1461029257806370a08231146102b65780637d64bcb4146102e45780638456cb59146103085780638da5cb5b1461032c57806395d89b4114610358578063a9059cbb146103e8578063c14a3b8c14610409578063dd62ed3e14610447578063f2fde38b1461047b575bfe5b341561010357fe5b61010b610499565b604080519115158252519081900360200190f35b341561012757fe5b61012f6104a9565b604080516020808252835181830152835191928392908301918501908083838215610175575b80518252602083111561017557601f199092019160209182019101610155565b505050905090810190601f1680156101a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b757fe5b6101ce600160a060020a0360043516602435610537565b005b34156101d857fe5b6101e06105d7565b60408051918252519081900360200190f35b34156101fa57fe5b6101ce600160a060020a03600435811690602435166044356105dd565b005b341561022157fe5b6101e0610607565b60408051918252519081900360200190f35b341561024357fe5b61010b61060d565b604080519115158252519081900360200190f35b341561026757fe5b61010b600160a060020a0360043516602435610695565b604080519115158252519081900360200190f35b341561029a57fe5b61010b610769565b604080519115158252519081900360200190f35b34156102be57fe5b6101e0600160a060020a0360043516610779565b60408051918252519081900360200190f35b34156102ec57fe5b61010b610798565b604080519115158252519081900360200190f35b341561031057fe5b61010b61080d565b604080519115158252519081900360200190f35b341561033457fe5b61033c61089a565b60408051600160a060020a039092168252519081900360200190f35b341561036057fe5b61012f6108a9565b604080516020808252835181830152835191928392908301918501908083838215610175575b80518252602083111561017557601f199092019160209182019101610155565b505050905090810190601f1680156101a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103f057fe5b6101ce600160a060020a0360043516602435610937565b005b341561041157fe5b61033c600160a060020a036004351660243560443561095f565b60408051600160a060020a039092168252519081900360200190f35b341561044f57fe5b6101e0600160a060020a03600435811690602435166109f3565b60408051918252519081900360200190f35b341561048357fe5b6101ce600160a060020a0360043516610a20565b005b60035460a860020a900460ff1681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561052f5780601f106105045761010080835404028352916020019161052f565b820191906000526020600020905b81548152906001019060200180831161051257829003601f168201915b505050505081565b801580159061056a5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b156105755760006000fd5b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60045481565b60035460a060020a900460ff16156105f55760006000fd5b610600838383610a79565b5b5b505050565b60075481565b60035460009033600160a060020a0390811691161461062c5760006000fd5b60035460a060020a900460ff1615156106455760006000fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a15060015b5b5b90565b60035460009033600160a060020a039081169116146106b45760006000fd5b60035460a860020a900460ff16156106cc5760006000fd5b6004546106df908363ffffffff610b9d16565b600455600160a060020a03831660009081526001602052604090205461070b908363ffffffff610b9d16565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a25060015b5b5b92915050565b60035460a060020a900460ff1681565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146107b75760006000fd5b6003805475ff000000000000000000000000000000000000000000191660a860020a1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a15060015b5b90565b60035460009033600160a060020a0390811691161461082c5760006000fd5b60035460a060020a900460ff16156108445760006000fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a15060015b5b5b90565b600354600160a060020a031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561052f5780601f106105045761010080835404028352916020019161052f565b820191906000526020600020905b81548152906001019060200180831161051257829003601f168201915b505050505081565b60035460a060020a900460ff161561094f5760006000fd5b6105d38282610bb9565b5b5b5050565b600354600090819033600160a060020a039081169116146109805760006000fd5b60035460a860020a900460ff16156109985760006000fd5b3085846109a3610cb1565b600160a060020a039384168152919092166020820152604080820192909252905190819003606001906000f08015156109d857fe5b90506109e48185610695565b508091505b5b5b509392505050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a03908116911614610a3c5760006000fd5b600160a060020a03811615610a74576003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600060606064361015610a8c5760006000fd5b600160a060020a038086166000908152600260209081526040808320338516845282528083205493881683526001909152902054909250610ad3908463ffffffff610b9d16565b600160a060020a038086166000908152600160205260408082209390935590871681522054610b08908463ffffffff610c8716565b600160a060020a038616600090815260016020526040902055610b31828463ffffffff610c8716565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35b5b5050505050565b6000828201610bae84821015610ca0565b8091505b5092915050565b60406044361015610bca5760006000fd5b600160a060020a033316600090815260016020526040902054610bf3908363ffffffff610c8716565b600160a060020a033381166000908152600160205260408082209390935590851681522054610c28908363ffffffff610b9d16565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5b505050565b6000610c9583831115610ca0565b508082035b92915050565b801515610a745760006000fd5b5b50565b60405161025f80610cc28339019056006060604052341561000c57fe5b60405160608061025f8339810160409081528151602083015191909201515b4281116100385760006000fd5b60008054600160a060020a03808616600160a060020a031992831617909255600180549285169290911691909117905560028190555b5050505b6101de806100816000396000f300606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634e71d92d811461003a575bfe5b341561004257fe5b61004a61004c565b005b6001546000903373ffffffffffffffffffffffffffffffffffffffff9081169116146100785760006000fd5b6002544210156100885760006000fd5b6000805460408051602090810184905281517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff3081166004830152925192909316936370a082319360248082019492918390030190829087803b151561010157fe5b6102c65a03f1151561010f57fe5b505060405151915050600081116101265760006000fd5b60008054600154604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283166004820152602481018690529051919092169263a9059cbb926044808201939182900301818387803b151561019d57fe5b6102c65a03f115156101ab57fe5b5050505b505600a165627a7a723058204c37435b790331d68c36965a2a6a779ee7dfa9e5ef15513f34e6101f902c29460029a165627a7a72305820bd47f6ac2bce50684ad966d758abb0d15a897d3c3e985efd1d4b5ce46e7353360029
Transaction 0x8daca9b6d92cd2aa34ed6b2c6c6ce6184b74728e4d71f82c29d68631cdf9b61b on the 2017-07-05T14:18:58+00:00 (2 years ago).