Overview
ETH Balance
0 ETH
Eth Value
$0.00More 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 | 19695948 | 325 days ago | 32 ETH | ||||
Dispatch | 19634285 | 333 days ago | 0.16281667 ETH | ||||
Dispatch | 19625431 | 334 days ago | 0.14533692 ETH | ||||
Dispatch | 19104783 | 408 days ago | 0.40080227 ETH | ||||
Dispatch | 17870680 | 580 days ago | 0.94034691 ETH | ||||
0x3d602d80 | 17870680 | 580 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 58 withdrawals (33.503965856 ETH withdrawn)
Validator Index | Block | Age | Amount |
---|---|---|---|
473754 | 19690443 | 325 days ago | 32 ETH |
473754 | 19629066 | 334 days ago | 0.017479746 ETH |
473754 | 19567662 | 343 days ago | 0.018445539 ETH |
473754 | 19506239 | 351 days ago | 0.018446119 ETH |
473754 | 19444756 | 360 days ago | 0.018548088 ETH |
473754 | 19383334 | 368 days ago | 0.018122389 ETH |
473754 | 19322538 | 377 days ago | 0.018212465 ETH |
473754 | 19262643 | 385 days ago | 0.017974155 ETH |
473754 | 19203856 | 394 days ago | 0.017803257 ETH |
473754 | 19146405 | 402 days ago | 0.017784917 ETH |
473754 | 19089613 | 410 days ago | 0.017500634 ETH |
473754 | 19033724 | 417 days ago | 0.017629552 ETH |
473754 | 18977622 | 425 days ago | 0.017441044 ETH |
473754 | 18921776 | 433 days ago | 0.017466212 ETH |
473754 | 18866419 | 441 days ago | 0.017433908 ETH |
473754 | 18811158 | 449 days ago | 0.017435041 ETH |
473754 | 18755980 | 456 days ago | 0.017430452 ETH |
473754 | 18700939 | 464 days ago | 0.017354246 ETH |
473754 | 18646354 | 472 days ago | 0.017221278 ETH |
473754 | 18592229 | 479 days ago | 0.017204614 ETH |
473754 | 18538098 | 487 days ago | 0.017087806 ETH |
473754 | 18484679 | 494 days ago | 0.016948995 ETH |
473754 | 18431849 | 502 days ago | 0.016880044 ETH |
473754 | 18379266 | 509 days ago | 0.016761842 ETH |
473754 | 18326985 | 517 days ago | 0.016638782 ETH |
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.