More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
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 19 from a total of 19 withdrawals (32.367483123 ETH withdrawn)
Validator Index | Block | Age | Amount |
---|---|---|---|
782892 | 18718669 | 488 days ago | 32.008257478 ETH |
782892 | 18664295 | 496 days ago | 0.017145525 ETH |
782892 | 18610310 | 503 days ago | 0.017227251 ETH |
782892 | 18556218 | 511 days ago | 0.017007139 ETH |
782892 | 18502818 | 518 days ago | 0.016868021 ETH |
782892 | 18450078 | 526 days ago | 0.016924961 ETH |
782892 | 18397536 | 533 days ago | 0.016803915 ETH |
782892 | 18345313 | 540 days ago | 0.01660063 ETH |
782892 | 18293897 | 548 days ago | 0.016433933 ETH |
782892 | 18243523 | 555 days ago | 0.016325646 ETH |
782892 | 18194138 | 561 days ago | 0.016035377 ETH |
782892 | 18145865 | 568 days ago | 0.015935764 ETH |
782892 | 18098555 | 575 days ago | 0.054802439 ETH |
782892 | 18052185 | 581 days ago | 0.015569541 ETH |
782892 | 18006697 | 588 days ago | 0.015436896 ETH |
782892 | 17962124 | 594 days ago | 0.053217665 ETH |
782892 | 17918425 | 600 days ago | 0.015059161 ETH |
782892 | 17875580 | 606 days ago | 0.014898853 ETH |
782892 | 17833487 | 612 days ago | 0.006932928 ETH |
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.