ETH Price: $2,524.70 (-0.39%)
Gas: 0.85 Gwei

Contract

0xB934829956A1eA855C25965B35A123b0ec1697ac
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Lent Et...183742122023-10-18 2:17:47316 days ago1697595467IN
0xB9348299...0ec1697ac
0 ETH0.000391777.63927062
Return Lent Eth183742092023-10-18 2:17:11316 days ago1697595431IN
0xB9348299...0ec1697ac
1 ETH0.000350227.30192654
Withdraw183742072023-10-18 2:16:47316 days ago1697595407IN
0xB9348299...0ec1697ac
0 ETH0.000236717.69128435
Transfer183741942023-10-18 2:14:11316 days ago1697595251IN
0xB9348299...0ec1697ac
1 ETH0.000133826.35582986
Withdraw Lent Et...183706752023-10-17 14:25:35317 days ago1697552735IN
0xB9348299...0ec1697ac
0 ETH0.0009261415.56103897
Lend Eth183705792023-10-17 14:06:23317 days ago1697551583IN
0xB9348299...0ec1697ac
1 ETH0.0021992317.56157788
Withdraw Lent Et...183662442023-10-16 23:32:59318 days ago1697499179IN
0xB9348299...0ec1697ac
0 ETH0.0006424710.79477457
Return Lent Eth182279942023-09-27 15:29:47337 days ago1695828587IN
0xB9348299...0ec1697ac
1 ETH0.0007750916.16026865
Withdraw Lent Et...181675802023-09-19 4:28:23345 days ago1695097703IN
0xB9348299...0ec1697ac
0 ETH0.000430179.86259923
Withdraw Lent Et...181675762023-09-19 4:27:35345 days ago1695097655IN
0xB9348299...0ec1697ac
0 ETH0.0005116610.5678373
Withdraw Lent Et...181622702023-09-18 10:34:59346 days ago1695033299IN
0xB9348299...0ec1697ac
0 ETH0.0009072515.12189062
Withdraw Lent Et...181589812023-09-17 23:26:47347 days ago1694993207IN
0xB9348299...0ec1697ac
0 ETH0.000479167.98658661
Borrow Eth180993132023-09-09 14:05:23355 days ago1694268323IN
0xB9348299...0ec1697ac
0 ETH0.000474510.72683275
Withdraw Lent Et...180917982023-09-08 12:48:35356 days ago1694177315IN
0xB9348299...0ec1697ac
0 ETH0.0008682116.92918039
Lend Eth180859682023-09-07 17:14:11357 days ago1694106851IN
0xB9348299...0ec1697ac
1 ETH0.0032961730.48347619
Withdraw Lent Et...180643222023-09-04 16:30:59360 days ago1693845059IN
0xB9348299...0ec1697ac
0 ETH0.0013446526.21930032
Lend Eth180636092023-09-04 14:07:35360 days ago1693836455IN
0xB9348299...0ec1697ac
1 ETH0.0028105125.9920413
Withdraw Lent Et...180635332023-09-04 13:52:23360 days ago1693835543IN
0xB9348299...0ec1697ac
0 ETH0.0006963513.57818337
Lend Eth180634792023-09-04 13:41:35360 days ago1693834895IN
0xB9348299...0ec1697ac
1 ETH0.0022806821.09206618
Withdraw Lent Et...180634392023-09-04 13:33:11360 days ago1693834391IN
0xB9348299...0ec1697ac
0 ETH0.0007747815.10735235
Withdraw Lent Et...180603052023-09-04 3:03:11360 days ago1693796591IN
0xB9348299...0ec1697ac
0 ETH0.0006387313.19238118
Lend Eth180600692023-09-04 2:14:59360 days ago1693793699IN
0xB9348299...0ec1697ac
1 ETH0.0005387112.46304606
Lend Eth180582762023-09-03 20:13:35361 days ago1693772015IN
0xB9348299...0ec1697ac
1 ETH0.0018092216.73192306
Withdraw Lent Et...180581852023-09-03 19:55:23361 days ago1693770923IN
0xB9348299...0ec1697ac
0 ETH0.0010299720.08336323
Lend Eth180580522023-09-03 19:28:35361 days ago1693769315IN
0xB9348299...0ec1697ac
1 ETH0.0015896314.70112447
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
183742122023-10-18 2:17:47316 days ago1697595467
0xB9348299...0ec1697ac
1 ETH
183742072023-10-18 2:16:47316 days ago1697595407
0xB9348299...0ec1697ac
1 ETH
183706752023-10-17 14:25:35317 days ago1697552735
0xB9348299...0ec1697ac
1 ETH
183662442023-10-16 23:32:59318 days ago1697499179
0xB9348299...0ec1697ac
1 ETH
183017122023-10-07 22:52:23327 days ago1696719143
0xB9348299...0ec1697ac
1 ETH
182574482023-10-01 18:23:11333 days ago1696184591
0xB9348299...0ec1697ac
1 ETH
181675802023-09-19 4:28:23345 days ago1695097703
0xB9348299...0ec1697ac
1 ETH
181675762023-09-19 4:27:35345 days ago1695097655
0xB9348299...0ec1697ac
1 ETH
181622702023-09-18 10:34:59346 days ago1695033299
0xB9348299...0ec1697ac
1 ETH
181589812023-09-17 23:26:47347 days ago1694993207
0xB9348299...0ec1697ac
1 ETH
181291802023-09-13 18:31:35351 days ago1694629895
0xB9348299...0ec1697ac
2 ETH
180994292023-09-09 14:28:59355 days ago1694269739
0xB9348299...0ec1697ac
1 ETH
180993132023-09-09 14:05:23355 days ago1694268323
0xB9348299...0ec1697ac
1 ETH
180917982023-09-08 12:48:35356 days ago1694177315
0xB9348299...0ec1697ac
1 ETH
180643222023-09-04 16:30:59360 days ago1693845059
0xB9348299...0ec1697ac
1 ETH
180635332023-09-04 13:52:23360 days ago1693835543
0xB9348299...0ec1697ac
1 ETH
180634392023-09-04 13:33:11360 days ago1693834391
0xB9348299...0ec1697ac
1 ETH
180606752023-09-04 4:17:23360 days ago1693801043
0xB9348299...0ec1697ac
2 ETH
180603052023-09-04 3:03:11360 days ago1693796591
0xB9348299...0ec1697ac
1 ETH
180581852023-09-03 19:55:23361 days ago1693770923
0xB9348299...0ec1697ac
1 ETH
180574242023-09-03 17:22:23361 days ago1693761743
0xB9348299...0ec1697ac
1 ETH
180225582023-08-29 20:09:11366 days ago1693339751
0xB9348299...0ec1697ac
1 ETH
180009702023-08-26 19:36:35369 days ago1693078595
0xB9348299...0ec1697ac
1 ETH
179947112023-08-25 22:33:23370 days ago1693002803
0xB9348299...0ec1697ac
1 ETH
179866592023-08-24 19:31:35371 days ago1692905495
0xB9348299...0ec1697ac
1 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OperaPool

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion, None license
File 1 of 3 : OperaLendingPool.sol
pragma solidity ^0.8.17;
//SPDX-License-Identifier: MIT
import "Auth.sol";
import "IERC20.sol";

