ETH Price: $2,347.63 (-1.61%)

Contract

0x1b1243B197C9c090558Fa0A7257d1B98AECaEAf7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unlock112050882020-11-06 17:15:501427 days ago1604682950IN
0x1b1243B1...8AECaEAf7
0 ETH0.0018951820
Unlock101206502020-05-23 7:03:081594 days ago1590217388IN
0x1b1243B1...8AECaEAf7
0 ETH0.0018951820
Unlock100166112020-05-07 3:11:271610 days ago1588821087IN
0x1b1243B1...8AECaEAf7
0 ETH0.0018951820
Unlock95957052020-03-03 3:10:561675 days ago1583205056IN
0x1b1243B1...8AECaEAf7
0 ETH0.0018951820
Unlock92228222020-01-05 21:24:251732 days ago1578259465IN
0x1b1243B1...8AECaEAf7
0 ETH0.0018951820
Unlock92061502020-01-03 8:27:491735 days ago1578040069IN
0x1b1243B1...8AECaEAf7
0 ETH0.0004952820
Unlock92061472020-01-03 8:26:551735 days ago1578040015IN
0x1b1243B1...8AECaEAf7
0 ETH0.0015951820
Unlock86029522019-09-23 3:23:191837 days ago1569208999IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014041420
Unlock85606752019-09-16 13:05:081844 days ago1568639108IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014054220
Unlock85606342019-09-16 12:57:061844 days ago1568638626IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014041420
Unlock82497142019-07-30 4:09:251892 days ago1564459765IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017028620
Unlock81687442019-07-17 14:16:531905 days ago1563373013IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014041420
Unlock81483852019-07-14 9:31:221908 days ago1563096682IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014041420
Unlock81288152019-07-11 8:13:431911 days ago1562832823IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock81286092019-07-11 7:27:111911 days ago1562830031IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017028620
Unlock80957352019-07-06 5:03:371916 days ago1562389417IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock80878542019-07-04 23:41:501917 days ago1562283710IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014054220
Unlock80878282019-07-04 23:36:561917 days ago1562283416IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock80649432019-07-01 9:50:591921 days ago1561974659IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock80593032019-06-30 12:38:001922 days ago1561898280IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock80353662019-06-26 19:09:511926 days ago1561576191IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014041420
Unlock79430792019-06-12 9:10:021940 days ago1560330602IN
0x1b1243B1...8AECaEAf7
0 ETH0.0017041420
Unlock78491172019-05-28 16:31:201955 days ago1559061080IN
0x1b1243B1...8AECaEAf7
0 ETH0.00120
Unlock78487042019-05-28 15:01:031955 days ago1559055663IN
0x1b1243B1...8AECaEAf7
0 ETH0.0005996620
Unlock78329622019-05-26 3:44:491957 days ago1558842289IN
0x1b1243B1...8AECaEAf7
0 ETH0.0014028620
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:
CZRSnowLocker

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-05
*/

pragma solidity ^0.4.16;

contract owned {
    address public owner;

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

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

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

interface token { function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); }

contract CZRSnowLocker is owned {
    
    address public tokenAddr;
    bool public isPaused = false;

    event Lock(address indexed addr, uint index, uint amount);
    event Unlock(address indexed addr, uint index, uint lockAmount, uint rewardAmount);
    
    struct LockRecord {
        uint time;
        uint amount;
        bool completed;
    }
    
    mapping(address => LockRecord[]) public lockRecordMap;
    
    function CZRSnowLocker(address _tokenAddr) public {
        tokenAddr = _tokenAddr;
    }
    
    function start() onlyOwner public {
        isPaused = false;
    }
    
    function pause() onlyOwner public {
        isPaused = true;
    }

    /// @notice impl tokenRecipient interface
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public {
        require(_token == tokenAddr);
        require(_extraData.length == 0);
        _lock(_from, _value);
    }

    function _lock(address addr, uint amount) internal {
        require(!isPaused);
        require(amount >= 100 ether);

        token t = token(tokenAddr);
        t.transferFrom(addr, owner, amount);

        lockRecordMap[addr].push(LockRecord(now, amount, false));
        
        uint index = lockRecordMap[addr].length - 1;
        Lock(addr, index, amount);
    }
    
    /// @notice withdraw CZR
    /// @param addr address to withdraw
    /// @param index deposit index
    function unlock(address addr, uint index) public {
        require(addr == msg.sender);
        
        var lock = lockRecordMap[addr][index];
        require(lock.amount > 0 && !lock.completed);

        var during = now - lock.time;
        var reward = _calcReward(during, lock.amount);

        token t = token(tokenAddr);
        t.transferFrom(owner, addr, lock.amount + reward);

        lock.completed = true;

        Unlock(addr, index, lock.amount, reward);        
    }

    function _calcReward(uint during, uint amount) internal view returns (uint) {
        uint n = during / 90 days;
        if (n == 0)
             return 0;
        if (n == 1)
            return amount * 2 / 100;
        if (n == 2)
            return amount * 5 / 100;
        if (n == 3)
            return amount * 8 / 100;
        return amount * 12 / 100;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"tokenAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"index","type":"uint256"}],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_token","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockRecordMap","outputs":[{"name":"time","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"completed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"lockAmount","type":"uint256"},{"indexed":false,"name":"rewardAmount","type":"uint256"}],"name":"Unlock","type":"event"}]

