ETH Price: $3,347.82 (+0.04%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer107397352020-08-27 1:51:481588 days ago1598493108IN
0xC355fe6E...714435912
0 ETH0.0031486480
Set Owner105927782020-08-04 10:42:051611 days ago1596537725IN
0xC355fe6E...714435912
0 ETH0.0020619970
Set Reserve Limi...105927012020-08-04 10:24:531611 days ago1596536693IN
0xC355fe6E...714435912
0 ETH0.0030462670
Set Proxy105926112020-08-04 10:04:381611 days ago1596535478IN
0xC355fe6E...714435912
0 ETH0.0031154970

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherDai

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-05-24
*/

pragma solidity ^0.5.12;

contract ReserveLike {
}

contract ProxyLike {
    function withdrawODai(address, uint) public;
    function withdrawEDai(address, uint) public;
}

contract WrappedDai {
    string public constant version = "0511";

    // --- Owner ---
    address public owner;

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

    event SetOwner(address owner);

    function setOwner(address _owner) public onlyOwner {
        owner = _owner;
        emit SetOwner(_owner);
    }

    // --- Math ---
    function add(uint a, uint b) private pure returns (uint) {
        require(a <= uint(-1) - b);
        return a + b;
    }

    function sub(uint a, uint b) private pure returns (uint) {
        require(a >= b);
        return a - b;
    }

    // --- Proxy ---
    ProxyLike public Proxy;

    event SetProxy(address proxy);

    modifier onlyProxy {
        require(msg.sender == address(Proxy));
        _;
    }

    modifier onlyOwnerOrProxy {
        require(msg.sender == owner || msg.sender == address(Proxy));
        _;
    }

    // 최초 발행 시에는 Owner, 그 뒤에는 Proxy가 호출
    function setProxy(address proxy) public onlyOwnerOrProxy {
        Proxy = ProxyLike(proxy);
        emit SetProxy(proxy);
    }

    // --- Contracts & Constructor ---
    ReserveLike public Reserve;
    uint public reserveLimit;

    event SetReserve(address reserve);
    event SetReserveLimit(uint limit);

    function setReserve(address reserve) public onlyProxy {
        Reserve = ReserveLike(reserve);
        emit SetReserve(reserve);
    }

    function setReserveLimit(uint limit) public onlyOwner {
        reserveLimit = limit;
        emit SetReserveLimit(limit);
    }

    constructor() public {
        owner = msg.sender;
    }

    // --- ERC20 ---
    uint8 public constant decimals = 18;
    uint public totalSupply;

    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;  // (holder, spender)

    event Transfer(address indexed from, address indexed to, uint amount);
    event Approval(address indexed holder, address indexed spender, uint amount);

    function transferFrom(address from, address to, uint amount) public returns (bool) {
        if (from != msg.sender && allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = sub(allowance[from][msg.sender], amount);
        }

        balanceOf[from] = sub(balanceOf[from], amount);
        balanceOf[to] = add(balanceOf[to], amount);

        emit Transfer(from, to, amount);

        if (to == address(Reserve)) {
            require(balanceOf[to] <= reserveLimit);
        }

        return true;
    }

    function approve(address spender, uint amount) public returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function increaseApproval(address spender, uint amount) public returns (bool) {
        amount = add(allowance[msg.sender][spender], amount);

        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function decreaseApproval(address spender, uint amount) public returns (bool) {
        if (amount > allowance[msg.sender][spender]) {
            amount = 0;
        }
        else {
            amount = allowance[msg.sender][spender] - amount;
        }

        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function mint(address user, uint amount) public onlyProxy {
        balanceOf[user] = add(balanceOf[user], amount);
        totalSupply = add(totalSupply, amount);

        emit Transfer(address(0), user, amount);
    }

    function burn(address user, uint amount) public onlyProxy {
        balanceOf[user] = sub(balanceOf[user], amount);
        totalSupply = sub(totalSupply, amount);

        emit Transfer(user, address(0), amount);
    }
}

contract EtherDai is WrappedDai {
    // --- ERC20 ---
    string public constant name = "Ether Dai";
    string public constant symbol = "EDAI";

    function transfer(address to, uint amount) public returns (bool) {
        if (msg.sender == address(Reserve)) {
            Proxy.withdrawEDai(to, amount);
            return true;
        }

        return transferFrom(msg.sender, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"SetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proxy","type":"address"}],"name":"SetProxy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"reserve","type":"address"}],"name":"SetReserve","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"}],"name":"SetReserveLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"Proxy","outputs":[{"internalType":"contract ProxyLike","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Reserve","outputs":[{"internalType":"contract ReserveLike","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"proxy","type":"address"}],"name":"setProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"reserve","type":"address"}],"name":"setReserve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"setReserveLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}]

6080604052600080546001600160a01b03191633179055610c90806100256000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b85780639dc29fac1161007c5780639dc29fac146103bd578063a9059cbb146103e9578063cda95d8014610415578063d73dd6231461041d578063dd62ed3e14610449578063fd782de51461047757610142565b806370a082311461031f5780638da5cb5b1461034557806395d89b411461036957806397107d6d146103715780639cecc80a1461039757610142565b806323b872dd1161010a57806323b872dd1461024e578063313ce5671461028457806340c10f19146102a257806354fd4d50146102ce57806366188463146102d65780637032d87d1461030257610142565b806306fdde0314610147578063095ea7b3146101c457806313af40351461020457806318160ddd1461022c57806321e7345e14610246575b600080fd5b61014f61047f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356104a4565b604080519115158252519081900360200190f35b61022a6004803603602081101561021a57600080fd5b50356001600160a01b031661050b565b005b610234610576565b60408051918252519081900360200190f35b61023461057c565b6101f06004803603606081101561026457600080fd5b506001600160a01b03813581169160208101359091169060400135610582565b61028c61070a565b6040805160ff9092168252519081900360200190f35b61022a600480360360408110156102b857600080fd5b506001600160a01b03813516906020013561070f565b61014f6107b7565b6101f0600480360360408110156102ec57600080fd5b506001600160a01b0381351690602001356107d7565b61022a6004803603602081101561031857600080fd5b503561089c565b6102346004803603602081101561033557600080fd5b50356001600160a01b03166108ee565b61034d610900565b604080516001600160a01b039092168252519081900360200190f35b61014f61090f565b61022a6004803603602081101561038757600080fd5b50356001600160a01b031661092f565b61022a600480360360208110156103ad57600080fd5b50356001600160a01b03166109af565b61022a600480360360408110156103d357600080fd5b506001600160a01b038135169060200135610a1a565b6101f0600480360360408110156103ff57600080fd5b506001600160a01b038135169060200135610ac2565b61034d610b60565b6101f06004803603604081101561043357600080fd5b506001600160a01b038135169060200135610b6f565b6102346004803603604081101561045f57600080fd5b506001600160a01b0381358116916020013516610c05565b61034d610c22565b6040518060400160405280600981526020016845746865722044616960b81b81525081565b3360008181526006602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000546001600160a01b0316331461052257600080fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59181900360200190a150565b60045481565b60035481565b60006001600160a01b03841633148015906105c257506001600160a01b038416600090815260066020908152604080832033845290915290205460001914155b1561061a576001600160a01b03841660009081526006602090815260408083203384529091529020546105f59083610c31565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6001600160a01b03841660009081526005602052604090205461063d9083610c31565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461066c9083610c46565b6001600160a01b0380851660008181526005602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36002546001600160a01b0384811691161415610700576003546001600160a01b038416600090815260056020526040902054111561070057600080fd5b5060019392505050565b601281565b6001546001600160a01b0316331461072657600080fd5b6001600160a01b0382166000908152600560205260409020546107499082610c46565b6001600160a01b03831660009081526005602052604090205560045461076f9082610c46565b6004556040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604051806040016040528060048152602001633035313160e01b81525081565b3360009081526006602090815260408083206001600160a01b038616845290915281205482111561080b5760009150610835565b3360009081526006602090815260408083206001600160a01b038716845290915290205491909103905b3360008181526006602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6000546001600160a01b031633146108b357600080fd5b60038190556040805182815290517f75a047aa52ed5154615181b42c4a7a77823610ab6bf8b1597262bfd3d83f37dc9181900360200190a150565b60056020526000908152604090205481565b6000546001600160a01b031681565b604051806040016040528060048152602001634544414960e01b81525081565b6000546001600160a01b031633148061095257506001546001600160a01b031633145b61095b57600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ff4066171617f5d61ac4da44ac0fab5d792cc1b1487e75c0da985a37a8d787f4c9181900360200190a150565b6001546001600160a01b031633146109c657600080fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f70b77aa3bf7367cd8c0674c8f80aa3829d046d2171e4e151fa63ab2e0d5d8e839181900360200190a150565b6001546001600160a01b03163314610a3157600080fd5b6001600160a01b038216600090815260056020526040902054610a549082610c31565b6001600160a01b038316600090815260056020526040902055600454610a7a9082610c31565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6002546000906001600160a01b0316331415610b4e576001546040805163e9ea01a960e01b81526001600160a01b038681166004830152602482018690529151919092169163e9ea01a991604480830192600092919082900301818387803b158015610b2d57600080fd5b505af1158015610b41573d6000803e3d6000fd5b5050505060019050610505565b610b59338484610582565b9392505050565b6002546001600160a01b031681565b3360009081526006602090815260408083206001600160a01b0386168452909152812054610b9d9083610c46565b3360008181526006602090815260408083206001600160a01b038916808552908352928190208590558051858152905194965091937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350600192915050565b600660209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600081831015610c4057600080fd5b50900390565b60008119831115610c5657600080fd5b50019056fea265627a7a72315820a860ec919f3bb4c97994eac9cca49db917b9eb6159b771b96f02fac57073074964736f6c634300050c0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b85780639dc29fac1161007c5780639dc29fac146103bd578063a9059cbb146103e9578063cda95d8014610415578063d73dd6231461041d578063dd62ed3e14610449578063fd782de51461047757610142565b806370a082311461031f5780638da5cb5b1461034557806395d89b411461036957806397107d6d146103715780639cecc80a1461039757610142565b806323b872dd1161010a57806323b872dd1461024e578063313ce5671461028457806340c10f19146102a257806354fd4d50146102ce57806366188463146102d65780637032d87d1461030257610142565b806306fdde0314610147578063095ea7b3146101c457806313af40351461020457806318160ddd1461022c57806321e7345e14610246575b600080fd5b61014f61047f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356104a4565b604080519115158252519081900360200190f35b61022a6004803603602081101561021a57600080fd5b50356001600160a01b031661050b565b005b610234610576565b60408051918252519081900360200190f35b61023461057c565b6101f06004803603606081101561026457600080fd5b506001600160a01b03813581169160208101359091169060400135610582565b61028c61070a565b6040805160ff9092168252519081900360200190f35b61022a600480360360408110156102b857600080fd5b506001600160a01b03813516906020013561070f565b61014f6107b7565b6101f0600480360360408110156102ec57600080fd5b506001600160a01b0381351690602001356107d7565b61022a6004803603602081101561031857600080fd5b503561089c565b6102346004803603602081101561033557600080fd5b50356001600160a01b03166108ee565b61034d610900565b604080516001600160a01b039092168252519081900360200190f35b61014f61090f565b61022a6004803603602081101561038757600080fd5b50356001600160a01b031661092f565b61022a600480360360208110156103ad57600080fd5b50356001600160a01b03166109af565b61022a600480360360408110156103d357600080fd5b506001600160a01b038135169060200135610a1a565b6101f0600480360360408110156103ff57600080fd5b506001600160a01b038135169060200135610ac2565b61034d610b60565b6101f06004803603604081101561043357600080fd5b506001600160a01b038135169060200135610b6f565b6102346004803603604081101561045f57600080fd5b506001600160a01b0381358116916020013516610c05565b61034d610c22565b6040518060400160405280600981526020016845746865722044616960b81b81525081565b3360008181526006602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000546001600160a01b0316331461052257600080fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59181900360200190a150565b60045481565b60035481565b60006001600160a01b03841633148015906105c257506001600160a01b038416600090815260066020908152604080832033845290915290205460001914155b1561061a576001600160a01b03841660009081526006602090815260408083203384529091529020546105f59083610c31565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6001600160a01b03841660009081526005602052604090205461063d9083610c31565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461066c9083610c46565b6001600160a01b0380851660008181526005602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36002546001600160a01b0384811691161415610700576003546001600160a01b038416600090815260056020526040902054111561070057600080fd5b5060019392505050565b601281565b6001546001600160a01b0316331461072657600080fd5b6001600160a01b0382166000908152600560205260409020546107499082610c46565b6001600160a01b03831660009081526005602052604090205560045461076f9082610c46565b6004556040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604051806040016040528060048152602001633035313160e01b81525081565b3360009081526006602090815260408083206001600160a01b038616845290915281205482111561080b5760009150610835565b3360009081526006602090815260408083206001600160a01b038716845290915290205491909103905b3360008181526006602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6000546001600160a01b031633146108b357600080fd5b60038190556040805182815290517f75a047aa52ed5154615181b42c4a7a77823610ab6bf8b1597262bfd3d83f37dc9181900360200190a150565b60056020526000908152604090205481565b6000546001600160a01b031681565b604051806040016040528060048152602001634544414960e01b81525081565b6000546001600160a01b031633148061095257506001546001600160a01b031633145b61095b57600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ff4066171617f5d61ac4da44ac0fab5d792cc1b1487e75c0da985a37a8d787f4c9181900360200190a150565b6001546001600160a01b031633146109c657600080fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f70b77aa3bf7367cd8c0674c8f80aa3829d046d2171e4e151fa63ab2e0d5d8e839181900360200190a150565b6001546001600160a01b03163314610a3157600080fd5b6001600160a01b038216600090815260056020526040902054610a549082610c31565b6001600160a01b038316600090815260056020526040902055600454610a7a9082610c31565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6002546000906001600160a01b0316331415610b4e576001546040805163e9ea01a960e01b81526001600160a01b038681166004830152602482018690529151919092169163e9ea01a991604480830192600092919082900301818387803b158015610b2d57600080fd5b505af1158015610b41573d6000803e3d6000fd5b5050505060019050610505565b610b59338484610582565b9392505050565b6002546001600160a01b031681565b3360009081526006602090815260408083206001600160a01b0386168452909152812054610b9d9083610c46565b3360008181526006602090815260408083206001600160a01b038916808552908352928190208590558051858152905194965091937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350600192915050565b600660209081526000928352604080842090915290825290205481565b6001546001600160a01b031681565b600081831015610c4057600080fd5b50900390565b60008119831115610c5657600080fd5b50019056fea265627a7a72315820a860ec919f3bb4c97994eac9cca49db917b9eb6159b771b96f02fac57073074964736f6c634300050c0032

Deployed Bytecode Sourcemap

4211:417:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4211:417:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4272:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4272:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2847:202;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2847:202:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;434:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;434:116:0;-1:-1:-1;;;;;434:116:0;;:::i;:::-;;1956:23;;;:::i;:::-;;;;;;;;;;;;;;;;1426:24;;;:::i;2289:550::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2289:550:0;;;;;;;;;;;;;;;;;:::i;1914:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3748:224;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3748:224:0;;;;;;;;:::i;211:39::-;;;:::i;3343:397::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3343:397:0;;;;;;;;:::i;1687:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1687:131:0;;:::i;1988:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1988:41:0;-1:-1:-1;;;;;1988:41:0;;:::i;281:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;281:20:0;;;;;;;;;;;;;;4320:38;;;:::i;1214:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1214:131:0;-1:-1:-1;;;;;1214:131:0;;:::i;1541:138::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1541:138:0;-1:-1:-1;;;;;1541:138:0;;:::i;3980:224::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3980:224:0;;;;;;;;:::i;4367:258::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4367:258:0;;;;;;;;:::i;1393:26::-;;;:::i;3057:278::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3057:278:0;;;;;;;;:::i;2036:61::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2036:61:0;;;;;;;;;;:::i;856:22::-;;;:::i;4272:41::-;;;;;;;;;;;;;;-1:-1:-1;;;4272:41:0;;;;:::o;2847:202::-;2937:10;2910:4;2927:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2927:30:0;;;;;;;;;;;:39;;;2982:37;;;;;;;2910:4;;2927:30;;2937:10;;2982:37;;;;;;;;-1:-1:-1;3037:4:0;2847:202;;;;;:::o;434:116::-;362:5;;-1:-1:-1;;;;;362:5:0;348:10;:19;340:28;;;;;;496:5;:14;;-1:-1:-1;;;;;496:14:0;;-1:-1:-1;;;;;;496:14:0;;;;;;;;526:16;;;;;;;;;;;;;;;;434:116;:::o;1956:23::-;;;;:::o;1426:24::-;;;;:::o;2289:550::-;2366:4;-1:-1:-1;;;;;2387:18:0;;2395:10;2387:18;;;;:61;;-1:-1:-1;;;;;;2409:15:0;;;;;;:9;:15;;;;;;;;2425:10;2409:27;;;;;;;;-1:-1:-1;;2409:39:0;;2387:61;2383:164;;;-1:-1:-1;;;;;2499:15:0;;;;;;:9;:15;;;;;;;;2515:10;2499:27;;;;;;;;2495:40;;2528:6;2495:3;:40::i;:::-;-1:-1:-1;;;;;2465:15:0;;;;;;:9;:15;;;;;;;;2481:10;2465:27;;;;;;;:70;2383:164;-1:-1:-1;;;;;2581:15:0;;;;;;:9;:15;;;;;;2577:28;;2598:6;2577:3;:28::i;:::-;-1:-1:-1;;;;;2559:15:0;;;;;;;:9;:15;;;;;;:46;;;;2636:13;;;;;;;2632:26;;2651:6;2632:3;:26::i;:::-;-1:-1:-1;;;;;2616:13:0;;;;;;;:9;:13;;;;;;;;;:42;;;;2676:26;;;;;;;2616:13;;2676:26;;;;;;;;;;;;;2733:7;;-1:-1:-1;;;;;2719:22:0;;;2733:7;;2719:22;2715:93;;;2783:12;;-1:-1:-1;;;;;2766:13:0;;;;;;:9;:13;;;;;;:29;;2758:38;;;;;;-1:-1:-1;2827:4:0;2289:550;;;;;:::o;1914:35::-;1947:2;1914:35;:::o;3748:224::-;985:5;;-1:-1:-1;;;;;985:5:0;963:10;:28;955:37;;;;;;-1:-1:-1;;;;;3839:15:0;;;;;;:9;:15;;;;;;3835:28;;3856:6;3835:3;:28::i;:::-;-1:-1:-1;;;;;3817:15:0;;;;;;:9;:15;;;;;:46;3892:11;;3888:24;;3905:6;3888:3;:24::i;:::-;3874:11;:38;3930:34;;;;;;;;-1:-1:-1;;;;;3930:34:0;;;3947:1;;3930:34;;;;;;;;;3748:224;;:::o;211:39::-;;;;;;;;;;;;;;-1:-1:-1;;;211:39:0;;;;:::o;3343:397::-;3455:10;3415:4;3445:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3445:30:0;;;;;;;;;;3436:39;;3432:172;;;3501:1;3492:10;;3432:172;;;3563:10;3553:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3553:30:0;;;;;;;;;;:39;;;;;3432:172;3626:10;3616:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3616:30:0;;;;;;;;;;;;:39;;;3671:37;;;;;;;3616:30;;3626:10;3671:37;;;;;;;;;;;-1:-1:-1;3728:4:0;3343:397;;;;:::o;1687:131::-;362:5;;-1:-1:-1;;;;;362:5:0;348:10;:19;340:28;;;;;;1752:12;:20;;;1788:22;;;;;;;;;;;;;;;;;1687:131;:::o;1988:41::-;;;;;;;;;;;;;:::o;281:20::-;;;-1:-1:-1;;;;;281:20:0;;:::o;4320:38::-;;;;;;;;;;;;;;-1:-1:-1;;;4320:38:0;;;;:::o;1214:131::-;1079:5;;-1:-1:-1;;;;;1079:5:0;1065:10;:19;;:51;;-1:-1:-1;1110:5:0;;-1:-1:-1;;;;;1110:5:0;1088:10;:28;1065:51;1057:60;;;;;;1282:5;:24;;-1:-1:-1;;;;;1282:24:0;;-1:-1:-1;;;;;;1282:24:0;;;;;;;;1322:15;;;;;;;;;;;;;;;;1214:131;:::o;1541:138::-;985:5;;-1:-1:-1;;;;;985:5:0;963:10;:28;955:37;;;;;;1606:7;:30;;-1:-1:-1;;;;;1606:30:0;;-1:-1:-1;;;;;;1606:30:0;;;;;;;;1652:19;;;;;;;;;;;;;;;;1541:138;:::o;3980:224::-;985:5;;-1:-1:-1;;;;;985:5:0;963:10;:28;955:37;;;;;;-1:-1:-1;;;;;4071:15:0;;;;;;:9;:15;;;;;;4067:28;;4088:6;4067:3;:28::i;:::-;-1:-1:-1;;;;;4049:15:0;;;;;;:9;:15;;;;;:46;4124:11;;4120:24;;4137:6;4120:3;:24::i;:::-;4106:11;:38;4162:34;;;;;;;;4185:1;;-1:-1:-1;;;;;4162:34:0;;;;;;;;;;;;3980:224;;:::o;4367:258::-;4469:7;;4426:4;;-1:-1:-1;;;;;4469:7:0;4447:10;:30;4443:119;;;4494:5;;:30;;;-1:-1:-1;;;4494:30:0;;-1:-1:-1;;;;;4494:30:0;;;;;;;;;;;;;;;:5;;;;;:18;;:30;;;;;:5;;:30;;;;;;;:5;;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;4494:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4494:30:0;;;;4546:4;4539:11;;;;4443:119;4581:36;4594:10;4606:2;4610:6;4581:12;:36::i;:::-;4574:43;4367:258;-1:-1:-1;;;4367:258:0:o;1393:26::-;;;-1:-1:-1;;;;;1393:26:0;;:::o;3057:278::-;3169:10;3129:4;3159:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3159:30:0;;;;;;;;;;3155:43;;3191:6;3155:3;:43::i;:::-;3221:10;3211:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3211:30:0;;;;;;;;;;;;:39;;;3266:37;;;;;;;3146:52;;-1:-1:-1;3211:30:0;;3266:37;;;;;;;;;;-1:-1:-1;3323:4:0;3057:278;;;;:::o;2036:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;856:22::-;;;-1:-1:-1;;;;;856:22:0;;:::o;712:114::-;763:4;793:1;788;:6;;780:15;;;;;;-1:-1:-1;813:5:0;;;712:114::o;579:125::-;630:4;660:12;;655:17;;;647:26;;;;;;-1:-1:-1;691:5:0;;579:125::o

Swarm Source

bzzr://a860ec919f3bb4c97994eac9cca49db917b9eb6159b771b96f02fac570730749

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.