Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 8 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Dispatch | 21134003 | 144 days ago | 32.04929768 ETH | ||||
Dispatch | 20975933 | 167 days ago | 0.19126564 ETH | ||||
Dispatch | 20289890 | 262 days ago | 0.05662466 ETH | ||||
Dispatch | 20101748 | 289 days ago | 0.09282711 ETH | ||||
Dispatch | 19781443 | 333 days ago | 0.03661435 ETH | ||||
Dispatch | 19672286 | 349 days ago | 0.23340969 ETH | ||||
Dispatch | 19187110 | 417 days ago | 0.86187672 ETH | ||||
0x3d602d80 | 19187110 | 417 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 68 withdrawals (33.521915888 ETH withdrawn)
Validator Index | Block | Age | Amount |
---|---|---|---|
669744 | 21129034 | 145 days ago | 32.010383227 ETH |
669744 | 21061511 | 155 days ago | 0.019434482 ETH |
669744 | 20994251 | 164 days ago | 0.019479977 ETH |
669744 | 20926976 | 173 days ago | 0.019398932 ETH |
669744 | 20859759 | 183 days ago | 0.019334212 ETH |
669744 | 20792964 | 192 days ago | 0.019281517 ETH |
669744 | 20726219 | 201 days ago | 0.019213148 ETH |
669744 | 20659724 | 211 days ago | 0.019127294 ETH |
669744 | 20593617 | 220 days ago | 0.019114363 ETH |
669744 | 20527614 | 229 days ago | 0.019160101 ETH |
669744 | 20461673 | 238 days ago | 0.019007182 ETH |
669744 | 20396317 | 247 days ago | 0.018899326 ETH |
669744 | 20331659 | 256 days ago | 0.01872957 ETH |
669744 | 20267095 | 265 days ago | 0.018950074 ETH |
669744 | 20202648 | 274 days ago | 0.018800543 ETH |
669744 | 20138415 | 283 days ago | 0.01887405 ETH |
669744 | 20074586 | 292 days ago | 0.018729079 ETH |
669744 | 20011349 | 301 days ago | 0.018636882 ETH |
669744 | 19948545 | 310 days ago | 0.018543896 ETH |
669744 | 19885589 | 319 days ago | 0.018447209 ETH |
669744 | 19822814 | 328 days ago | 0.018470048 ETH |
669744 | 19760519 | 336 days ago | 0.018289198 ETH |
669744 | 19698855 | 345 days ago | 0.018325155 ETH |
669744 | 19637580 | 353 days ago | 0.01836956 ETH |
669744 | 19576372 | 362 days ago | 0.062455421 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.