Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 6 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Dispatch | 21358246 | 108 days ago | 32.00458562 ETH | ||||
Dispatch | 21326105 | 112 days ago | 0.15502874 ETH | ||||
Dispatch | 20792639 | 187 days ago | 0.08446495 ETH | ||||
Dispatch | 20619538 | 211 days ago | 0.01903338 ETH | ||||
Dispatch | 20569450 | 218 days ago | 0.66362039 ETH | ||||
0x3d602d80 | 20569450 | 218 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Minimal Proxy Contract for 0x933fbfeb4ed1f111d12a39c2ab48657e6fc875c6
Contract Name:
FeeRecipient
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526//SPDX-License-Identifier: BUSL-1.1pragma solidity >=0.8.10;import "./interfaces/IFeeDispatcher.sol";contract FeeRecipient {/// @notice Constructor replay preventionbool internal initialized;/// @notice Address where funds are sent to be dispatchedIFeeDispatcher internal dispatcher;/// @notice Public Key root assigned to this receiverbytes32 internal publicKeyRoot;error AlreadyInitialized();/// @notice Initializes the receiver/// @param _dispatcher Address that will handle the fee dispatching/// @param _publicKeyRoot Public Key root assigned to this receiverfunction init(address _dispatcher, bytes32 _publicKeyRoot) external {if (initialized) {revert AlreadyInitialized();}initialized = true;dispatcher = IFeeDispatcher(_dispatcher);publicKeyRoot = _publicKeyRoot;}
1234567891011121314151617181920212223242526//SPDX-License-Identifier: BUSL-1.1pragma solidity >=0.8.10;import "./libs/DispatchersStorageLib.sol";import "./interfaces/IStakingContractFeeDetails.sol";import "./interfaces/IFeeDispatcher.sol";/// @title Consensus Layer Fee Recipient/// @author Kiln/// @notice This contract can be used to receive fees from a validator and split them with a node operatorcontract ConsensusLayerFeeDispatcher is IFeeDispatcher {using DispatchersStorageLib for bytes32;event Withdrawal(address indexed withdrawer,address indexed feeRecipient,bytes32 pubKeyRoot,uint256 rewards,uint256 nodeOperatorFee,uint256 treasuryFee);error TreasuryReceiveError(bytes errorData);error FeeRecipientReceiveError(bytes errorData);error WithdrawerReceiveError(bytes errorData);error ZeroBalanceWithdrawal();
1234567891011121314151617181920212223242526//SPDX-License-Identifier: MITpragma solidity >=0.8.10;library DispatchersStorageLib {function getUint256(bytes32 position) internal view returns (uint256 data) {assembly {data := sload(position)}}function setUint256(bytes32 position, uint256 data) internal {assembly {sstore(position, data)}}function getAddress(bytes32 position) internal view returns (address data) {assembly {data := sload(position)}}function setAddress(bytes32 position, address data) internal {assembly {sstore(position, data)}
1234567891011121314// SPDX-License-Identifier: MITpragma solidity >=0.8.10;interface IStakingContractFeeDetails {function getWithdrawerFromPublicKeyRoot(bytes32 _publicKeyRoot) external view returns (address);function getTreasury() external view returns (address);function getOperatorFeeRecipient(bytes32 pubKeyRoot) external view returns (address);function getGlobalFee() external view returns (uint256);function getOperatorFee() external view returns (uint256);}
12345678// SPDX-License-Identifier: MITpragma solidity >=0.8.10;interface IFeeDispatcher {function dispatch(bytes32 _publicKeyRoot) external payable;function getWithdrawer(bytes32 _publicKeyRoot) external view returns (address);}
1234567891011121314151617181920212223242526//SPDX-License-Identifier: BUSL-1.1pragma solidity >=0.8.10;import "./libs/DispatchersStorageLib.sol";import "./interfaces/IStakingContractFeeDetails.sol";import "./interfaces/IFeeDispatcher.sol";/// @title Execution Layer Fee Recipient/// @author Kiln/// @notice This contract can be used to receive fees from a validator and split them with a node operatorcontract ExecutionLayerFeeDispatcher is IFeeDispatcher {using DispatchersStorageLib for bytes32;event Withdrawal(address indexed withdrawer,address indexed feeRecipient,bytes32 pubKeyRoot,uint256 rewards,uint256 nodeOperatorFee,uint256 treasuryFee);error TreasuryReceiveError(bytes errorData);error FeeRecipientReceiveError(bytes errorData);error WithdrawerReceiveError(bytes errorData);error ZeroBalanceWithdrawal();
123456789101112131415161718{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","abi"]}},"metadata": {"useLiteralContent": true}}
Contract ABI
API[{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"getPublicKeyRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWithdrawer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dispatcher","type":"address"},{"internalType":"bytes32","name":"_publicKeyRoot","type":"bytes32"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Loading...
Loading
Loading...
Loading
Latest 25 from a total of 42 withdrawals (32.926733113 ETH withdrawn)
Validator Index | Block | Age | Amount |
---|---|---|---|
1074637 | 21348309 | 109 days ago | 32.004585626 ETH |
1074637 | 21281199 | 119 days ago | 0.019455678 ETH |
1074637 | 21214011 | 128 days ago | 0.019492311 ETH |
1074637 | 21146419 | 138 days ago | 0.019371226 ETH |
1074637 | 21079112 | 147 days ago | 0.019326915 ETH |
1074637 | 21012091 | 156 days ago | 0.019418476 ETH |
1074637 | 20944981 | 166 days ago | 0.019416399 ETH |
1074637 | 20877810 | 175 days ago | 0.019290833 ETH |
1074637 | 20811101 | 184 days ago | 0.01925691 ETH |
1074637 | 20744469 | 194 days ago | 0.065369841 ETH |
1074637 | 20678053 | 203 days ago | 0.019095118 ETH |
1074637 | 20612012 | 212 days ago | 0.019033386 ETH |
1074637 | 20546106 | 221 days ago | 0.019161957 ETH |
1074637 | 20480272 | 231 days ago | 0.018878209 ETH |
1074637 | 20415021 | 240 days ago | 0.018844862 ETH |
1074637 | 20350445 | 249 days ago | 0.018883934 ETH |
1074637 | 20286003 | 258 days ago | 0.018951319 ETH |
1074637 | 20221617 | 267 days ago | 0.06404433 ETH |
1074637 | 20157482 | 276 days ago | 0.018745582 ETH |
1074637 | 20093816 | 285 days ago | 0.018540945 ETH |
1074637 | 20030783 | 293 days ago | 0.018448436 ETH |
1074637 | 19968183 | 302 days ago | 0.018462697 ETH |
1074637 | 19905474 | 311 days ago | 0.018522916 ETH |
1074637 | 19842832 | 320 days ago | 0.0630895 ETH |
1074637 | 19780716 | 328 days ago | 0.018400506 ETH |
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.