Overview
ETH Balance
186 wei
Eth Value
Less Than $0.01 (@ $3,706.28/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00042875 ETH | ||||
16001133 | 742 days ago | 0.00042875 ETH | ||||
16001133 | 742 days ago | 0.001715 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00010718 ETH | ||||
16001133 | 742 days ago | 0.00042875 ETH | ||||
16001133 | 742 days ago | 0.00042875 ETH | ||||
16001133 | 742 days ago | 0.001715 ETH | ||||
15892332 | 757 days ago | 0.00011125 ETH | ||||
15892332 | 757 days ago | 0.00011125 ETH | ||||
15892332 | 757 days ago | 0.00011125 ETH |
Loading...
Loading
Minimal Proxy Contract for 0x81b1c2521647ded838c9a746a2922cb8c6347a64
Contract Name:
Stream
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 Stream is Initializable { Member[] private _members; struct Member { address account; uint32 value; uint32 total; } function initialize(Member[] calldata m) initializer public { for(uint i=0; i<m.length; i++) { _members.push(m[i]); } } receive () external payable { require(_members.length > 0, "1"); for(uint i=0; i<_members.length; i++) { Member memory member = _members[i]; _transfer(member.account, msg.value * member.value / member.total); } } function members() external view returns (Member[] memory) { return _members; } // 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":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"value","type":"uint32"},{"internalType":"uint32","name":"total","type":"uint32"}],"internalType":"struct Stream.Member[]","name":"m","type":"tuple[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"members","outputs":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"value","type":"uint32"},{"internalType":"uint32","name":"total","type":"uint32"}],"internalType":"struct Stream.Member[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.