ETH Price: $3,748.78 (-2.08%)
Gas: 9 Gwei

Token

 

Overview

Max Total Supply

0

Holders

0

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VestingTeam

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-09-04
*/

// File @openzeppelin/contracts/GSN/[email protected]

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


// File @openzeppelin/contracts/access/[email protected]

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}



// File contracts/Vesting.sol

//SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;



// Vesting provides the main functionality for the vesting approach taken
// The goal is to enable releasing funds from the timelocks after the exchange listing has happened.
// To keep things simple the contract is Ownable, and the owner (a multisig wallet) is able to indicate that
// the exchange listing has happened. All release dates are defined in days relative to the listing date.

// All release schedules are set up during minting, HOWEVER, ERC20 balances will be transferred from the initial
// multisig wallets to the Vesting contracts after minting the ERC20.
// Caveat: The release schedules (timelocks) do need a sufficient balance and will otherwise fail. We decided not
// to write any guards for this situation since it's a 1-time only event and it is easy to remedy (send more RAMP).

// It will be the responsibility of the RAMP team to fund the Vesting contracts as soon as possible, and with
// the amounts necessary.
// It will also be the responsibility of the RAMP team to call the "setListingTime" function at the appropriate time.

abstract contract Vesting is Ownable {

    // Every timelock has this structure
    struct Timelock {
        address beneficiary;
        uint256 balance;
        uint256 releaseTimeOffset;
    }

    // The timelocks, publicly queryable
    Timelock[] public timelocks;

    // The time of exchange listing, as submitted by the Owner. Starts as 0.
    uint256 public listingTime = 0;

    // The token (RAMP DEFI)
    IERC20 token;

    // Event fired when tokens are released
    event TimelockRelease(address receiver, uint256 amount, uint256 timelock);

    // Vesting is initialized with the token contract
    constructor(address tokenContract) public {
        token = IERC20(tokenContract);
    }

    // Sets up a timelock. Intended to be used during instantiation of an implementing contract
    function setupTimelock(address beneficiary, uint256 amount, uint256 releaseTimeOffset)
    internal
    {
        // Create a variable
        Timelock memory timelock;

        // Set beneficiary
        timelock.beneficiary = beneficiary;

        // Set balance
        timelock.balance = amount;

        // Set the release time offset. This is a uint256 representing seconds after listingTime
        timelock.releaseTimeOffset = releaseTimeOffset;

        // Add the timelock to the array.
        timelocks.push(timelock);
    }

    // Lets Owner set the listingTime. Can be done only once.
    function setListingTime()
    public
    onlyOwner
    {
        // We can run this only once since listingTime will be a timestamp after.
        require(listingTime == 0, "Listingtime was already set");

        // Set the listingtime to the current timestamp.
        listingTime = block.timestamp;
    }

    // Initiates the process to release tokens in a given timelock.
    // Anyone can call this function, but funds will always be released to the beneficiary that was initially set.
    // If the transfer fails for any reason, the transaction will revert.
    // NOTE: It is the RAMP team responsibility to ensure the tokens are indeed owned by this contract.
    function release(uint256 timelockNumber)
    public
    {
        // Check if listingTime is set, otherwise it is not possible to release funds yet.
        require(listingTime > 0, "Listing time was not set yet");

        // Retrieve the requested timelock struct
        Timelock storage timelock = timelocks[timelockNumber];

        // Check if the timelock is ready for release.
        require(listingTime + timelock.releaseTimeOffset <= now, "Timelock can not be released yet.");

        // Get the amount to transfer
        uint256 amount = timelock.balance;

        // Set the timelock balance to 0
        timelock.balance = 0;

        // Transfer the token amount to the beneficiary. If this fails, the transaction will revert.
        require(token.transfer(timelock.beneficiary, amount), "Transfer of amount failed");

        // Emit an event for this.
        emit TimelockRelease(timelock.beneficiary, amount, timelockNumber);

    }

}


// File contracts/VestingTeam.sol

//SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;



