ETH Price: $2,046.41 (-4.79%)

Contract

0x14AA2D22b0CD00A1f55C8201cFE744CFf377B903
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw163341352023-01-04 14:51:111173 days ago1672843871IN
0x14AA2D22...Ff377B903
0 ETH0.0010928416.04607121
Withdraw100448172020-05-11 12:05:502141 days ago1589198750IN
0x14AA2D22...Ff377B903
0 ETH0.0011436517

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer163341352023-01-04 14:51:111173 days ago1672843871
0x14AA2D22...Ff377B903
0 ETH
Transfer100448172020-05-11 12:05:502141 days ago1589198750
0x14AA2D22...Ff377B903
0 ETH
Transfer From83429752019-08-13 15:33:022413 days ago1565710382
0x14AA2D22...Ff377B903
0 ETH
Set Vesting83429752019-08-13 15:33:022413 days ago1565710382
0x14AA2D22...Ff377B903
0 ETH
Transfer From83424942019-08-13 13:44:592413 days ago1565703899
0x14AA2D22...Ff377B903
0 ETH
Set Vesting83424942019-08-13 13:44:592413 days ago1565703899
0x14AA2D22...Ff377B903
0 ETH
Transfer From83424792019-08-13 13:39:482413 days ago1565703588
0x14AA2D22...Ff377B903
0 ETH
Set Vesting83424792019-08-13 13:39:482413 days ago1565703588
0x14AA2D22...Ff377B903
0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x1C20b02E...D61402F8F
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
CouncilVesting

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-08
*/

pragma solidity >=0.4.23;

/// @title Math operations with safety checks
/// @author Melonport AG <team@melonport.com>
/// @notice From https://github.com/status-im/status-network-token/blob/master/contracts/safeMath.sol

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) {
    uint c = a / b;
    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;
  }
}

/// @title ERC20 Token Interface
/// @author Melonport AG <team@melonport.com>
/// @notice See https://github.com/ethereum/EIPs/issues/20
contract ERC20Interface {

    // EVENTS

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    // CONSTANT METHODS

    function totalSupply() constant returns (uint256 totalSupply) {}
    function balanceOf(address _owner) constant returns (uint256 balance) {}
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {}

    // NON-CONSTANT METHODS

    function transfer(address _to, uint256 _value) returns (bool success) {}
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {}
    function approve(address _spender, uint256 _value) returns (bool success) {}
}

