ETH Price: $1,598.34 (-1.60%)
Gas: 0.39 Gwei
 

Overview

ETH Balance

0.92716069696869 ETH

Eth Value

$1,481.92 (@ $1,598.34/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw151209952022-07-11 11:02:341009 days ago1657537354IN
0x157326f8...3b2bCAa01
0 ETH0.0007310917.07444794
Withdraw151209902022-07-11 11:01:581009 days ago1657537318IN
0x157326f8...3b2bCAa01
0 ETH0.0010626817.73618216
Withdraw150383672022-06-28 6:33:211022 days ago1656398001IN
0x157326f8...3b2bCAa01
0 ETH0.0012390628.93803196
Withdraw150178712022-06-24 10:38:031026 days ago1656067083IN
0x157326f8...3b2bCAa01
0 ETH0.0009145415.26329401

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer184508412023-10-28 19:40:47535 days ago1698522047
0x157326f8...3b2bCAa01
0.002 ETH
Transfer184508102023-10-28 19:34:35535 days ago1698521675
0x157326f8...3b2bCAa01
0.002 ETH
Transfer184507932023-10-28 19:30:59535 days ago1698521459
0x157326f8...3b2bCAa01
0.002 ETH
Transfer177915962023-07-28 12:36:35627 days ago1690547795
0x157326f8...3b2bCAa01
0.000625 ETH
Transfer169720932023-04-04 0:41:35742 days ago1680568895
0x157326f8...3b2bCAa01
0.000045 ETH
Transfer169524112023-04-01 6:05:23745 days ago1680329123
0x157326f8...3b2bCAa01
0.000045 ETH
Transfer169523922023-04-01 6:01:35745 days ago1680328895
0x157326f8...3b2bCAa01
0.000045 ETH
Transfer168672202023-03-20 6:52:35757 days ago1679295155
0x157326f8...3b2bCAa01
0.0001 ETH
Transfer167433482023-03-02 20:50:23775 days ago1677790223
0x157326f8...3b2bCAa01
0.002 ETH
Transfer167011932023-02-24 22:37:47780 days ago1677278267
0x157326f8...3b2bCAa01
0.002075 ETH
Transfer165079122023-01-28 21:10:11807 days ago1674940211
0x157326f8...3b2bCAa01
0.002 ETH
Transfer164896322023-01-26 7:55:47810 days ago1674719747
0x157326f8...3b2bCAa01
0.002 ETH
Transfer164845292023-01-25 14:48:23811 days ago1674658103
0x157326f8...3b2bCAa01
0.001999 ETH
Transfer164415972023-01-19 14:58:11817 days ago1674140291
0x157326f8...3b2bCAa01
0.0024 ETH
Transfer164384792023-01-19 4:30:59817 days ago1674102659
0x157326f8...3b2bCAa01
0.002 ETH
Transfer164009992023-01-13 22:56:23822 days ago1673650583
0x157326f8...3b2bCAa01
0.002 ETH
Transfer163858622023-01-11 20:10:59825 days ago1673467859
0x157326f8...3b2bCAa01
0.00249 ETH
Transfer163849942023-01-11 17:14:23825 days ago1673457263
0x157326f8...3b2bCAa01
0.0035 ETH
Transfer163550492023-01-07 12:57:35829 days ago1673096255
0x157326f8...3b2bCAa01
0.0025 ETH
Transfer163534312023-01-07 7:31:23829 days ago1673076683
0x157326f8...3b2bCAa01
0.0064 ETH
Transfer163528302023-01-07 5:30:47829 days ago1673069447
0x157326f8...3b2bCAa01
0.0065 ETH
Transfer163493242023-01-06 17:46:59830 days ago1673027219
0x157326f8...3b2bCAa01
0.002222 ETH
Transfer163483442023-01-06 14:29:35830 days ago1673015375
0x157326f8...3b2bCAa01
0.00194 ETH
Transfer163461842023-01-06 7:14:47830 days ago1672989287
0x157326f8...3b2bCAa01
0.0016 ETH
Transfer163106232023-01-01 8:08:11835 days ago1672560491
0x157326f8...3b2bCAa01
0.018 ETH
View All Internal Transactions
Loading...
Loading

Minimal Proxy Contract for 0xbbe0558cde7e6044b350d0fe8ffb38accca13a77

Contract Name:
Buffer

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 2 : Buffer.sol
/////////////////////////////////////////////////////////////////////////////////////
//
//  SPDX-License-Identifier: MIT
//
//  ███    ███  ██████  ███    ██ ███████ ██    ██ ██████  ██ ██████  ███████
//  ████  ████ ██    ██ ████   ██ ██       ██  ██  ██   ██ ██ ██   ██ ██     
//  ██ ████ ██ ██    ██ ██ ██  ██ █████     ████   ██████  ██ ██████  █████  
//  ██  ██  ██ ██    ██ ██  ██ ██ ██         ██    ██      ██ ██      ██     
//  ██      ██  ██████  ██   ████ ███████    ██    ██      ██ ██      ███████
//
//  ██████  ██    ██ ███████ ███████ ███████ ██████  
//  ██   ██ ██    ██ ██      ██      ██      ██   ██ 
//  ██████  ██    ██ █████   █████   █████   ██████  
//  ██   ██ ██    ██ ██      ██      ██      ██   ██ 
//  ██████   ██████  ██      ██      ███████ ██   ██ 
//
//  https://moneypipe.xyz
//
/////////////////////////////////////////////////////////////////////////////////////
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
contract Buffer is Initializable {
  mapping (address => uint) public withdrawn;
  bytes32 public root;
  uint public totalReceived;
  function initialize(bytes32 _root) initializer public {
    root = _root;
  }
  receive () external payable {
    totalReceived += msg.value;
  }
  function withdraw(address account, uint256 amount, bytes32[] calldata proof) external payable {
    // 1. verify proof
    bytes32 hash = keccak256(abi.encodePacked(account, amount));
    for (uint256 i = 0; i < proof.length; i++) {
      bytes32 proofElement = proof[i];
      if (hash <= proofElement) {
        hash = _hash(hash, proofElement);
      } else {
        hash = _hash(proofElement, hash);
      }
    }
    require(hash == root, "1");
    // 2. calculate amount to withdraw based on "amount" (out of 1,000,000,000,000)
    uint payment = totalReceived * amount / 10**12 - withdrawn[account];
    withdrawn[account] += payment;
    _transfer(account, payment);
  }
  // memory optimization from: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3039
  function _hash(bytes32 a, bytes32 b) private pure returns (bytes32 value) {
    assembly {
      mstore(0x00, a)
      mstore(0x20, b)
      value := keccak256(0x00, 0x40)
    }
  }
  // adopted from https://github.com/lexDAO/Kali/blob/main/contracts/libraries/SafeTransferLib.sol
  error TransferFailed();
  function _transfer(address to, uint256 amount) internal {
    bool callStatus;
    assembly {
      callStatus := call(gas(), to, amount, 0, 0, 0, 0)
    }
    if (!callStatus) revert TransferFailed();
  }
}

File 2 of 2 : Initializable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
 * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an
 * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
 * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
 *
 * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as
 * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.
 *
 * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
 * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
 */
abstract contract Initializable {
    /**
     * @dev Indicates that the contract has been initialized.
     */
    bool private _initialized;

    /**
     * @dev Indicates that the contract is in the process of being initialized.
     */
    bool private _initializing;

    /**
     * @dev Modifier to protect an initializer function from being invoked twice.
     */
    modifier initializer() {
        require(_initializing || !_initialized, "Initializable: contract is already initialized");

        bool isTopLevelCall = !_initializing;
        if (isTopLevelCall) {
            _initializing = true;
            _initialized = true;
        }

        _;

        if (isTopLevelCall) {
            _initializing = false;
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

API
[{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"root","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

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
Loading...
Loading
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.