contract OperaPool is Auth {
    uint256 public totalEthLent;
    uint256 public totalAvailableEth;
    uint256 public numberOfLenders;
    uint256 public borrowLimit = 3;
    uint256 public _tokenDecimals = 1 * 10 ** 18;
    bool public borrowingEnable = true;
    mapping(address => uint256) public usersCurrentLentAmount;
    mapping(uint256 => address) public lenderIdToAddress;
    mapping(address => uint256) public lenderAddressToId;
    mapping(address => bool) public authorizedFactoryAddresses;

    event ethMoved(
        address account,
        uint256 amount,
        uint256 code,
        uint256 blocktime
    ); // 1 lent 2 borrowed 3 returned 4 withdrawn

    event factoryStatusChange(address factoryAddress, bool status);

    constructor() Auth(msg.sender) {}

    modifier onlyFactoryAuthorized() {
        require(
            authorizedFactoryAddresses[msg.sender],
            "only factory contracts can borrow eth"
        );
        _;
    }

    function updateFactoryAuthorization(
        address addy,
        bool status
    ) external onlyOwner {
        authorizedFactoryAddresses[addy] = status;
        emit factoryStatusChange(addy, status);
    }

    function updateBorrowLimit(uint256 limit) external onlyOwner {
        borrowLimit = limit;
    }

    function updateBorrowingEnabled(bool status) external onlyOwner {
        borrowingEnable = status;
    }

    function lendForAddress(address addy) external payable returns (bool) {
        require(
            msg.value > 0 && msg.value % _tokenDecimals == 0,
            "Only send full ether."
        );
        if (lenderAddressToId[addy] == 0) {
            lenderAddressToId[addy] = numberOfLenders + 1;
            lenderIdToAddress[numberOfLenders + 1] = addy;
            numberOfLenders += 1;
        }
        uint256 amountReceived = msg.value / _tokenDecimals;
        emit ethMoved(addy, amountReceived, 1, block.timestamp);
        totalEthLent += amountReceived;

        usersCurrentLentAmount[addy] += amountReceived;
        totalAvailableEth += amountReceived;

        return true;
    }

    receive() external payable {}

    function lendEth() external payable returns (bool) {
        require(
            msg.value > 0 && msg.value % _tokenDecimals == 0,
            "Only send full ether."
        );
        if (lenderAddressToId[msg.sender] == 0) {
            lenderAddressToId[msg.sender] = numberOfLenders + 1;
            lenderIdToAddress[numberOfLenders + 1] = msg.sender;
            numberOfLenders += 1;
        }
        uint256 amountReceived = msg.value / _tokenDecimals;
        emit ethMoved(msg.sender, amountReceived, 1, block.timestamp);
        totalEthLent += amountReceived;

        usersCurrentLentAmount[msg.sender] += amountReceived;
        totalAvailableEth += amountReceived;

        return true;
    }

    function borrowEth(uint256 _amount) external onlyFactoryAuthorized {
        require(_amount <= totalAvailableEth, "Not Enough eth to borrow");
        require(_amount > 0, "Cannot borrow 0");
        require(borrowingEnable, "Borrowing is not enabled.");
        require(_amount <= borrowLimit, "Can't borrow that much.");
        totalAvailableEth -= _amount;
        payable(msg.sender).transfer(_amount * _tokenDecimals);
        emit ethMoved(msg.sender, _amount, 2, block.timestamp);
    }

    function returnLentEth(uint256 amountEth) external payable returns (bool) {
        require(
            (amountEth * _tokenDecimals) - msg.value == 0,
            "Did not send enough eth."
        );

        emit ethMoved(msg.sender, amountEth, 3, block.timestamp);
        totalAvailableEth += amountEth;

        return true;
    }

    function withdrawLentEth(uint256 _amountEther) external payable {
        require(
            usersCurrentLentAmount[msg.sender] >= _amountEther,
            "You Did not lend that much."
        );

        require(_amountEther > 0, "Cant withdraw 0.");
        require(_amountEther <= totalAvailableEth, "Not enough eth available.");
        if (usersCurrentLentAmount[msg.sender] == _amountEther) {
            uint256 tempIdOfUser = lenderAddressToId[msg.sender];
            address addressOfLastUser = lenderIdToAddress[numberOfLenders];
            if (addressOfLastUser != msg.sender) {
                delete lenderAddressToId[msg.sender];
                lenderAddressToId[addressOfLastUser] = tempIdOfUser;
                lenderIdToAddress[tempIdOfUser] = addressOfLastUser;
                delete lenderIdToAddress[numberOfLenders];
                numberOfLenders -= 1;
            } else {
                delete lenderAddressToId[msg.sender];
                delete lenderIdToAddress[tempIdOfUser];
                numberOfLenders -= 1;
            }
        }
        usersCurrentLentAmount[msg.sender] -= _amountEther;
        totalAvailableEth -= _amountEther;
        totalEthLent -= _amountEther;
        payable(msg.sender).transfer(_amountEther * _tokenDecimals);
        emit ethMoved(msg.sender, _amountEther, 4, block.timestamp);
    }

    //safe gaurd so no funds get locked
    function withdraw(uint256 amount) external onlyOwner {
        payable(owner).transfer(amount);
    }

    function rescueToken(address token, uint256 amount) external onlyOwner {
        IERC20 tokenToRescue = IERC20(token);
        tokenToRescue.transfer(owner, amount);
    }

    function removeExcess() external payable onlyOwner {
        require(
            address(this).balance > totalAvailableEth * _tokenDecimals,
            "There is no excess eth"
        );
        uint256 excessAmount = address(this).balance -
            (totalAvailableEth * _tokenDecimals);
        payable(owner).transfer(excessAmount);
    }
}

