Contract 0x05Bb883BF347CD2CeD47e368537ed01Be7C4167c 1

 
 
Txn Hash
Method
Block
From
To
Value
0xae2f93f407ddcf7150a1e03bf1934220de13ae95e724d4a6809759a39e6dd6ddTransfer108324552020-09-10 6:47:43813 days 16 hrs agoENS Name cryptorodgers.eth IN  0x05bb883bf347cd2ced47e368537ed01be7c4167c0 Ether0.003402162
0xd681c20d1155d6fb3e19a19ba6cdc2441a997dbac68dffaa5e9d668f20493e020x60806040108193242020-09-08 6:19:55815 days 17 hrs agoLOAD: Deployer IN  Create: LOAD0 Ether0.3615068482
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LOAD

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

// File: contracts/loadv2.sol

pragma solidity >=0.4.23 <0.6.0;


library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot 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, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}


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

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

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

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

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

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

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

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




/**
 * @title Initializable
 *
 * @dev Helper contract to support initializer functions. To use it, replace
 * the constructor with a function that has the `initializer` modifier.
 * WARNING: Unlike constructors, initializer functions must be manually
 * invoked. This applies both to deploying an Initializable contract, as well
 * as extending an Initializable contract via inheritance.
 * WARNING: When used with inheritance, manual care must be taken to not invoke
 * a parent initializer twice, or ensure that all initializers are idempotent,
 * because this is not dealt with automatically as with constructors.
 */
contract Initializable {

    /**
     * @dev Indicates that the contract has been initialized.
     */
    bool private initialized;

    /**
     * @dev Indicates that the contract is in the process of being initialized.
     */
    bool private initializing;

    /**
     * @dev Modifier to use in the initializer function of a contract.
     */
    modifier initializer() {
        require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized");

        bool isTopLevelCall = !initializing;
        if (isTopLevelCall) {
            initializing = true;
            initialized = true;
        }

        _;

        if (isTopLevelCall) {
            initializing = false;
        }
    }

    /// @dev Returns true if and only if the function is running in the constructor
    function isConstructor() private view returns (bool) {
        // extcodesize checks the size of the code stored in an address, and
        // address returns the current address. Since the code is still not
        // deployed when running a constructor, any checks on its code size will
        // yield zero, making it an effective way to detect if a contract is
        // under construction or not.
        address self = address(this);
        uint256 cs;
        assembly {cs := extcodesize(self)}
        return cs == 0;
    }

    // Reserved storage space to allow for layout changes in the future.
    uint256[50] private ______gap;
}


