ETH Price: $2,637.85 (+1.16%)

Contract

0x3Aaf35C4160baA41b906c4E10AD13c91239584B9
 
Transaction Hash
Method
Block
From
To
Take167099662023-02-26 4:15:11583 days ago1677384911IN
0x3Aaf35C4...1239584B9
0 ETH0.0008762816.49350243
Take167081532023-02-25 22:07:11583 days ago1677362831IN
0x3Aaf35C4...1239584B9
0 ETH0.0008915619.53934342
Take167081512023-02-25 22:06:47583 days ago1677362807IN
0x3Aaf35C4...1239584B9
0 ETH0.0019349220.2080729
Transfer167076822023-02-25 20:32:11583 days ago1677357131IN
0x3Aaf35C4...1239584B9
0.875 ETH0.0004150818.45072949
Take158127312022-10-23 18:54:35708 days ago1666551275IN
0x3Aaf35C4...1239584B9
0 ETH0.0018488216.38307313
Transfer158123242022-10-23 17:32:47708 days ago1666546367IN
0x3Aaf35C4...1239584B9
1.225 ETH0.0002969713.2004483
Take151175202022-07-10 22:19:14813 days ago1657491554IN
0x3Aaf35C4...1239584B9
0 ETH0.0010498219.75988501
Take151166602022-07-10 19:02:32813 days ago1657479752IN
0x3Aaf35C4...1239584B9
0 ETH0.0038154233.80974137
Transfer150909132022-07-06 19:49:34817 days ago1657136974IN
0x3Aaf35C4...1239584B9
1.05 ETH0.0012177754.13056432
Transfer148175822022-05-21 13:42:40863 days ago1653140560IN
0x3Aaf35C4...1239584B9
0.12 ETH0.000389817.3270166
Take140399662022-01-20 3:15:11985 days ago1642648511IN
0x3Aaf35C4...1239584B9
0 ETH0.00642176100.08835313
Take135350762021-11-02 2:53:091064 days ago1635821589IN
0x3Aaf35C4...1239584B9
0 ETH0.00998825188
Take135350142021-11-02 2:36:541064 days ago1635820614IN
0x3Aaf35C4...1239584B9
0 ETH0.01596707176
Take133413652021-10-02 18:07:351094 days ago1633198055IN
0x3Aaf35C4...1239584B9
0 ETH0.0058750553
Take133413562021-10-02 18:06:341094 days ago1633197994IN
0x3Aaf35C4...1239584B9
0 ETH0.0031438849
Transfer133260712021-09-30 8:45:001097 days ago1632991500IN
0x3Aaf35C4...1239584B9
0.05 ETH0.0017997680
Take133199912021-09-29 9:59:491097 days ago1632909589IN
0x3Aaf35C4...1239584B9
0 ETH0.0063675549
Take133199852021-09-29 9:57:361097 days ago1632909456IN
0x3Aaf35C4...1239584B9
0 ETH0.0060702149
Transfer133186652021-09-29 4:51:331098 days ago1632891093IN
0x3Aaf35C4...1239584B9
0.171764 ETH0.0013894661.76218049
Take133172172021-09-28 23:28:451098 days ago1632871725IN
0x3Aaf35C4...1239584B9
0 ETH0.0073310652
Take129349072021-07-31 18:25:141157 days ago1627755914IN
0x3Aaf35C4...1239584B9
0 ETH0.0153190170
Take127975092021-07-10 4:25:351179 days ago1625891135IN
0x3Aaf35C4...1239584B9
0 ETH0.000431688
Take127957372021-07-09 22:01:571179 days ago1625868117IN
0x3Aaf35C4...1239584B9
0 ETH0.0010801318.7
Take127957292021-07-09 22:00:391179 days ago1625868039IN
0x3Aaf35C4...1239584B9
0 ETH0.0023165918.7
Take127954482021-07-09 20:58:081179 days ago1625864288IN
0x3Aaf35C4...1239584B9
0 ETH0.0010659115
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
167099662023-02-26 4:15:11583 days ago1677384911
0x3Aaf35C4...1239584B9
0.351 ETH
167081512023-02-25 22:06:47583 days ago1677362807
0x3Aaf35C4...1239584B9
0.43875 ETH
166749042023-02-21 5:49:59588 days ago1676958599
0x3Aaf35C4...1239584B9
0.1 ETH
158127312022-10-23 18:54:35708 days ago1666551275
0x3Aaf35C4...1239584B9
0.61425 ETH
157988282022-10-21 20:20:35710 days ago1666383635
0x3Aaf35C4...1239584B9
0.14 ETH
151175202022-07-10 22:19:14813 days ago1657491554
0x3Aaf35C4...1239584B9
0.5265 ETH
151166602022-07-10 19:02:32813 days ago1657479752
0x3Aaf35C4...1239584B9
0.1755 ETH
135350762021-11-02 2:53:091064 days ago1635821589
0x3Aaf35C4...1239584B9
0.0225 ETH
133413652021-10-02 18:07:351094 days ago1633198055
0x3Aaf35C4...1239584B9
0.0332646 ETH
133199912021-09-29 9:59:491097 days ago1632909589
0x3Aaf35C4...1239584B9
0.0772938 ETH
123121172021-04-25 22:20:421254 days ago1619389242
0x3Aaf35C4...1239584B9
0.001 ETH
123109562021-04-25 17:58:581254 days ago1619373538
0x3Aaf35C4...1239584B9
0.0045 ETH
123103732021-04-25 15:56:231254 days ago1619366183
0x3Aaf35C4...1239584B9
0.0015 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HDSplit

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

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

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

