ETH Price: $3,404.59 (+2.30%)

Contract

0x8ed65119CEB2589828C0975B8db71416A7931b49
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Confirm KYC98705922020-04-14 12:30:181739 days ago1586867418IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98705682020-04-14 12:26:421739 days ago1586867202IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98705392020-04-14 12:21:571739 days ago1586866917IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98705112020-04-14 12:14:551739 days ago1586866495IN
0x8ed65119...6A7931b49
0 ETH0.0013029528
Confirm KYC98704972020-04-14 12:11:231739 days ago1586866283IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98704742020-04-14 12:05:151739 days ago1586865915IN
0x8ed65119...6A7931b49
0 ETH0.0007653528
Confirm KYC98704742020-04-14 12:05:151739 days ago1586865915IN
0x8ed65119...6A7931b49
0 ETH0.0013029528
Confirm KYC98704562020-04-14 12:00:201739 days ago1586865620IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98447382020-04-10 13:13:071743 days ago1586524387IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98447222020-04-10 13:09:221743 days ago1586524162IN
0x8ed65119...6A7931b49
0 ETH0.0007656828
Confirm KYC98447212020-04-10 13:08:381743 days ago1586524118IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98447082020-04-10 13:06:421743 days ago1586524002IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98446952020-04-10 13:04:051743 days ago1586523845IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98446832020-04-10 13:01:211743 days ago1586523681IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98446342020-04-10 12:50:541743 days ago1586523054IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98337792020-04-08 20:52:301744 days ago1586379150IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98337352020-04-08 20:45:161744 days ago1586378716IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98337172020-04-08 20:38:431744 days ago1586378323IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98335732020-04-08 20:10:561744 days ago1586376656IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98315172020-04-08 12:22:461745 days ago1586348566IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98314672020-04-08 12:12:461745 days ago1586347966IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98313152020-04-08 11:43:521745 days ago1586346232IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98309752020-04-08 10:29:201745 days ago1586341760IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
Confirm KYC98309622020-04-08 10:26:211745 days ago1586341581IN
0x8ed65119...6A7931b49
0 ETH0.0007656828
Confirm KYC98309612020-04-08 10:25:451745 days ago1586341545IN
0x8ed65119...6A7931b49
0 ETH0.0013032828
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CrowdliKYCProvider

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-07-03
*/

// File: src/main/solidity/zeppelin-solidity/contracts/access/Roles.sol

pragma solidity ^0.5.0;

/**
 * @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(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    /**
     * @dev Remove an account's access to this role.
     */
    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        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), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

// File: src/main/solidity/zeppelin-solidity/contracts/access/roles/PauserRole.sol

pragma solidity ^0.5.0;


contract PauserRole {
    using Roles for Roles.Role;

    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);

    Roles.Role private _pausers;

    constructor () internal {
        _addPauser(msg.sender);
    }

    modifier onlyPauser() {
        require(isPauser(msg.sender), "PauserRole: caller does not have the Pauser role");
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyPauser {
        _addPauser(account);
    }

    function renouncePauser() public {
        _removePauser(msg.sender);
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}

// File: src/main/solidity/zeppelin-solidity/contracts/lifecycle/Pausable.sol

pragma solidity ^0.5.0;


/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
contract Pausable is PauserRole {
    /**
     * @dev Emitted when the pause is triggered by a pauser (`account`).
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by a pauser (`account`).
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state. Assigns the Pauser role
     * to the deployer.
     */
    constructor () internal {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!_paused, "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     */
    modifier whenPaused() {
        require(_paused, "Pausable: not paused");
        _;
    }

    /**
     * @dev Called by a pauser to pause, triggers stopped state.
     */
    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(msg.sender);
    }

    /**
     * @dev Called by a pauser to unpause, returns to normal state.
     */
    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(msg.sender);
    }
}

// File: src/main/solidity/zeppelin-solidity/contracts/access/roles/WhitelistAdminRole.sol

pragma solidity ^0.5.0;


/**
 * @title WhitelistAdminRole
 * @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts.
 */