contract ERC20 is Initializable, IERC20 {
    using SafeMath for uint256;


    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string public  name;
    string public  symbol;
    uint256 public decimals;

    function initialize() initializer public {
        name = "LOAD";
        symbol = "LOAD";
        decimals = 8;
        _totalSupply = 10000000 * 10 ** decimals;
        _balances[0x264Db6A72f7144933FF700416CAD98816A6e0261] = 200000 * 10 ** decimals;
        _balances[address(this)] = _totalSupply.sub(_balances[0x264Db6A72f7144933FF700416CAD98816A6e0261]);
        emit Transfer(address(0), 0x264Db6A72f7144933FF700416CAD98816A6e0261, _balances[0x264Db6A72f7144933FF700416CAD98816A6e0261]);
        emit Transfer(address(0), address(this), _balances[address(this)]);
    }

    function receiveLoad(uint amount) internal ;
    /**
     * @dev See `IERC20.totalSupply`.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See `IERC20.balanceOf`.
     */
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See `IERC20.transfer`.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);

        return true;
    }

    /**
     * @dev See `IERC20.allowance`.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev See `IERC20.transferFrom`.
     *
     * Emits an `Approval` event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of `ERC20`;
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }



    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to `transfer`, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a `Transfer` event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        if(recipient == address(this)){
            receiveLoad(amount);
        }

        emit Transfer(sender, recipient, amount);
    }




    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = value;
        emit Approval(owner, spender, value);
    }


}

contract Owned is Initializable {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);


    function initialize() initializer public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }

}


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];
    }
}

contract WhitelistCfoRole is Initializable, Owned {
    using Roles for Roles.Role;

    event WhitelistCfoAdded(address indexed account);
    event WhitelistCfoRemoved(address indexed account);

    Roles.Role private _whitelistCfos;


    function initialize() initializer public {
        _addWhitelistCfo(0x264Db6A72f7144933FF700416CAD98816A6e0261);
        _addWhitelistCfo(0x28125957Cb2d6AC5d7ca1b06C122Afdd7974A1c5);
        _addWhitelistCfo(0xDCbd4AC767827A859e4c1a48269B650303B57f30);
        _addWhitelistCfo(0x116a0Bd45575719711804276B6D92226017d37b9);
        _addWhitelistCfo(0x77D1577D9b312D6ff831E95F1D72D92359E5d89c);
    }

    modifier onlyWhitelistCfo() {
        require(isWhitelistCfo(msg.sender), "WhitelistCfoRole: caller does not have the WhitelistCfo role");
        _;
    }

    function isWhitelistCfo(address account) public view returns (bool) {
        return _whitelistCfos.has(account);
    }

    function addWhitelistCfo(address account) public onlyOwner {
        _addWhitelistCfo(account);
    }

    function removeWhitelistCfo(address account) public onlyOwner {
        _removeWhitelistCfo(account);
    }



    function _addWhitelistCfo(address account) internal {
        _whitelistCfos.add(account);
        emit WhitelistCfoAdded(account);
    }

    function _removeWhitelistCfo(address account) internal {
        _whitelistCfos.remove(account);
        emit WhitelistCfoRemoved(account);
    }
}


contract LOAD is Initializable, ERC20, WhitelistCfoRole {

    using SafeMath for uint;


    struct Lock {
        uint load_amount;
        uint unlock_date;
    }
    uint firstDay;

    uint  ethManager;
    ///
    struct LoadChange{
        bool ischange;
        uint amount;
    }
    //    uint users;//all users
    mapping(address=>bool) isLocking;

    uint private floor_amount;
    uint private exchanged;
    uint private load_lock;

    uint private load_price;
    uint private eth_unit;

    uint lockdays;
    uint divdDuration;


    mapping(string => address) manager;


    mapping(address => Lock)  locks;


    mapping(address => uint) user_load_divs_total;
    mapping(address => uint) user_eth_divs_total;


    mapping(uint=>LoadChange) public loadDaily;
    mapping(uint=>uint) public ethDaily;
    mapping(address=>uint) public userDivdDate;
    mapping(address=>mapping(uint=>LoadChange)) loadChanges;


    function initialize() initializer public {
        ERC20.initialize();
        Owned.initialize();
        WhitelistCfoRole.initialize();
        addInit();

        load_price = 1500000000000000;
        eth_unit = 1500000000000000;

        floor_amount =45000000000000;// 45000000000000;
        firstDay = now;
        lockdays = 3 days;
        divdDuration = 1 days;

    }


    function addInit() private {
        manager["Founder"] = 0x264Db6A72f7144933FF700416CAD98816A6e0261;
        manager["Dev"] = 0x28125957Cb2d6AC5d7ca1b06C122Afdd7974A1c5;
        manager["Julie"] = 0xDCbd4AC767827A859e4c1a48269B650303B57f30;
        manager["Ant"] = 0x116a0Bd45575719711804276B6D92226017d37b9;
        manager["Prince"] = 0x4018D4838dA267896670AB777a802ea1c0229a16;
        manager["Tree"] = 0x8ef45fd3F2e4591866f1A17AafeACac61A7812c7;
        manager["CryptoGirl"] = 0x77B5D2DE66A18310B778a5c48D5Abe7d2A6D661D;
        manager["IP_PCS"] = 0xf40e89F1e52A6b5e71B0e18365d539F5E424306f;
        manager["Fee"] = 0x77D1577D9b312D6ff831E95F1D72D92359E5d89c;
        manager["UNI"] = 0x6166760a83bEF57958394ec2eEd00845b4Cf5a08;
        manager["A"] =0x4E1FE0409C2845C1Bde8fcbE21ac6889311c8aB5;

    }

    function changeAddress(string nickname, address newaddress) external onlyOwner {
        manager[nickname] = newaddress;

    }

    function isContract(address addr) internal view returns (bool) {
        uint256 size;
        assembly {size := extcodesize(addr)}
        return size > 0;
    }

    function receiveEth() public payable{
        require(!isContract(msg.sender), "Should not be contract address");
        require(msg.value > 0, "Can't Zero");
        require(exchanged < 180000000000000, "The exchange is over");
        require(mosteth() >= msg.value, "Not so much");
        uint coin;

        coin = exchangeload(msg.value);
        exchanged = exchanged.add(coin);
        uint level = exchanged.div(floor_amount).add(1);
        load_lock = load_lock.add(coin);

        locks[msg.sender].unlock_date = now + lockdays;
        locks[msg.sender].load_amount = locks[msg.sender].load_amount.add(coin);

        uint today=now.div(divdDuration).add(1);
        uint ethvalue = msg.value.mul(level).div(10);
        loadDaily[today].amount = load_lock;
        loadDaily[today].ischange = true;
        ethDaily[today] = ethDaily[today].add(ethvalue);
        ethManager = ethManager.add(msg.value.sub(ethvalue));
        loadChanges[msg.sender][today].ischange = true;
        loadChanges[msg.sender][today].amount = locks[msg.sender].load_amount;

        if(userDivdDate[msg.sender]==0){
            userDivdDate[msg.sender]=now.div(divdDuration);
        }
    }

    function() external payable {
        receiveEth();
    }



    function checkredeemable() public view returns (uint amount) {
        if (now > locks[msg.sender].unlock_date) {
            return locks[msg.sender].load_amount;
        } else {
            return 0;
        }
    }



    function ethsharediv() external onlyWhitelistCfo {

        uint ethpercentten = ethManager.div(10);
        //10 percent
        uint256 ethshare = (ethManager.sub(ethpercentten)).div(100);

        address(uint160(manager["UNI"])).transfer(ethpercentten);

        address(uint160(manager["Founder"])).transfer(ethshare.mul(31));
        address(uint160(manager["Dev"])).transfer(ethshare.mul(30));
        address(uint160(manager["Julie"])).transfer(ethshare.mul(20));
        address(uint160(manager["Ant"])).transfer(ethshare.mul(6));
        address(uint160(manager["Prince"])).transfer(ethshare.mul(6));
        address(uint160(manager["Tree"])).transfer(ethshare.mul(2));
        address(uint160(manager["CryptoGirl"])).transfer(ethshare.mul(1));
        address(uint160(manager["IP_PCS"])).transfer(ethshare.mul(1));
        address(uint160(manager["Fee"])).transfer(ethshare.mul(1));
        address(uint160(manager["A"])).transfer(ethshare.mul(2));
        ethManager =0;

    }

    function receiveLoad(uint amount) internal   {
        lockload(amount);
    }

    function lockload(uint amount) internal {
        uint today=now.div(divdDuration).add(1);
        locks[msg.sender].load_amount = locks[msg.sender].load_amount.add(amount);
        locks[msg.sender].unlock_date = now + lockdays;
        load_lock = load_lock.add(amount);


        loadDaily[today].amount = load_lock;
        loadDaily[today].ischange = true;
        loadChanges[msg.sender][today].ischange = true;
        loadChanges[msg.sender][today].amount = locks[msg.sender].load_amount;


        if(userDivdDate[msg.sender]==0){
            userDivdDate[msg.sender]= now.div(divdDuration);
        }

    }


    function redeem() external {
        require(locks[msg.sender].unlock_date < now, "locking");
        uint today=now.div(divdDuration).add(1);
        uint total = locks[msg.sender].load_amount;
        load_lock = load_lock.sub(total);
        locks[msg.sender].load_amount = 0;
        loadDaily[today].amount = load_lock;
        loadDaily[today].ischange = true;
        loadChanges[msg.sender][today].ischange = true;
        loadChanges[msg.sender][today].amount = 0;
        isLocking[msg.sender]=false;
        _transfer(address(this), msg.sender, total);
    }


    function mosteth() internal view returns (uint mount){
        uint256 unit_eth = 15000000;
        uint256 level = exchanged.div(floor_amount).add(1);
        uint256 remain = level.mul(floor_amount).sub(exchanged);
        mount = remain.mul(unit_eth.mul(level));
        level++;
        for (uint i = level; i <= 4; i++) {
            mount = mount.add(i.mul(unit_eth).mul(floor_amount));
        }
        return mount;
    }


    function exchangeload(uint amounteth) internal returns (uint mount){
        uint256 unit_eth = 15000000;
        uint256 level = exchanged.div(floor_amount).add(1);
        uint256 remain = level.mul(floor_amount).sub(exchanged);
        if (amounteth > remain.mul(unit_eth.mul(level))) {
            mount = remain;
            amounteth = amounteth.sub(remain.mul(unit_eth.mul(level)));
            level++;
            load_price = eth_unit.mul(level);
            for (uint i = level; i <= 4; i++) {
                if (amounteth > (unit_eth.mul(i)).mul(floor_amount)) {
                    mount = mount.add(floor_amount);
                    amounteth = amounteth.sub(unit_eth.mul(i).mul(floor_amount));
                } else {
                    mount = mount.add(amounteth.div(unit_eth.mul(i)));
                    break;
                }
            }
        } else {
            mount = amounteth.div(unit_eth.mul(level));
        }
        return mount;

    }

    function get(uint index) public view returns (uint) {

        if (index == 1) {
            return load_price;
        } else if (index == 2) {
            return locks[msg.sender].load_amount;
        } else if (index == 3) {
            return locks[msg.sender].unlock_date;
        }  else if (index == 6) {
            return user_load_divs_total[msg.sender];
        } else if (index == 7) {
            return user_eth_divs_total[msg.sender];
        }  else if (index == 26) {
            return exchanged;
        }  else if (index == 29) {
            return load_price.add(eth_unit);
        }
    }


    function getDivdLoad()public view  returns (uint) {
        uint bonus;
        uint divAmount;
        uint userLockTemp;
        uint allLockTemp;
        if(userDivdDate[msg.sender]==0){
            return 0;
        }
        for(uint j=userDivdDate[msg.sender]+1;j<=now.div(divdDuration);j++){
            if(loadDaily[j].ischange){
                if(loadChanges[msg.sender][j].ischange ){
                    userLockTemp = loadChanges[msg.sender][j].amount;
                    if(userLockTemp ==0){
                        continue;
                    }
                }
                allLockTemp = loadDaily[j].amount;
            }
            bonus = getBonus(j);
            divAmount = divAmount.add(bonus.mul(userLockTemp).div(allLockTemp));
        }
        return divAmount;

    }


    function getBonus(uint day)private view returns (uint){
        uint bonus;
        uint begin = 200000000000000;
        uint sang = day.sub(firstDay.div(divdDuration)).div(180);
        if(sang>5){
            sang =5;
        }
        bonus =begin.div(2**sang).div(180);
        return bonus;
    }


    function getDivdEth() public view returns (uint){
        uint divAmount;
        if(userDivdDate[msg.sender]==0){
            return 0;
        }
        uint userLockTemp;
        uint allLockTemp;
        for(uint j=userDivdDate[msg.sender]+1;j<=now.div(divdDuration);j++){
            if(loadDaily[j].ischange){
                if(loadChanges[msg.sender][j].ischange){
                    userLockTemp = loadChanges[msg.sender][j].amount;
                    if(userLockTemp ==0 ){
                        continue;
                    }
                }
                allLockTemp = loadDaily[j].amount;
            }

            if(ethDaily[j]==0){
                continue;
            }
            divAmount = divAmount.add(ethDaily[j].mul(userLockTemp).div(allLockTemp));
        }
        return divAmount;
    }


    function withdraw() external {
        uint load = getDivdLoad();
        uint eth = getDivdEth();
        require(load>0 || eth >0,"no award ");
        uint today=now.div(divdDuration).add(1);
        loadDaily[today].amount = load_lock;
        loadDaily[today].ischange = true;
        loadChanges[msg.sender][today].ischange = true;
        loadChanges[msg.sender][today].amount = locks[msg.sender].load_amount;
        userDivdDate[msg.sender] = now.div(divdDuration);
        user_load_divs_total[msg.sender] =user_load_divs_total[msg.sender].add(load);
        user_eth_divs_total[msg.sender] =  user_eth_divs_total[msg.sender].add(eth);
        _transfer(address(this), msg.sender, load);
        address(uint160(msg.sender)).transfer(eth);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getDivdLoad","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addWhitelistCfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"receiveEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"ethsharediv","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getDivdEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"loadDaily","outputs":[{"name":"ischange","type":"bool"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"get","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isWhitelistCfo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nickname","type":"string"},{"name":"newaddress","type":"address"}],"name":"changeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeWhitelistCfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userDivdDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"ethDaily","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"checkredeemable","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistCfoAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistCfoRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

608060405234801561001057600080fd5b50614f2a806100206000396000f30060806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610174578063095ea7b3146102045780630da6d8c11461026957806318160ddd1461029457806323b872dd146102bf578063313ce56714610344578063391acf8d1461036f5780633ccfd60b146103b25780634185f8eb146103c95780634a136854146103d35780636e0b1d82146103ea57806370a08231146104155780638129fc1c1461046c57806388c92915146104835780638da5cb5b146104cf5780639507d39a1461052657806395d89b4114610567578063a7235e6c146105f7578063a7dbb40214610652578063a9059cbb146106ad578063b293823514610712578063be040fb014610755578063bf13006b1461076c578063c5a07819146107c3578063d4ee1d9014610804578063db0736021461085b578063dd62ed3e14610886578063f2fde38b146108fd575b610172610940565b005b34801561018057600080fd5b50610189610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c95780820151818401526020810190506101ae565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021057600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe0565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b5061027e610ff7565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102a9611220565b6040518082815260200191505060405180910390f35b3480156102cb57600080fd5b5061032a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061122a565b604051808215151515815260200191505060405180910390f35b34801561035057600080fd5b506103596112db565b6040518082815260200191505060405180910390f35b34801561037b57600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e1565b005b3480156103be57600080fd5b506103c7611349565b005b6103d1610940565b005b3480156103df57600080fd5b506103e861173a565b005b3480156103f657600080fd5b506103ff612003565b6040518082815260200191505060405180910390f35b34801561042157600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612252565b6040518082815260200191505060405180910390f35b34801561047857600080fd5b5061048161229b565b005b34801561048f57600080fd5b506104ae60048036038101908080359060200190929190505050612443565b60405180831515151581526020018281526020019250505060405180910390f35b3480156104db57600080fd5b506104e4612474565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053257600080fd5b506105516004803603810190808035906020019092919050505061249a565b6040518082815260200191505060405180910390f35b34801561057357600080fd5b5061057c612635565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105bc5780820151818401526020810190506105a1565b50505050905090810190601f1680156105e95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561060357600080fd5b50610638600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d3565b604051808215151515815260200191505060405180910390f35b34801561065e57600080fd5b506106ab600480360381019080803590602001908201803590602001919091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126f0565b005b3480156106b957600080fd5b506106f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127b5565b604051808215151515815260200191505060405180910390f35b34801561071e57600080fd5b50610753600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127cc565b005b34801561076157600080fd5b5061076a612834565b005b34801561077857600080fd5b506107ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b3a565b6040518082815260200191505060405180910390f35b3480156107cf57600080fd5b506107ee60048036038101908080359060200190929190505050612b52565b6040518082815260200191505060405180910390f35b34801561081057600080fd5b50610819612b6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086757600080fd5b50610870612b90565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b506108e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c2e565b6040518082815260200191505060405180910390f35b34801561090957600080fd5b5061093e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cb5565b005b60008060008061094f33612d55565b1515156109c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f53686f756c64206e6f7420626520636f6e74726163742061646472657373000081525060200191505060405180910390fd5b600034111515610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f43616e2774205a65726f0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b65a3b5840f4000604054101515610abb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5468652065786368616e6765206973206f76657200000000000000000000000081525060200191505060405180910390fd5b34610ac4612d68565b10151515610b3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4e6f7420736f206d75636800000000000000000000000000000000000000000081525060200191505060405180910390fd5b610b4334612e5c565b9350610b5a8460405461306390919063ffffffff16565b604081905550610b8a6001610b7c603f546040546130ed90919063ffffffff16565b61306390919063ffffffff16565b9250610ba18460415461306390919063ffffffff16565b6041819055506044544201604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610c4784604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461306390919063ffffffff16565b604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610cb56001610ca7604554426130ed90919063ffffffff16565b61306390919063ffffffff16565b9150610cdd600a610ccf853461318090919063ffffffff16565b6130ed90919063ffffffff16565b9050604154604a6000848152602001908152602001600020600101819055506001604a600084815260200190815260200160002060000160006101000a81548160ff021916908315150217905550610d5181604b60008581526020019081526020016000205461306390919063ffffffff16565b604b600084815260200190815260200160002081905550610d8f610d7e823461324d90919063ffffffff16565b603d5461306390919063ffffffff16565b603d819055506001604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060000160006101000a81548160ff021916908315150217905550604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600101819055506000604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610f3c57610ef8604554426130ed90919063ffffffff16565b604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50505050565b60368054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fd85780601f10610fad57610100808354040283529160200191610fd8565b820191906000526020600020905b815481529060010190602001808311610fbb57829003601f168201915b505050505081565b6000610fed3384846132d7565b6001905092915050565b6000806000806000806000604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110515760009550611218565b6001604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540190505b6110ac604554426130ed90919063ffffffff16565b8111151561121457604a600082815260200190815260200160002060000160009054906101000a900460ff16156111c257604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002060000160009054906101000a900460ff16156111a857604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002060010154925060008314156111a757611207565b5b604a60008281526020019081526020016000206001015491505b6111cb81613558565b94506112046111f5836111e7868961318090919063ffffffff16565b6130ed90919063ffffffff16565b8561306390919063ffffffff16565b93505b8080600101915050611097565b8395505b505050505090565b6000603554905090565b60006112378484846135e9565b6112d084336112cb85603460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461324d90919063ffffffff16565b6132d7565b600190509392505050565b60385481565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561133d57600080fd5b61134681613951565b50565b6000806000611356610ff7565b9250611360612003565b915060008311806113715750600082115b15156113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f20617761726420000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61140d60016113ff604554426130ed90919063ffffffff16565b61306390919063ffffffff16565b9050604154604a6000838152602001908152602001600020600101819055506001604a600083815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506001604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060000160006101000a81548160ff021916908315150217905550604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060010181905550611576604554426130ed90919063ffffffff16565b604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160b83604860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461306390919063ffffffff16565b604860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a082604960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461306390919063ffffffff16565b604960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116ee3033856135e9565b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611734573d6000803e3d6000fd5b50505050565b600080611746336126d3565b15156117e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001807f57686974656c69737443666f526f6c653a2063616c6c657220646f6573206e6f81526020017f742068617665207468652057686974656c69737443666f20726f6c650000000081525060400191505060405180910390fd5b6117f6600a603d546130ed90919063ffffffff16565b9150611820606461181284603d5461324d90919063ffffffff16565b6130ed90919063ffffffff16565b9050604660405180807f554e4900000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156118c6573d6000803e3d6000fd5b50604660405180807f466f756e646572000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611953601f8461318090919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561197e573d6000803e3d6000fd5b50604660405180807f44657600000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a0b601e8461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a36573d6000803e3d6000fd5b50604660405180807f4a756c69650000000000000000000000000000000000000000000000000000008152506005019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ac360148461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611aee573d6000803e3d6000fd5b50604660405180807f416e7400000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b7b60068461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ba6573d6000803e3d6000fd5b50604660405180807f5072696e636500000000000000000000000000000000000000000000000000008152506006019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611c3360068461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611c5e573d6000803e3d6000fd5b50604660405180807f54726565000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ceb60028461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d16573d6000803e3d6000fd5b50604660405180807f43727970746f4769726c00000000000000000000000000000000000000000000815250600a019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611da360018461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611dce573d6000803e3d6000fd5b50604660405180807f49505f50435300000000000000000000000000000000000000000000000000008152506006019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e5b60018461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e86573d6000803e3d6000fd5b50604660405180807f46656500000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f1360018461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f3e573d6000803e3d6000fd5b50604660405180807f41000000000000000000000000000000000000000000000000000000000000008152506001019050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611fcb60028461318090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ff6573d6000803e3d6000fd5b506000603d819055505050565b600080600080600080604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561205b576000945061224b565b6001604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540190505b6120b6604554426130ed90919063ffffffff16565b8111151561224757604a600082815260200190815260200160002060000160009054906101000a900460ff16156121cc57604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002060000160009054906101000a900460ff16156121b257604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002060010154925060008314156121b15761223a565b5b604a60008281526020019081526020016000206001015491505b6000604b60008381526020019081526020016000205414156121ed5761223a565b6122376122288361221a86604b60008781526020019081526020016000205461318090919063ffffffff16565b6130ed90919063ffffffff16565b8561306390919063ffffffff16565b93505b80806001019150506120a1565b8394505b5050505090565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060019054906101000a900460ff16806122bb57506122ba6139ab565b5b806122d257506000809054906101000a900460ff16155b151561236c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1615905080156123bb576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6123c36139c2565b6123cb613e36565b6123d3613fbb565b6123db614190565b6605543df729c0006042819055506605543df729c0006043819055506528ed6103d000603f8190555042603c819055506203f4806044819055506201518060458190555080156124405760008060016101000a81548160ff0219169083151502179055505b50565b604a6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154905082565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018214156124af576042549050612630565b600282141561250257604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050612630565b600382141561255557604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050612630565b60068214156125a557604860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612630565b60078214156125f557604960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612630565b601a821415612608576040549050612630565b601d82141561262f5761262860435460425461306390919063ffffffff16565b9050612630565b5b919050565b60378054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126cb5780601f106126a0576101008083540402835291602001916126cb565b820191906000526020600020905b8154815290600101906020018083116126ae57829003601f168201915b505050505081565b60006126e982603b6147cd90919063ffffffff16565b9050919050565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561274c57600080fd5b806046848460405180838380828437820191505092505050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006127c23384846135e9565b6001905092915050565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282857600080fd5b612831816148f0565b50565b60008042604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541015156128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f6c6f636b696e670000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612918600161290a604554426130ed90919063ffffffff16565b61306390919063ffffffff16565b9150604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506129748160415461324d90919063ffffffff16565b6041819055506000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550604154604a6000848152602001908152602001600020600101819055506001604a600084815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506001604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600101819055506000603e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612b363033836135e9565b5050565b604c6020528060005260406000206000915090505481565b604b6020528060005260406000206000915090505481565b603a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154421115612c2657604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050612c2b565b600090505b90565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d1157600080fd5b80603a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b905060008111915050919050565b600080600080600062e4e1c09350612da06001612d92603f546040546130ed90919063ffffffff16565b61306390919063ffffffff16565b9250612dcb604054612dbd603f548661318090919063ffffffff16565b61324d90919063ffffffff16565b9150612df2612de3848661318090919063ffffffff16565b8361318090919063ffffffff16565b945082806001019350508290505b600481111515612e5257612e43612e34603f54612e26878561318090919063ffffffff16565b61318090919063ffffffff16565b8661306390919063ffffffff16565b94508080600101915050612e00565b8494505050505090565b600080600080600062e4e1c09350612e946001612e86603f546040546130ed90919063ffffffff16565b61306390919063ffffffff16565b9250612ebf604054612eb1603f548661318090919063ffffffff16565b61324d90919063ffffffff16565b9150612ee6612ed7848661318090919063ffffffff16565b8361318090919063ffffffff16565b86111561302f57819450612f27612f18612f09858761318090919063ffffffff16565b8461318090919063ffffffff16565b8761324d90919063ffffffff16565b95508280600101935050612f468360435461318090919063ffffffff16565b6042819055508290505b60048111151561302a57612f81603f54612f73838761318090919063ffffffff16565b61318090919063ffffffff16565b861115612fdf57612f9d603f548661306390919063ffffffff16565b9450612fd8612fc9603f54612fbb848861318090919063ffffffff16565b61318090919063ffffffff16565b8761324d90919063ffffffff16565b955061301d565b613016613007612ff8838761318090919063ffffffff16565b886130ed90919063ffffffff16565b8661306390919063ffffffff16565b945061302a565b8080600101915050612f50565b613057565b613054613045848661318090919063ffffffff16565b876130ed90919063ffffffff16565b94505b84945050505050919050565b60008082840190508381101515156130e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080600083111515613168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b828481151561317357fe5b0490508091505092915050565b60008060008414156131955760009150613246565b82840290508284828115156131a657fe5b04141515613242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b6000808383111515156132c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b82840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156133a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561346d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008060008065b5e620f4800091506135a360b4613595613586604554603c546130ed90919063ffffffff16565b8861324d90919063ffffffff16565b6130ed90919063ffffffff16565b905060058111156135b357600590505b6135dc60b46135ce8360020a856130ed90919063ffffffff16565b6130ed90919063ffffffff16565b9250829350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156136b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137d181603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461324d90919063ffffffff16565b603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061386681603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461306390919063ffffffff16565b603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156138e7576138e68161494a565b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b61396581603b61495690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd32f9bc8a4f0aadd91555be528d19ce24e7ba8880fdee7dfaf2dd3431ed151460405160405180910390a250565b6000806000309150813b9050600081149250505090565b60008060019054906101000a900460ff16806139e257506139e16139ab565b5b806139f957506000809054906101000a900460ff16155b1515613a93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff161590508015613ae2576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6040805190810160405280600481526020017f4c4f41440000000000000000000000000000000000000000000000000000000081525060369080519060200190613b2d929190614e59565b506040805190810160405280600481526020017f4c4f41440000000000000000000000000000000000000000000000000000000081525060379080519060200190613b79929190614e59565b506008603881905550603854600a0a6298968002603581905550603854600a0a62030d40026033600073264db6a72f7144933ff700416cad98816a6e026173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c5d6033600073264db6a72f7144933ff700416cad98816a6e026173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460355461324d90919063ffffffff16565b603360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073264db6a72f7144933ff700416cad98816a6e026173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6033600073264db6a72f7144933ff700416cad98816a6e026173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef603360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a38015613e335760008060016101000a81548160ff0219169083151502179055505b50565b60008060019054906101000a900460ff1680613e565750613e556139ab565b5b80613e6d57506000809054906101000a900460ff16155b1515613f07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff161590508015613f56576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b33603960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015613fb85760008060016101000a81548160ff0219169083151502179055505b50565b60008060019054906101000a900460ff1680613fdb5750613fda6139ab565b5b80613ff257506000809054906101000a900460ff16155b151561408c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1615905080156140db576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6140f873264db6a72f7144933ff700416cad98816a6e0261613951565b6141157328125957cb2d6ac5d7ca1b06c122afdd7974a1c5613951565b61413273dcbd4ac767827a859e4c1a48269b650303b57f30613951565b61414f73116a0bd45575719711804276b6d92226017d37b9613951565b61416c7377d1577d9b312d6ff831e95f1d72d92359e5d89c613951565b801561418d5760008060016101000a81548160ff0219169083151502179055505b50565b73264db6a72f7144933ff700416cad98816a6e0261604660405180807f466f756e646572000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507328125957cb2d6ac5d7ca1b06c122afdd7974a1c5604660405180807f44657600000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dcbd4ac767827a859e4c1a48269b650303b57f30604660405180807f4a756c69650000000000000000000000000000000000000000000000000000008152506005019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073116a0bd45575719711804276b6d92226017d37b9604660405180807f416e7400000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734018d4838da267896670ab777a802ea1c0229a16604660405180807f5072696e636500000000000000000000000000000000000000000000000000008152506006019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738ef45fd3f2e4591866f1a17aafeacac61a7812c7604660405180807f54726565000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507377b5d2de66a18310b778a5c48d5abe7d2a6d661d604660405180807f43727970746f4769726c00000000000000000000000000000000000000000000815250600a019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f40e89f1e52a6b5e71b0e18365d539f5e424306f604660405180807f49505f50435300000000000000000000000000000000000000000000000000008152506006019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507377d1577d9b312d6ff831e95f1d72d92359e5d89c604660405180807f46656500000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736166760a83bef57958394ec2eed00845b4cf5a08604660405180807f554e4900000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734e1fe0409c2845c1bde8fcbe21ac6889311c8ab5604660405180807f41000000000000000000000000000000000000000000000000000000000000008152506001019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515614899576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61490481603b614a3390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f81b0cf369ee30d7f914d9751dd376d92281d9a22f0da8a9acb32997cd248258960405160405180910390a250565b61495381614b35565b50565b61496082826147cd565b1515156149d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b614a3d82826147cd565b1515614ad7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c81526020017f650000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000614b5f6001614b51604554426130ed90919063ffffffff16565b61306390919063ffffffff16565b9050614bb682604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461306390919063ffffffff16565b604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506044544201604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550614c5c8260415461306390919063ffffffff16565b604181905550604154604a6000838152602001908152602001600020600101819055506001604a600083815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506001604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060000160006101000a81548160ff021916908315150217905550604760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154604d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020600101819055506000604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415614e5557614e11604554426130ed90919063ffffffff16565b604c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614e9a57805160ff1916838001178555614ec8565b82800160010185558215614ec8579182015b82811115614ec7578251825591602001919060010190614eac565b5b509050614ed59190614ed9565b5090565b614efb91905b80821115614ef7576000816000905550600101614edf565b5090565b905600a165627a7a723058205be0eb0dc733d273e3bc2a56b9e99d9f986652b32162a67f529b80f0c77d99830029

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.