60606040526001805460a060020a60ff0219169055341561001f57600080fd5b6040516020806108638339810160405280805160008054600160a060020a03338116600160a060020a0319928316179092556001805492909316911617905550506107f48061006f6000396000f30060606040526004361061007f5763ffffffff60e060020a6000350416635fbe4d1d81146100845780637eee288d146100b35780638456cb59146100d75780638da5cb5b146100ea5780638f4ffcb1146100fd578063b187bd2614610169578063be9a655514610190578063cee1c864146101a3578063f2fde38b146101eb575b600080fd5b341561008f57600080fd5b61009761020a565b604051600160a060020a03909116815260200160405180910390f35b34156100be57600080fd5b6100d5600160a060020a0360043516602435610219565b005b34156100e257600080fd5b6100d56103bd565b34156100f557600080fd5b61009761040f565b341561010857600080fd5b6100d560048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061041e95505050505050565b341561017457600080fd5b61017c610454565b604051901515815260200160405180910390f35b341561019b57600080fd5b6100d5610475565b34156101ae57600080fd5b6101c5600160a060020a03600435166024356104b0565b604051928352602083019190915215156040808301919091526060909101905180910390f35b34156101f657600080fd5b6100d5600160a060020a03600435166104f4565b600154600160a060020a031681565b60008060008033600160a060020a031686600160a060020a031614151561023f57600080fd5b600160a060020a038616600090815260026020526040902080548690811061026357fe5b906000526020600020906003020193506000846001015411801561028c5750600284015460ff16155b151561029757600080fd5b8360000154420392506102ae83856001015461053e565b600180546000805492880154939550600160a060020a03918216945084936323b872dd93909216918a91908701906040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561033257600080fd5b6102c65a03f1151561034357600080fd5b5050506040518051505060028401805460ff19166001908117909155840154600160a060020a038716907fa0a01f5aa68fdaf8aa6fb537fe6078fa09dcde567f2634e239f990716cb335b09087908560405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b60005433600160a060020a039081169116146103d857600080fd5b6001805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600054600160a060020a031681565b600154600160a060020a0383811691161461043857600080fd5b80511561044457600080fd5b61044e84846105a7565b50505050565b60015474010000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a0390811691161461049057600080fd5b6001805474ff000000000000000000000000000000000000000019169055565b6002602052816000526040600020818154811015156104cb57fe5b600091825260209091206003909102018054600182015460029092015490935090915060ff1683565b60005433600160a060020a0390811691161461050f57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006276a700830480151561055657600091506105a0565b806001141561056e576064600284025b0491506105a0565b806002141561058257606460058402610566565b806003141561059657606460088402610566565b6064600c84020491505b5092915050565b600154600090819074010000000000000000000000000000000000000000900460ff16156105d457600080fd5b68056bc75e2d631000008310156105ea57600080fd5b60015460008054600160a060020a03928316945084926323b872dd9288929091169087906040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561066457600080fd5b6102c65a03f1151561067557600080fd5b50505060405180515050600160a060020a03841660009081526002602052604090208054600181016106a78382610764565b916000526020600020906003020160006060604051908101604090815242825260208201889052600090820152919050815181556020820151816001015560408201516002918201805460ff1916911515919091179055600160a060020a03871660008181526020929092526040918290205460001901945092507f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b9150839086905191825260208201526040908101905180910390a250505050565b815481835581811511610790576003028160030283600052602060002091820191016107909190610795565b505050565b6107c591905b808211156107c1576000808255600182015560028101805460ff1916905560030161079b565b5090565b905600a165627a7a72305820e6ad4547eaf43f1ca14a6c8cf7dad83d0f941433ef8b04075bd3f06343a1989200290000000000000000000000000223fc70574214f65813fe336d870ac47e147fae