contract WhitelistAdminRole {
    using Roles for Roles.Role;

    event WhitelistAdminAdded(address indexed account);
    event WhitelistAdminRemoved(address indexed account);

    Roles.Role private _whitelistAdmins;

    constructor () internal {
        _addWhitelistAdmin(msg.sender);
    }

    modifier onlyWhitelistAdmin() {
        require(isWhitelistAdmin(msg.sender), "WhitelistAdminRole: caller does not have the WhitelistAdmin role");
        _;
    }

    function isWhitelistAdmin(address account) public view returns (bool) {
        return _whitelistAdmins.has(account);
    }

    function addWhitelistAdmin(address account) public onlyWhitelistAdmin {
        _addWhitelistAdmin(account);
    }

    function renounceWhitelistAdmin() public {
        _removeWhitelistAdmin(msg.sender);
    }

    function _addWhitelistAdmin(address account) internal {
        _whitelistAdmins.add(account);
        emit WhitelistAdminAdded(account);
    }

    function _removeWhitelistAdmin(address account) internal {
        _whitelistAdmins.remove(account);
        emit WhitelistAdminRemoved(account);
    }
}

// File: src/main/solidity/CrowdliKYCProvider.sol

pragma solidity 0.5.0;



contract CrowdliKYCProvider is Pausable, WhitelistAdminRole {

	/**
	 * The verification levels supported by this ICO
	 */
	enum VerificationTier { None, KYCAccepted, VideoVerified, ExternalTokenAgent } 
    
    /**
     * Defines the max. amount of tokens an investor can purchase for a given verification level (tier)
     */
	mapping (uint => uint) public maxTokenAmountPerTier; 
    
    /**
    * Dictionary that maps addresses to investors which have successfully been verified by the external KYC process
    */
    mapping (address => VerificationTier) public verificationTiers;

    /**
    * This event is fired when a user has been successfully verified by the external KYC verification process
    */
    event LogKYCConfirmation(address indexed sender, VerificationTier verificationTier);

	/**
	 * This constructor initializes a new  CrowdliKYCProvider initializing the provided token amount threshold for the supported verification tiers
	 */
    constructor(address _kycConfirmer, uint _maxTokenForKYCAcceptedTier, uint _maxTokensForVideoVerifiedTier, uint _maxTokensForExternalTokenAgent) public {
        addWhitelistAdmin(_kycConfirmer);
        // Max token amount for non-verified investors
        maxTokenAmountPerTier[uint(VerificationTier.None)] = 0;
        
        // Max token amount for auto KYC auto verified investors
        maxTokenAmountPerTier[uint(VerificationTier.KYCAccepted)] = _maxTokenForKYCAcceptedTier;
        
        // Max token amount for auto KYC video verified investors
        maxTokenAmountPerTier[uint(VerificationTier.VideoVerified)] = _maxTokensForVideoVerifiedTier;
        
        // Max token amount for external token sell providers
        maxTokenAmountPerTier[uint(VerificationTier.ExternalTokenAgent)] = _maxTokensForExternalTokenAgent;
    }

    function confirmKYC(address _addressId, VerificationTier _verificationTier) public onlyWhitelistAdmin whenNotPaused {
        emit LogKYCConfirmation(_addressId, _verificationTier);
        verificationTiers[_addressId] = _verificationTier;
    }

    function hasVerificationLevel(address _investor, VerificationTier _verificationTier) public view returns (bool) {
        return (verificationTiers[_investor] == _verificationTier);
    }
    
    function getMaxChfAmountForInvestor(address _investor) public view returns (uint) {
        return maxTokenAmountPerTier[uint(verificationTiers[_investor])];
    }    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getMaxChfAmountForInvestor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addressId","type":"address"},{"name":"_verificationTier","type":"uint8"}],"name":"confirmKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"},{"name":"_verificationTier","type":"uint8"}],"name":"hasVerificationLevel","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"maxTokenAmountPerTier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationTiers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_kycConfirmer","type":"address"},{"name":"_maxTokenForKYCAcceptedTier","type":"uint256"},{"name":"_maxTokensForVideoVerifiedTier","type":"uint256"},{"name":"_maxTokensForExternalTokenAgent","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"verificationTier","type":"uint8"}],"name":"LogKYCConfirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistAdminRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}]

