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
|
|||||
---|---|---|---|---|---|---|---|---|---|
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 31 withdrawals (32.555091441 ETH withdrawn)
Validator Index | Block | Age | Amount |
---|---|---|---|
888107 | 19833140 | 342 days ago | 32 ETH |
888107 | 19770912 | 351 days ago | 0.016109112 ETH |
888107 | 19709345 | 359 days ago | 0.018261261 ETH |
888107 | 19648152 | 368 days ago | 0.018299747 ETH |
888107 | 19587203 | 376 days ago | 0.018212604 ETH |
888107 | 19526056 | 385 days ago | 0.018215273 ETH |
888107 | 19465084 | 393 days ago | 0.018256868 ETH |
888107 | 19404078 | 402 days ago | 0.018333103 ETH |
888107 | 19343437 | 411 days ago | 0.018158922 ETH |
888107 | 19283768 | 419 days ago | 0.017877186 ETH |
888107 | 19225293 | 427 days ago | 0.017731455 ETH |
888107 | 19167905 | 435 days ago | 0.017556811 ETH |
888107 | 19111543 | 443 days ago | 0.017411937 ETH |
888107 | 19055863 | 451 days ago | 0.017403292 ETH |
888107 | 19000567 | 459 days ago | 0.059764068 ETH |
888107 | 18944805 | 466 days ago | 0.017420273 ETH |
888107 | 18889559 | 474 days ago | 0.017366662 ETH |
888107 | 18834500 | 482 days ago | 0.01736657 ETH |
888107 | 18779638 | 490 days ago | 0.017304972 ETH |
888107 | 18724944 | 497 days ago | 0.017213064 ETH |
888107 | 18670702 | 505 days ago | 0.017193865 ETH |
888107 | 18616721 | 512 days ago | 0.017222349 ETH |
888107 | 18562650 | 520 days ago | 0.01703689 ETH |
888107 | 18509258 | 527 days ago | 0.016906874 ETH |
888107 | 18456532 | 535 days ago | 0.016931349 ETH |
Multichain Portfolio | 34 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.