Overview
ETH Balance
0.01285145 ETH
Eth Value
$42.26 (@ $3,288.42/ETH)More Info
Private Name Tags
ContractCreator
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 15123212 | 748 days ago | IN | 0 ETH | 0.0029194 | ||||
Withdraw | 15122770 | 748 days ago | IN | 0 ETH | 0.00134836 | ||||
Withdraw | 15118745 | 748 days ago | IN | 0 ETH | 0.00049266 | ||||
Withdraw | 15118742 | 748 days ago | IN | 0 ETH | 0.00071839 | ||||
Withdraw | 15118740 | 748 days ago | IN | 0 ETH | 0.00069565 | ||||
Withdraw | 15118428 | 748 days ago | IN | 0 ETH | 0.00102133 | ||||
Transfer | 15118412 | 748 days ago | IN | 0.7 ETH | 0.00040734 | ||||
Withdraw | 15117926 | 749 days ago | IN | 0 ETH | 0.00069055 | ||||
Withdraw | 15117922 | 749 days ago | IN | 0 ETH | 0.00093242 | ||||
Transfer | 15117843 | 749 days ago | IN | 0.05 ETH | 0.00067864 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15124357 | 748 days ago | 0.00075 ETH | ||||
15123212 | 748 days ago | 0.15554525 ETH | ||||
15122770 | 748 days ago | 0.14554525 ETH | ||||
15119399 | 748 days ago | 0.0006 ETH | ||||
15119362 | 748 days ago | 0.0006 ETH | ||||
15119336 | 748 days ago | 0.001725 ETH | ||||
15119332 | 748 days ago | 0.0004275 ETH | ||||
15119257 | 748 days ago | 0.00171 ETH | ||||
15119239 | 748 days ago | 0.0004275 ETH | ||||
15119199 | 748 days ago | 0.0005925 ETH | ||||
15119196 | 748 days ago | 0.0004275 ETH | ||||
15119194 | 748 days ago | 0.0004425 ETH | ||||
15119191 | 748 days ago | 0.0004575 ETH | ||||
15119188 | 748 days ago | 0.000525 ETH | ||||
15119173 | 748 days ago | 0.0004275 ETH | ||||
15119149 | 748 days ago | 0.0004275 ETH | ||||
15119147 | 748 days ago | 0.00075 ETH | ||||
15119134 | 748 days ago | 0.0006 ETH | ||||
15119127 | 748 days ago | 0.000525 ETH | ||||
15118935 | 748 days ago | 0.0004275 ETH | ||||
15118802 | 748 days ago | 0.0004275 ETH | ||||
15118780 | 748 days ago | 0.00075 ETH | ||||
15118778 | 748 days ago | 0.00027675 ETH | ||||
15118768 | 748 days ago | 0.0004275 ETH | ||||
15118763 | 748 days ago | 0.00036675 ETH |
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)
///////////////////////////////////////////////////////////////////////////////////// // // 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(); } }
// 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; } } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"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"}]
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,288.42 | 0.0129 | $42.26 |
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.