60806040523480156200001157600080fd5b5060405160808062001060833981018060405260808110156200003357600080fd5b50805160208201516040830151606090930151919290916200005e3364010000000062000132810204565b6001805460ff191690556200007c3364010000000062000184810204565b6200009084640100000000620001d6810204565b6003602081905260007f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff8190557fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c949094557fc3a24b0501bd2c13a7e57f2db4369ec4c223447539fc0724a9d55ac4a06ebd4d9290925591527fcbc4e5fb02c3d1de23a9f1e014b4d2ee5aeaea9505df5e855c9210bf472495af55506200041f565b6200014d60008264010000000062000b816200029582021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6200019f60028264010000000062000b816200029582021704565b604051600160a060020a038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b620001ea336401000000006200033c810204565b15156200027e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602481018290527f57686974656c69737441646d696e526f6c653a2063616c6c657220646f65732060448201527f6e6f742068617665207468652057686974656c69737441646d696e20726f6c65606482015290519081900360840190fd5b620002928164010000000062000184810204565b50565b620002aa82826401000000006200035f810204565b156200031757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600062000359600283640100000000620009116200035f82021704565b92915050565b6000600160a060020a0382161515620003ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610c31806200042f6000396000f3fe6080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633f4ba83a81146100d457806346fbf68e146100eb5780634a588f56146101325780634c5a628c146101775780635c975abb1461018c5780636ef8d66d146101a15780637362d9c8146101b657806374b3d3b3146101e957806381357da11461022557806382dc1ec4146102615780638456cb5914610294578063ba703498146102a9578063bb5f747b146102d3578063da20fb1914610306575b600080fd5b3480156100e057600080fd5b506100e961035d565b005b3480156100f757600080fd5b5061011e6004803603602081101561010e57600080fd5b5035600160a060020a031661047d565b604080519115158252519081900360200190f35b34801561013e57600080fd5b506101656004803603602081101561015557600080fd5b5035600160a060020a0316610495565b60408051918252519081900360200190f35b34801561018357600080fd5b506100e96104d6565b34801561019857600080fd5b5061011e6104e1565b3480156101ad57600080fd5b506100e96104ea565b3480156101c257600080fd5b506100e9600480360360208110156101d957600080fd5b5035600160a060020a03166104f3565b3480156101f557600080fd5b506100e96004803603604081101561020c57600080fd5b508035600160a060020a0316906020013560ff16610584565b34801561023157600080fd5b5061011e6004803603604081101561024857600080fd5b508035600160a060020a0316906020013560ff166106eb565b34801561026d57600080fd5b506100e96004803603602081101561028457600080fd5b5035600160a060020a0316610728565b3480156102a057600080fd5b506100e96107b6565b3480156102b557600080fd5b50610165600480360360208110156102cc57600080fd5b50356108d7565b3480156102df57600080fd5b5061011e600480360360208110156102f657600080fd5b5035600160a060020a03166108e9565b34801561031257600080fd5b506103396004803603602081101561032957600080fd5b5035600160a060020a03166108fc565b6040518082600381111561034957fe5b60ff16815260200191505060405180910390f35b6103663361047d565b15156103e2576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b60015460ff16151561043e576040805160e560020a62461bcd02815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b6001805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061048f818363ffffffff61091116565b92915050565b600160a060020a038116600090815260046020526040812054600390829060ff16828111156104c057fe5b8152602001908152602001600020549050919050565b6104df336109b9565b565b60015460ff1690565b6104df33610a01565b6104fc336108e9565b1515610578576040805160e560020a62461bcd02815260206004820152602481018290527f57686974656c69737441646d696e526f6c653a2063616c6c657220646f65732060448201527f6e6f742068617665207468652057686974656c69737441646d696e20726f6c65606482015290519081900360840190fd5b61058181610a49565b50565b61058d336108e9565b1515610609576040805160e560020a62461bcd02815260206004820152602481018290527f57686974656c69737441646d696e526f6c653a2063616c6c657220646f65732060448201527f6e6f742068617665207468652057686974656c69737441646d696e20726f6c65606482015290519081900360840190fd5b60015460ff1615610664576040805160e560020a62461bcd02815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a03167f19bebef80555b7b57c1eeda44930b07b4539bf265cb64a3e17417a894af1d6f682604051808260038111156106a057fe5b60ff16815260200191505060405180910390a2600160a060020a0382166000908152600460205260409020805482919060ff191660018360038111156106e257fe5b02179055505050565b60008160038111156106f957fe5b600160a060020a03841660009081526004602052604090205460ff16600381111561072057fe5b149392505050565b6107313361047d565b15156107ad576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b61058181610a91565b6107bf3361047d565b151561083b576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b60015460ff1615610896576040805160e560020a62461bcd02815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6001805460ff1916811790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60036020526000908152604090205481565b600061048f60028363ffffffff61091116565b60046020526000908152604090205460ff1681565b6000600160a060020a0382161515610999576040805160e560020a62461bcd02815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6109ca60028263ffffffff610ad916565b604051600160a060020a038216907f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16590600090a250565b610a1260008263ffffffff610ad916565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610a5a60028263ffffffff610b8116565b604051600160a060020a038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b610aa260008263ffffffff610b8116565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b610ae38282610911565b1515610b5f576040805160e560020a62461bcd02815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c60448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b610b8b8282610911565b15610be0576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820acc0d72e6918392137e4d4e02a4f3fbc7d29474dd91da0366d26b22b94937e80002900000000000000000000000045e8ea19e081e9879b465af559ff1a41ad12c92e00000000000000000000000000000000000000000000010f0cf064dd59200000000000000000000000000000000000000000000000108b2a2c28029094000000000000000000000000000000000000000000000000a56fa5b99019a5c8000000

