ETH Price: $3,613.37 (+4.66%)
 
Transaction Hash
Method
Block
From
To
Exit119151472021-02-23 19:03:281410 days ago1614107008IN
Sky: MCD Join BAT A
0 ETH0.01654878278.29923333
Exit108054022020-09-06 3:05:161580 days ago1599361516IN
Sky: MCD Join BAT A
0 ETH0.0080471135.3
Exit107912142020-09-03 23:10:381583 days ago1599174638IN
Sky: MCD Join BAT A
0 ETH0.01853573311.7136
Exit107903562020-09-03 20:05:091583 days ago1599163509IN
Sky: MCD Join BAT A
0 ETH0.02923844491.7
Exit107845212020-09-02 22:30:091584 days ago1599085809IN
Sky: MCD Join BAT A
0 ETH0.02980621501.248
Exit106909042020-08-19 13:44:261598 days ago1597844666IN
Sky: MCD Join BAT A
0 ETH0.00895579150.7
Exit106601082020-08-14 19:44:431603 days ago1597434283IN
Sky: MCD Join BAT A
0 ETH0.01369696184
Join106600552020-08-14 19:30:591603 days ago1597433459IN
Sky: MCD Join BAT A
0 ETH0.00961334185
Exit106484462020-08-13 0:42:181604 days ago1597279338IN
Sky: MCD Join BAT A
0 ETH0.01450336244
Exit106398172020-08-11 16:55:071606 days ago1597164907IN
Sky: MCD Join BAT A
0 ETH0.0089142150
Exit106342052020-08-10 19:59:001607 days ago1597089540IN
Sky: MCD Join BAT A
0 ETH0.00885693119
Exit106340922020-08-10 19:35:481607 days ago1597088148IN
Sky: MCD Join BAT A
0 ETH0.01229283165.1640625
Exit106340252020-08-10 19:21:441607 days ago1597087304IN
Sky: MCD Join BAT A
0 ETH0.0054634873.40625
Join106339672020-08-10 19:08:311607 days ago1597086511IN
Sky: MCD Join BAT A
0 ETH0.0053571280
Exit106296522020-08-10 3:04:171607 days ago1597028657IN
Sky: MCD Join BAT A
0 ETH0.0043632673.40625
Join106296002020-08-10 2:53:171607 days ago1597027997IN
Sky: MCD Join BAT A
0 ETH0.01106004165.1640625
Join106272222020-08-09 18:01:561608 days ago1596996116IN
Sky: MCD Join BAT A
0 ETH0.00723081108
Exit106130222020-08-07 13:45:161610 days ago1596807916IN
Sky: MCD Join BAT A
0 ETH0.01390167186.75
Join106129642020-08-07 13:30:131610 days ago1596807013IN
Sky: MCD Join BAT A
0 ETH0.04794409922.640625
Exit106011632020-08-05 17:49:111612 days ago1596649751IN
Sky: MCD Join BAT A
0 ETH0.0043919659
Join106010802020-08-05 17:31:251612 days ago1596648685IN
Sky: MCD Join BAT A
0 ETH0.00701514135
Exit105957152020-08-04 21:29:151613 days ago1596576555IN
Sky: MCD Join BAT A
0 ETH0.0027542837
Join105954982020-08-04 20:39:591613 days ago1596573599IN
Sky: MCD Join BAT A
0 ETH0.0028124842
Exit105802852020-08-02 12:03:541615 days ago1596369834IN
Sky: MCD Join BAT A
0 ETH0.0043399973
Join105703832020-07-31 23:37:441616 days ago1596238664IN
Sky: MCD Join BAT A
0 ETH0.003347650
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x2F0b23f5...17d6B042A
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
GemJoin

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2019-11-14
*/

// hevm: flattened sources of /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/join.sol
pragma solidity =0.5.12;

////// /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/lib.sol
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* pragma solidity 0.5.12; */

