ETH Price: $2,380.82 (-3.26%)

Contract

0xC7Bdd1F2B16447dcf3dE045C4a039A60EC2f0ba3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec168362802023-03-15 22:32:47574 days ago1678919567IN
Sky: MCD IAM Auto Line
0 ETH0.0017922325.16692943
Exec168311322023-03-15 5:08:59574 days ago1678856939IN
Sky: MCD IAM Auto Line
0 ETH0.0014098919.73816804
0x0b5e98b3168311242023-03-15 5:07:23574 days ago1678856843IN
Sky: MCD IAM Auto Line
0 ETH0.0004454620.65690995
Exec168223162023-03-13 23:24:35576 days ago1678749875IN
Sky: MCD IAM Auto Line
0 ETH0.0016328822.92920678
Exec168213582023-03-13 20:11:11576 days ago1678738271IN
Sky: MCD IAM Auto Line
0 ETH0.0019227526.99971409
Exec168211852023-03-13 19:36:23576 days ago1678736183IN
Sky: MCD IAM Auto Line
0 ETH0.0013798932.28798793
Exec168211772023-03-13 19:34:47576 days ago1678736087IN
Sky: MCD IAM Auto Line
0 ETH0.0023878333.46270327
Exec168081252023-03-11 23:33:35578 days ago1678577615IN
Sky: MCD IAM Auto Line
0 ETH0.0018613626.08049078
Exec160692402022-11-28 14:59:47681 days ago1669647587IN
Sky: MCD IAM Auto Line
0 ETH0.0020471328.76568221
Exec158244142022-10-25 10:10:59715 days ago1666692659IN
Sky: MCD IAM Auto Line
0 ETH0.0005459412.7781356
Exec154095012022-08-25 14:01:52776 days ago1661436112IN
Sky: MCD IAM Auto Line
0 ETH0.0009928426.23601145
Exec154094542022-08-25 13:51:59776 days ago1661435519IN
Sky: MCD IAM Auto Line
0 ETH0.0004704312.43118329
Exec148485352022-05-26 14:44:07867 days ago1653576247IN
Sky: MCD IAM Auto Line
0 ETH0.0016650738.98649352
Exec148485152022-05-26 14:40:23867 days ago1653576023IN
Sky: MCD IAM Auto Line
0 ETH0.0034506548.49556095
Exec143686752022-03-12 0:23:18943 days ago1647044598IN
Sky: MCD IAM Auto Line
0 ETH0.0014959820.97868193
Exec143660842022-03-11 14:33:56943 days ago1647009236IN
Sky: MCD IAM Auto Line
0 ETH0.0024774134.78825953
Exec143641332022-03-11 7:03:59943 days ago1646982239IN
Sky: MCD IAM Auto Line
0 ETH0.0016238422.72955495
Exec143618542022-03-10 22:39:15944 days ago1646951955IN
Sky: MCD IAM Auto Line
0 ETH0.0027962139.15279382
Exec143535012022-03-09 15:55:17945 days ago1646841317IN
Sky: MCD IAM Auto Line
0 ETH0.0039667655.58023914
Exec143476932022-03-08 18:11:15946 days ago1646763075IN
Sky: MCD IAM Auto Line
0 ETH0.0025016135.15184512
Exec143448382022-03-08 7:23:14946 days ago1646724194IN
Sky: MCD IAM Auto Line
0 ETH0.0015323621.47799788
Exec143425182022-03-07 22:51:54947 days ago1646693514IN
Sky: MCD IAM Auto Line
0 ETH0.004138957.92405564
Exec143392692022-03-07 10:51:44947 days ago1646650304IN
Sky: MCD IAM Auto Line
0 ETH0.0015248421.34026335
Exec143360772022-03-06 22:48:45948 days ago1646606925IN
Sky: MCD IAM Auto Line
0 ETH0.0015550638.6928065
Exec143210772022-03-04 14:43:03950 days ago1646404983IN
Sky: MCD IAM Auto Line
0 ETH0.0031705744.55939583
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DssAutoLine

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-12-10
*/

// SPDX-License-Identifier: AGPL-3.0-or-later

/// DssAutoLine.sol

// Copyright (C) 2018-2020 Maker Ecosystem Growth Holdings, INC.