Deployed Bytecode

0x6080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633f4ba83a81146100d457806346fbf68e146100eb5780634a588f56146101325780634c5a628c146101775780635c975abb1461018c5780636ef8d66d146101a15780637362d9c8146101b657806374b3d3b3146101e957806381357da11461022557806382dc1ec4146102615780638456cb5914610294578063ba703498146102a9578063bb5f747b146102d3578063da20fb1914610306575b600080fd5b3480156100e057600080fd5b506100e961035d565b005b3480156100f757600080fd5b5061011e6004803603602081101561010e57600080fd5b5035600160a060020a031661047d565b604080519115158252519081900360200190f35b34801561013e57600080fd5b506101656004803603602081101561015557600080fd5b5035600160a060020a0316610495565b60408051918252519081900360200190f35b34801561018357600080fd5b506100e96104d6565b34801561019857600080fd5b5061011e6104e1565b3480156101ad57600080fd5b506100e96104ea565b3480156101c257600080fd5b506100e9600480360360208110156101d957600080fd5b5035600160a060020a03166104f3565b3480156101f557600080fd5b506100e96004803603604081101561020c57600080fd5b508035600160a060020a0316906020013560ff16610584565b34801561023157600080fd5b5061011e6004803603604081101561024857600080fd5b508035600160a060020a0316906020013560ff166106eb565b34801561026d57600080fd5b506100e96004803603602081101561028457600080fd5b5035600160a060020a0316610728565b3480156102a057600080fd5b506100e96107b6565b3480156102b557600080fd5b50610165600480360360208110156102cc57600080fd5b50356108d7565b3480156102df57600080fd5b5061011e600480360360208110156102f657600080fd5b5035600160a060020a03166108e9565b34801561031257600080fd5b506103396004803603602081101561032957600080fd5b5035600160a060020a03166108fc565b6040518082600381111561034957fe5b60ff16815260200191505060405180910390f35b6103663361047d565b15156103e2576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b60015460ff16151561043e576040805160e560020a62461bcd02815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b6001805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061048f818363ffffffff61091116565b92915050565b600160a060020a038116600090815260046020526040812054600390829060ff16828111156104c057fe5b8152602001908152602001600020549050919050565b6104df336109b9565b565b60015460ff1690565b6104df33610a01565b6104fc336108e9565b1515610578576040805160e560020a62461bcd02815260206004820152602481018290527f57686974656c69737441646d696e526f6c653a2063616c6c657220646f65732060448201527f6e6f742068617665207468652057686974656c69737441646d696e20726f6c65606482015290519081900360840190fd5b61058181610a49565b50565b61058d336108e9565b1515610609576040805160e560020a62461bcd02815260206004820152602481018290527f57686974656c69737441646d696e526f6c653a2063616c6c657220646f65732060448201527f6e6f742068617665207468652057686974656c69737441646d696e20726f6c65606482015290519081900360840190fd5b60015460ff1615610664576040805160e560020a62461bcd02815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a03167f19bebef80555b7b57c1eeda44930b07b4539bf265cb64a3e17417a894af1d6f682604051808260038111156106a057fe5b60ff16815260200191505060405180910390a2600160a060020a0382166000908152600460205260409020805482919060ff191660018360038111156106e257fe5b02179055505050565b60008160038111156106f957fe5b600160a060020a03841660009081526004602052604090205460ff16600381111561072057fe5b149392505050565b6107313361047d565b15156107ad576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b61058181610a91565b6107bf3361047d565b151561083b576040805160e560020a62461bcd02815260206004820152603060248201527f506175736572526f6c653a2063616c6c657220646f6573206e6f74206861766560448201527f207468652050617573657220726f6c6500000000000000000000000000000000606482015290519081900360840190fd5b60015460ff1615610896576040805160e560020a62461bcd02815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6001805460ff1916811790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60036020526000908152604090205481565b600061048f60028363ffffffff61091116565b60046020526000908152604090205460ff1681565b6000600160a060020a0382161515610999576040805160e560020a62461bcd02815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6109ca60028263ffffffff610ad916565b604051600160a060020a038216907f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16590600090a250565b610a1260008263ffffffff610ad916565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610a5a60028263ffffffff610b8116565b604051600160a060020a038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b610aa260008263ffffffff610b8116565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b610ae38282610911565b1515610b5f576040805160e560020a62461bcd02815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c60448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b610b8b8282610911565b15610be0576040805160e560020a62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820acc0d72e6918392137e4d4e02a4f3fbc7d29474dd91da0366d26b22b94937e800029

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

