More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15276201 | 841 days ago | IN | 0.004045 ETH | 0.00132206 | ||||
Transfer | 14837255 | 913 days ago | IN | 0.045925 ETH | 0.00323204 | ||||
Transfer | 14791803 | 921 days ago | IN | 0.044515 ETH | 0.00260205 | ||||
Transfer | 14474810 | 971 days ago | IN | 0.04876603 ETH | 0.00308008 | ||||
Transfer | 14423090 | 979 days ago | IN | 0.06164 ETH | 0.00151666 | ||||
Transfer | 14391153 | 984 days ago | IN | 0.232795 ETH | 0.00214596 | ||||
Transfer | 14367321 | 987 days ago | IN | 0.01 ETH | 0.00182326 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16931071 | 605 days ago | 0.000007 ETH | ||||
16931071 | 605 days ago | 0.000014 ETH | ||||
16931071 | 605 days ago | 0.000014 ETH | ||||
16931071 | 605 days ago | 0.000021 ETH | ||||
16931071 | 605 days ago | 0.000014 ETH | ||||
16931071 | 605 days ago | 0.00007 ETH | ||||
16513125 | 663 days ago | 0.00005 ETH | ||||
16513125 | 663 days ago | 0.0001 ETH | ||||
16513125 | 663 days ago | 0.0001 ETH | ||||
16513125 | 663 days ago | 0.00015 ETH | ||||
16513125 | 663 days ago | 0.0001 ETH | ||||
16513125 | 663 days ago | 0.0005 ETH | ||||
16271484 | 697 days ago | 0.00016 ETH | ||||
16271484 | 697 days ago | 0.00032 ETH | ||||
16271484 | 697 days ago | 0.00032 ETH | ||||
16271484 | 697 days ago | 0.00048 ETH | ||||
16271484 | 697 days ago | 0.00032 ETH | ||||
16271484 | 697 days ago | 0.0016 ETH | ||||
16129714 | 717 days ago | 0.00005 ETH | ||||
16129714 | 717 days ago | 0.0001 ETH | ||||
16129714 | 717 days ago | 0.0001 ETH | ||||
16129714 | 717 days ago | 0.00015 ETH | ||||
16129714 | 717 days ago | 0.0001 ETH | ||||
16129714 | 717 days ago | 0.0005 ETH | ||||
16009198 | 734 days ago | 0.00007 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
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,417.14 | 0.002 | $6.83 |
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.