/// @title ERC20 Token
/// @author Melonport AG <team@melonport.com>
/// @notice Original taken from https://github.com/ethereum/EIPs/issues/20
/// @notice Checked against integer overflow
contract ERC20 is ERC20Interface {

    function transfer(address _to, uint256 _value) returns (bool success) {
        if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { throw; }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else { throw; }
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        // See: https://github.com/ethereum/EIPs/issues/20#issuecomment-263555598
        if (_value > 0) {
            require(allowed[msg.sender][_spender] == 0);
        }
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;

    mapping (address => mapping (address => uint256)) allowed;

    uint256 public totalSupply;

}


contract CouncilVesting {
    using safeMath for uint;

    // FIELDS

    // Constructor fields
    ERC20 public MELON_CONTRACT;   // MLN as ERC20 contract
    address public owner;          // deployer; can interrupt vesting
    // Methods fields
    bool public interrupted;       // whether vesting is still possible
    bool public isVestingStarted;  // whether vesting period has begun
    uint public totalVestingAmount; // quantity of vested Melon in total
    uint public vestingStartTime;  // timestamp when vesting is set
    uint public vestingPeriod;     // total vesting period in seconds
    address public beneficiary;    // address of the beneficiary
    uint public withdrawn;         // quantity of Melon withdrawn so far

    // MODIFIERS

    modifier not_interrupted() {
        require(
            !interrupted,
            "The contract has been interrupted"
        );
        _;
    }

    modifier only_owner() {
        require(
            msg.sender == owner,
            "Only owner can do this"
        );
        _;
    }

    modifier only_beneficiary() {
        require(
            msg.sender == beneficiary,
            "Only beneficiary can do this"
        );
        _;
    }

    modifier vesting_not_started() {
        require(
            !isVestingStarted,
            "Vesting cannot be started"
        );
        _;
    }

    modifier vesting_started() {
        require(
            isVestingStarted,
            "Vesting must be started"
        );
        _;
    }

    /// @notice Calculates the quantity of Melon asset that's currently withdrawable
    /// @return withdrawable Quantity of withdrawable Melon asset
    function calculateWithdrawable() public view returns (uint withdrawable) {
        uint timePassed = block.timestamp.sub(vestingStartTime);

        if (timePassed < vestingPeriod) {
            uint vested = totalVestingAmount.mul(timePassed).div(vestingPeriod);
            withdrawable = vested.sub(withdrawn);
        } else {
            withdrawable = totalVestingAmount.sub(withdrawn);
        }
    }

    // NON-CONSTANT METHODS

    /// @param ofMelonAsset Address of Melon asset
    constructor(address ofMelonAsset, address ofOwner) {
        MELON_CONTRACT = ERC20(ofMelonAsset);
        owner = ofOwner;
    }

    /// @param ofBeneficiary Address of beneficiary
    /// @param ofMelonQuantity Address of MLN asset
    /// @param ofVestingPeriod Vesting period in seconds from vestingStartTime
    function setVesting(
        address ofBeneficiary,
        uint ofMelonQuantity,
        uint ofVestingPeriod
    )
        external
        only_owner
        not_interrupted
        vesting_not_started
    {
        require(ofMelonQuantity > 0, "Must vest some MLN");
        require(
            MELON_CONTRACT.transferFrom(msg.sender, this, ofMelonQuantity),
            "MLN deposit failed"
        );
        isVestingStarted = true;
        vestingStartTime = block.timestamp;
        totalVestingAmount = ofMelonQuantity;
        vestingPeriod = ofVestingPeriod;
        beneficiary = ofBeneficiary;
    }

    /// @notice Withdraw
    function withdraw()
        external
        only_beneficiary
        vesting_started
        not_interrupted
    {
        uint withdrawable = calculateWithdrawable();
        withdrawn = withdrawn.add(withdrawable);
        require(
            MELON_CONTRACT.transfer(beneficiary, withdrawable),
            "Transfer to beneficiary failed"
        );
    }

    /// @notice Withdraw vested tokens to beneficiary
    /// @notice Send remainder back to owner
    /// @notice Prevent further vesting
    function forceWithdrawalAndInterrupt()
        external
        only_owner
        vesting_started
        not_interrupted
    {
        interrupted = true;
        uint remainingVested = calculateWithdrawable();
        uint totalToBeVested = withdrawn.add(remainingVested);
        uint remainingUnvested = totalVestingAmount.sub(totalToBeVested);
        withdrawn = totalVestingAmount;
        require(
            MELON_CONTRACT.transfer(beneficiary, remainingVested),
            "Transfer to beneficiary failed"
        );
        require(
            MELON_CONTRACT.transfer(owner, remainingUnvested),
            "Transfer to owner failed"
        );
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"totalVestingAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isVestingStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"interrupted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestingPeriod","outputs":[{"name":"","type":"uint256"}],"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":"vestingStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"forceWithdrawalAndInterrupt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MELON_CONTRACT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ofBeneficiary","type":"address"},{"name":"ofMelonQuantity","type":"uint256"},{"name":"ofVestingPeriod","type":"uint256"}],"name":"setVesting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"calculateWithdrawable","outputs":[{"name":"withdrawable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"ofMelonAsset","type":"address"},{"name":"ofOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

0x608060405234801561001057600080fd5b50604051604080610d2083398101604052805160209091015160008054600160a060020a03938416600160a060020a03199182161790915560018054939092169216919091179055610cb9806100676000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632db94d1981146100c9578063381cec91146100f057806338af3eed146101195780633ccfd60b1461014a5780634aa5f391146101615780637313ee5a146101765780638da5cb5b1461018b578063a8660a78146101a0578063c80ec522146101b5578063d74ad321146101ca578063d94a75bc146101df578063e0a668b4146101f4578063f0c69e8d1461021b575b600080fd5b3480156100d557600080fd5b506100de610230565b60408051918252519081900360200190f35b3480156100fc57600080fd5b50610105610236565b604080519115158252519081900360200190f35b34801561012557600080fd5b5061012e610246565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b5061015f610255565b005b34801561016d57600080fd5b506101056104c0565b34801561018257600080fd5b506100de6104d0565b34801561019757600080fd5b5061012e6104d6565b3480156101ac57600080fd5b506100de6104e5565b3480156101c157600080fd5b506100de6104eb565b3480156101d657600080fd5b5061015f6104f1565b3480156101eb57600080fd5b5061012e610897565b34801561020057600080fd5b5061015f600160a060020a03600435166024356044356108a6565b34801561022757600080fd5b506100de610ba2565b60025481565b60015460a860020a900460ff1681565b600554600160a060020a031681565b600554600090600160a060020a031633146102ba576040805160e560020a62461bcd02815260206004820152601c60248201527f4f6e6c792062656e65666963696172792063616e20646f207468697300000000604482015290519081900360640190fd5b60015460a860020a900460ff16151561031d576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff16156103a5576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6103ad610ba2565b6006549091506103c3908263ffffffff610c2a16565b60065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561043b57600080fd5b505af115801561044f573d6000803e3d6000fd5b505050506040513d602081101561046557600080fd5b505115156104bd576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b50565b60015460a060020a900460ff1681565b60045481565b600154600160a060020a031681565b60035481565b60065481565b60015460009081908190600160a060020a0316331461055a576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a860020a900460ff1615156105bd576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610645576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a179055610671610ba2565b600654909350610687908463ffffffff610c2a16565b60025490925061069d908363ffffffff610c4016565b60025460065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101899052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b5051151561079b576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b60008054600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561081057600080fd5b505af1158015610824573d6000803e3d6000fd5b505050506040513d602081101561083a57600080fd5b50511515610892576040805160e560020a62461bcd02815260206004820152601860248201527f5472616e7366657220746f206f776e6572206661696c65640000000000000000604482015290519081900360640190fd5b505050565b600054600160a060020a031681565b600154600160a060020a03163314610908576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610990576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60015460a860020a900460ff16156109f2576040805160e560020a62461bcd02815260206004820152601960248201527f56657374696e672063616e6e6f74206265207374617274656400000000000000604482015290519081900360640190fd5b60008211610a4a576040805160e560020a62461bcd02815260206004820152601260248201527f4d757374207665737420736f6d65204d4c4e0000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216926323b872dd926064808401936020939083900390910190829087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b50511515610b40576040805160e560020a62461bcd02815260206004820152601260248201527f4d4c4e206465706f736974206661696c65640000000000000000000000000000604482015290519081900360640190fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790554260035560029190915560045560058054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055565b6000806000610bbc60035442610c4090919063ffffffff16565b9150600454821015610c0d57610bef600454610be384600254610c5290919063ffffffff16565b9063ffffffff610c7616565b9050610c0660065482610c4090919063ffffffff16565b9250610c25565b600654600254610c229163ffffffff610c4016565b92505b505090565b600082820183811015610c3957fe5b9392505050565b600082821115610c4c57fe5b50900390565b6000828202831580610c6e5750828482811515610c6b57fe5b04145b1515610c3957fe5b6000808284811515610c8457fe5b049493505050505600a165627a7a7230582098035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe0910029000000000000000000000000ec67005c4e498ec7f55e092bd1d35cbc47c918920000000000000000000000008e452b55e3e00428ad90f9683565ae1fba16efbf

Deployed Bytecode

0x6080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632db94d1981146100c9578063381cec91146100f057806338af3eed146101195780633ccfd60b1461014a5780634aa5f391146101615780637313ee5a146101765780638da5cb5b1461018b578063a8660a78146101a0578063c80ec522146101b5578063d74ad321146101ca578063d94a75bc146101df578063e0a668b4146101f4578063f0c69e8d1461021b575b600080fd5b3480156100d557600080fd5b506100de610230565b60408051918252519081900360200190f35b3480156100fc57600080fd5b50610105610236565b604080519115158252519081900360200190f35b34801561012557600080fd5b5061012e610246565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b5061015f610255565b005b34801561016d57600080fd5b506101056104c0565b34801561018257600080fd5b506100de6104d0565b34801561019757600080fd5b5061012e6104d6565b3480156101ac57600080fd5b506100de6104e5565b3480156101c157600080fd5b506100de6104eb565b3480156101d657600080fd5b5061015f6104f1565b3480156101eb57600080fd5b5061012e610897565b34801561020057600080fd5b5061015f600160a060020a03600435166024356044356108a6565b34801561022757600080fd5b506100de610ba2565b60025481565b60015460a860020a900460ff1681565b600554600160a060020a031681565b600554600090600160a060020a031633146102ba576040805160e560020a62461bcd02815260206004820152601c60248201527f4f6e6c792062656e65666963696172792063616e20646f207468697300000000604482015290519081900360640190fd5b60015460a860020a900460ff16151561031d576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff16156103a5576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6103ad610ba2565b6006549091506103c3908263ffffffff610c2a16565b60065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561043b57600080fd5b505af115801561044f573d6000803e3d6000fd5b505050506040513d602081101561046557600080fd5b505115156104bd576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b50565b60015460a060020a900460ff1681565b60045481565b600154600160a060020a031681565b60035481565b60065481565b60015460009081908190600160a060020a0316331461055a576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a860020a900460ff1615156105bd576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610645576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a179055610671610ba2565b600654909350610687908463ffffffff610c2a16565b60025490925061069d908363ffffffff610c4016565b60025460065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101899052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b5051151561079b576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b60008054600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561081057600080fd5b505af1158015610824573d6000803e3d6000fd5b505050506040513d602081101561083a57600080fd5b50511515610892576040805160e560020a62461bcd02815260206004820152601860248201527f5472616e7366657220746f206f776e6572206661696c65640000000000000000604482015290519081900360640190fd5b505050565b600054600160a060020a031681565b600154600160a060020a03163314610908576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610990576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60015460a860020a900460ff16156109f2576040805160e560020a62461bcd02815260206004820152601960248201527f56657374696e672063616e6e6f74206265207374617274656400000000000000604482015290519081900360640190fd5b60008211610a4a576040805160e560020a62461bcd02815260206004820152601260248201527f4d757374207665737420736f6d65204d4c4e0000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216926323b872dd926064808401936020939083900390910190829087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b50511515610b40576040805160e560020a62461bcd02815260206004820152601260248201527f4d4c4e206465706f736974206661696c65640000000000000000000000000000604482015290519081900360640190fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790554260035560029190915560045560058054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055565b6000806000610bbc60035442610c4090919063ffffffff16565b9150600454821015610c0d57610bef600454610be384600254610c5290919063ffffffff16565b9063ffffffff610c7616565b9050610c0660065482610c4090919063ffffffff16565b9250610c25565b600654600254610c229163ffffffff610c4016565b92505b505090565b600082820183811015610c3957fe5b9392505050565b600082821115610c4c57fe5b50900390565b6000828202831580610c6e5750828482811515610c6b57fe5b04145b1515610c3957fe5b6000808284811515610c8457fe5b049493505050505600a165627a7a7230582098035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe0910029

Deployed Bytecode Sourcemap

3942:4447:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4349:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4349:30:0;;;;;;;;;;;;;;;;;;;;4277:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4277:28:0;;;;;;;;;;;;;;;;;;;;;;4563:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4563:26:0;;;;;;;;-1:-1:-1;;;;;4563:26:0;;;;;;;;;;;;;;7180:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7180:372:0;;;;;;4204:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4204:23:0;;;;4492:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4492:25:0;;;;4110:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4110:20:0;;;;4423:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4423:28:0;;;;4629:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4629:21:0;;;;7702:684;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7702:684:0;;;;4049:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4049:27:0;;;;6512:634;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6512:634:0;-1:-1:-1;;;;;6512:634:0;;;;;;;;;5678:417;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5678:417:0;;;;4349:30;;;;:::o;4277:28::-;;;-1:-1:-1;;;4277:28:0;;;;;:::o;4563:26::-;;;-1:-1:-1;;;;;4563:26:0;;:::o;7180:372::-;5113:11;;7310:17;;-1:-1:-1;;;;;5113:11:0;5099:10;:25;5077:103;;;;;-1:-1:-1;;;;;5077:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5430:16;;-1:-1:-1;;;5430:16:0;;;;5408:89;;;;;;;-1:-1:-1;;;;;5408:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7330:23;:21;:23::i;:::-;7376:9;;7310:43;;-1:-1:-1;7376:27:0;;7310:43;7376:27;:13;:27;:::i;:::-;7364:9;:39;7436:14;;;7460:11;;7436:50;;;;;;-1:-1:-1;;;;;7460:11:0;;;7436:50;;;;;;;;;;;;:14;;;;;:23;;:50;;;;;;;;;;;;;;;;;;:14;:50;;;5:2:-1;;;;30:1;27;20:12;5:2;7436:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7436:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7436:50:0;7414:130;;;;;;;-1:-1:-1;;;;;7414:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7180:372;:::o;4204:23::-;;;-1:-1:-1;;;4204:23:0;;;;;:::o;4492:25::-;;;;:::o;4110:20::-;;;-1:-1:-1;;;;;4110:20:0;;:::o;4423:28::-;;;;:::o;4629:21::-;;;;:::o;7702:684::-;4955:5;;7874:20;;;;;;-1:-1:-1;;;;;4955:5:0;4941:10;:19;4919:91;;;;;-1:-1:-1;;;;;4919:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5430:16;;-1:-1:-1;;;5430:16:0;;;;5408:89;;;;;;;-1:-1:-1;;;;;5408:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:4;7845:18;;-1:-1:-1;;7845:18:0;-1:-1:-1;;;7845:18:0;;;7897:23;:21;:23::i;:::-;7954:9;;7874:46;;-1:-1:-1;7954:30:0;;7874:46;7954:30;:13;:30;:::i;:::-;8020:18;;7931:53;;-1:-1:-1;8020:39:0;;7931:53;8020:39;:22;:39;:::i;:::-;8082:18;;8070:9;:30;-1:-1:-1;8133:14:0;;8157:11;;8133:53;;;;;;-1:-1:-1;;;;;8157:11:0;;;8133:53;;;;;;;;;;;;7995:64;;-1:-1:-1;8133:14:0;;;:23;;:53;;;;;;;;;;;;;;;;;;:14;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;8133:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8133:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8133:53:0;8111:133;;;;;;;-1:-1:-1;;;;;8111:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:14;;;;8301:5;8277:49;;;;;;-1:-1:-1;;;;;8301:5:0;;;8277:49;;;;;;;;;;;;:14;;;;;:23;;:49;;;;;;;;;;;;;;;;;;:14;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;8277:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8277:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8277:49:0;8255:123;;;;;;;-1:-1:-1;;;;;8255:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7702:684;;;:::o;4049:27::-;;;-1:-1:-1;;;;;4049:27:0;;:::o;6512:634::-;4955:5;;-1:-1:-1;;;;;4955:5:0;4941:10;:19;4919:91;;;;;-1:-1:-1;;;;;4919:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5273:16;;-1:-1:-1;;;5273:16:0;;;;5272:17;5250:92;;;;;-1:-1:-1;;;;;5250:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6767:1;6749:19;;6741:50;;;;;-1:-1:-1;;;;;6741:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6824:14;;;:62;;;;;;6852:10;6824:62;;;;6864:4;6824:62;;;;;;;;;;;;-1:-1:-1;;;;;6824:14:0;;;;:27;;:62;;;;;;;;;;;;;;;;;:14;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;6824:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6824:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6824:62:0;6802:130;;;;;;;-1:-1:-1;;;;;6802:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6962:4;6943:23;;-1:-1:-1;;6943:23:0;-1:-1:-1;;;6943:23:0;;;6996:15;6977:16;:34;7022:18;:36;;;;7069:13;:31;7111:11;:27;;-1:-1:-1;;;;;7111:27:0;;;-1:-1:-1;;7111:27:0;;;;;;;;;6512:634::o;5678:417::-;5732:17;5762:15;5877:11;5780:37;5800:16;;5780:15;:19;;:37;;;;:::i;:::-;5762:55;;5847:13;;5834:10;:26;5830:258;;;5891:53;5930:13;;5891:34;5914:10;5891:18;;:22;;:34;;;;:::i;:::-;:38;:53;:38;:53;:::i;:::-;5877:67;;5974:21;5985:9;;5974:6;:10;;:21;;;;:::i;:::-;5959:36;;5830:258;;;6066:9;;6043:18;;:33;;;:22;:33;:::i;:::-;6028:48;;5830:258;5678:417;;;:::o;592:116::-;639:4;661:5;;;680:6;;;;673:14;;;;701:1;592:116;-1:-1:-1;;;592:116:0:o;487:99::-;534:4;554:6;;;;547:14;;;;-1:-1:-1;575:5:0;;;487:99::o;250:130::-;297:4;319:5;;;338:6;;;:20;;;357:1;352;348;:5;;;;;;;;:10;338:20;331:28;;;;;386:95;433:4;446:6;459:1;455;:5;;;;;;;;;386:95;-1:-1:-1;;;;386:95:0:o

Swarm Source

bzzr://98035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe091

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.