File 2 of 3 : Auth.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

abstract contract Auth {
    address internal owner;
    mapping(address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER");
        _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED");
        _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

File 3 of 3 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address _owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

Settings
{
  "evmVersion": "istanbul",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "libraries": {
    "OperaLendingPool.sol": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"code","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blocktime","type":"uint256"}],"name":"ethMoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"factoryAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"factoryStatusChange","type":"event"},{"inputs":[],"name":"_tokenDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedFactoryAddresses","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"borrowEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"borrowLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lendEth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"lendForAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lenderAddressToId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lenderIdToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfLenders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeExcess","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountEth","type":"uint256"}],"name":"returnLentEth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalAvailableEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEthLent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"updateBorrowLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"updateBorrowingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"updateFactoryAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"usersCurrentLentAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountEther","type":"uint256"}],"name":"withdrawLentEth","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526003600555670de0b6b3a76400006006556007805460ff1916600117905534801561002e57600080fd5b50600080546001600160a01b0319163390811782558152600160208190526040909120805460ff191690911790556113e48061006b6000396000f3fe6080604052600436106101855760003560e01c80637263488d116100d1578063aed4c5a21161008a578063e551d11d11610064578063e551d11d14610458578063f0b37c041461046e578063f2fde38b1461048e578063fe9fbb80146104ae57600080fd5b8063aed4c5a214610410578063b6a5d7de14610430578063c0358bae1461045057600080fd5b80637263488d1461037f578063786186c3146103925780638c4dc3671461039a578063909f36de146103ba57806394283552146103d0578063a0197a68146103e357600080fd5b80632f54bf6e1161013e57806333f3d6281161011857806333f3d628146102f55780633cbc76ab14610315578063671ffb871461033557806370a720b81461036557600080fd5b80632f54bf6e1461028357806330ca1387146102b2578063337baf8f146102c857600080fd5b806305d9b5ec1461019157806308554273146101b95780631073e3e5146101db57806313997e66146101ff5780631d8442201461024d5780632e1a7d4d1461026357600080fd5b3661018c57005b600080fd5b6101a461019f3660046111af565b6104e7565b60405190151581526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046111af565b61059f565b005b3480156101e757600080fd5b506101f160035481565b6040519081526020016101b0565b34801561020b57600080fd5b5061023561021a3660046111af565b6009602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561025957600080fd5b506101f160025481565b34801561026f57600080fd5b506101d961027e3660046111af565b6107c6565b34801561028f57600080fd5b506101a461029e3660046111e0565b6000546001600160a01b0391821691161490565b3480156102be57600080fd5b506101f160065481565b3480156102d457600080fd5b506101f16102e33660046111e0565b60086020526000908152604090205481565b34801561030157600080fd5b506101d9610310366004611204565b61082d565b34801561032157600080fd5b506101d961033036600461123e565b6108d5565b34801561034157600080fd5b506101a46103503660046111e0565b600b6020526000908152604090205460ff1681565b34801561037157600080fd5b506007546101a49060ff1681565b6101d961038d3660046111af565b610962565b6101a4610c14565b3480156103a657600080fd5b506101d96103b5366004611277565b610d95565b3480156103c657600080fd5b506101f160045481565b6101a46103de3660046111e0565b610dd2565b3480156103ef57600080fd5b506101f16103fe3660046111e0565b600a6020526000908152604090205481565b34801561041c57600080fd5b506101d961042b3660046111af565b610f7c565b34801561043c57600080fd5b506101d961044b3660046111e0565b610fab565b6101d9610ffc565b34801561046457600080fd5b506101f160055481565b34801561047a57600080fd5b506101d96104893660046111e0565b6110d4565b34801561049a57600080fd5b506101d96104a93660046111e0565b61111f565b3480156104ba57600080fd5b506101a46104c93660046111e0565b6001600160a01b031660009081526001602052604090205460ff1690565b600034600654836104f891906112aa565b61050291906112c7565b156105545760405162461bcd60e51b815260206004820152601860248201527f446964206e6f742073656e6420656e6f756768206574682e000000000000000060448201526064015b60405180910390fd5b60008051602061138f833981519152338360034260405161057894939291906112da565b60405180910390a181600360008282546105929190611300565b9091555060019392505050565b336000908152600b602052604090205460ff1661060c5760405162461bcd60e51b815260206004820152602560248201527f6f6e6c7920666163746f727920636f6e7472616374732063616e20626f72726f6044820152640ee40cae8d60db1b606482015260840161054b565b60035481111561065e5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420456e6f7567682065746820746f20626f72726f770000000000000000604482015260640161054b565b600081116106a05760405162461bcd60e51b815260206004820152600f60248201526e043616e6e6f7420626f72726f77203608c1b604482015260640161054b565b60075460ff166106f25760405162461bcd60e51b815260206004820152601960248201527f426f72726f77696e67206973206e6f7420656e61626c65642e00000000000000604482015260640161054b565b6005548111156107445760405162461bcd60e51b815260206004820152601760248201527f43616e277420626f72726f772074686174206d7563682e000000000000000000604482015260640161054b565b806003600082825461075691906112c7565b909155505060065433906108fc9061076e90846112aa565b6040518115909202916000818181858888f19350505050158015610796573d6000803e3d6000fd5b5060008051602061138f83398151915233826002426040516107bb94939291906112da565b60405180910390a150565b6000546001600160a01b031633146107f05760405162461bcd60e51b815260040161054b90611313565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610829573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146108575760405162461bcd60e51b815260040161054b90611313565b60005460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101839052839182169063a9059cbb906044016020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611333565b50505050565b6000546001600160a01b031633146108ff5760405162461bcd60e51b815260040161054b90611313565b6001600160a01b0382166000818152600b6020908152604091829020805460ff19168515159081179091558251938452908301527f6e9405c770a78f8ef613ee6dc1b86a9493155fe9c174640f8467293b6a2c6b85910160405180910390a15050565b336000908152600860205260409020548111156109c15760405162461bcd60e51b815260206004820152601b60248201527f596f7520446964206e6f74206c656e642074686174206d7563682e0000000000604482015260640161054b565b60008111610a045760405162461bcd60e51b815260206004820152601060248201526f21b0b73a103bb4ba34323930bb90181760811b604482015260640161054b565b600354811115610a565760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f7567682065746820617661696c61626c652e00000000000000604482015260640161054b565b33600090815260086020526040902054819003610b5e57336000818152600a6020908152604080832054600454845260099092529091205490916001600160a01b03909116908114610b1557336000908152600a602090815260408083208390556001600160a01b038416808452818420869055858452600990925280832080546001600160a01b031990811690931790556004805484529083208054909216909155805460019290610b0a9084906112c7565b90915550610b5b9050565b336000908152600a602090815260408083208390558483526009909152812080546001600160a01b03191690556004805460019290610b559084906112c7565b90915550505b50505b3360009081526008602052604081208054839290610b7d9084906112c7565b925050819055508060036000828254610b9691906112c7565b925050819055508060026000828254610baf91906112c7565b909155505060065433906108fc90610bc790846112aa565b6040518115909202916000818181858888f19350505050158015610bef573d6000803e3d6000fd5b5060008051602061138f83398151915233826004426040516107bb94939291906112da565b60008034118015610c2f5750600654610c2d9034611366565b155b610c735760405162461bcd60e51b815260206004820152601560248201527427b7363c9039b2b73210333ab6361032ba3432b91760591b604482015260640161054b565b336000908152600a60205260408120549003610d0857600454610c97906001611300565b336000818152600a60205260408120929092556004549091600991610cbd906001611300565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160046000828254610d029190611300565b90915550505b600060065434610d18919061137a565b905060008051602061138f8339815191523382600142604051610d3e94939291906112da565b60405180910390a18060026000828254610d589190611300565b90915550503360009081526008602052604081208054839290610d7c908490611300565b9250508190555080600360008282546105929190611300565b6000546001600160a01b03163314610dbf5760405162461bcd60e51b815260040161054b90611313565b6007805460ff1916911515919091179055565b60008034118015610ded5750600654610deb9034611366565b155b610e315760405162461bcd60e51b815260206004820152601560248201527427b7363c9039b2b73210333ab6361032ba3432b91760591b604482015260640161054b565b6001600160a01b0382166000908152600a60205260408120549003610ed857600454610e5e906001611300565b6001600160a01b0383166000908152600a60205260408120919091556004548391600991610e8d906001611300565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160046000828254610ed29190611300565b90915550505b600060065434610ee8919061137a565b905060008051602061138f8339815191528382600142604051610f0e94939291906112da565b60405180910390a18060026000828254610f289190611300565b90915550506001600160a01b03831660009081526008602052604081208054839290610f55908490611300565b925050819055508060036000828254610f6e9190611300565b909155506001949350505050565b6000546001600160a01b03163314610fa65760405162461bcd60e51b815260040161054b90611313565b600555565b6000546001600160a01b03163314610fd55760405162461bcd60e51b815260040161054b90611313565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146110265760405162461bcd60e51b815260040161054b90611313565b60065460035461103691906112aa565b471161107d5760405162461bcd60e51b81526020600482015260166024820152750a8d0cae4ca40d2e640dcde40caf0c6cae6e640cae8d60531b604482015260640161054b565b600060065460035461108f91906112aa565b61109990476112c7565b600080546040519293506001600160a01b03169183156108fc0291849190818181858888f19350505050158015610829573d6000803e3d6000fd5b6000546001600160a01b031633146110fe5760405162461bcd60e51b815260040161054b90611313565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146111495760405162461bcd60e51b815260040161054b90611313565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616391016107bb565b6000602082840312156111c157600080fd5b5035919050565b6001600160a01b03811681146111dd57600080fd5b50565b6000602082840312156111f257600080fd5b81356111fd816111c8565b9392505050565b6000806040838503121561121757600080fd5b8235611222816111c8565b946020939093013593505050565b80151581146111dd57600080fd5b6000806040838503121561125157600080fd5b823561125c816111c8565b9150602083013561126c81611230565b809150509250929050565b60006020828403121561128957600080fd5b81356111fd81611230565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176112c1576112c1611294565b92915050565b818103818111156112c1576112c1611294565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b808201808211156112c1576112c1611294565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60006020828403121561134557600080fd5b81516111fd81611230565b634e487b7160e01b600052601260045260246000fd5b60008261137557611375611350565b500690565b60008261138957611389611350565b50049056feb3169f5272db55512699bd23c86f5a9277e67a2e62daf99791ce448b56527ac8a2646970667358221220e24d42948215862b6d2ef406d68376908af38d2f23026c8fff13e6bf9a371b1264736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80637263488d116100d1578063aed4c5a21161008a578063e551d11d11610064578063e551d11d14610458578063f0b37c041461046e578063f2fde38b1461048e578063fe9fbb80146104ae57600080fd5b8063aed4c5a214610410578063b6a5d7de14610430578063c0358bae1461045057600080fd5b80637263488d1461037f578063786186c3146103925780638c4dc3671461039a578063909f36de146103ba57806394283552146103d0578063a0197a68146103e357600080fd5b80632f54bf6e1161013e57806333f3d6281161011857806333f3d628146102f55780633cbc76ab14610315578063671ffb871461033557806370a720b81461036557600080fd5b80632f54bf6e1461028357806330ca1387146102b2578063337baf8f146102c857600080fd5b806305d9b5ec1461019157806308554273146101b95780631073e3e5146101db57806313997e66146101ff5780631d8442201461024d5780632e1a7d4d1461026357600080fd5b3661018c57005b600080fd5b6101a461019f3660046111af565b6104e7565b60405190151581526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046111af565b61059f565b005b3480156101e757600080fd5b506101f160035481565b6040519081526020016101b0565b34801561020b57600080fd5b5061023561021a3660046111af565b6009602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561025957600080fd5b506101f160025481565b34801561026f57600080fd5b506101d961027e3660046111af565b6107c6565b34801561028f57600080fd5b506101a461029e3660046111e0565b6000546001600160a01b0391821691161490565b3480156102be57600080fd5b506101f160065481565b3480156102d457600080fd5b506101f16102e33660046111e0565b60086020526000908152604090205481565b34801561030157600080fd5b506101d9610310366004611204565b61082d565b34801561032157600080fd5b506101d961033036600461123e565b6108d5565b34801561034157600080fd5b506101a46103503660046111e0565b600b6020526000908152604090205460ff1681565b34801561037157600080fd5b506007546101a49060ff1681565b6101d961038d3660046111af565b610962565b6101a4610c14565b3480156103a657600080fd5b506101d96103b5366004611277565b610d95565b3480156103c657600080fd5b506101f160045481565b6101a46103de3660046111e0565b610dd2565b3480156103ef57600080fd5b506101f16103fe3660046111e0565b600a6020526000908152604090205481565b34801561041c57600080fd5b506101d961042b3660046111af565b610f7c565b34801561043c57600080fd5b506101d961044b3660046111e0565b610fab565b6101d9610ffc565b34801561046457600080fd5b506101f160055481565b34801561047a57600080fd5b506101d96104893660046111e0565b6110d4565b34801561049a57600080fd5b506101d96104a93660046111e0565b61111f565b3480156104ba57600080fd5b506101a46104c93660046111e0565b6001600160a01b031660009081526001602052604090205460ff1690565b600034600654836104f891906112aa565b61050291906112c7565b156105545760405162461bcd60e51b815260206004820152601860248201527f446964206e6f742073656e6420656e6f756768206574682e000000000000000060448201526064015b60405180910390fd5b60008051602061138f833981519152338360034260405161057894939291906112da565b60405180910390a181600360008282546105929190611300565b9091555060019392505050565b336000908152600b602052604090205460ff1661060c5760405162461bcd60e51b815260206004820152602560248201527f6f6e6c7920666163746f727920636f6e7472616374732063616e20626f72726f6044820152640ee40cae8d60db1b606482015260840161054b565b60035481111561065e5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420456e6f7567682065746820746f20626f72726f770000000000000000604482015260640161054b565b600081116106a05760405162461bcd60e51b815260206004820152600f60248201526e043616e6e6f7420626f72726f77203608c1b604482015260640161054b565b60075460ff166106f25760405162461bcd60e51b815260206004820152601960248201527f426f72726f77696e67206973206e6f7420656e61626c65642e00000000000000604482015260640161054b565b6005548111156107445760405162461bcd60e51b815260206004820152601760248201527f43616e277420626f72726f772074686174206d7563682e000000000000000000604482015260640161054b565b806003600082825461075691906112c7565b909155505060065433906108fc9061076e90846112aa565b6040518115909202916000818181858888f19350505050158015610796573d6000803e3d6000fd5b5060008051602061138f83398151915233826002426040516107bb94939291906112da565b60405180910390a150565b6000546001600160a01b031633146107f05760405162461bcd60e51b815260040161054b90611313565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610829573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146108575760405162461bcd60e51b815260040161054b90611313565b60005460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101839052839182169063a9059cbb906044016020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf9190611333565b50505050565b6000546001600160a01b031633146108ff5760405162461bcd60e51b815260040161054b90611313565b6001600160a01b0382166000818152600b6020908152604091829020805460ff19168515159081179091558251938452908301527f6e9405c770a78f8ef613ee6dc1b86a9493155fe9c174640f8467293b6a2c6b85910160405180910390a15050565b336000908152600860205260409020548111156109c15760405162461bcd60e51b815260206004820152601b60248201527f596f7520446964206e6f74206c656e642074686174206d7563682e0000000000604482015260640161054b565b60008111610a045760405162461bcd60e51b815260206004820152601060248201526f21b0b73a103bb4ba34323930bb90181760811b604482015260640161054b565b600354811115610a565760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f7567682065746820617661696c61626c652e00000000000000604482015260640161054b565b33600090815260086020526040902054819003610b5e57336000818152600a6020908152604080832054600454845260099092529091205490916001600160a01b03909116908114610b1557336000908152600a602090815260408083208390556001600160a01b038416808452818420869055858452600990925280832080546001600160a01b031990811690931790556004805484529083208054909216909155805460019290610b0a9084906112c7565b90915550610b5b9050565b336000908152600a602090815260408083208390558483526009909152812080546001600160a01b03191690556004805460019290610b559084906112c7565b90915550505b50505b3360009081526008602052604081208054839290610b7d9084906112c7565b925050819055508060036000828254610b9691906112c7565b925050819055508060026000828254610baf91906112c7565b909155505060065433906108fc90610bc790846112aa565b6040518115909202916000818181858888f19350505050158015610bef573d6000803e3d6000fd5b5060008051602061138f83398151915233826004426040516107bb94939291906112da565b60008034118015610c2f5750600654610c2d9034611366565b155b610c735760405162461bcd60e51b815260206004820152601560248201527427b7363c9039b2b73210333ab6361032ba3432b91760591b604482015260640161054b565b336000908152600a60205260408120549003610d0857600454610c97906001611300565b336000818152600a60205260408120929092556004549091600991610cbd906001611300565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160046000828254610d029190611300565b90915550505b600060065434610d18919061137a565b905060008051602061138f8339815191523382600142604051610d3e94939291906112da565b60405180910390a18060026000828254610d589190611300565b90915550503360009081526008602052604081208054839290610d7c908490611300565b9250508190555080600360008282546105929190611300565b6000546001600160a01b03163314610dbf5760405162461bcd60e51b815260040161054b90611313565b6007805460ff1916911515919091179055565b60008034118015610ded5750600654610deb9034611366565b155b610e315760405162461bcd60e51b815260206004820152601560248201527427b7363c9039b2b73210333ab6361032ba3432b91760591b604482015260640161054b565b6001600160a01b0382166000908152600a60205260408120549003610ed857600454610e5e906001611300565b6001600160a01b0383166000908152600a60205260408120919091556004548391600991610e8d906001611300565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160046000828254610ed29190611300565b90915550505b600060065434610ee8919061137a565b905060008051602061138f8339815191528382600142604051610f0e94939291906112da565b60405180910390a18060026000828254610f289190611300565b90915550506001600160a01b03831660009081526008602052604081208054839290610f55908490611300565b925050819055508060036000828254610f6e9190611300565b909155506001949350505050565b6000546001600160a01b03163314610fa65760405162461bcd60e51b815260040161054b90611313565b600555565b6000546001600160a01b03163314610fd55760405162461bcd60e51b815260040161054b90611313565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146110265760405162461bcd60e51b815260040161054b90611313565b60065460035461103691906112aa565b471161107d5760405162461bcd60e51b81526020600482015260166024820152750a8d0cae4ca40d2e640dcde40caf0c6cae6e640cae8d60531b604482015260640161054b565b600060065460035461108f91906112aa565b61109990476112c7565b600080546040519293506001600160a01b03169183156108fc0291849190818181858888f19350505050158015610829573d6000803e3d6000fd5b6000546001600160a01b031633146110fe5760405162461bcd60e51b815260040161054b90611313565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146111495760405162461bcd60e51b815260040161054b90611313565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616391016107bb565b6000602082840312156111c157600080fd5b5035919050565b6001600160a01b03811681146111dd57600080fd5b50565b6000602082840312156111f257600080fd5b81356111fd816111c8565b9392505050565b6000806040838503121561121757600080fd5b8235611222816111c8565b946020939093013593505050565b80151581146111dd57600080fd5b6000806040838503121561125157600080fd5b823561125c816111c8565b9150602083013561126c81611230565b809150509250929050565b60006020828403121561128957600080fd5b81356111fd81611230565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176112c1576112c1611294565b92915050565b818103818111156112c1576112c1611294565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b808201808211156112c1576112c1611294565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60006020828403121561134557600080fd5b81516111fd81611230565b634e487b7160e01b600052601260045260246000fd5b60008261137557611375611350565b500690565b60008261138957611389611350565b50049056feb3169f5272db55512699bd23c86f5a9277e67a2e62daf99791ce448b56527ac8a2646970667358221220e24d42948215862b6d2ef406d68376908af38d2f23026c8fff13e6bf9a371b1264736f6c63430008150033

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.