contract LibNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  usr,
        bytes32  indexed  arg1,
        bytes32  indexed  arg2,
        bytes             data
    ) anonymous;

    modifier note {
        _;
        assembly {
            // log an 'anonymous' event with a constant 6 words of calldata
            // and four indexed topics: selector, caller, arg1 and arg2
            let mark := msize                         // end of memory ensures zero
            mstore(0x40, add(mark, 288))              // update free memory pointer
            mstore(mark, 0x20)                        // bytes type data offset
            mstore(add(mark, 0x20), 224)              // bytes size (padded)
            calldatacopy(add(mark, 0x40), 0, 224)     // bytes payload
            log4(mark, 288,                           // calldata
                 shl(224, shr(224, calldataload(0))), // msg.sig
                 caller,                              // msg.sender
                 calldataload(4),                     // arg1
                 calldataload(36)                     // arg2
                )
        }
    }
}

////// /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/join.sol
/// join.sol -- Basic token adapters

// Copyright (C) 2018 Rain <[email protected]>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

/* pragma solidity 0.5.12; */

/* import "./lib.sol"; */

contract GemLike {
    function decimals() public view returns (uint);
    function transfer(address,uint) external returns (bool);
    function transferFrom(address,address,uint) external returns (bool);
}

contract DSTokenLike {
    function mint(address,uint) external;
    function burn(address,uint) external;
}

contract VatLike {
    function slip(bytes32,address,int) external;
    function move(address,address,uint) external;
}

/*
    Here we provide *adapters* to connect the Vat to arbitrary external
    token implementations, creating a bounded context for the Vat. The
    adapters here are provided as working examples:

      - `GemJoin`: For well behaved ERC20 tokens, with simple transfer
                   semantics.

      - `ETHJoin`: For native Ether.

      - `DaiJoin`: For connecting internal Dai balances to an external
                   `DSToken` implementation.

    In practice, adapter implementations will be varied and specific to
    individual collateral types, accounting for different transfer
    semantics and token standards.

    Adapters need to implement two basic methods:

      - `join`: enter collateral into the system
      - `exit`: remove collateral from the system

*/

contract GemJoin is LibNote {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address usr) external note auth { wards[usr] = 1; }
    function deny(address usr) external note auth { wards[usr] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "GemJoin/not-authorized");
        _;
    }

    VatLike public vat;
    bytes32 public ilk;
    GemLike public gem;
    uint    public dec;
    uint    public live;  // Access Flag

    constructor(address vat_, bytes32 ilk_, address gem_) public {
        wards[msg.sender] = 1;
        live = 1;
        vat = VatLike(vat_);
        ilk = ilk_;
        gem = GemLike(gem_);
        dec = gem.decimals();
    }
    function cage() external note auth {
        live = 0;
    }
    function join(address usr, uint wad) external note {
        require(live == 1, "GemJoin/not-live");
        require(int(wad) >= 0, "GemJoin/overflow");
        vat.slip(ilk, usr, int(wad));
        require(gem.transferFrom(msg.sender, address(this), wad), "GemJoin/failed-transfer");
    }
    function exit(address usr, uint wad) external note {
        require(wad <= 2 ** 255, "GemJoin/overflow");
        vat.slip(ilk, msg.sender, -int(wad));
        require(gem.transfer(usr, wad), "GemJoin/failed-transfer");
    }
}

contract ETHJoin is LibNote {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address usr) external note auth { wards[usr] = 1; }
    function deny(address usr) external note auth { wards[usr] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "ETHJoin/not-authorized");
        _;
    }

    VatLike public vat;
    bytes32 public ilk;
    uint    public live;  // Access Flag

    constructor(address vat_, bytes32 ilk_) public {
        wards[msg.sender] = 1;
        live = 1;
        vat = VatLike(vat_);
        ilk = ilk_;
    }
    function cage() external note auth {
        live = 0;
    }
    function join(address usr) external payable note {
        require(live == 1, "ETHJoin/not-live");
        require(int(msg.value) >= 0, "ETHJoin/overflow");
        vat.slip(ilk, usr, int(msg.value));
    }
    function exit(address payable usr, uint wad) external note {
        require(int(wad) >= 0, "ETHJoin/overflow");
        vat.slip(ilk, msg.sender, -int(wad));
        usr.transfer(wad);
    }
}

