ETH Price: $3,593.75 (+4.98%)

Contract

0x2c1F9F3866e3C75D0653BAbbC8F7394E35C10DE0
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Lock ETH110014322020-10-06 9:35:381513 days ago1601976938IN
0x2c1F9F38...E35C10DE0
0.2 ETH0.0038232163.8
Lock ETH103147712020-06-22 9:32:451619 days ago1592818365IN
0x2c1F9F38...E35C10DE0
2.5 ETH0.002157336
Wipe DAI100159552020-05-07 0:35:311666 days ago1588811731IN
0x2c1F9F38...E35C10DE0
0 ETH0.001212798.21
Wipe DAI99948892020-05-03 18:45:421669 days ago1588531542IN
0x2c1F9F38...E35C10DE0
0 ETH0.000431363
Wipe DAI99791672020-05-01 8:08:461671 days ago1588320526IN
0x2c1F9F38...E35C10DE0
0 ETH0.0029940717
Wipe DAI99734362020-04-30 10:37:331672 days ago1588243053IN
0x2c1F9F38...E35C10DE0
0 ETH0.0028893420
Wipe DAI99731472020-04-30 9:31:321672 days ago1588239092IN
0x2c1F9F38...E35C10DE0
0 ETH0.0034997620
Wipe DAI99666562020-04-29 9:31:001673 days ago1588152660IN
0x2c1F9F38...E35C10DE0
0 ETH0.001051336
Wipe DAI99629542020-04-28 19:55:181674 days ago1588103718IN
0x2c1F9F38...E35C10DE0
0 ETH0.000349372
Wipe DAI99566162020-04-27 20:15:411675 days ago1588018541IN
0x2c1F9F38...E35C10DE0
0 ETH0.000341042
Wipe DAI96855362020-03-16 23:22:031717 days ago1584400923IN
0x2c1F9F38...E35C10DE0
0 ETH0.001489818
Lock ETH96823562020-03-16 11:41:241717 days ago1584358884IN
0x2c1F9F38...E35C10DE0
10 ETH0.0045628830
Lock ETH96679022020-03-14 6:25:461720 days ago1584167146IN
0x2c1F9F38...E35C10DE0
2 ETH0.0091264860
Wipe DAI96628862020-03-13 11:29:441720 days ago1584098984IN
0x2c1F9F38...E35C10DE0
0 ETH0.0007577620
Wipe DAI96628732020-03-13 11:27:391720 days ago1584098859IN
0x2c1F9F38...E35C10DE0
0 ETH0.0007577620
Lock ETH96621792020-03-13 8:50:171720 days ago1584089417IN
0x2c1F9F38...E35C10DE0
600 ETH0.0081349455
Wipe DAI96618832020-03-13 7:43:501721 days ago1584085430IN
0x2c1F9F38...E35C10DE0
0 ETH0.0124424460
Wipe DAI96617852020-03-13 7:19:561721 days ago1584083996IN
0x2c1F9F38...E35C10DE0
0 ETH0.0110276460
Wipe DAI96617252020-03-13 7:04:351721 days ago1584083075IN
0x2c1F9F38...E35C10DE0
0 ETH0.0120203265
Lock ETH96614332020-03-13 5:56:001721 days ago1584078960IN
0x2c1F9F38...E35C10DE0
8 ETH0.011092275
Lock ETH96614212020-03-13 5:53:341721 days ago1584078814IN
0x2c1F9F38...E35C10DE0
1 ETH0.011407275
Lock ETH96611432020-03-13 4:51:331721 days ago1584075093IN
0x2c1F9F38...E35C10DE0
131 ETH0.01840361121
Wipe DAI96611252020-03-13 4:47:501721 days ago1584074870IN
0x2c1F9F38...E35C10DE0
0 ETH0.03572898194
Lock ETH96604502020-03-13 2:16:001721 days ago1584065760IN
0x2c1F9F38...E35C10DE0
68 ETH0.0304192200
Wipe DAI96599112020-03-13 0:15:001721 days ago1584058500IN
0x2c1F9F38...E35C10DE0
0 ETH0.02258531110
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
110014322020-10-06 9:35:381513 days ago1601976938
0x2c1F9F38...E35C10DE0
0.2 ETH
103147712020-06-22 9:32:451619 days ago1592818365
0x2c1F9F38...E35C10DE0
2.5 ETH
96823562020-03-16 11:41:241717 days ago1584358884
0x2c1F9F38...E35C10DE0
10 ETH
96679022020-03-14 6:25:461720 days ago1584167146
0x2c1F9F38...E35C10DE0
2 ETH
96621792020-03-13 8:50:171720 days ago1584089417
0x2c1F9F38...E35C10DE0
600 ETH
96614332020-03-13 5:56:001721 days ago1584078960
0x2c1F9F38...E35C10DE0
8 ETH
96614212020-03-13 5:53:341721 days ago1584078814
0x2c1F9F38...E35C10DE0
1 ETH
96611432020-03-13 4:51:331721 days ago1584075093
0x2c1F9F38...E35C10DE0
131 ETH
96604502020-03-13 2:16:001721 days ago1584065760
0x2c1F9F38...E35C10DE0
68 ETH
96598862020-03-13 0:10:201721 days ago1584058220
0x2c1F9F38...E35C10DE0
2 ETH
96595022020-03-12 22:50:431721 days ago1584053443
0x2c1F9F38...E35C10DE0
0.001 ETH
96572032020-03-12 14:23:271721 days ago1584023007
0x2c1F9F38...E35C10DE0
0.05 ETH
96571082020-03-12 14:03:181721 days ago1584021798
0x2c1F9F38...E35C10DE0
300 ETH
96567632020-03-12 12:50:061721 days ago1584017406
0x2c1F9F38...E35C10DE0
29 ETH
96567382020-03-12 12:44:331721 days ago1584017073
0x2c1F9F38...E35C10DE0
5 ETH
96564332020-03-12 11:27:261721 days ago1584012446
0x2c1F9F38...E35C10DE0
500 ETH
96542702020-03-12 3:09:411722 days ago1583982581
0x2c1F9F38...E35C10DE0
0.52 ETH
96369292020-03-09 11:17:511724 days ago1583752671
0x2c1F9F38...E35C10DE0
0.64868102 ETH
94965862020-02-16 21:27:581746 days ago1581888478
0x2c1F9F38...E35C10DE0
0.02 ETH
94428752020-02-08 15:30:201754 days ago1581175820
0x2c1F9F38...E35C10DE0
0.01 ETH
92031402020-01-02 21:09:071791 days ago1577999347
0x2c1F9F38...E35C10DE0
0.003 ETH
91819662019-12-29 17:53:171795 days ago1577641997
0x2c1F9F38...E35C10DE0
0.00167025 ETH
91819662019-12-29 17:53:171795 days ago1577641997
0x2c1F9F38...E35C10DE0
0.00167025 ETH
91819662019-12-29 17:53:171795 days ago1577641997
0x2c1F9F38...E35C10DE0
0.01628185 ETH
91655442019-12-26 11:36:441798 days ago1577360204
0x2c1F9F38...E35C10DE0
0.00805664 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PublicCDP

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

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