contract VestingTeam is Vesting {

    constructor(address tokenContract, address beneficiary) Vesting(tokenContract) public {

        // 1 = Team1-6
        setupTimelock(beneficiary, 26666000e18, 182 days);

        // 2 = Team2-6
        setupTimelock(beneficiary, 26666000e18, 365 days);

        // 3 = Team3-6
        setupTimelock(beneficiary, 26666000e18, 547 days);

        // 4 = Team4-6
        setupTimelock(beneficiary, 26666000e18, 730 days);

        // 5 = Team5-6
        setupTimelock(beneficiary, 26666000e18, 912 days);

        // 6 = Team6-6
        setupTimelock(beneficiary, 26670000e18, 1095 days);

        // Make the beneficiary (Team multisig) owner of this contract
        transferOwnership(beneficiary);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"TimelockRelease","type":"event"},{"inputs":[],"name":"listingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timelockNumber","type":"uint256"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setListingTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"timelocks","outputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"releaseTimeOffset","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260006002553480156200001657600080fd5b506040516200109738038062001097833981810160405260408110156200003c57600080fd5b8101908080519060200190929190805190602001909291905050508160006200006a6200022e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200016b816a160ebec1aee4e78640000062eff1006200023660201b60201c565b6200018d816a160ebec1aee4e7864000006301e133806200023660201b60201c565b620001af816a160ebec1aee4e7864000006302d124806200023660201b60201c565b620001d1816a160ebec1aee4e7864000006303c267006200023660201b60201c565b620001f3816a160ebec1aee4e7864000006304b258006200023660201b60201c565b62000215816a160f9798d59bff00c000006305a39a806200023660201b60201c565b62000226816200031b60201b60201c565b50506200056a565b600033905090565b6200024062000533565b83816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508281602001818152505081816040018181525050600181908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155505050505050565b6200032b6200022e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620003ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000475576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180620010716026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b610af7806200057a6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806337bdc99b1161005b57806337bdc99b14610126578063715018a6146101545780638da5cb5b1461015e578063f2fde38b146101a85761007d565b80630d7e149f1461008257806314902254146100fe57806333b1474214610108575b600080fd5b6100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101ec565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b610106610243565b005b61011061038d565b6040518082815260200191505060405180910390f35b6101526004803603602081101561013c57600080fd5b8101908080359060200190929190505050610393565b005b61015c6106b4565b005b61016661083c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ea600480360360208110156101be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610865565b005b600181815481106101f957fe5b90600052602060002090600302016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b61024b610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461030c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060025414610384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c697374696e6774696d652077617320616c726561647920736574000000000081525060200191505060405180910390fd5b42600281905550565b60025481565b60006002541161040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c697374696e672074696d6520776173206e6f7420736574207965740000000081525060200191505060405180910390fd5b60006001828154811061041a57fe5b9060005260206000209060030201905042816002015460025401111561048b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610aa16021913960400191505060405180910390fd5b60008160010154905060008260010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561056b57600080fd5b505af115801561057f573d6000803e3d6000fd5b505050506040513d602081101561059557600080fd5b8101908080519060200190929190505050610618576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572206f6620616d6f756e74206661696c65640000000000000081525060200191505060405180910390fd5b7f86423e86a3dd53589462176a136f20b25ede1631c86a84d6ae0aab082a17478a8260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168285604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b6106bc610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61086d610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7b6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737354696d656c6f636b2063616e206e6f742062652072656c6561736564207965742ea264697066735822122085d6413b919d40c16aae95d82022c378707fbe4f246280113479d501ded9dde664736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737300000000000000000000000033d0568941c0c64ff7e0fb4fba0b11bd37deed9f0000000000000000000000002dcfbd1ee5ce195937f913a6f8d18f9c9fd33ea4

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806337bdc99b1161005b57806337bdc99b14610126578063715018a6146101545780638da5cb5b1461015e578063f2fde38b146101a85761007d565b80630d7e149f1461008257806314902254146100fe57806333b1474214610108575b600080fd5b6100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101ec565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b610106610243565b005b61011061038d565b6040518082815260200191505060405180910390f35b6101526004803603602081101561013c57600080fd5b8101908080359060200190929190505050610393565b005b61015c6106b4565b005b61016661083c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ea600480360360208110156101be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610865565b005b600181815481106101f957fe5b90600052602060002090600302016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b61024b610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461030c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060025414610384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c697374696e6774696d652077617320616c726561647920736574000000000081525060200191505060405180910390fd5b42600281905550565b60025481565b60006002541161040b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c697374696e672074696d6520776173206e6f7420736574207965740000000081525060200191505060405180910390fd5b60006001828154811061041a57fe5b9060005260206000209060030201905042816002015460025401111561048b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610aa16021913960400191505060405180910390fd5b60008160010154905060008260010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561056b57600080fd5b505af115801561057f573d6000803e3d6000fd5b505050506040513d602081101561059557600080fd5b8101908080519060200190929190505050610618576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572206f6620616d6f756e74206661696c65640000000000000081525060200191505060405180910390fd5b7f86423e86a3dd53589462176a136f20b25ede1631c86a84d6ae0aab082a17478a8260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168285604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b6106bc610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61086d610a72565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a7b6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737354696d656c6f636b2063616e206e6f742062652072656c6561736564207965742ea264697066735822122085d6413b919d40c16aae95d82022c378707fbe4f246280113479d501ded9dde664736f6c63430006060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000033d0568941c0c64ff7e0fb4fba0b11bd37deed9f0000000000000000000000002dcfbd1ee5ce195937f913a6f8d18f9c9fd33ea4

-----Decoded View---------------
Arg [0] : tokenContract (address): 0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f
Arg [1] : beneficiary (address): 0x2dCfBd1EE5cE195937f913a6F8D18F9c9fd33eA4

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000033d0568941c0c64ff7e0fb4fba0b11bd37deed9f
Arg [1] : 0000000000000000000000002dcfbd1ee5ce195937f913a6f8d18f9c9fd33ea4


Deployed Bytecode Sourcemap

10603:772:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10603:772:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;7618:27:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7618:27:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8823:316;;;:::i;:::-;;7732:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9512:978;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9512:978:0;;;;;;;;;;;;;;;;;:::i;:::-;;2792:148;;;:::i;:::-;;2150:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3095:244;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3095:244:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7618:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8823:316::-;2372:12;:10;:12::i;:::-;2362:22;;:6;;;;;;;;;;;:22;;;2354:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8998:1:::1;8983:11;;:16;8975:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9116:15;9102:11;:29;;;;8823:316::o:0;7732:30::-;;;;:::o;9512:978::-;9695:1;9681:11;;:15;9673:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9793:25;9821:9;9831:14;9821:25;;;;;;;;;;;;;;;;;;9793:53;;9967:3;9937:8;:26;;;9923:11;;:40;:47;;9915:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10060:14;10077:8;:16;;;10060:33;;10167:1;10148:8;:16;;:20;;;;10291:5;;;;;;;;;;;:14;;;10306:8;:20;;;;;;;;;;;;10328:6;10291:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10291:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10291:44:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10291:44:0;;;;;;;;;;;;;;;;10283:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10419:61;10435:8;:20;;;;;;;;;;;;10457:6;10465:14;10419:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9512:978;;;:::o;2792:148::-;2372:12;:10;:12::i;:::-;2362:22;;:6;;;;;;;;;;;:22;;;2354:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:1:::1;2862:40;;2883:6;::::0;::::1;;;;;;;;;2862:40;;;;;;;;;;;;2930:1;2913:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2792:148::o:0;2150:79::-;2188:7;2215:6;;;;;;;;;;;2208:13;;2150:79;:::o;3095:244::-;2372:12;:10;:12::i;:::-;2362:22;;:6;;;;;;;;;;;:22;;;2354:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3204:1:::1;3184:22;;:8;:22;;;;3176:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3294:8;3265:38;;3286:6;::::0;::::1;;;;;;;;;3265:38;;;;;;;;;;;;3323:8;3314:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3095:244:::0;:::o;663:106::-;716:15;751:10;744:17;;663:106;:::o

Swarm Source

ipfs://85d6413b919d40c16aae95d82022c378707fbe4f246280113479d501ded9dde6
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.