More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 10917099 | 1282 days ago | IN | 0 ETH | 0.00211394 | ||||
Transfer | 10589457 | 1333 days ago | IN | 0 ETH | 0.00222814 | ||||
Transfer | 9476635 | 1505 days ago | IN | 0 ETH | 0.00002781 | ||||
Renounce Minter | 9007324 | 1583 days ago | IN | 0 ETH | 0.00005724 | ||||
Mint | 9007312 | 1583 days ago | IN | 0 ETH | 0.00027821 | ||||
Transfer Ownersh... | 9007177 | 1583 days ago | IN | 0 ETH | 0.00024355 | ||||
Add Minter | 9007172 | 1583 days ago | IN | 0 ETH | 0.00036476 | ||||
Add Minter | 9007169 | 1583 days ago | IN | 0 ETH | 0.00045595 | ||||
0x60806040 | 9007096 | 1583 days ago | IN | Create: PictosisToken | 0 ETH | 0.0242238 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
PictosisToken
Compiler Version
v0.5.13+commit.5b0b510c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-11-27 */ pragma solidity ^0.5.2; /** * @title Math * @dev Assorted math operations */ library Math { /** * @dev Returns the largest of two numbers. */ function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } /** * @dev Returns the smallest of two numbers. */ function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } /** * @dev Calculates the average of two numbers. Since these are integers, * averages of an even and odd number cannot be represented, and will be * rounded down. */ function average(uint256 a, uint256 b) internal pure returns (uint256) { // (a + b) / 2 can overflow, so we distribute return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); } } /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev give an account access to this role */ function add(Role storage role, address account) internal { require(account != address(0)); require(!has(role, account)); role.bearer[account] = true; } /** * @dev remove an account's access to this role */ function remove(Role storage role, address account) internal { require(account != address(0)); require(has(role, account)); role.bearer[account] = false; } /** * @dev check if an account has this role * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0)); return role.bearer[account]; } } /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } contract MinterRole { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(msg.sender); } modifier onlyMinter() { require(isMinter(msg.sender)); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(msg.sender); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 _amount, address _token, bytes memory _data) public; } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://eips.ethereum.org/EIPS/eip-20 * Originally based on code by FirstBlood: * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol * * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for * all accounts just by listening to said events. Note that this isn't required by the specification, and other * compliant implementations may not do it. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; uint256 private _totalSupply; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the balance of. * @return A uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) public view returns (uint256) { return _balances[owner]; } /** * @dev Function to check the amount of tokens that 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 uint256 specifying the amount of tokens still available for the spender. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowed[owner][spender]; } /** * @dev Transfer token to a specified address * @param to The address to transfer to. * @param value The amount to be transferred. */ function transfer(address to, uint256 value) public returns (bool) { _transfer(msg.sender, to, value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * 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 * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev Transfer tokens from one address to another. * Note that while this function emits an Approval event, this is not required as per the specification, * and other compliant implementations may not emit the event. * @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 uint256 the amount of tokens to be transferred */ function transferFrom(address from, address to, uint256 value) public returns (bool) { _transfer(from, to, value); _approve(from, msg.sender, _allowed[from][msg.sender].sub(value)); return true; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * Emits an Approval event. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue)); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * Emits an Approval event. * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Transfer token for a specified addresses * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } /** * @dev Internal function that mints an amount of the token and assigns it to * an account. This encapsulates the modification of balances such that the * proper events are emitted. * @param account The account that will receive the created tokens. * @param value The amount that will be created. */ function _mint(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); } /** * @dev Internal function that burns an amount of the token of a given * account. * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burn(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Approve an address to spend another addresses' tokens. * @param owner The address that owns the tokens. * @param spender The address that will spend the tokens. * @param value The number of tokens that can be spent. */ function _approve(address owner, address spender, uint256 value) internal { require(spender != address(0)); require(owner != address(0)); _allowed[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Internal function that burns an amount of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * Emits an Approval event (reflecting the reduced allowance). * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burnFrom(address account, uint256 value) internal { _burn(account, value); _approve(account, msg.sender, _allowed[account][msg.sender].sub(value)); } } /** * @title ERC20Detailed token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } /** * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } } /** * @title ERC20Mintable * @dev ERC20 minting logic */ contract ERC20Mintable is ERC20, MinterRole { /** * @dev Function to mint tokens * @param to The address that will receive the minted tokens. * @param value The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address to, uint256 value) public onlyMinter returns (bool) { _mint(to, value); return true; } } /** * @title Capped token * @dev Mintable token with a token cap. */ contract ERC20Capped is ERC20Mintable { uint256 private _cap; constructor (uint256 cap) public { require(cap > 0); _cap = cap; } /** * @return the cap for the token minting. */ function cap() public view returns (uint256) { return _cap; } function _mint(address account, uint256 value) internal { require(totalSupply().add(value) <= _cap); super._mint(account, value); } } /** * @title Arrays * @dev Utility library of inline array functions */ library Arrays { /** * @dev Upper bound search function which is kind of binary search algorithm. It searches sorted * array to find index of the element value. If element is found then returns its index otherwise * it returns index of first element which is greater than searched value. If searched element is * bigger than any array element function then returns first index after last element (i.e. all * values inside the array are smaller than the target). Complexity O(log n). * @param array The array sorted in ascending order. * @param element The element's value to be found. * @return The calculated index value. Returns 0 for empty array. */ function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) { if (array.length == 0) { return 0; } uint256 low = 0; uint256 high = array.length; while (low < high) { uint256 mid = Math.average(low, high); // Note that mid will always be strictly less than high (i.e. it will be a valid array index) // because Math.average rounds down (it does integer division with truncation). if (array[mid] > element) { high = mid; } else { low = mid + 1; } } // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound. if (low > 0 && array[low - 1] == element) { return low - 1; } else { return low; } } } /** * @title Counters * @author Matt Condon (@shrugs) * @dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number * of elements in a mapping, issuing ERC721 ids, or counting request ids * * Include with `using Counters for Counters.Counter;` * Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the SafeMath * overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never * directly accessed. */ library Counters { using SafeMath for uint256; struct Counter { // This variable should never be directly accessed by users of the library: interactions must be restricted to // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add // this feature: see https://github.com/ethereum/solidity/issues/4637 uint256 _value; // default: 0 } function current(Counter storage counter) internal view returns (uint256) { return counter._value; } function increment(Counter storage counter) internal { counter._value += 1; } function decrement(Counter storage counter) internal { counter._value = counter._value.sub(1); } } /** * @title ERC20 token with snapshots. * @dev Inspired by Jordi Baylina's MiniMeToken to record historical balances: * https://github.com/Giveth/minime/blob/ea04d950eea153a04c51fa510b068b9dded390cb/contracts/MiniMeToken.sol * When a snapshot is made, the balances and totalSupply at the time of the snapshot are recorded for later * access. * * To make a snapshot, call the `snapshot` function, which will emit the `Snapshot` event and return a snapshot id. * To get the total supply from a snapshot, call the function `totalSupplyAt` with the snapshot id. * To get the balance of an account from a snapshot, call the `balanceOfAt` function with the snapshot id and the * account address. * @author Validity Labs AG <[email protected]> */ contract ERC20Snapshot is ERC20 { using SafeMath for uint256; using Arrays for uint256[]; using Counters for Counters.Counter; // Snapshotted values have arrays of ids and the value corresponding to that id. These could be an array of a // Snapshot struct, but that would impede usage of functions that work on an array. struct Snapshots { uint256[] ids; uint256[] values; } mapping (address => Snapshots) private _accountBalanceSnapshots; Snapshots private _totalSupplySnaphots; // Snapshot ids increase monotonically, with the first value being 1. An id of 0 is invalid. Counters.Counter private _currentSnapshotId; event Snapshot(uint256 id); // Creates a new snapshot id. Balances are only stored in snapshots on demand: unless a snapshot was taken, a // balance change will not be recorded. This means the extra added cost of storing snapshotted balances is only paid // when required, but is also flexible enough that it allows for e.g. daily snapshots. function snapshot() public returns (uint256) { _currentSnapshotId.increment(); uint256 currentId = _currentSnapshotId.current(); emit Snapshot(currentId); return currentId; } function balanceOfAt(address account, uint256 snapshotId) public view returns (uint256) { (bool snapshotted, uint256 value) = _valueAt(snapshotId, _accountBalanceSnapshots[account]); return snapshotted ? value : balanceOf(account); } function totalSupplyAt(uint256 snapshotId) public view returns(uint256) { (bool snapshotted, uint256 value) = _valueAt(snapshotId, _totalSupplySnaphots); return snapshotted ? value : totalSupply(); } // _transfer, _mint and _burn are the only functions where the balances are modified, so it is there that the // snapshots are updated. Note that the update happens _before_ the balance change, with the pre-modified value. // The same is true for the total supply and _mint and _burn. function _transfer(address from, address to, uint256 value) internal { _updateAccountSnapshot(from); _updateAccountSnapshot(to); super._transfer(from, to, value); } function _mint(address account, uint256 value) internal { _updateAccountSnapshot(account); _updateTotalSupplySnapshot(); super._mint(account, value); } function _burn(address account, uint256 value) internal { _updateAccountSnapshot(account); _updateTotalSupplySnapshot(); super._burn(account, value); } // When a valid snapshot is queried, there are three possibilities: // a) The queried value was not modified after the snapshot was taken. Therefore, a snapshot entry was never // created for this id, and all stored snapshot ids are smaller than the requested one. The value that corresponds // to this id is the current one. // b) The queried value was modified after the snapshot was taken. Therefore, there will be an entry with the // requested id, and its value is the one to return. // c) More snapshots were created after the requested one, and the queried value was later modified. There will be // no entry for the requested id: the value that corresponds to it is that of the smallest snapshot id that is // larger than the requested one. // // In summary, we need to find an element in an array, returning the index of the smallest value that is larger if // it is not found, unless said value doesn't exist (e.g. when all values are smaller). Arrays.findUpperBound does // exactly this. function _valueAt(uint256 snapshotId, Snapshots storage snapshots) private view returns (bool, uint256) { require(snapshotId > 0); require(snapshotId <= _currentSnapshotId.current()); uint256 index = snapshots.ids.findUpperBound(snapshotId); if (index == snapshots.ids.length) { return (false, 0); } else { return (true, snapshots.values[index]); } } function _updateAccountSnapshot(address account) private { _updateSnapshot(_accountBalanceSnapshots[account], balanceOf(account)); } function _updateTotalSupplySnapshot() private { _updateSnapshot(_totalSupplySnaphots, totalSupply()); } function _updateSnapshot(Snapshots storage snapshots, uint256 currentValue) private { uint256 currentId = _currentSnapshotId.current(); if (_lastSnapshotId(snapshots.ids) < currentId) { snapshots.ids.push(currentId); snapshots.values.push(currentValue); } } function _lastSnapshotId(uint256[] storage ids) private view returns (uint256) { if (ids.length == 0) { return 0; } else { return ids[ids.length - 1]; } } } /** * @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 private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @return the address of the owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner()); _; } /** * @return true if `msg.sender` is the owner of the contract. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Allows the current owner to relinquish control of the contract. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. * @notice Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract PictosisToken is ERC20, ERC20Detailed, ERC20Mintable, ERC20Capped, ERC20Snapshot, Ownable { uint public transfersEnabledDate; modifier onlyTransfersEnabled() { require(block.timestamp >= transfersEnabledDate, "Transfers disabled"); _; } constructor(uint _enableTransfersDate, uint _cap) ERC20Capped(_cap) ERC20Mintable() ERC20Detailed("Pictosis Token", "PICTO", 18) ERC20() Ownable() public { transfersEnabledDate = _enableTransfersDate; } function areTransfersEnabled() public view returns(bool) { return block.timestamp >= transfersEnabledDate; } function transfer( address to, uint256 value ) public onlyTransfersEnabled returns (bool) { return super.transfer(to, value); } function transferFrom( address from, address to, uint256 value ) public onlyTransfersEnabled returns (bool) { return super.transferFrom(from, to, value); } /// @notice `msg.sender` approves `_spender` to send `_amount` tokens on /// its behalf, and then a function is triggered in the contract that is /// being approved, `_spender`. This allows users to use their tokens to /// interact with contracts in one function call instead of two /// @param _spender The address of the contract able to transfer the tokens /// @param _amount The amount of tokens to be approved for transfer /// @return True if the function call was successful function approveAndCall( address _spender, uint256 _amount, bytes memory _extraData ) public returns (bool success) { require(approve(_spender, _amount), "Couldn't approve spender"); ApproveAndCallFallBack(_spender).receiveApproval(msg.sender, _amount, address(this), _extraData); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_enableTransfersDate","type":"uint256"},{"internalType":"uint256","name":"_cap","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"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":"uint256","name":"id","type":"uint256"}],"name":"Snapshot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"areTransfersEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"snapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabledDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200241a3803806200241a833981810160405260408110156200003757600080fd5b810190808051906020019092919080519060200190929190505050806040518060400160405280600e81526020017f506963746f73697320546f6b656e0000000000000000000000000000000000008152506040518060400160405280600581526020017f504943544f00000000000000000000000000000000000000000000000000000081525060128260039080519060200190620000d9929190620003af565b508160049080519060200190620000f2929190620003af565b5080600560006101000a81548160ff021916908360ff16021790555050505062000122336200020560201b60201c565b600081116200013057600080fd5b806007819055505033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a381600d8190555050506200045e565b620002208160066200026660201b62001a021790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620002a157600080fd5b620002b382826200031c60201b60201c565b15620002be57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200035857600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003f257805160ff191683800117855562000423565b8280016001018555821562000423579182015b828111156200042257825182559160200191906001019062000405565b5b50905062000432919062000436565b5090565b6200045b91905b80821115620004575760008160009055506001016200043d565b5090565b90565b611fac806200046e6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638f32d59b116100de578063a457c2d711610097578063b415b8a911610071578063b415b8a9146107d9578063cae9ca51146107f7578063dd62ed3e146108f4578063f2fde38b1461096c5761018e565b8063a457c2d7146106b1578063a9059cbb14610717578063aa271e1a1461077d5761018e565b80638f32d59b1461055e57806395d89b41146105805780639711715a14610603578063981b24d014610621578063983b2d561461066357806398650275146106a75761018e565b8063379ef1951161014b5780634ee2cd7e116101255780634ee2cd7e1461045057806370a08231146104b2578063715018a61461050a5780638da5cb5b146105145761018e565b8063379ef19514610362578063395093511461038457806340c10f19146103ea5761018e565b806306fdde0314610193578063095ea7b31461021657806318160ddd1461027c57806323b872dd1461029a578063313ce56714610320578063355274ea14610344575b600080fd5b61019b6109b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101db5780820151818401526020810190506101c0565b50505050905090810190601f1680156102085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a52565b604051808215151515815260200191505060405180910390f35b610284610a69565b6040518082815260200191505060405180910390f35b610306600480360360608110156102b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a73565b604051808215151515815260200191505060405180910390f35b610328610b01565b604051808260ff1660ff16815260200191505060405180910390f35b61034c610b18565b6040518082815260200191505060405180910390f35b61036a610b22565b604051808215151515815260200191505060405180910390f35b6103d06004803603604081101561039a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b2f565b604051808215151515815260200191505060405180910390f35b6104366004803603604081101561040057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd4565b604051808215151515815260200191505060405180910390f35b61049c6004803603604081101561046657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfc565b6040518082815260200191505060405180910390f35b6104f4600480360360208110156104c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c6c565b6040518082815260200191505060405180910390f35b610512610cb4565b005b61051c610d86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610566610db0565b604051808215151515815260200191505060405180910390f35b610588610e08565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c85780820151818401526020810190506105ad565b50505050905090810190601f1680156105f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61060b610eaa565b6040518082815260200191505060405180910390f35b61064d6004803603602081101561063757600080fd5b8101908080359060200190929190505050610f02565b6040518082815260200191505060405180910390f35b6106a56004803603602081101561067957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f33565b005b6106af610f51565b005b6106fd600480360360408110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f5c565b604051808215151515815260200191505060405180910390f35b6107636004803603604081101561072d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611001565b604051808215151515815260200191505060405180910390f35b6107bf6004803603602081101561079357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061108d565b604051808215151515815260200191505060405180910390f35b6107e16110aa565b6040518082815260200191505060405180910390f35b6108da6004803603606081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506110b0565b604051808215151515815260200191505060405180910390f35b6109566004803603604081101561090a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611279565b6040518082815260200191505060405180910390f35b6109ae6004803603602081101561098257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611300565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a485780601f10610a1d57610100808354040283529160200191610a48565b820191906000526020600020905b815481529060010190602001808311610a2b57829003601f168201915b5050505050905090565b6000610a5f33848461131d565b6001905092915050565b6000600254905090565b6000600d54421015610aed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73666572732064697361626c6564000000000000000000000000000081525060200191505060405180910390fd5b610af884848461147c565b90509392505050565b6000600560009054906101000a900460ff16905090565b6000600754905090565b6000600d54421015905090565b6000610bca3384610bc585600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b61131d565b6001905092915050565b6000610bdf3361108d565b610be857600080fd5b610bf2838361154c565b6001905092915050565b6000806000610c4984600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061156b565b9150915081610c6057610c5b85610c6c565b610c62565b805b9250505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbc610db0565b610cc557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea05780601f10610e7557610100808354040283529160200191610ea0565b820191906000526020600020905b815481529060010190602001808311610e8357829003601f168201915b5050505050905090565b6000610eb6600b6115f3565b6000610ec2600b611609565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040518082815260200191505060405180910390a18091505090565b6000806000610f1284600961156b565b9150915081610f2857610f23610a69565b610f2a565b805b92505050919050565b610f3c3361108d565b610f4557600080fd5b610f4e81611617565b50565b610f5a33611671565b565b6000610ff73384610ff285600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b61131d565b6001905092915050565b6000600d5442101561107b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73666572732064697361626c6564000000000000000000000000000081525060200191505060405180910390fd5b61108583836116eb565b905092915050565b60006110a382600661170290919063ffffffff16565b9050919050565b600d5481565b60006110bc8484610a52565b61112e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f756c646e277420617070726f7665207370656e646572000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112075780820151818401526020810190506111ec565b50505050905090810190601f1680156112345780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561125657600080fd5b505af115801561126a573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611308610db0565b61131157600080fd5b61131a81611794565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561135757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139157600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061148984848461188e565b611522843361151d85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b61131d565b600190509392505050565b60008082840190508381101561154257600080fd5b8091505092915050565b611555826118b0565b61155d611903565b6115678282611917565b5050565b6000806000841161157b57600080fd5b611585600b611609565b84111561159157600080fd5b60006115a9858560000161194d90919063ffffffff16565b905083600001805490508114156115ca5760008080905092509250506115ec565b60018460010182815481106115db57fe5b906000526020600020015492509250505b9250929050565b6001816000016000828254019250508190555050565b600081600001549050919050565b61162b816006611a0290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611685816006611aae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000828211156116da57600080fd5b600082840390508091505092915050565b60006116f833848461188e565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561173d57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117ce57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611897836118b0565b6118a0826118b0565b6118ab838383611b59565b505050565b611900600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118fb83610c6c565b611d23565b50565b6119156009611910610a69565b611d23565b565b60075461193482611926610a69565b61152d90919063ffffffff16565b111561193f57600080fd5b6119498282611da6565b5050565b6000808380549050141561196457600090506119fc565b60008090506000848054905090505b808210156119bc5760006119878383611ef8565b90508486828154811061199657fe5b906000526020600020015411156119af578091506119b6565b6001810192505b50611973565b6000821180156119e45750838560018403815481106119d757fe5b9060005260206000200154145b156119f65760018203925050506119fc565b81925050505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a3c57600080fd5b611a468282611702565b15611a5057600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ae857600080fd5b611af28282611702565b611afb57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b9357600080fd5b611be4816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c77816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000611d2f600b611609565b905080611d3e84600001611f3a565b1015611da15782600001819080600181540180825580915050906001820390600052602060002001600090919290919091505550826001018290806001815401808255809150509060018203906000526020600020016000909192909190915055505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611de057600080fd5b611df58160025461152d90919063ffffffff16565b600281905550611e4c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60006002808381611f0557fe5b0660028581611f1057fe5b060181611f1957fe5b0460028381611f2457fe5b0460028581611f2f57fe5b040101905092915050565b60008082805490501415611f515760009050611f72565b81600183805490500381548110611f6457fe5b906000526020600020015490505b91905056fea265627a7a723158209262c222750b5e03d0c7c09213061195c4d10d73b2af0c59499feb8058174d6b64736f6c634300050d0032000000000000000000000000000000000000000000000000000000005e0e84000000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638f32d59b116100de578063a457c2d711610097578063b415b8a911610071578063b415b8a9146107d9578063cae9ca51146107f7578063dd62ed3e146108f4578063f2fde38b1461096c5761018e565b8063a457c2d7146106b1578063a9059cbb14610717578063aa271e1a1461077d5761018e565b80638f32d59b1461055e57806395d89b41146105805780639711715a14610603578063981b24d014610621578063983b2d561461066357806398650275146106a75761018e565b8063379ef1951161014b5780634ee2cd7e116101255780634ee2cd7e1461045057806370a08231146104b2578063715018a61461050a5780638da5cb5b146105145761018e565b8063379ef19514610362578063395093511461038457806340c10f19146103ea5761018e565b806306fdde0314610193578063095ea7b31461021657806318160ddd1461027c57806323b872dd1461029a578063313ce56714610320578063355274ea14610344575b600080fd5b61019b6109b0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101db5780820151818401526020810190506101c0565b50505050905090810190601f1680156102085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a52565b604051808215151515815260200191505060405180910390f35b610284610a69565b6040518082815260200191505060405180910390f35b610306600480360360608110156102b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a73565b604051808215151515815260200191505060405180910390f35b610328610b01565b604051808260ff1660ff16815260200191505060405180910390f35b61034c610b18565b6040518082815260200191505060405180910390f35b61036a610b22565b604051808215151515815260200191505060405180910390f35b6103d06004803603604081101561039a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b2f565b604051808215151515815260200191505060405180910390f35b6104366004803603604081101561040057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd4565b604051808215151515815260200191505060405180910390f35b61049c6004803603604081101561046657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfc565b6040518082815260200191505060405180910390f35b6104f4600480360360208110156104c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c6c565b6040518082815260200191505060405180910390f35b610512610cb4565b005b61051c610d86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610566610db0565b604051808215151515815260200191505060405180910390f35b610588610e08565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c85780820151818401526020810190506105ad565b50505050905090810190601f1680156105f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61060b610eaa565b6040518082815260200191505060405180910390f35b61064d6004803603602081101561063757600080fd5b8101908080359060200190929190505050610f02565b6040518082815260200191505060405180910390f35b6106a56004803603602081101561067957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f33565b005b6106af610f51565b005b6106fd600480360360408110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f5c565b604051808215151515815260200191505060405180910390f35b6107636004803603604081101561072d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611001565b604051808215151515815260200191505060405180910390f35b6107bf6004803603602081101561079357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061108d565b604051808215151515815260200191505060405180910390f35b6107e16110aa565b6040518082815260200191505060405180910390f35b6108da6004803603606081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506110b0565b604051808215151515815260200191505060405180910390f35b6109566004803603604081101561090a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611279565b6040518082815260200191505060405180910390f35b6109ae6004803603602081101561098257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611300565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a485780601f10610a1d57610100808354040283529160200191610a48565b820191906000526020600020905b815481529060010190602001808311610a2b57829003601f168201915b5050505050905090565b6000610a5f33848461131d565b6001905092915050565b6000600254905090565b6000600d54421015610aed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73666572732064697361626c6564000000000000000000000000000081525060200191505060405180910390fd5b610af884848461147c565b90509392505050565b6000600560009054906101000a900460ff16905090565b6000600754905090565b6000600d54421015905090565b6000610bca3384610bc585600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b61131d565b6001905092915050565b6000610bdf3361108d565b610be857600080fd5b610bf2838361154c565b6001905092915050565b6000806000610c4984600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061156b565b9150915081610c6057610c5b85610c6c565b610c62565b805b9250505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbc610db0565b610cc557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea05780601f10610e7557610100808354040283529160200191610ea0565b820191906000526020600020905b815481529060010190602001808311610e8357829003601f168201915b5050505050905090565b6000610eb6600b6115f3565b6000610ec2600b611609565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040518082815260200191505060405180910390a18091505090565b6000806000610f1284600961156b565b9150915081610f2857610f23610a69565b610f2a565b805b92505050919050565b610f3c3361108d565b610f4557600080fd5b610f4e81611617565b50565b610f5a33611671565b565b6000610ff73384610ff285600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b61131d565b6001905092915050565b6000600d5442101561107b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73666572732064697361626c6564000000000000000000000000000081525060200191505060405180910390fd5b61108583836116eb565b905092915050565b60006110a382600661170290919063ffffffff16565b9050919050565b600d5481565b60006110bc8484610a52565b61112e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f756c646e277420617070726f7665207370656e646572000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112075780820151818401526020810190506111ec565b50505050905090810190601f1680156112345780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561125657600080fd5b505af115801561126a573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611308610db0565b61131157600080fd5b61131a81611794565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561135757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139157600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061148984848461188e565b611522843361151d85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b61131d565b600190509392505050565b60008082840190508381101561154257600080fd5b8091505092915050565b611555826118b0565b61155d611903565b6115678282611917565b5050565b6000806000841161157b57600080fd5b611585600b611609565b84111561159157600080fd5b60006115a9858560000161194d90919063ffffffff16565b905083600001805490508114156115ca5760008080905092509250506115ec565b60018460010182815481106115db57fe5b906000526020600020015492509250505b9250929050565b6001816000016000828254019250508190555050565b600081600001549050919050565b61162b816006611a0290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611685816006611aae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000828211156116da57600080fd5b600082840390508091505092915050565b60006116f833848461188e565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561173d57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117ce57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611897836118b0565b6118a0826118b0565b6118ab838383611b59565b505050565b611900600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118fb83610c6c565b611d23565b50565b6119156009611910610a69565b611d23565b565b60075461193482611926610a69565b61152d90919063ffffffff16565b111561193f57600080fd5b6119498282611da6565b5050565b6000808380549050141561196457600090506119fc565b60008090506000848054905090505b808210156119bc5760006119878383611ef8565b90508486828154811061199657fe5b906000526020600020015411156119af578091506119b6565b6001810192505b50611973565b6000821180156119e45750838560018403815481106119d757fe5b9060005260206000200154145b156119f65760018203925050506119fc565b81925050505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a3c57600080fd5b611a468282611702565b15611a5057600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ae857600080fd5b611af28282611702565b611afb57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b9357600080fd5b611be4816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c77816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000611d2f600b611609565b905080611d3e84600001611f3a565b1015611da15782600001819080600181540180825580915050906001820390600052602060002001600090919290919091505550826001018290806001815401808255809150509060018203906000526020600020016000909192909190915055505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611de057600080fd5b611df58160025461152d90919063ffffffff16565b600281905550611e4c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60006002808381611f0557fe5b0660028581611f1057fe5b060181611f1957fe5b0460028381611f2457fe5b0460028581611f2f57fe5b040101905092915050565b60008082805490501415611f515760009050611f72565b81600183805490500381548110611f6457fe5b906000526020600020015490505b91905056fea265627a7a723158209262c222750b5e03d0c7c09213061195c4d10d73b2af0c59499feb8058174d6b64736f6c634300050d0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000005e0e84000000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
-----Decoded View---------------
Arg [0] : _enableTransfersDate (uint256): 1578009600
Arg [1] : _cap (uint256): 1000000000000000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005e0e8400
Arg [1] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode Sourcemap
26585:2097:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26585:2097:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13957:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13957:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8299:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8299:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6452:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27502:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27502:249:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14273:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15195:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27156:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9674:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9674:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14736:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14736:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20616:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20616:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6762:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6762:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;25810:140;;;:::i;:::-;;25020:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;25355:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14107:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14107:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20391:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20882:224;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20882:224:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4226:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4226:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4326:77;;;:::i;:::-;;10408:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10408:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;27286:208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27286:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4109:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4109:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;26691:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28277:402;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;28277:402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;28277:402:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28277:402:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;28277:402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;28277:402:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7207:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7207:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26127:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26127:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;13957:83;13994:13;14027:5;14020:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13957:83;:::o;8299:148::-;8364:4;8381:36;8390:10;8402:7;8411:5;8381:8;:36::i;:::-;8435:4;8428:11;;8299:148;;;;:::o;6452:91::-;6496:7;6523:12;;6516:19;;6452:91;:::o;27502:249::-;27679:4;26802:20;;26783:15;:39;;26775:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27708:35;27727:4;27733:2;27737:5;27708:18;:35::i;:::-;27701:42;;27502:249;;;;;:::o;14273:83::-;14314:5;14339:9;;;;;;;;;;;14332:16;;14273:83;:::o;15195:75::-;15231:7;15258:4;;15251:11;;15195:75;:::o;27156:122::-;27207:4;27250:20;;27231:15;:39;;27224:46;;27156:122;:::o;9674:203::-;9754:4;9771:76;9780:10;9792:7;9801:45;9835:10;9801:8;:20;9810:10;9801:20;;;;;;;;;;;;;;;:29;9822:7;9801:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;9771:8;:76::i;:::-;9865:4;9858:11;;9674:203;;;;:::o;14736:131::-;14804:4;4060:20;4069:10;4060:8;:20::i;:::-;4052:29;;;;;;14821:16;14827:2;14831:5;14821;:16::i;:::-;14855:4;14848:11;;14736:131;;;;:::o;20616:258::-;20695:7;20716:16;20734:13;20751:55;20760:10;20772:24;:33;20797:7;20772:33;;;;;;;;;;;;;;;20751:8;:55::i;:::-;20715:91;;;;20826:11;:40;;20848:18;20858:7;20848:9;:18::i;:::-;20826:40;;;20840:5;20826:40;20819:47;;;;20616:258;;;;:::o;6762:106::-;6817:7;6844:9;:16;6854:5;6844:16;;;;;;;;;;;;;;;;6837:23;;6762:106;;;:::o;25810:140::-;25232:9;:7;:9::i;:::-;25224:18;;;;;;25909:1;25872:40;;25893:6;;;;;;;;;;;25872:40;;;;;;;;;;;;25940:1;25923:6;;:19;;;;;;;;;;;;;;;;;;25810:140::o;25020:79::-;25058:7;25085:6;;;;;;;;;;;25078:13;;25020:79;:::o;25355:92::-;25395:4;25433:6;;;;;;;;;;;25419:20;;:10;:20;;;25412:27;;25355:92;:::o;14107:87::-;14146:13;14179:7;14172:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14107:87;:::o;20391:217::-;20427:7;20447:30;:18;:28;:30::i;:::-;20490:17;20510:28;:18;:26;:28::i;:::-;20490:48;;20554:19;20563:9;20554:19;;;;;;;;;;;;;;;;;;20591:9;20584:16;;;20391:217;:::o;20882:224::-;20945:7;20966:16;20984:13;21001:42;21010:10;21022:20;21001:8;:42::i;:::-;20965:78;;;;21063:11;:35;;21085:13;:11;:13::i;:::-;21063:35;;;21077:5;21063:35;21056:42;;;;20882:224;;;:::o;4226:92::-;4060:20;4069:10;4060:8;:20::i;:::-;4052:29;;;;;;4291:19;4302:7;4291:10;:19::i;:::-;4226:92;:::o;4326:77::-;4370:25;4384:10;4370:13;:25::i;:::-;4326:77::o;10408:213::-;10493:4;10510:81;10519:10;10531:7;10540:50;10574:15;10540:8;:20;10549:10;10540:20;;;;;;;;;;;;;;;:29;10561:7;10540:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;10510:8;:81::i;:::-;10609:4;10602:11;;10408:213;;;;:::o;27286:208::-;27432:4;26802:20;;26783:15;:39;;26775:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27461:25;27476:2;27480:5;27461:14;:25::i;:::-;27454:32;;27286:208;;;;:::o;4109:109::-;4165:4;4189:21;4202:7;4189:8;:12;;:21;;;;:::i;:::-;4182:28;;4109:109;;;:::o;26691:32::-;;;;:::o;28277:402::-;28445:12;28483:26;28491:8;28501:7;28483;:26::i;:::-;28475:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28574:8;28551:48;;;28600:10;28612:7;28629:4;28636:10;28551:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;28551:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28551:96:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28551:96:0;;;;28667:4;28660:11;;28277:402;;;;;:::o;7207:131::-;7279:7;7306:8;:15;7315:5;7306:15;;;;;;;;;;;;;;;:24;7322:7;7306:24;;;;;;;;;;;;;;;;7299:31;;7207:131;;;;:::o;26127:109::-;25232:9;:7;:9::i;:::-;25224:18;;;;;;26200:28;26219:8;26200:18;:28::i;:::-;26127:109;:::o;12507:254::-;12619:1;12600:21;;:7;:21;;;;12592:30;;;;;;12658:1;12641:19;;:5;:19;;;;12633:28;;;;;;12701:5;12674:8;:15;12683:5;12674:15;;;;;;;;;;;;;;;:24;12690:7;12674:24;;;;;;;;;;;;;;;:32;;;;12738:7;12722:31;;12731:5;12722:31;;;12747:5;12722:31;;;;;;;;;;;;;;;;;;12507:254;;;:::o;8920:228::-;8999:4;9016:26;9026:4;9032:2;9036:5;9016:9;:26::i;:::-;9053:65;9062:4;9068:10;9080:37;9111:5;9080:8;:14;9089:4;9080:14;;;;;;;;;;;;;;;:26;9095:10;9080:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;9053:8;:65::i;:::-;9136:4;9129:11;;8920:228;;;;;:::o;3298:150::-;3356:7;3376:9;3392:1;3388;:5;3376:17;;3417:1;3412;:6;;3404:15;;;;;;3439:1;3432:8;;;3298:150;;;;:::o;21620:185::-;21687:31;21710:7;21687:22;:31::i;:::-;21729:28;:26;:28::i;:::-;21770:27;21782:7;21791:5;21770:11;:27::i;:::-;21620:185;;:::o;23078:453::-;23176:4;23182:7;23228:1;23215:10;:14;23207:23;;;;;;23263:28;:18;:26;:28::i;:::-;23249:10;:42;;23241:51;;;;;;23305:13;23321:40;23350:10;23321:9;:13;;:28;;:40;;;;:::i;:::-;23305:56;;23387:9;:13;;:20;;;;23378:5;:29;23374:150;;;23432:5;23439:1;23424:17;;;;;;;;;;23374:150;23482:4;23488:9;:16;;23505:5;23488:23;;;;;;;;;;;;;;;;23474:38;;;;;23078:453;;;;;;:::o;18333:91::-;18415:1;18397:7;:14;;;:19;;;;;;;;;;;18333:91;:::o;18211:114::-;18276:7;18303;:14;;;18296:21;;18211:114;;;:::o;4411:122::-;4468:21;4481:7;4468:8;:12;;:21;;;;:::i;:::-;4517:7;4505:20;;;;;;;;;;;;4411:122;:::o;4541:130::-;4601:24;4617:7;4601:8;:15;;:24;;;;:::i;:::-;4655:7;4641:22;;;;;;;;;;;;4541:130;:::o;3060:150::-;3118:7;3151:1;3146;:6;;3138:15;;;;;;3164:9;3180:1;3176;:5;3164:17;;3201:1;3194:8;;;3060:150;;;;:::o;7512:140::-;7573:4;7590:32;7600:10;7612:2;7616:5;7590:9;:32::i;:::-;7640:4;7633:11;;7512:140;;;;:::o;1663:165::-;1735:4;1779:1;1760:21;;:7;:21;;;;1752:30;;;;;;1800:4;:11;;:20;1812:7;1800:20;;;;;;;;;;;;;;;;;;;;;;;;;1793:27;;1663:165;;;;:::o;26386:187::-;26480:1;26460:22;;:8;:22;;;;26452:31;;;;;;26528:8;26499:38;;26520:6;;;;;;;;;;;26499:38;;;;;;;;;;;;26557:8;26548:6;;:17;;;;;;;;;;;;;;;;;;26386:187;:::o;21414:198::-;21494:28;21517:4;21494:22;:28::i;:::-;21533:26;21556:2;21533:22;:26::i;:::-;21572:32;21588:4;21594:2;21598:5;21572:15;:32::i;:::-;21414:198;;;:::o;23539:146::-;23607:70;23623:24;:33;23648:7;23623:33;;;;;;;;;;;;;;;23658:18;23668:7;23658:9;:18::i;:::-;23607:15;:70::i;:::-;23539:146;:::o;23693:117::-;23750:52;23766:20;23788:13;:11;:13::i;:::-;23750:15;:52::i;:::-;23693:117::o;15278:154::-;15381:4;;15353:24;15371:5;15353:13;:11;:13::i;:::-;:17;;:24;;;;:::i;:::-;:32;;15345:41;;;;;;15397:27;15409:7;15418:5;15397:11;:27::i;:::-;15278:154;;:::o;16252:918::-;16341:7;16381:1;16365:5;:12;;;;:17;16361:58;;;16406:1;16399:8;;;;16361:58;16431:11;16445:1;16431:15;;16457:12;16472:5;:12;;;;16457:27;;16497:424;16510:4;16504:3;:10;16497:424;;;16531:11;16545:23;16558:3;16563:4;16545:12;:23::i;:::-;16531:37;;16802:7;16789:5;16795:3;16789:10;;;;;;;;;;;;;;;;:20;16785:125;;;16837:3;16830:10;;16785:125;;;16893:1;16887:3;:7;16881:13;;16785:125;16497:424;;;;17047:1;17041:3;:7;:36;;;;;17070:7;17052:5;17064:1;17058:3;:7;17052:14;;;;;;;;;;;;;;;;:25;17041:36;17037:126;;;17107:1;17101:3;:7;17094:14;;;;;;17037:126;17148:3;17141:10;;;;16252:918;;;;;:::o;1115:186::-;1211:1;1192:21;;:7;:21;;;;1184:30;;;;;;1234:18;1238:4;1244:7;1234:3;:18::i;:::-;1233:19;1225:28;;;;;;1289:4;1266;:11;;:20;1278:7;1266:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1115:186;;:::o;1380:189::-;1479:1;1460:21;;:7;:21;;;;1452:30;;;;;;1501:18;1505:4;1511:7;1501:3;:18::i;:::-;1493:27;;;;;;1556:5;1533:4;:11;;:20;1545:7;1533:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1380:189;;:::o;10848:262::-;10950:1;10936:16;;:2;:16;;;;10928:25;;;;;;10984:26;11004:5;10984:9;:15;10994:4;10984:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;10966:9;:15;10976:4;10966:15;;;;;;;;;;;;;;;:44;;;;11037:24;11055:5;11037:9;:13;11047:2;11037:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;11021:9;:13;11031:2;11021:13;;;;;;;;;;;;;;;:40;;;;11092:2;11077:25;;11086:4;11077:25;;;11096:5;11077:25;;;;;;;;;;;;;;;;;;10848:262;;;:::o;23818:315::-;23913:17;23933:28;:18;:26;:28::i;:::-;23913:48;;24009:9;23976:30;23992:9;:13;;23976:15;:30::i;:::-;:42;23972:154;;;24035:9;:13;;24054:9;24035:29;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;24035:29:0;;;;;;;;;;;;;;;;;;;;;;24079:9;:16;;24101:12;24079:35;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;24079:35:0;;;;;;;;;;;;;;;;;;;;;;23972:154;23818:315;;;:::o;11462:269::-;11556:1;11537:21;;:7;:21;;;;11529:30;;;;;;11587:23;11604:5;11587:12;;:16;;:23;;;;:::i;:::-;11572:12;:38;;;;11642:29;11665:5;11642:9;:18;11652:7;11642:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;11621:9;:18;11631:7;11621:18;;;;;;;;;;;;;;;:50;;;;11708:7;11687:36;;11704:1;11687:36;;;11717:5;11687:36;;;;;;;;;;;;;;;;;;11462:269;;:::o;667:193::-;729:7;850:1;845;841;:5;;;;;;837:1;833;:5;;;;;;:13;832:19;;;;;;826:1;822;:5;;;;;;816:1;812;:5;;;;;;811:17;:41;804:48;;667:193;;;;:::o;24141:212::-;24211:7;24249:1;24235:3;:10;;;;:15;24231:115;;;24274:1;24267:8;;;;24231:115;24315:3;24332:1;24319:3;:10;;;;:14;24315:19;;;;;;;;;;;;;;;;24308:26;;24141:212;;;;:::o
Swarm Source
bzzr://9262c222750b5e03d0c7c09213061195c4d10d73b2af0c59499feb8058174d6b
Loading...
Loading
Loading...
Loading
OVERVIEW
A crowdstorm design platform open ecosystem where thousands of global talents solve creative tasks based on a briefing to get paid & rewarded for their outstanding work & community engagement.Multichain Portfolio | 24 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.