// Resolver to Wipe & Coll any CDP
pragma solidity 0.4.24;


library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "Assertion Failed");
        return c;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "Assertion Failed");
        uint256 c = a / b;
        return c;
    }

}

interface IERC20 {
    function balanceOf(address who) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

interface AddressRegistry {
    function getAddr(string name) external view returns(address);
}

interface MakerCDP {
    function join(uint wad) external; // Join PETH
    function lock(bytes32 cup, uint wad) external;
    function wipe(bytes32 cup, uint wad) external;
    function per() external view returns (uint ray);
}

interface PriceInterface {
    function peek() external view returns (bytes32, bool);
}

interface WETHFace {
    function deposit() external payable;
    function withdraw(uint wad) external;
}

interface InstaKyber {
    function executeTrade(
        address src,
        address dest,
        uint srcAmt,
        uint minConversionRate,
        uint maxDestAmt
    ) external payable returns (uint destAmt);

    function getExpectedPrice(
        address src,
        address dest,
        uint srcAmt
    ) external view returns (uint, uint);
}


contract Registry {

    address public addressRegistry;
    modifier onlyAdmin() {
        require(
            msg.sender == getAddress("admin"),
            "Permission Denied"
        );
        _;
    }
    
    function getAddress(string name) internal view returns(address) {
        AddressRegistry addrReg = AddressRegistry(addressRegistry);
        return addrReg.getAddr(name);
    }

}


contract Helper is Registry {

    using SafeMath for uint;
    using SafeMath for uint256;

    address public cdpAddr;
    address public eth;
    address public weth;
    address public peth;
    address public mkr;
    address public dai;
    address public kyber;

    function pethPEReth(uint ethNum) public view returns (uint rPETH) {
        MakerCDP loanMaster = MakerCDP(cdpAddr);
        rPETH = (ethNum.mul(10 ** 27)).div(loanMaster.per());
    }

}


contract Lock is Helper {

    event LockedETH(uint cdpNum, address lockedBy, uint lockETH, uint lockPETH);

    function lockETH(uint cdpNum) public payable {
        MakerCDP loanMaster = MakerCDP(cdpAddr);
        WETHFace wethTkn = WETHFace(weth);
        wethTkn.deposit.value(msg.value)(); // ETH to WETH
        uint pethToLock = pethPEReth(msg.value);
        loanMaster.join(pethToLock); // WETH to PETH
        loanMaster.lock(bytes32(cdpNum), pethToLock); // PETH to CDP
        emit LockedETH(
            cdpNum, msg.sender, msg.value, pethToLock
        );
    }

}


contract Wipe is Lock {

    event WipedDAI(uint cdpNum, address wipedBy, uint daiWipe, uint mkrCharged);

    function wipeDAI(uint cdpNum, uint daiWipe) public payable {
        IERC20 daiTkn = IERC20(dai);
        IERC20 mkrTkn = IERC20(mkr);

        uint contractMKR = mkrTkn.balanceOf(address(this)); // contract MKR balance before wiping
        daiTkn.transferFrom(msg.sender, address(this), daiWipe); // get DAI to pay the debt
        MakerCDP loanMaster = MakerCDP(cdpAddr);
        loanMaster.wipe(bytes32(cdpNum), daiWipe); // wipe DAI
        uint mkrCharged = contractMKR - mkrTkn.balanceOf(address(this)); // MKR fee = before wiping bal - after wiping bal

        // claiming paid MKR back
        if (msg.value > 0) { // Interacting with Kyber to swap ETH with MKR
            swapETHMKR(
                mkrCharged, msg.value
            );
        } else { // take MKR directly from address
            mkrTkn.transferFrom(msg.sender, address(this), mkrCharged); // user paying MKR fees
        }

        emit WipedDAI(
            cdpNum, msg.sender, daiWipe, mkrCharged
        );
    }

    function swapETHMKR(
        uint mkrCharged,
        uint ethQty
    ) internal 
    {
        InstaKyber instak = InstaKyber(kyber);
        uint minRate;
        (, minRate) = instak.getExpectedPrice(eth, mkr, ethQty);
        uint mkrBought = instak.executeTrade.value(ethQty)(
            eth, mkr, ethQty, minRate, mkrCharged
        );
        require(mkrCharged == mkrBought, "ETH not sufficient to cover the MKR fees.");
        if (address(this).balance > 0) {
            msg.sender.transfer(address(this).balance);
        }
    }

}


contract ApproveTkn is Wipe {

    function approveERC20() public {
        IERC20 wethTkn = IERC20(weth);
        wethTkn.approve(cdpAddr, 2**256 - 1);
        IERC20 pethTkn = IERC20(peth);
        pethTkn.approve(cdpAddr, 2**256 - 1);
        IERC20 mkrTkn = IERC20(mkr);
        mkrTkn.approve(cdpAddr, 2**256 - 1);
        IERC20 daiTkn = IERC20(dai);
        daiTkn.approve(cdpAddr, 2**256 - 1);
    }

}


contract PublicCDP is ApproveTkn {

    event MKRCollected(uint amount);

    constructor(address rAddr) public {
        addressRegistry = rAddr;
        cdpAddr = getAddress("cdp");
        eth = getAddress("eth");
        weth = getAddress("weth");
        peth = getAddress("peth");
        mkr = getAddress("mkr");
        dai = getAddress("dai");
        kyber = getAddress("InstaKyber");
        approveERC20();
    }

    function () public payable {}

    // collecting MKR token kept as balance to pay fees
    function collectMKR(uint amount) public onlyAdmin {
        IERC20 mkrTkn = IERC20(mkr);
        mkrTkn.transfer(msg.sender, amount);
        emit MKRCollected(amount);
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"ethNum","type":"uint256"}],"name":"pethPEReth","outputs":[{"name":"rPETH","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"cdpNum","type":"uint256"},{"name":"daiWipe","type":"uint256"}],"name":"wipeDAI","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"peth","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mkr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"eth","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"cdpNum","type":"uint256"}],"name":"lockETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"approveERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kyber","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"collectMKR","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addressRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dai","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cdpAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"rAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"MKRCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"cdpNum","type":"uint256"},{"indexed":false,"name":"wipedBy","type":"address"},{"indexed":false,"name":"daiWipe","type":"uint256"},{"indexed":false,"name":"mkrCharged","type":"uint256"}],"name":"WipedDAI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"cdpNum","type":"uint256"},{"indexed":false,"name":"lockedBy","type":"address"},{"indexed":false,"name":"lockETH","type":"uint256"},{"indexed":false,"name":"lockPETH","type":"uint256"}],"name":"LockedETH","type":"event"}]