// 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.6.11;

interface VatLike {
    function ilks(bytes32) external view returns (uint256, uint256, uint256, uint256, uint256);
    function Line() external view returns (uint256);
    function file(bytes32, uint256) external;
    function file(bytes32, bytes32, uint256) external;
}

contract DssAutoLine {
    /*** Data ***/
    struct Ilk {
        uint256   line;  // Max ceiling possible                                               [rad]
        uint256    gap;  // Max Value between current debt and line to be set                  [rad]
        uint48     ttl;  // Min time to pass before a new increase                             [seconds]
        uint48    last;  // Last block the ceiling was updated                                 [blocks]
        uint48 lastInc;  // Last time the ceiling was increased compared to its previous value [seconds]
    }

    mapping (bytes32 => Ilk)     public ilks;
    mapping (address => uint256) public wards;

    VatLike immutable public vat;

    /*** Events ***/
    event Rely(address indexed usr);
    event Deny(address indexed usr);
    event Setup(bytes32 indexed ilk, uint256 line, uint256 gap, uint256 ttl);
    event Remove(bytes32 indexed ilk);
    event Exec(bytes32 indexed ilk, uint256 line, uint256 lineNew);

    /*** Init ***/
    constructor(address vat_) public {
        vat = VatLike(vat_);
        wards[msg.sender] = 1;
        emit Rely(msg.sender);
    }

    /*** Math ***/
    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x);
    }
    function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x - y) <= x);
    }
    function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require(y == 0 || (z = x * y) / y == x);
    }
    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        return x <= y ? x : y;
    }

    /*** Administration ***/

    /**
        @dev Add or update an ilk
        @param ilk    Collateral type (ex. ETH-A)
        @param line   Collateral maximum debt ceiling that can be configured [RAD]
        @param gap    Amount of collateral to step [RAD]
        @param ttl    Minimum time between increase [seconds]
    */
    function setIlk(bytes32 ilk, uint256 line, uint256 gap, uint256 ttl) external auth {
        require(ttl  < uint48(-1), "DssAutoLine/invalid-ttl");
        require(line > 0,          "DssAutoLine/invalid-line");
        ilks[ilk] = Ilk(line, gap, uint48(ttl), 0, 0);
        emit Setup(ilk, line, gap, ttl);
    }

    /**
        @dev Remove an ilk
        @param ilk    Collateral type (ex. ETH-A)
    */
    function remIlk(bytes32 ilk) external auth {
        delete ilks[ilk];
        emit Remove(ilk);
    }

    function rely(address usr) external auth {
        wards[usr] = 1;
        emit Rely(usr);
    }

    function deny(address usr) external auth {
        wards[usr] = 0;
        emit Deny(usr);
    }

    modifier auth {
        require(wards[msg.sender] == 1, "DssAutoLine/not-authorized");
        _;
    }

    /*** Auto-Line Update ***/
    // @param  _ilk  The bytes32 ilk tag to adjust (ex. "ETH-A")
    // @return       The ilk line value as uint256
    function exec(bytes32 _ilk) external returns (uint256) {
        (uint256 Art, uint256 rate,, uint256 line,) = vat.ilks(_ilk);
        uint256 ilkLine = ilks[_ilk].line;

        // Return if the ilk is not enabled
        if (ilkLine == 0) return line;

        // 1 SLOAD
        uint48 ilkTtl     = ilks[_ilk].ttl;
        uint48 ilkLast    = ilks[_ilk].last;
        uint48 ilkLastInc = ilks[_ilk].lastInc;
        //

        // Return if there was already an update in the same block
        if (ilkLast == block.number) return line;

        // Calculate collateral debt
        uint256 debt = mul(Art, rate);

        uint256 ilkGap  = ilks[_ilk].gap;

        // Calculate new line based on the minimum between the maximum line and actual collateral debt + gap
        uint256 lineNew = min(add(debt, ilkGap), ilkLine);

        // Short-circuit if there wasn't an update or if the time since last increment has not passed
        if (lineNew == line || lineNew > line && block.timestamp < add(ilkLastInc, ilkTtl)) return line;

        // Set collateral debt ceiling
        vat.file(_ilk, "line", lineNew);
        // Set general debt ceiling
        vat.file("Line", add(sub(vat.Line(), line), lineNew));

        // Update lastInc if it is an increment in the debt ceiling
        // and update last whatever the update is
        if (lineNew > line) {
            // 1 SSTORE
            ilks[_ilk].lastInc = uint48(block.timestamp);
            ilks[_ilk].last    = uint48(block.number);
            //
        } else {
            ilks[_ilk].last    = uint48(block.number);
        }

        emit Exec(_ilk, line, lineNew);

        return lineNew;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"vat_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"ilk","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"line","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lineNew","type":"uint256"}],"name":"Exec","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"ilk","type":"bytes32"}],"name":"Remove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"ilk","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"line","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ttl","type":"uint256"}],"name":"Setup","type":"event"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_ilk","type":"bytes32"}],"name":"exec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"ilks","outputs":[{"internalType":"uint256","name":"line","type":"uint256"},{"internalType":"uint256","name":"gap","type":"uint256"},{"internalType":"uint48","name":"ttl","type":"uint48"},{"internalType":"uint48","name":"last","type":"uint48"},{"internalType":"uint48","name":"lastInc","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"}],"name":"remIlk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"uint256","name":"line","type":"uint256"},{"internalType":"uint256","name":"gap","type":"uint256"},{"internalType":"uint256","name":"ttl","type":"uint256"}],"name":"setIlk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vat","outputs":[{"internalType":"contract VatLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b50604051610e15380380610e158339818101604052602081101561003357600080fd5b50516001600160601b0319606082901b1660805233600081815260016020819052604080832091909155517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a25060805160601c610d616100b4600039806104c0528061068d52806108a1528061090252806109445250610d616000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b5e98b3b1161005b578063b5e98b3b14610155578063bf353dbb14610184578063c465f077146101b7578063d9638d36146101d457610088565b80632a48322d1461008d57806336569e77146100be57806365fae35e146100ef5780639c52a7f114610122575b600080fd5b6100bc600480360360808110156100a357600080fd5b5080359060208101359060408101359060600135610227565b005b6100c66104be565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100bc6004803603602081101561010557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104e2565b6100bc6004803603602081101561013857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105b5565b6101726004803603602081101561016b57600080fd5b5035610685565b60408051918252519081900360200190f35b6101726004803603602081101561019a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b81565b6100bc600480360360208110156101cd57600080fd5b5035610b93565b6101f1600480360360208110156101ea57600080fd5b5035610c7d565b60408051958652602086019490945265ffffffffffff928316858501529082166060850152166080830152519081900360a00190f35b33600090815260016020819052604090912054146102a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b65ffffffffffff811061031a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4473734175746f4c696e652f696e76616c69642d74746c000000000000000000604482015290519081900360640190fd5b6000831161038957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4473734175746f4c696e652f696e76616c69642d6c696e650000000000000000604482015290519081900360640190fd5b6040805160a081018252848152602080820185815265ffffffffffff85811684860190815260006060808701828152608088018381528d8452838852928990209751885594516001880155915160029096018054945191517fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909516968416969096177fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff16660100000000000091841691909102177fffffffffffffffffffffffffffff000000000000ffffffffffffffffffffffff166c010000000000000000000000009390921692909202179092558251868152908101859052808301849052915186927f1326c8f8fb452b5d26a2406d96790efbb561bf5d2686986a30a5cd847eefc67392908290030190a250505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152600160208190526040909120541461056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152600160208190526040909120541461063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d9638d36866040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b1580156106fc57600080fd5b505afa158015610710573d6000803e3d6000fd5b505050506040513d60a081101561072657600080fd5b5080516020808301516060909301516000898152918290526040909120549195509193509091508061075d57509250610b7c915050565b60008681526020819052604090206002015465ffffffffffff80821691660100000000000081048216916c0100000000000000000000000090910416438214156107b05784975050505050505050610b7c565b60006107bc8888610cc8565b60008b8152602081905260408120600101549192506107e46107de8484610cf2565b88610d02565b9050878114806108165750878111801561081657506108138465ffffffffffff168765ffffffffffff16610cf2565b42105b1561082d57879a5050505050505050505050610b7c565b604080517f1a0b287e000000000000000000000000000000000000000000000000000000008152600481018e90527f6c696e6500000000000000000000000000000000000000000000000000000000602482015260448101839052905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691631a0b287e91606480830192600092919082900301818387803b1580156108e857600080fd5b505af11580156108fc573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166329ae81146109e06109da7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663babe8a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a857600080fd5b505afa1580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b50518c610d1b565b84610cf2565b6040518263ffffffff1660e01b815260040180807f4c696e6500000000000000000000000000000000000000000000000000000000815250602001828152602001915050600060405180830381600087803b158015610a3e57600080fd5b505af1158015610a52573d6000803e3d6000fd5b5050505087811115610aeb5760008c815260208190526040902060020180544365ffffffffffff9081166601000000000000027fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff42929092166c01000000000000000000000000027fffffffffffffffffffffffffffff000000000000ffffffffffffffffffffffff9093169290921716179055610b36565b60008c815260208190526040902060020180547fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff1666010000000000004365ffffffffffff16021790555b604080518981526020810183905281518e927f2696a4655cbecf97fdc3c9c74f3eba424f2e404790389c2b4e31d2e32129c7dc928290030190a299505050505050505050505b919050565b60016020526000908152604090205481565b3360009081526001602081905260409091205414610c1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6000818152602081905260408082208281556001810183905560020180547fffffffffffffffffffffffffffff0000000000000000000000000000000000001690555182917fa56fb2a6d4126f324526f0668c53927c0cd8e08f41ba0fe0f2d6090a84bc75c891a250565b60006020819052908152604090208054600182015460029092015490919065ffffffffffff80821691660100000000000081048216916c010000000000000000000000009091041685565b6000811580610ce357505080820282828281610ce057fe5b04145b610cec57600080fd5b92915050565b80820182811015610cec57600080fd5b600081831115610d125781610d14565b825b9392505050565b80820382811115610cec57600080fdfea26469706673582212202151f36a69d5f41a34c5b2398bf46563bc83844edc55941a9fd66b62e1a0ccf464736f6c634300060b003300000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b5e98b3b1161005b578063b5e98b3b14610155578063bf353dbb14610184578063c465f077146101b7578063d9638d36146101d457610088565b80632a48322d1461008d57806336569e77146100be57806365fae35e146100ef5780639c52a7f114610122575b600080fd5b6100bc600480360360808110156100a357600080fd5b5080359060208101359060408101359060600135610227565b005b6100c66104be565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100bc6004803603602081101561010557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104e2565b6100bc6004803603602081101561013857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105b5565b6101726004803603602081101561016b57600080fd5b5035610685565b60408051918252519081900360200190f35b6101726004803603602081101561019a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b81565b6100bc600480360360208110156101cd57600080fd5b5035610b93565b6101f1600480360360208110156101ea57600080fd5b5035610c7d565b60408051958652602086019490945265ffffffffffff928316858501529082166060850152166080830152519081900360a00190f35b33600090815260016020819052604090912054146102a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b65ffffffffffff811061031a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4473734175746f4c696e652f696e76616c69642d74746c000000000000000000604482015290519081900360640190fd5b6000831161038957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4473734175746f4c696e652f696e76616c69642d6c696e650000000000000000604482015290519081900360640190fd5b6040805160a081018252848152602080820185815265ffffffffffff85811684860190815260006060808701828152608088018381528d8452838852928990209751885594516001880155915160029096018054945191517fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000909516968416969096177fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff16660100000000000091841691909102177fffffffffffffffffffffffffffff000000000000ffffffffffffffffffffffff166c010000000000000000000000009390921692909202179092558251868152908101859052808301849052915186927f1326c8f8fb452b5d26a2406d96790efbb561bf5d2686986a30a5cd847eefc67392908290030190a250505050565b7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b81565b336000908152600160208190526040909120541461056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152600160208190526040909120541461063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6000806000807f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b73ffffffffffffffffffffffffffffffffffffffff1663d9638d36866040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b1580156106fc57600080fd5b505afa158015610710573d6000803e3d6000fd5b505050506040513d60a081101561072657600080fd5b5080516020808301516060909301516000898152918290526040909120549195509193509091508061075d57509250610b7c915050565b60008681526020819052604090206002015465ffffffffffff80821691660100000000000081048216916c0100000000000000000000000090910416438214156107b05784975050505050505050610b7c565b60006107bc8888610cc8565b60008b8152602081905260408120600101549192506107e46107de8484610cf2565b88610d02565b9050878114806108165750878111801561081657506108138465ffffffffffff168765ffffffffffff16610cf2565b42105b1561082d57879a5050505050505050505050610b7c565b604080517f1a0b287e000000000000000000000000000000000000000000000000000000008152600481018e90527f6c696e6500000000000000000000000000000000000000000000000000000000602482015260448101839052905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b1691631a0b287e91606480830192600092919082900301818387803b1580156108e857600080fd5b505af11580156108fc573d6000803e3d6000fd5b505050507f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b73ffffffffffffffffffffffffffffffffffffffff166329ae81146109e06109da7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b73ffffffffffffffffffffffffffffffffffffffff1663babe8a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a857600080fd5b505afa1580156109bc573d6000803e3d6000fd5b505050506040513d60208110156109d257600080fd5b50518c610d1b565b84610cf2565b6040518263ffffffff1660e01b815260040180807f4c696e6500000000000000000000000000000000000000000000000000000000815250602001828152602001915050600060405180830381600087803b158015610a3e57600080fd5b505af1158015610a52573d6000803e3d6000fd5b5050505087811115610aeb5760008c815260208190526040902060020180544365ffffffffffff9081166601000000000000027fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff42929092166c01000000000000000000000000027fffffffffffffffffffffffffffff000000000000ffffffffffffffffffffffff9093169290921716179055610b36565b60008c815260208190526040902060020180547fffffffffffffffffffffffffffffffffffffffff000000000000ffffffffffff1666010000000000004365ffffffffffff16021790555b604080518981526020810183905281518e927f2696a4655cbecf97fdc3c9c74f3eba424f2e404790389c2b4e31d2e32129c7dc928290030190a299505050505050505050505b919050565b60016020526000908152604090205481565b3360009081526001602081905260409091205414610c1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4473734175746f4c696e652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6000818152602081905260408082208281556001810183905560020180547fffffffffffffffffffffffffffff0000000000000000000000000000000000001690555182917fa56fb2a6d4126f324526f0668c53927c0cd8e08f41ba0fe0f2d6090a84bc75c891a250565b60006020819052908152604090208054600182015460029092015490919065ffffffffffff80821691660100000000000081048216916c010000000000000000000000009091041685565b6000811580610ce357505080820282828281610ce057fe5b04145b610cec57600080fd5b92915050565b80820182811015610cec57600080fd5b600081831115610d125781610d14565b825b9392505050565b80820382811115610cec57600080fdfea26469706673582212202151f36a69d5f41a34c5b2398bf46563bc83844edc55941a9fd66b62e1a0ccf464736f6c634300060b0033

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

00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b

-----Decoded View---------------
Arg [0] : vat_ (address): 0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b


Deployed Bytecode Sourcemap

1130:4762:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3159:318;;;;;;;;;;;;;;;;-1:-1:-1;3159:318:0;;;;;;;;;;;;;;;;;:::i;:::-;;1823:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3694:99;;;;;;;;;;;;;;;;-1:-1:-1;3694:99:0;;;;:::i;3801:::-;;;;;;;;;;;;;;;;-1:-1:-1;3801:99:0;;;;:::i;4172:1717::-;;;;;;;;;;;;;;;;-1:-1:-1;4172:1717:0;;:::i;:::-;;;;;;;;;;;;;;;;1773:41;;;;;;;;;;;;;;;;-1:-1:-1;1773:41:0;;;;:::i;3581:105::-;;;;;;;;;;;;;;;;-1:-1:-1;3581:105:0;;:::i;1726:40::-;;;;;;;;;;;;;;;;-1:-1:-1;1726:40:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3159:318;3947:10;3941:17;;;;:5;:17;;;;;;;;;:22;3933:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3261:17:::1;::::0;::::1;3253:53;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3332:1;3325:4;:8;3317:54;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3394:33;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;3394:33:0;;;;;;;;;;;;;3382:9;;;;;;;;;;:45;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;3443:26;;;;;;;::::1;::::0;;;;;;;;;;;3382:9;;3443:26:::1;::::0;;;;;;;::::1;3159:318:::0;;;;:::o;1823:28::-;;;:::o;3694:99::-;3947:10;3941:17;;;;:5;:17;;;;;;;;;:22;3933:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3746:10:::1;::::0;::::1;;::::0;;;3759:1:::1;3746:10;::::0;;;;;;;:14;;;;3776:9;::::1;::::0;3746:10;3776:9:::1;3694:99:::0;:::o;3801:::-;3947:10;3941:17;;;;:5;:17;;;;;;;;;:22;3933:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3853:10:::1;::::0;::::1;3866:1;3853:10:::0;;;:5:::1;:10;::::0;;;;;:14;;;3883:9;::::1;::::0;3866:1;3883:9:::1;3801:99:::0;:::o;4172:1717::-;4218:7;4239:11;4252:12;4267;4284:3;:8;;;4293:4;4284:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4284:14:0;;;;;;;;;;;;4309:15;4327:10;;;;;;;4284:14;4327:10;;;:15;4284:14;;-1:-1:-1;4284:14:0;;-1:-1:-1;4284:14:0;;-1:-1:-1;4404:12:0;4400:29;;-1:-1:-1;4425:4:0;-1:-1:-1;4418:11:0;;-1:-1:-1;;4418:11:0;4400:29;4462:13;4482:10;;;;;;;;;;:14;;;;;;;;4527:15;;;;;;4573:18;;;;;4699:12;4688:23;;4684:40;;;4720:4;4713:11;;;;;;;;;;;4684:40;4775:12;4790:14;4794:3;4799:4;4790:3;:14::i;:::-;4817;4835:10;;;;;;;;;;:14;;;4775:29;;-1:-1:-1;4990:31:0;4994:17;4775:29;4835:14;4994:3;:17::i;:::-;5013:7;4990:3;:31::i;:::-;4972:49;;5152:4;5141:7;:15;:78;;;;5170:4;5160:7;:14;:59;;;;;5196:23;5200:10;5196:23;;5212:6;5196:23;;:3;:23::i;:::-;5178:15;:41;5160:59;5137:95;;;5228:4;5221:11;;;;;;;;;;;;;;5137:95;5285:31;;;;;;;;;;;;;;;;;;;;;;;;;:8;:3;:8;;;;:31;;;;;-1:-1:-1;;5285:31:0;;;;;;;-1:-1:-1;5285:8:0;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5364:3;:8;;;5381:35;5385:21;5389:3;:8;;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5389:10:0;5401:4;5385:3;:21::i;:::-;5408:7;5381:3;:35::i;:::-;5364:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5564:4;5554:7;:14;5550:262;;;5610:4;:10;;;;;;;;;;:18;;:44;;5697:12;5610:44;5669:41;;;;;;5638:15;5610:44;;;;;;;;;;;;;;5669:41;;;;5550:262;;;5759:4;:10;;;;;;;;;;:15;;:41;;;;;5787:12;5759:41;;;;;;5550:262;5829:25;;;;;;;;;;;;;;5834:4;;5829:25;;;;;;;;5874:7;-1:-1:-1;;;;;;;;;;4172:1717:0;;;;:::o;1773:41::-;;;;;;;;;;;;;:::o;3581:105::-;3947:10;3941:17;;;;:5;:17;;;;;;;;;:22;3933:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3642:4:::1;:9:::0;;;::::1;::::0;;;;;;;3635:16;;;::::1;::::0;::::1;::::0;;;::::1;;::::0;;;;;;3667:11;3647:3;;3667:11:::1;::::0;::::1;3581:105:::0;:::o;1726:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2569:127::-;2627:9;2657:6;;;:30;;-1:-1:-1;;2672:5:0;;;2686:1;2681;2672:5;2681:1;2667:15;;;;;:20;2657:30;2649:39;;;;;;2569:127;;;;:::o;2331:113::-;2424:5;;;2419:16;;;;2411:25;;;;;2702:109;2760:9;2794:1;2789;:6;;:14;;2802:1;2789:14;;;2798:1;2789:14;2782:21;2702:109;-1:-1:-1;;;2702:109:0:o;2450:113::-;2543:5;;;2538:16;;;;2530:25;;;;

Swarm Source

ipfs://2151f36a69d5f41a34c5b2398bf46563bc83844edc55941a9fd66b62e1a0ccf4

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.