00000000000000000000000045e8ea19e081e9879b465af559ff1a41ad12c92e00000000000000000000000000000000000000000000010f0cf064dd59200000000000000000000000000000000000000000000000108b2a2c28029094000000000000000000000000000000000000000000000000a56fa5b99019a5c8000000

-----Decoded View---------------
Arg [0] : _kycConfirmer (address): 0x45e8ea19e081E9879B465af559Ff1A41aD12C92e
Arg [1] : _maxTokenForKYCAcceptedTier (uint256): 5000000000000000000000
Arg [2] : _maxTokensForVideoVerifiedTier (uint256): 20000000000000000000000000
Arg [3] : _maxTokensForExternalTokenAgent (uint256): 200000000000000000000000000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000045e8ea19e081e9879b465af559ff1a41ad12c92e
Arg [1] : 00000000000000000000000000000000000000000000010f0cf064dd59200000
Arg [2] : 000000000000000000000000000000000000000000108b2a2c28029094000000
Arg [3] : 000000000000000000000000000000000000000000a56fa5b99019a5c8000000


Deployed Bytecode Sourcemap

5774:2485:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4153:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4153:118:0;;;;;;1625:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1625:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1625:109:0;-1:-1:-1;;;;;1625:109:0;;;;;;;;;;;;;;;;;;;;;8087:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8087:165:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8087:165:0;-1:-1:-1;;;;;8087:165:0;;;;;;;;;;;;;;;;;;;5275:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5275:93:0;;;;3362:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3362:78:0;;;;1842:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1842:77:0;;;;5151:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5151:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5151:116:0;-1:-1:-1;;;;;5151:116:0;;;7629:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7629:249:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7629:249:0;;-1:-1:-1;;;;;7629:249:0;;;;;;;;;7886:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7886:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7886:189:0;;-1:-1:-1;;;;;7886:189:0;;;;;;;;;1742:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1742:92:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1742:92:0;-1:-1:-1;;;;;1742:92:0;;;3942:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3942:116:0;;;;6114:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6114:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6114:51:0;;;5018:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5018:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5018:125:0;-1:-1:-1;;;;;5018:125:0;;;6313:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6313:62:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6313:62:0;-1:-1:-1;;;;;6313:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4153:118;1524:20;1533:10;1524:8;:20::i;:::-;1516:81;;;;;;;-1:-1:-1;;;;;1516:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3798:7;;;;3790:40;;;;;;;-1:-1:-1;;;;;3790:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4212:7;:15;;-1:-1:-1;;4212:15:0;;;4243:20;;;4252:10;4243:20;;;;;;;;;;;;;4153:118::o;1625:109::-;1681:4;1705:21;1681:4;1718:7;1705:21;:12;:21;:::i;:::-;1698:28;1625:109;-1:-1:-1;;1625:109:0:o;8087:165::-;-1:-1:-1;;;;;8214:28:0;;8163:4;8214:28;;;:17;:28;;;;;;8187:21;;8163:4;;8214:28;;8209:34;;;;;;;;8187:57;;;;;;;;;;;;8180:64;;8087:165;;;:::o;5275:93::-;5327:33;5349:10;5327:21;:33::i;:::-;5275:93::o;3362:78::-;3425:7;;;;3362:78;:::o;1842:77::-;1886:25;1900:10;1886:13;:25::i;5151:116::-;4893:28;4910:10;4893:16;:28::i;:::-;4885:105;;;;;;;-1:-1:-1;;;;;4885:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:27;5251:7;5232:18;:27::i;:::-;5151:116;:::o;7629:249::-;4893:28;4910:10;4893:16;:28::i;:::-;4885:105;;;;;;;-1:-1:-1;;;;;4885:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3599:7;;;;3598:8;3590:37;;;;;-1:-1:-1;;;;;3590:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7780:10;-1:-1:-1;;;;;7761:49:0;;7792:17;7761:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7821:29:0;;;;;;:17;:29;;;;;:49;;7853:17;;7821:29;-1:-1:-1;;7821:49:0;;7853:17;7821:49;;;;;;;;;;;;;7629:249;;:::o;7886:189::-;7992:4;8049:17;8017:49;;;;;;;;-1:-1:-1;;;;;8017:28:0;;;;;;:17;:28;;;;;;;;:49;;;;;;;;;;7886:189;-1:-1:-1;;;7886:189:0:o;1742:92::-;1524:20;1533:10;1524:8;:20::i;:::-;1516:81;;;;;;;-1:-1:-1;;;;;1516:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1807:19;1818:7;1807:10;:19::i;3942:116::-;1524:20;1533:10;1524:8;:20::i;:::-;1516:81;;;;;;;-1:-1:-1;;;;;1516:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3599:7;;;;3598:8;3590:37;;;;;-1:-1:-1;;;;;3590:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4012:4;4002:14;;-1:-1:-1;;4002:14:0;;;;;4032:18;;;4039:10;4032:18;;;;;;;;;;;;;3942:116::o;6114:51::-;;;;;;;;;;;;;:::o;5018:125::-;5082:4;5106:29;:16;5127:7;5106:29;:20;:29;:::i;6313:62::-;;;;;;;;;;;;;;;:::o;885:203::-;957:4;-1:-1:-1;;;;;982:21:0;;;;974:68;;;;;-1:-1:-1;;;;;974:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1060:20:0;:11;:20;;;;;;;;;;;;;;;885:203::o;5530:154::-;5598:32;:16;5622:7;5598:32;:23;:32;:::i;:::-;5646:30;;-1:-1:-1;;;;;5646:30:0;;;;;;;;5530:154;:::o;2057:130::-;2117:24;:8;2133:7;2117:24;:15;:24;:::i;:::-;2157:22;;-1:-1:-1;;;;;2157:22:0;;;;;;;;2057:130;:::o;5376:146::-;5441:29;:16;5462:7;5441:29;:20;:29;:::i;:::-;5486:28;;-1:-1:-1;;;;;5486:28:0;;;;;;;;5376:146;:::o;1927:122::-;1984:21;:8;1997:7;1984:21;:12;:21;:::i;:::-;2021:20;;-1:-1:-1;;;;;2021:20:0;;;;;;;;1927:122;:::o;607:183::-;687:18;691:4;697:7;687:3;:18::i;:::-;679:64;;;;;;;-1:-1:-1;;;;;679:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;754:20:0;777:5;754:20;;;;;;;;;;;:28;;-1:-1:-1;;754:28:0;;;607:183::o;349:178::-;427:18;431:4;437:7;427:3;:18::i;:::-;426:19;418:63;;;;;-1:-1:-1;;;;;418:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;492:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;492:27:0;515:4;492:27;;;349:178::o

Swarm Source

bzzr://acc0d72e6918392137e4d4e02a4f3fbc7d29474dd91da0366d26b22b94937e80

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.