60806040523480156200001157600080fd5b506040516020806200278183398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c46040805190810160405280600381526020017f63647000000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001536040805190810160405280600381526020017f65746800000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001e26040805190810160405280600481526020017f77657468000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002716040805190810160405280600481526020017f70657468000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003006040805190810160405280600381526020017f6d6b7200000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200038f6040805190810160405280600381526020017f64616900000000000000000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200041e6040805190810160405280600a81526020017f496e7374614b79626572000000000000000000000000000000000000000000008152506200047e640100000000026401000000009004565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000477620005c2640100000000026401000000009004565b5062000af2565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663d502db97846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200052f57808201518184015260208101905062000512565b50505050905090810190601f1680156200055d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156200057d57600080fd5b505af115801562000592573d6000803e3d6000fd5b505050506040513d6020811015620005a957600080fd5b8101908080519060200190929190505050915050919050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015620006d357600080fd5b505af1158015620006e8573d6000803e3d6000fd5b505050506040513d6020811015620006ff57600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156200081c57600080fd5b505af115801562000831573d6000803e3d6000fd5b505050506040513d60208110156200084857600080fd5b810190808051906020019092919050505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156200096557600080fd5b505af11580156200097a573d6000803e3d6000fd5b505050506040513d60208110156200099157600080fd5b810190808051906020019092919050505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801562000aae57600080fd5b505af115801562000ac3573d6000803e3d6000fd5b505050506040513d602081101562000ada57600080fd5b81019080805190602001909291905050505050505050565b611c7f8062000b026000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631cabe3ef146100c75780633fc8cef31461010857806344e78d931461015f5780637d211c75146101895780637e992cb8146101e05780638c7c9e0c146102375780638eec6f7b1461028e57806399035895146102ae578063a2d10ba5146102c5578063f2fec9131461031c578063f3ad65f414610349578063f4b9fa75146103a0578063f6fea0cb146103f7575b005b3480156100d357600080fd5b506100f26004803603810190808035906020019092919050505061044e565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d61054d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101876004803603810190808035906020019092919080359060200190929190505050610573565b005b34801561019557600080fd5b5061019e610af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ec57600080fd5b506101f5610b1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024357600080fd5b5061024c610b45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ac60048036038101908080359060200190929190505050610b6b565b005b3480156102ba57600080fd5b506102c3610de4565b005b3480156102d157600080fd5b506102da611308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b506103476004803603810190808035906020019092919050505061132e565b005b34801561035557600080fd5b5061035e61154f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ac57600080fd5b506103b5611574565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040357600080fd5b5061040c61159a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506105458173ffffffffffffffffffffffffffffffffffffffff16637ec9c3b86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b81019080805190602001909291905050506105376b033b2e3c9fd0803ce8000000866115c090919063ffffffff16565b61166790919063ffffffff16565b915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b810190808051906020019092919050505092508473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b505050506040513d602081101561079e57600080fd5b810190808051906020019092919050505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff166373b3810188600102886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561085757600080fd5b505af115801561086b573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050506040513d602081101561093457600080fd5b81019080805190602001909291905050508303905060003411156109615761095c81346116fa565b610a75565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610a3857600080fd5b505af1158015610a4c573d6000803e3d6000fd5b505050506040513d6020811015610a6257600080fd5b8101908080519060200190929190505050505b7fb73b03aa58dc5068236f1cfccba897f01fcceea8ef14a02901ff591d580ec75887338884604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a150505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b5050505050610c403461044e565b90508273ffffffffffffffffffffffffffffffffffffffff1663049878f3826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663b3b77a5185600102836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610d4b57600080fd5b505af1158015610d5f573d6000803e3d6000fd5b505050507fc12e5884fc4af591b69f970f6d3022371829fba03314486a05b991cd0ce7852184333484604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a150505050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ef457600080fd5b505af1158015610f08573d6000803e3d6000fd5b505050506040513d6020811015610f1e57600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561103a57600080fd5b505af115801561104e573d6000803e3d6000fd5b505050506040513d602081101561106457600080fd5b810190808051906020019092919050505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561118057600080fd5b505af1158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b810190808051906020019092919050505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156112c657600080fd5b505af11580156112da573d6000803e3d6000fd5b505050506040513d60208110156112f057600080fd5b81019080805190602001909291905050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136e6040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250611b15565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611410576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5065726d697373696f6e2044656e69656400000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d602081101561150257600080fd5b8101908080519060200190929190505050507f499d4b63f3a203c58019a864fc2d9cfe72954952ed53a3e40999755432cd3566826040518082815260200191505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008414156115d55760009150611660565b82840290508284828115156115e657fe5b0414151561165c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f417373657274696f6e204661696c65640000000000000000000000000000000081525060200191505060405180910390fd5b8091505b5092915050565b6000806000831115156116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f417373657274696f6e204661696c65640000000000000000000000000000000081525060200191505060405180910390fd5b82848115156116ed57fe5b0490508091505092915050565b6000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff166332ffe442600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040805180830381600087803b15801561183e57600080fd5b505af1158015611852573d6000803e3d6000fd5b505050506040513d604081101561186857600080fd5b8101908080519060200190929190805190602001909291905050509050809250508273ffffffffffffffffffffffffffffffffffffffff16633e23ee7e85600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688878b6040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001955050505050506020604051808303818588803b1580156119b457600080fd5b505af11580156119c8573d6000803e3d6000fd5b50505050506040513d60208110156119df57600080fd5b810190808051906020019092919050505090508085141515611a8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f455448206e6f742073756666696369656e7420746f20636f766572207468652081526020017f4d4b5220666565732e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311115611b0e573373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611b0c573d6000803e3d6000fd5b505b5050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663d502db97846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bc4578082015181840152602081019050611ba9565b50505050905090810190601f168015611bf15780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b505050506040513d6020811015611c3a57600080fd5b81019080805190602001909291905050509150509190505600a165627a7a72305820aff94a0c3c548056ab417cf54cd95638c2d0d6f9abdd71e25abcc546872f748e0029000000000000000000000000e16d035b8e76303237b9660b3c9c94c1a86aab47

