ETH Price: $1,841.67 (+1.80%)

Contract

0xf7Ba0F5E36fc3CF22840Fca1A6947e1CC9C36F38
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
Age
From
To

There are no matching entries

8 Internal Transactions found.

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
Age
From
To
Dispatch211340032024-11-07 6:31:59144 days ago1730961119
0xf7Ba0F5E...CC9C36F38
32.04929768 ETH
Dispatch209759332024-10-16 5:07:59167 days ago1729055279
0xf7Ba0F5E...CC9C36F38
0.19126564 ETH
Dispatch202898902024-07-12 10:41:35262 days ago1720780895
0xf7Ba0F5E...CC9C36F38
0.05662466 ETH
Dispatch201017482024-06-16 3:45:35289 days ago1718509535
0xf7Ba0F5E...CC9C36F38
0.09282711 ETH
Dispatch197814432024-05-02 9:08:11333 days ago1714640891
0xf7Ba0F5E...CC9C36F38
0.03661435 ETH
Dispatch196722862024-04-17 2:43:59349 days ago1713321839
0xf7Ba0F5E...CC9C36F38
0.23340969 ETH
Dispatch191871102024-02-09 0:49:23417 days ago1707439763
0xf7Ba0F5E...CC9C36F38
0.86187672 ETH
0x3d602d80191871102024-02-09 0:49:23417 days ago1707439763
 Contract Creation
0 ETH
Loading...
Loading

Minimal Proxy Contract for 0x933fbfeb4ed1f111d12a39c2ab48657e6fc875c6

Contract Name:
FeeRecipient

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, BSL 1.1 license

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 6 : FeeRecipient.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//SPDX-License-Identifier: BUSL-1.1
pragma solidity >=0.8.10;
import "./interfaces/IFeeDispatcher.sol";
contract FeeRecipient {
/// @notice Constructor replay prevention
bool internal initialized;
/// @notice Address where funds are sent to be dispatched
IFeeDispatcher internal dispatcher;
/// @notice Public Key root assigned to this receiver
bytes32 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 receiver
function init(address _dispatcher, bytes32 _publicKeyRoot) external {
if (initialized) {
revert AlreadyInitialized();
}
initialized = true;
dispatcher = IFeeDispatcher(_dispatcher);
publicKeyRoot = _publicKeyRoot;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 6 : ConsensusLayerFeeDispatcher.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//SPDX-License-Identifier: BUSL-1.1
pragma 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 operator
contract 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();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 6 : DispatchersStorageLib.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//SPDX-License-Identifier: MIT
pragma 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)
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 6 : IStakingContractFeeDetails.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: MIT
pragma 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);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 6 : IFeeDispatcher.sol
1
2
3
4
5
6
7
8
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.10;
interface IFeeDispatcher {
function dispatch(bytes32 _publicKeyRoot) external payable;
function getWithdrawer(bytes32 _publicKeyRoot) external view returns (address);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 6 : ExecutionLayerFeeDispatcher.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//SPDX-License-Identifier: BUSL-1.1
pragma 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 operator
contract 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();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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"}]

Block Age Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Age Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Latest 25 from a total of 68 withdrawals (33.521915888 ETH withdrawn)

Validator Index Block Age Amount
669744211290342024-11-06 13:54:11145 days ago173090125132.010383227 ETH
669744210615112024-10-28 3:40:47155 days ago17300868470.019434482 ETH
669744209942512024-10-18 18:30:35164 days ago17292762350.019479977 ETH
669744209269762024-10-09 8:55:47173 days ago17284641470.019398932 ETH
669744208597592024-09-30 0:03:47183 days ago17276546270.019334212 ETH
669744207929642024-09-20 16:21:59192 days ago17268493190.019281517 ETH
669744207262192024-09-11 8:36:23201 days ago17260437830.019213148 ETH
669744206597242024-09-02 1:53:35211 days ago17252420150.019127294 ETH
669744205936172024-08-23 20:13:59220 days ago17244440390.019114363 ETH
669744205276142024-08-14 14:57:59229 days ago17236474790.019160101 ETH
669744204616732024-08-05 10:09:11238 days ago17228525510.019007182 ETH
669744203963172024-07-27 7:13:59247 days ago17220644390.018899326 ETH
669744203316592024-07-18 6:36:35256 days ago17212845950.01872957 ETH
669744202670952024-07-09 6:17:35265 days ago17205058550.018950074 ETH
669744202026482024-06-30 6:15:47274 days ago17197281470.018800543 ETH
669744201384152024-06-21 6:50:47283 days ago17189526470.01887405 ETH
669744200745862024-06-12 8:34:47292 days ago17181812870.018729079 ETH
669744200113492024-06-03 12:38:59301 days ago17174183390.018636882 ETH
669744199485452024-05-25 18:01:23310 days ago17166600830.018543896 ETH
669744198855892024-05-16 22:42:23319 days ago17158993430.018447209 ETH
669744198228142024-05-08 3:58:47328 days ago17151407270.018470048 ETH
669744197605192024-04-29 10:57:23336 days ago17143882430.018289198 ETH
669744196988552024-04-20 19:56:59345 days ago17136430190.018325155 ETH
669744196375802024-04-12 5:57:11353 days ago17129014310.01836956 ETH
669744195763722024-04-03 16:15:35362 days ago17121609350.062455421 ETH
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
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.