contract DaiJoin is LibNote {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address usr) external note auth { wards[usr] = 1; }
    function deny(address usr) external note auth { wards[usr] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "DaiJoin/not-authorized");
        _;
    }

    VatLike public vat;
    DSTokenLike public dai;
    uint    public live;  // Access Flag

    constructor(address vat_, address dai_) public {
        wards[msg.sender] = 1;
        live = 1;
        vat = VatLike(vat_);
        dai = DSTokenLike(dai_);
    }
    function cage() external note auth {
        live = 0;
    }
    uint constant ONE = 10 ** 27;
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }
    function join(address usr, uint wad) external note {
        vat.move(address(this), usr, mul(ONE, wad));
        dai.burn(msg.sender, wad);
    }
    function exit(address usr, uint wad) external note {
        require(live == 1, "DaiJoin/not-live");
        vat.move(msg.sender, address(this), mul(ONE, wad));
        dai.mint(usr, wad);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"vat_","type":"address"},{"internalType":"bytes32","name":"ilk_","type":"bytes32"},{"internalType":"address","name":"gem_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":false,"inputs":[],"name":"cage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gem","outputs":[{"internalType":"contract GemLike","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ilk","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"join","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"live","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vat","outputs":[{"internalType":"contract VatLike","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063957aa58c11610071578063957aa58c146101de5780639c52a7f1146101fc578063b3bcfa8214610240578063bf353dbb1461025e578063c5ce281e146102b6578063ef693bed146102d4576100a9565b806336569e77146100ae5780633b4da69f146100f857806365fae35e14610146578063692450091461018a5780637bd2bea714610194575b600080fd5b6100b6610322565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101446004803603604081101561010e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610348565b005b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106c3565b005b6101926107f1565b005b61019c6108e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e6610908565b6040518082815260200191505060405180910390f35b61023e6004803603602081101561021257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090e565b005b610248610a3c565b6040518082815260200191505060405180910390f35b6102a06004803603602081101561027457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a42565b6040518082815260200191505060405180910390f35b6102be610a5a565b6040518082815260200191505060405180910390f35b610320600480360360408110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a60565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600554146103c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f47656d4a6f696e2f6e6f742d6c6976650000000000000000000000000000000081525060200191505060405180910390fd5b6000811215610437576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f47656d4a6f696e2f6f766572666c6f770000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637cdd3fde60025484846040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156104ea57600080fd5b505af11580156104fe573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156105df57600080fd5b505af11580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b810190808051906020019092919050505061068c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f47656d4a6f696e2f6661696c65642d7472616e7366657200000000000000000081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610777576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f47656d4a6f696e2f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f47656d4a6f696e2f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60006005819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f47656d4a6f696e2f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60045481565b60006020528060005260406000206000915090505481565b60025481565b7f8000000000000000000000000000000000000000000000000000000000000000811115610af6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f47656d4a6f696e2f6f766572666c6f770000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637cdd3fde60025433846000036040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610bac57600080fd5b505af1158015610bc0573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b505050506040513d6020811015610c9757600080fd5b8101908080519060200190929190505050610d1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f47656d4a6f696e2f6661696c65642d7472616e7366657200000000000000000081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505056fea265627a7a72315820bfdfa122fe3ad43a5d779b939c506cae7507e0f5e807767f61193161f1c1e28664736f6c634300050c0032

Deployed Bytecode Sourcemap

4270:1337:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4270:1337:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4623:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5073:295;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5073:295:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4371:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4371:65:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5005:62;;;:::i;:::-;;4673:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4723:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4442:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4442:65:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4698:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4326:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4326:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4648:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5374:230;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5374:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4623:18;;;;;;;;;;;;;:::o;5073:295::-;5151:1;5143:4;;:9;5135:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5204:1;5196:3;5192:13;;5184:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5237:3;;;;;;;;;;;:8;;;5246:3;;5251;5260;5237:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5237:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5237:28:0;;;;5284:3;;;;;;;;;;;:16;;;5301:10;5321:4;5328:3;5284:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5284:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5284:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5284:48:0;;;;;;;;;;;;;;;;5276:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1342:5;1438:3;1432:4;1428:14;1422:4;1415:28;1513:4;1507;1500:18;1605:3;1598:4;1592;1588:15;1581:28;1692:3;1689:1;1682:4;1676;1672:15;1659:37;2014:2;2001:16;1951:1;1938:15;1869:6;1834:1;1821:15;1816:3;1812:25;1807:3;1803:35;1742:3;1736:4;1731:333;1165:910;;;:::o;4371:65::-;4567:1;4546:5;:17;4552:10;4546:17;;;;;;;;;;;;;;;;:22;4538:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4432:1;4419:5;:10;4425:3;4419:10;;;;;;;;;;;;;;;:14;;;;1342:5;1438:3;1432:4;1428:14;1422:4;1415:28;1513:4;1507;1500:18;1605:3;1598:4;1592;1588:15;1581:28;1692:3;1689:1;1682:4;1676;1672:15;1659:37;2014:2;2001:16;1951:1;1938:15;1869:6;1834:1;1821:15;1816:3;1812:25;1807:3;1803:35;1742:3;1736:4;1731:333;1165:910;;:::o;5005:62::-;4567:1;4546:5;:17;4552:10;4546:17;;;;;;;;;;;;;;;;:22;4538:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:1;5051:4;:8;;;;1342:5;1438:3;1432:4;1428:14;1422:4;1415:28;1513:4;1507;1500:18;1605:3;1598:4;1592;1588:15;1581:28;1692:3;1689:1;1682:4;1676;1672:15;1659:37;2014:2;2001:16;1951:1;1938:15;1869:6;1834:1;1821:15;1816:3;1812:25;1807:3;1803:35;1742:3;1736:4;1731:333;1165:910;:::o;4673:18::-;;;;;;;;;;;;;:::o;4723:19::-;;;;:::o;4442:65::-;4567:1;4546:5;:17;4552:10;4546:17;;;;;;;;;;;;;;;;:22;4538:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4503:1;4490:5;:10;4496:3;4490:10;;;;;;;;;;;;;;;:14;;;;1342:5;1438:3;1432:4;1428:14;1422:4;1415:28;1513:4;1507;1500:18;1605:3;1598:4;1592;1588:15;1581:28;1692:3;1689:1;1682:4;1676;1672:15;1659:37;2014:2;2001:16;1951:1;1938:15;1869:6;1834:1;1821:15;1816:3;1812:25;1807:3;1803:35;1742:3;1736:4;1731:333;1165:910;;:::o;4698:18::-;;;;:::o;4326:38::-;;;;;;;;;;;;;;;;;:::o;4648:18::-;;;;:::o;5374:230::-;5451:8;5444:3;:15;;5436:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5491:3;;;;;;;;;;;:8;;;5500:3;;5505:10;5522:3;5517:9;;5491:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5491:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5491:36:0;;;;5546:3;;;;;;;;;;;:12;;;5559:3;5564;5546:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5546:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5546:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5546:22:0;;;;;;;;;;;;;;;;5538:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1342:5;1438:3;1432:4;1428:14;1422:4;1415:28;1513:4;1507;1500:18;1605:3;1598:4;1592;1588:15;1581:28;1692:3;1689:1;1682:4;1676;1672:15;1659:37;2014:2;2001:16;1951:1;1938:15;1869:6;1834:1;1821:15;1816:3;1812:25;1807:3;1803:35;1742:3;1736:4;1731:333;1165:910;;;:::o

Swarm Source

bzzr://bfdfa122fe3ad43a5d779b939c506cae7507e0f5e807767f61193161f1c1e286

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Sky (formerly Maker) enables users to get rewarded for non-custodial savings.

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.