Deployed Bytecode

0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631cabe3ef146100c75780633fc8cef31461010857806344e78d931461015f5780637d211c75146101895780637e992cb8146101e05780638c7c9e0c146102375780638eec6f7b1461028e57806399035895146102ae578063a2d10ba5146102c5578063f2fec9131461031c578063f3ad65f414610349578063f4b9fa75146103a0578063f6fea0cb146103f7575b005b3480156100d357600080fd5b506100f26004803603810190808035906020019092919050505061044e565b6040518082815260200191505060405180910390f35b34801561011457600080fd5b5061011d61054d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101876004803603810190808035906020019092919080359060200190929190505050610573565b005b34801561019557600080fd5b5061019e610af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ec57600080fd5b506101f5610b1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024357600080fd5b5061024c610b45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ac60048036038101908080359060200190929190505050610b6b565b005b3480156102ba57600080fd5b506102c3610de4565b005b3480156102d157600080fd5b506102da611308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b506103476004803603810190808035906020019092919050505061132e565b005b34801561035557600080fd5b5061035e61154f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ac57600080fd5b506103b5611574565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040357600080fd5b5061040c61159a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506105458173ffffffffffffffffffffffffffffffffffffffff16637ec9c3b86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b81019080805190602001909291905050506105376b033b2e3c9fd0803ce8000000866115c090919063ffffffff16565b61166790919063ffffffff16565b915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b810190808051906020019092919050505092508473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b505050506040513d602081101561079e57600080fd5b810190808051906020019092919050505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff166373b3810188600102886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561085757600080fd5b505af115801561086b573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561090a57600080fd5b505af115801561091e573d6000803e3d6000fd5b505050506040513d602081101561093457600080fd5b81019080805190602001909291905050508303905060003411156109615761095c81346116fa565b610a75565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610a3857600080fd5b505af1158015610a4c573d6000803e3d6000fd5b505050506040513d6020811015610a6257600080fd5b8101908080519060200190929190505050505b7fb73b03aa58dc5068236f1cfccba897f01fcceea8ef14a02901ff591d580ec75887338884604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a150505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b5050505050610c403461044e565b90508273ffffffffffffffffffffffffffffffffffffffff1663049878f3826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663b3b77a5185600102836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610d4b57600080fd5b505af1158015610d5f573d6000803e3d6000fd5b505050507fc12e5884fc4af591b69f970f6d3022371829fba03314486a05b991cd0ce7852184333484604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a150505050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ef457600080fd5b505af1158015610f08573d6000803e3d6000fd5b505050506040513d6020811015610f1e57600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561103a57600080fd5b505af115801561104e573d6000803e3d6000fd5b505050506040513d602081101561106457600080fd5b810190808051906020019092919050505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561118057600080fd5b505af1158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b810190808051906020019092919050505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156112c657600080fd5b505af11580156112da573d6000803e3d6000fd5b505050506040513d60208110156112f057600080fd5b81019080805190602001909291905050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061136e6040805190810160405280600581526020017f61646d696e000000000000000000000000000000000000000000000000000000815250611b15565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611410576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5065726d697373696f6e2044656e69656400000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d602081101561150257600080fd5b8101908080519060200190929190505050507f499d4b63f3a203c58019a864fc2d9cfe72954952ed53a3e40999755432cd3566826040518082815260200191505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008414156115d55760009150611660565b82840290508284828115156115e657fe5b0414151561165c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f417373657274696f6e204661696c65640000000000000000000000000000000081525060200191505060405180910390fd5b8091505b5092915050565b6000806000831115156116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f417373657274696f6e204661696c65640000000000000000000000000000000081525060200191505060405180910390fd5b82848115156116ed57fe5b0490508091505092915050565b6000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff166332ffe442600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040805180830381600087803b15801561183e57600080fd5b505af1158015611852573d6000803e3d6000fd5b505050506040513d604081101561186857600080fd5b8101908080519060200190929190805190602001909291905050509050809250508273ffffffffffffffffffffffffffffffffffffffff16633e23ee7e85600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688878b6040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001955050505050506020604051808303818588803b1580156119b457600080fd5b505af11580156119c8573d6000803e3d6000fd5b50505050506040513d60208110156119df57600080fd5b810190808051906020019092919050505090508085141515611a8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f455448206e6f742073756666696369656e7420746f20636f766572207468652081526020017f4d4b5220666565732e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311115611b0e573373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611b0c573d6000803e3d6000fd5b505b5050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663d502db97846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bc4578082015181840152602081019050611ba9565b50505050905090810190601f168015611bf15780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b505050506040513d6020811015611c3a57600080fd5b81019080805190602001909291905050509150509190505600a165627a7a72305820aff94a0c3c548056ab417cf54cd95638c2d0d6f9abdd71e25abcc546872f748e0029

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

000000000000000000000000e16d035b8e76303237b9660b3c9c94c1a86aab47

-----Decoded View---------------
Arg [0] : rAddr (address): 0xE16D035B8E76303237b9660b3c9C94c1a86AAB47

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e16d035b8e76303237b9660b3c9c94c1a86aab47


Swarm Source

bzzr://aff94a0c3c548056ab417cf54cd95638c2d0d6f9abdd71e25abcc546872f748e

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  ]
[ 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.