/// split.sol -- splits funds sent to this contract

// Copyright (C) 2021 HDSplit

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

interface IERC20 {
    function balanceOf(address) external view returns (uint256);
    function transfer(address, uint256) external returns (bool);
    function transferFrom(address, address, uint256) external returns (bool);
}

contract HDSplit {
    address immutable public dai;
    uint256 public debt;
    uint256 public limit;
    address payable[] public folks;
    uint256[] public bps;

    // token->total
    mapping (address => uint256) public total;

    // folk[i]->token->balance
    mapping (address => mapping (address => uint256)) public balance;

    // folks[i]->folk[i]->owe: DAI amount owed per person
    // A       ->B      ->owe: B owes A owe DAI
    mapping (address => mapping (address => uint256)) public owe;

    // auth
    mapping (address => uint256) public wards;
    modifier auth {
        require(wards[msg.sender] == 1, "HDSplit/not-authorized");
        _;
    }

    // events
    event Push();
    event Rely(address indexed usr);
    event Comp(address indexed sender, address indexed recipient, uint256 amt);
    event Sent(address indexed guy, address indexed gem, uint256 amt);
    event Receive(address indexed guy, uint256 amt);

    // math
    uint256 THOUSAND = 10 ** 4;
    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);
    }

    constructor(
        address _dai,
        uint256 _limit,
        address payable[] memory _folks,
        uint256[] memory _bps
    ) public {
        require(_folks.length == _bps.length, "HDSplit/length-must-match");

        uint256 _total;

        for (uint256 i = 0; i < _folks.length; i++) {
            _total = add(_total, _bps[i]);
            folks.push(_folks[i]);
            bps.push(_bps[i]);
            wards[_folks[i]] = 1;
            emit Rely(_folks[i]);
        }
        require(_total == 10000, "HDSplit/basis-points-must-total-10000");

        dai   = _dai;
        limit = _limit;
    }

    receive() external payable {
        emit Receive(msg.sender, msg.value);
    }

    function tell(uint256 _wad) external auth {
        require(dai != address(0), "HDSplit/no-compensation-plan");

        address payable[] memory _folks = folks;

        for (uint256 i = 0; i < _folks.length; i++) {
            if (msg.sender != _folks[i]) {
                uint256 _amt = mul(_wad, bps[i]) / THOUSAND;
                debt = add(debt, _amt);
                owe[msg.sender][_folks[i]] = add(
                    owe[msg.sender][_folks[i]], _amt
                );
            }
        }

        require(debt <= limit, "HDSplit/over-debt-limit");
    }

    function take() external {
        take(address(0));
    }

    function take(address _token) public auth {
        uint256 _moar;
        address payable[] memory _folks = folks;

        if (_token == address(0)) {
            _moar = sub(address(this).balance, total[_token]);
        } else {
            _moar = sub(IERC20(_token).balanceOf(address(this)), total[_token]);
        }

        if (_moar > 0) {
            total[_token] = add(total[_token], _moar);

            // figure out everyong's amounts
            for (uint256 i = 0; i < _folks.length; i++) {
                balance[_folks[i]][_token] = add(
                    balance[_folks[i]][_token],
                    mul(_moar, bps[i]) / THOUSAND
                );
            }
        }

        // pay expenses
        for (uint256 i = 0; i < _folks.length; i++) {
            comp(_folks[i]);
        }

        send(_token);

        emit Push();
    }

    function send(address _token) internal {
        uint256 _amt = balance[msg.sender][_token];
        balance[msg.sender][_token] = 0;
        total[_token] = sub(total[_token], _amt);
        emit Sent(msg.sender, _token, _amt);
        if (_token == address(0)) {
            require(msg.sender.send(_amt) == true, "HDSplit/send-failed");
        } else {
            bytes memory _data = abi.encodeWithSelector(
                IERC20(_token).transfer.selector, msg.sender, _amt
            );
            (bool _success, bytes memory _returndata) = _token.call(_data);
            require(_success, "HDSplit/transfer-failed-1");

            if (_returndata.length > 0) {
                require(
                    abi.decode(_returndata, (bool)), "HDSplit/transfer-failed-2"
                );
            }
        }
    }

    function comp(address _guy) internal {
        if (dai == address(0)) { return; }

        uint256 _amt = owe[_guy][msg.sender];

        if (_amt > 0) {
            owe[_guy][msg.sender] = 0;
            debt = sub(debt, _amt);
            emit Comp(msg.sender, _guy, _amt);
            require(
                IERC20(dai).transferFrom(msg.sender, _guy, _amt),
                "HDSplit/dai-transfer-failed"
            );
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dai","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"},{"internalType":"address payable[]","name":"_folks","type":"address[]"},{"internalType":"uint256[]","name":"_bps","type":"uint256[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Comp","type":"event"},{"anonymous":false,"inputs":[],"name":"Push","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Receive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":true,"internalType":"address","name":"gem","type":"address"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Sent","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dai","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"folks","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"owe","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"take","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"take","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_wad","type":"uint256"}],"name":"tell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"total","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526127106008553480156200001757600080fd5b506040516200128d3803806200128d833981810160405260808110156200003d57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006957600080fd5b9083019060208201858111156200007f57600080fd5b82518660208202830111640100000000821117156200009d57600080fd5b82525081516020918201928201910280838360005b83811015620000cc578181015183820152602001620000b2565b5050505090500160405260200180516040519392919084640100000000821115620000f657600080fd5b9083019060208201858111156200010c57600080fd5b82518660208202830111640100000000821117156200012a57600080fd5b82525081516020918201928201910280838360005b83811015620001595781810151838201526020016200013f565b505050509050016040525050508051825114620001bd576040805162461bcd60e51b815260206004820152601960248201527f484453706c69742f6c656e6774682d6d7573742d6d6174636800000000000000604482015290519081900360640190fd5b6000805b83518110156200030157620001f182848381518110620001dd57fe5b60200260200101516200036360201b60201c565b915060028482815181106200020257fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905582516003908490839081106200024f57fe5b60209081029190910181015182546001818101855560009485529284200155855190916007918790859081106200028257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550838181518110620002bb57fe5b60200260200101516001600160a01b03167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a2600101620001c1565b508061271014620003445760405162461bcd60e51b8152600401808060200182810382526025815260200180620012686025913960400191505060405180910390fd5b50505060609190911b6001600160601b0319166080526001556200037a565b808201828110156200037457600080fd5b92915050565b60805160601c610ec1620003a76000398061069a528061098852806109f65280610ac75250610ec16000f3fe6080604052600436106100ab5760003560e01c8063a4d66daf11610064578063a4d66daf146101f8578063b203bb991461020d578063bf353dbb14610248578063d2514e841461027b578063effd0550146102ae578063f4b9fa75146102e9576100e8565b80630dca59c1146100ed578063159090bd146101145780634d44e6631461012b57806355deb8fc1461015e5780635ce0d7811461018857806394784381146101b2576100e8565b366100e85760408051348152905133917fd6717f327e0cb88b4a97a7f67a453e9258252c34937ccbdd86de7cb840e7def3919081900360200190a2005b600080fd5b3480156100f957600080fd5b506101026102fe565b60408051918252519081900360200190f35b34801561012057600080fd5b50610129610304565b005b34801561013757600080fd5b506101296004803603602081101561014e57600080fd5b50356001600160a01b0316610310565b34801561016a57600080fd5b506101296004803603602081101561018157600080fd5b503561063b565b34801561019457600080fd5b50610102600480360360208110156101ab57600080fd5b50356108dd565b3480156101be57600080fd5b506101dc600480360360208110156101d557600080fd5b50356108fb565b604080516001600160a01b039092168252519081900360200190f35b34801561020457600080fd5b50610102610922565b34801561021957600080fd5b506101026004803603604081101561023057600080fd5b506001600160a01b0381358116916020013516610928565b34801561025457600080fd5b506101026004803603602081101561026b57600080fd5b50356001600160a01b0316610945565b34801561028757600080fd5b506101026004803603602081101561029e57600080fd5b50356001600160a01b0316610957565b3480156102ba57600080fd5b50610102600480360360408110156102d157600080fd5b506001600160a01b0381358116916020013516610969565b3480156102f557600080fd5b506101dc610986565b60005481565b61030e6000610310565b565b3360009081526007602052604090205460011461036d576040805162461bcd60e51b8152602060048201526016602482015275121114dc1b1a5d0bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6000606060028054806020026020016040519081016040528092919081815260200182805480156103c757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a9575b50939450505050506001600160a01b038316610408576001600160a01b0383166000908152600460205260409020546104019047906109aa565b91506104a5565b6104a2836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045857600080fd5b505afa15801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b50516001600160a01b0385166000908152600460205260409020546109aa565b91505b81156105d3576001600160a01b0383166000908152600460205260409020546104ce90836109c0565b6001600160a01b0384166000908152600460205260408120919091555b81518110156105d1576105846005600084848151811061050757fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002054600854610577866003868154811061056757fe5b90600052602060002001546109d0565b8161057e57fe5b046109c0565b6005600084848151811061059457fe5b6020908102919091018101516001600160a01b039081168352828201939093526040918201600090812093891681529290529020556001016104eb565b505b60005b8151811015610603576105fb8282815181106105ee57fe5b60200260200101516109f4565b6001016105d6565b5061060d83610bcd565b6040517fdb8c6fe2d276db4a69516d30b871657423e2622780333ff172e1c0dd033082d390600090a1505050565b33600090815260076020526040902054600114610698576040805162461bcd60e51b8152602060048201526016602482015275121114dc1b1a5d0bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610713576040805162461bcd60e51b815260206004820152601c60248201527f484453706c69742f6e6f2d636f6d70656e736174696f6e2d706c616e00000000604482015290519081900360640190fd5b6060600280548060200260200160405190810160405280929190818152602001828054801561076b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161074d575b5050505050905060005b815181101561087f5781818151811061078a57fe5b60200260200101516001600160a01b0316336001600160a01b0316146108775760006008546107c0856003858154811061056757fe5b816107c757fe5b0490506107d6600054826109c0565b6000908155338152600660205260408120845161082992908690869081106107fa57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054826109c0565b336000908152600660205260408120855190919086908690811061084957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b600101610775565b5060015460005411156108d9576040805162461bcd60e51b815260206004820152601760248201527f484453706c69742f6f7665722d646562742d6c696d6974000000000000000000604482015290519081900360640190fd5b5050565b600381815481106108ea57fe5b600091825260209091200154905081565b6002818154811061090857fe5b6000918252602090912001546001600160a01b0316905081565b60015481565b600560209081526000928352604080842090915290825290205481565b60076020526000908152604090205481565b60046020526000908152604090205481565b600660209081526000928352604080842090915290825290205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b808203828111156109ba57600080fd5b92915050565b808201828110156109ba57600080fd5b60008115806109eb575050808202828282816109e857fe5b04145b6109ba57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a2757610bca565b6001600160a01b038116600090815260066020908152604080832033845290915290205480156108d9576001600160a01b0382166000908152600660209081526040808320338452909152812081905554610a8290826109aa565b6000556040805182815290516001600160a01b0384169133917ff433f6cc67a1632e45c5fd5e9353ddff992fc57719494aacde16b83f42c778bf9181900360200190a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3384846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b505050506040513d6020811015610b7757600080fd5b50516108d9576040805162461bcd60e51b815260206004820152601b60248201527f484453706c69742f6461692d7472616e736665722d6661696c65640000000000604482015290519081900360640190fd5b50565b3360009081526005602090815260408083206001600160a01b03851684528252808320805490849055600490925290912054610c0990826109aa565b6001600160a01b0383166000818152600460209081526040918290209390935580518481529051919233927f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd33459281900390910190a36001600160a01b038216610cdb57604051339082156108fc029083906000818181858888f1935050505015156001151514610cd6576040805162461bcd60e51b8152602060048201526013602482015272121114dc1b1a5d0bdcd95b990b59985a5b1959606a1b604482015290519081900360640190fd5b6108d9565b60408051336024820152604480820184905282518083039091018152606490910182526020810180516001600160e01b031663a9059cbb60e01b1781529151815191926000926060926001600160a01b0388169286928291908083835b60208310610d575780518252601f199092019160209182019101610d38565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610db9576040519150601f19603f3d011682016040523d82523d6000602084013e610dbe565b606091505b509150915081610e15576040805162461bcd60e51b815260206004820152601960248201527f484453706c69742f7472616e736665722d6661696c65642d3100000000000000604482015290519081900360640190fd5b805115610e8457808060200190516020811015610e3157600080fd5b5051610e84576040805162461bcd60e51b815260206004820152601960248201527f484453706c69742f7472616e736665722d6661696c65642d3200000000000000604482015290519081900360640190fd5b505050505056fea2646970667358221220d0bc9551fa740656e4b8f37073927d209ccaccb7d4ef6bfc2dfd7df72c65688864736f6c634300060c0033484453706c69742f62617369732d706f696e74732d6d7573742d746f74616c2d31303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a968163f0a57b400000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000005000000000000000000000000695931af55788cffa194da53a178dd710c1b3f590000000000000000000000002de35077ee186385410b971be84345860a821422000000000000000000000000b3423b069edd741c833b7c110bfeae6dd6d60ea40000000000000000000000002fb86fef360245857dfb18d09111e1aedf1eb454000000000000000000000000d475bac3ebd265d0a69334f451be8492761584730000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000119400000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000003e8

Deployed Bytecode

0x6080604052600436106100ab5760003560e01c8063a4d66daf11610064578063a4d66daf146101f8578063b203bb991461020d578063bf353dbb14610248578063d2514e841461027b578063effd0550146102ae578063f4b9fa75146102e9576100e8565b80630dca59c1146100ed578063159090bd146101145780634d44e6631461012b57806355deb8fc1461015e5780635ce0d7811461018857806394784381146101b2576100e8565b366100e85760408051348152905133917fd6717f327e0cb88b4a97a7f67a453e9258252c34937ccbdd86de7cb840e7def3919081900360200190a2005b600080fd5b3480156100f957600080fd5b506101026102fe565b60408051918252519081900360200190f35b34801561012057600080fd5b50610129610304565b005b34801561013757600080fd5b506101296004803603602081101561014e57600080fd5b50356001600160a01b0316610310565b34801561016a57600080fd5b506101296004803603602081101561018157600080fd5b503561063b565b34801561019457600080fd5b50610102600480360360208110156101ab57600080fd5b50356108dd565b3480156101be57600080fd5b506101dc600480360360208110156101d557600080fd5b50356108fb565b604080516001600160a01b039092168252519081900360200190f35b34801561020457600080fd5b50610102610922565b34801561021957600080fd5b506101026004803603604081101561023057600080fd5b506001600160a01b0381358116916020013516610928565b34801561025457600080fd5b506101026004803603602081101561026b57600080fd5b50356001600160a01b0316610945565b34801561028757600080fd5b506101026004803603602081101561029e57600080fd5b50356001600160a01b0316610957565b3480156102ba57600080fd5b50610102600480360360408110156102d157600080fd5b506001600160a01b0381358116916020013516610969565b3480156102f557600080fd5b506101dc610986565b60005481565b61030e6000610310565b565b3360009081526007602052604090205460011461036d576040805162461bcd60e51b8152602060048201526016602482015275121114dc1b1a5d0bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6000606060028054806020026020016040519081016040528092919081815260200182805480156103c757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a9575b50939450505050506001600160a01b038316610408576001600160a01b0383166000908152600460205260409020546104019047906109aa565b91506104a5565b6104a2836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045857600080fd5b505afa15801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b50516001600160a01b0385166000908152600460205260409020546109aa565b91505b81156105d3576001600160a01b0383166000908152600460205260409020546104ce90836109c0565b6001600160a01b0384166000908152600460205260408120919091555b81518110156105d1576105846005600084848151811061050757fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002054600854610577866003868154811061056757fe5b90600052602060002001546109d0565b8161057e57fe5b046109c0565b6005600084848151811061059457fe5b6020908102919091018101516001600160a01b039081168352828201939093526040918201600090812093891681529290529020556001016104eb565b505b60005b8151811015610603576105fb8282815181106105ee57fe5b60200260200101516109f4565b6001016105d6565b5061060d83610bcd565b6040517fdb8c6fe2d276db4a69516d30b871657423e2622780333ff172e1c0dd033082d390600090a1505050565b33600090815260076020526040902054600114610698576040805162461bcd60e51b8152602060048201526016602482015275121114dc1b1a5d0bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610713576040805162461bcd60e51b815260206004820152601c60248201527f484453706c69742f6e6f2d636f6d70656e736174696f6e2d706c616e00000000604482015290519081900360640190fd5b6060600280548060200260200160405190810160405280929190818152602001828054801561076b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161074d575b5050505050905060005b815181101561087f5781818151811061078a57fe5b60200260200101516001600160a01b0316336001600160a01b0316146108775760006008546107c0856003858154811061056757fe5b816107c757fe5b0490506107d6600054826109c0565b6000908155338152600660205260408120845161082992908690869081106107fa57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054826109c0565b336000908152600660205260408120855190919086908690811061084957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b600101610775565b5060015460005411156108d9576040805162461bcd60e51b815260206004820152601760248201527f484453706c69742f6f7665722d646562742d6c696d6974000000000000000000604482015290519081900360640190fd5b5050565b600381815481106108ea57fe5b600091825260209091200154905081565b6002818154811061090857fe5b6000918252602090912001546001600160a01b0316905081565b60015481565b600560209081526000928352604080842090915290825290205481565b60076020526000908152604090205481565b60046020526000908152604090205481565b600660209081526000928352604080842090915290825290205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b808203828111156109ba57600080fd5b92915050565b808201828110156109ba57600080fd5b60008115806109eb575050808202828282816109e857fe5b04145b6109ba57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a2757610bca565b6001600160a01b038116600090815260066020908152604080832033845290915290205480156108d9576001600160a01b0382166000908152600660209081526040808320338452909152812081905554610a8290826109aa565b6000556040805182815290516001600160a01b0384169133917ff433f6cc67a1632e45c5fd5e9353ddff992fc57719494aacde16b83f42c778bf9181900360200190a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3384846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b505050506040513d6020811015610b7757600080fd5b50516108d9576040805162461bcd60e51b815260206004820152601b60248201527f484453706c69742f6461692d7472616e736665722d6661696c65640000000000604482015290519081900360640190fd5b50565b3360009081526005602090815260408083206001600160a01b03851684528252808320805490849055600490925290912054610c0990826109aa565b6001600160a01b0383166000818152600460209081526040918290209390935580518481529051919233927f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd33459281900390910190a36001600160a01b038216610cdb57604051339082156108fc029083906000818181858888f1935050505015156001151514610cd6576040805162461bcd60e51b8152602060048201526013602482015272121114dc1b1a5d0bdcd95b990b59985a5b1959606a1b604482015290519081900360640190fd5b6108d9565b60408051336024820152604480820184905282518083039091018152606490910182526020810180516001600160e01b031663a9059cbb60e01b1781529151815191926000926060926001600160a01b0388169286928291908083835b60208310610d575780518252601f199092019160209182019101610d38565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610db9576040519150601f19603f3d011682016040523d82523d6000602084013e610dbe565b606091505b509150915081610e15576040805162461bcd60e51b815260206004820152601960248201527f484453706c69742f7472616e736665722d6661696c65642d3100000000000000604482015290519081900360640190fd5b805115610e8457808060200190516020811015610e3157600080fd5b5051610e84576040805162461bcd60e51b815260206004820152601960248201527f484453706c69742f7472616e736665722d6661696c65642d3200000000000000604482015290519081900360640190fd5b505050505056fea2646970667358221220d0bc9551fa740656e4b8f37073927d209ccaccb7d4ef6bfc2dfd7df72c65688864736f6c634300060c0033

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

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a968163f0a57b400000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000005000000000000000000000000695931af55788cffa194da53a178dd710c1b3f590000000000000000000000002de35077ee186385410b971be84345860a821422000000000000000000000000b3423b069edd741c833b7c110bfeae6dd6d60ea40000000000000000000000002fb86fef360245857dfb18d09111e1aedf1eb454000000000000000000000000d475bac3ebd265d0a69334f451be8492761584730000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000119400000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000003e8

-----Decoded View---------------
Arg [0] : _dai (address): 0x0000000000000000000000000000000000000000
Arg [1] : _limit (uint256): 50000000000000000000000
Arg [2] : _folks (address[]): 0x695931AF55788cFfA194dA53a178dD710C1b3f59,0x2de35077EE186385410b971Be84345860a821422,0xB3423b069edD741C833B7C110bFeaE6dD6d60EA4,0x2fb86Fef360245857dfb18d09111E1AeDf1eB454,0xD475bAc3eBD265D0a69334F451BE849276158473
Arg [3] : _bps (uint256[]): 4500,1500,1500,1500,1000

-----Encoded View---------------
16 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 000000000000000000000000000000000000000000000a968163f0a57b400000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 000000000000000000000000695931af55788cffa194da53a178dd710c1b3f59
Arg [6] : 0000000000000000000000002de35077ee186385410b971be84345860a821422
Arg [7] : 000000000000000000000000b3423b069edd741c833b7c110bfeae6dd6d60ea4
Arg [8] : 0000000000000000000000002fb86fef360245857dfb18d09111e1aedf1eb454
Arg [9] : 000000000000000000000000d475bac3ebd265d0a69334f451be849276158473
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [11] : 0000000000000000000000000000000000000000000000000000000000001194
Arg [12] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [13] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [14] : 00000000000000000000000000000000000000000000000000000000000005dc
Arg [15] : 00000000000000000000000000000000000000000000000000000000000003e8


Deployed Bytecode Sourcemap

1056:5043:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:30;;;3188:9;3168:30;;;;3176:10;;3168:30;;;;;;;;;;1056:5043;;;;;1115:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3810:60;;;;;;;;;;;;;:::i;:::-;;3878:898;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3878:898:0;-1:-1:-1;;;;;3878:898:0;;:::i;3214:588::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3214:588:0;;:::i;1205:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1205:20:0;;:::i;1168:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1168:30:0;;:::i;:::-;;;;-1:-1:-1;;;;;1168:30:0;;;;;;;;;;;;;;1141:20;;;;;;;;;;;;;:::i;1337:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1337:64:0;;;;;;;;;;:::i;1600:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1600:41:0;-1:-1:-1;;;;;1600:41:0;;:::i;1255:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1255:41:0;-1:-1:-1;;;;;1255:41:0;;:::i;1518:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1518:60:0;;;;;;;;;;:::i;1080:28::-;;;;;;;;;;;;;:::i;1115:19::-;;;;:::o;3810:60::-;3846:16;3859:1;3846:4;:16::i;:::-;3810:60::o;3878:898::-;1687:10;1681:17;;;;:5;:17;;;;;;1702:1;1681:22;1673:57;;;;;-1:-1:-1;;;1673:57:0;;;;;;;;;;;;-1:-1:-1;;;1673:57:0;;;;;;;;;;;;;;;3931:13:::1;3955:31;3989:5;3955:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;3955:39:0::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;-1:-1:-1::0;3955:39:0;;-1:-1:-1;;;;;;;;;;4011:20:0;::::1;4007:202;;-1:-1:-1::0;;;;;4083:13:0;::::1;;::::0;;;:5:::1;:13;::::0;;;;;4056:41:::1;::::0;4060:21:::1;::::0;4056:3:::1;:41::i;:::-;4048:49;;4007:202;;;4138:59;4149:6;-1:-1:-1::0;;;;;4142:24:0::1;;4175:4;4142:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;4142:39:0::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;4142:39:0;-1:-1:-1;;;;;4183:13:0;::::1;;::::0;;;:5:::1;4142:39;4183:13:::0;;;;;4138:3:::1;:59::i;:::-;4130:67;;4007:202;4225:9:::0;;4221:376:::1;;-1:-1:-1::0;;;;;4271:13:0;::::1;;::::0;;;:5:::1;:13;::::0;;;;;4267:25:::1;::::0;4286:5;4267:3:::1;:25::i;:::-;-1:-1:-1::0;;;;;4251:13:0;::::1;;::::0;;;:5:::1;:13;::::0;;;;:41;;;;4355:231:::1;4379:6;:13;4375:1;:17;4355:231;;;4447:123;4473:7;:18;4481:6;4488:1;4481:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;4473:18:0::1;-1:-1:-1::0;;;;;4473:18:0::1;;;;;;;;;;;;:26;4492:6;-1:-1:-1::0;;;;;4473:26:0::1;-1:-1:-1::0;;;;;4473:26:0::1;;;;;;;;;;;;;4543:8;;4522:18;4526:5;4533:3;4537:1;4533:6;;;;;;;;;;;;;;;;4522:3;:18::i;:::-;:29;;;;;;4447:3;:123::i;:::-;4418:7;:18;4426:6;4433:1;4426:9;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;4418:18:0;;::::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;4418:18:0;;;:26;;::::1;::::0;;;;;;;:152;4394:3:::1;;4355:231;;;;4221:376;4639:9;4634:86;4658:6;:13;4654:1;:17;4634:86;;;4693:15;4698:6;4705:1;4698:9;;;;;;;;;;;;;;4693:4;:15::i;:::-;4673:3;;4634:86;;;;4732:12;4737:6;4732:4;:12::i;:::-;4762:6;::::0;::::1;::::0;;;::::1;1741:1;;3878:898:::0;:::o;3214:588::-;1687:10;1681:17;;;;:5;:17;;;;;;1702:1;1681:22;1673:57;;;;;-1:-1:-1;;;1673:57:0;;;;;;;;;;;;-1:-1:-1;;;1673:57:0;;;;;;;;;;;;;;;3275:3:::1;-1:-1:-1::0;;;;;3275:17:0::1;3267:58;;;::::0;;-1:-1:-1;;;3267:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3338:31;3372:5;3338:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;3338:39:0::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;3395:9;3390:343;3414:6;:13;3410:1;:17;3390:343;;;3467:6;3474:1;3467:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3453:23:0::1;:10;-1:-1:-1::0;;;;;3453:23:0::1;;3449:273;;3497:12;3532:8;;3512:17;3516:4;3522:3;3526:1;3522:6;;;;;;;3512:17;:28;;;;;;3497:43;;3566:15;3570:4;;3576;3566:3;:15::i;:::-;3559:4;:22:::0;;;3659:10:::1;3655:15:::0;;:3:::1;:15;::::0;;;;3671:9;;3629:77:::1;::::0;3559:4;3671:6;;3678:1;;3671:9;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;3655:26:0::1;-1:-1:-1::0;;;;;3655:26:0::1;;;;;;;;;;;;;3683:4;3629:3;:77::i;:::-;3604:10;3600:15;::::0;;;:3:::1;:15;::::0;;;;3616:9;;3600:15;;;3616:6;;3623:1;;3616:9;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;3600:26:0::1;-1:-1:-1::0;;;;;3600:26:0::1;;;;;;;;;;;;:106;;;;3449:273;;3429:3;;3390:343;;;;3761:5;;3753:4;;:13;;3745:49;;;::::0;;-1:-1:-1;;;3745:49:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1741:1;3214:588:::0;:::o;1205:20::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1205:20:0;:::o;1168:30::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1168:30:0;;-1:-1:-1;1168:30:0;:::o;1141:20::-;;;;:::o;1337:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1600:41::-;;;;;;;;;;;;;:::o;1255:::-;;;;;;;;;;;;;:::o;1518:60::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1080:28::-;;;:::o;2211:120::-;2308:7;;;2302:20;;;;2294:29;;;;;;2211:120;;;;:::o;2085:::-;2182:7;;;2176:20;;;;2168:29;;;;;2337:136;2397:10;2428:7;;;:36;;-1:-1:-1;;2445:7:0;;;2462:2;2456;2445:7;2456:2;2439:19;;;;;:25;2428:36;2420:45;;;;;5641:453;5693:3;-1:-1:-1;;;;;5693:17:0;5689:34;;5714:7;;5689:34;-1:-1:-1;;;;;5750:9:0;;5735:12;5750:9;;;:3;:9;;;;;;;;5760:10;5750:21;;;;;;;;5788:8;;5784:303;;-1:-1:-1;;;;;5813:9:0;;5837:1;5813:9;;;:3;:9;;;;;;;;5823:10;5813:21;;;;;;;:25;;;5864:4;5860:15;;5870:4;5860:3;:15::i;:::-;5853:4;:22;5895:28;;;;;;;;-1:-1:-1;;;;;5895:28:0;;;5900:10;;5895:28;;;;;;;;;5971:3;-1:-1:-1;;;;;5964:24:0;;5989:10;6001:4;6007;5964:48;;;;;;;;;;;;;-1:-1:-1;;;;;5964:48:0;;;;;;-1:-1:-1;;;;;5964:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5964:48:0;5938:137;;;;;-1:-1:-1;;;5938:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5641:453;;:::o;4784:849::-;4857:10;4834:12;4849:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4849:27:0;;;;;;;;;;;4887:31;;;;4949:5;:13;;;;;;;4945:24;;4849:27;4945:3;:24::i;:::-;-1:-1:-1;;;;;4929:13:0;;;;;;:5;:13;;;;;;;;;:40;;;;4985:30;;;;;;;4929:13;;4990:10;;4985:30;;;;;;;;;;-1:-1:-1;;;;;5030:20:0;;5026:600;;5075:21;;:10;;:21;;;;;5091:4;;5075:21;;;;5091:4;5075:10;:21;;;;;;;:29;;5100:4;5075:29;;;5067:61;;;;;-1:-1:-1;;;5067:61:0;;;;;;;;;;;;-1:-1:-1;;;5067:61:0;;;;;;;;;;;;;;;5026:600;;;5182:106;;;5257:10;5182:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5182:106:0;-1:-1:-1;;;5182:106:0;;;5347:18;;;;5182:106;;-1:-1:-1;;5161:18:0;;-1:-1:-1;;;;;5347:11:0;;;5182:106;;5347:18;;5182:106;5347:18;;5182:106;5347:18;;;;;;;;;;-1:-1:-1;;5347:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5303:62;;;;5388:8;5380:46;;;;;-1:-1:-1;;;5380:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5447:18;;:22;5443:172;;5531:11;5520:31;;;;;;;;;;;;;;;-1:-1:-1;5520:31:0;5490:109;;;;;-1:-1:-1;;;5490:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5026:600;;;4784:849;;:::o

Swarm Source

ipfs://d0bc9551fa740656e4b8f37073927d209ccaccb7d4ef6bfc2dfd7df72c656888

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.