Deployed Bytecode

0x60606040526004361061007f5763ffffffff60e060020a6000350416635fbe4d1d81146100845780637eee288d146100b35780638456cb59146100d75780638da5cb5b146100ea5780638f4ffcb1146100fd578063b187bd2614610169578063be9a655514610190578063cee1c864146101a3578063f2fde38b146101eb575b600080fd5b341561008f57600080fd5b61009761020a565b604051600160a060020a03909116815260200160405180910390f35b34156100be57600080fd5b6100d5600160a060020a0360043516602435610219565b005b34156100e257600080fd5b6100d56103bd565b34156100f557600080fd5b61009761040f565b341561010857600080fd5b6100d560048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061041e95505050505050565b341561017457600080fd5b61017c610454565b604051901515815260200160405180910390f35b341561019b57600080fd5b6100d5610475565b34156101ae57600080fd5b6101c5600160a060020a03600435166024356104b0565b604051928352602083019190915215156040808301919091526060909101905180910390f35b34156101f657600080fd5b6100d5600160a060020a03600435166104f4565b600154600160a060020a031681565b60008060008033600160a060020a031686600160a060020a031614151561023f57600080fd5b600160a060020a038616600090815260026020526040902080548690811061026357fe5b906000526020600020906003020193506000846001015411801561028c5750600284015460ff16155b151561029757600080fd5b8360000154420392506102ae83856001015461053e565b600180546000805492880154939550600160a060020a03918216945084936323b872dd93909216918a91908701906040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561033257600080fd5b6102c65a03f1151561034357600080fd5b5050506040518051505060028401805460ff19166001908117909155840154600160a060020a038716907fa0a01f5aa68fdaf8aa6fb537fe6078fa09dcde567f2634e239f990716cb335b09087908560405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b60005433600160a060020a039081169116146103d857600080fd5b6001805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600054600160a060020a031681565b600154600160a060020a0383811691161461043857600080fd5b80511561044457600080fd5b61044e84846105a7565b50505050565b60015474010000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a0390811691161461049057600080fd5b6001805474ff000000000000000000000000000000000000000019169055565b6002602052816000526040600020818154811015156104cb57fe5b600091825260209091206003909102018054600182015460029092015490935090915060ff1683565b60005433600160a060020a0390811691161461050f57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006276a700830480151561055657600091506105a0565b806001141561056e576064600284025b0491506105a0565b806002141561058257606460058402610566565b806003141561059657606460088402610566565b6064600c84020491505b5092915050565b600154600090819074010000000000000000000000000000000000000000900460ff16156105d457600080fd5b68056bc75e2d631000008310156105ea57600080fd5b60015460008054600160a060020a03928316945084926323b872dd9288929091169087906040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561066457600080fd5b6102c65a03f1151561067557600080fd5b50505060405180515050600160a060020a03841660009081526002602052604090208054600181016106a78382610764565b916000526020600020906003020160006060604051908101604090815242825260208201889052600090820152919050815181556020820151816001015560408201516002918201805460ff1916911515919091179055600160a060020a03871660008181526020929092526040918290205460001901945092507f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b9150839086905191825260208201526040908101905180910390a250505050565b815481835581811511610790576003028160030283600052602060002091820191016107909190610795565b505050565b6107c591905b808211156107c1576000808255600182015560028101805460ff1916905560030161079b565b5090565b905600a165627a7a72305820e6ad4547eaf43f1ca14a6c8cf7dad83d0f941433ef8b04075bd3f06343a198920029

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

0000000000000000000000000223fc70574214f65813fe336d870ac47e147fae

-----Decoded View---------------
Arg [0] : _tokenAddr (address): 0x0223fc70574214F65813fE336D870Ac47E147fAe

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000223fc70574214f65813fe336d870ac47e147fae


Swarm Source

bzzr://e6ad4547eaf43f1ca14a6c8cf7dad83d0f941433ef8b04075bd3f06343a19892

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.