ETH Price: $2,734.48 (+0.87%)

Contract

0x0Bc01D7967b7fcF95F29F1E43967Ccc4065e552F
 

Overview

ETH Balance

0.243556495696893513 ETH

Eth Value

$666.00 (@ $2,734.48/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
Age
From
To
Transfer214938292024-12-27 12:35:2355 days ago1735302923IN
0x0Bc01D79...4065e552F
0.0184648 ETH0.00014576.14471773
Transfer214422972024-12-20 7:39:4762 days ago1734680387IN
0x0Bc01D79...4065e552F
0.01853006 ETH0.000212028.94178919
Transfer206001202024-08-24 18:02:35179 days ago1724522555IN
0x0Bc01D79...4065e552F
0.04344997 ETH0.000027151.14517831
Transfer199173732024-05-21 9:25:11275 days ago1716283511IN
0x0Bc01D79...4065e552F
0.03616885 ETH0.000146026.95366247
Transfer197798002024-05-02 3:37:11294 days ago1714621031IN
0x0Bc01D79...4065e552F
0.02031277 ETH0.000101184.81819045

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block
Age
From
To
214704402024-12-24 6:07:4758 days ago1735020467
0x0Bc01D79...4065e552F
0.5082188 ETH
200448822024-06-08 4:59:59257 days ago1717822799
0x0Bc01D79...4065e552F
0.34705083 ETH
200448822024-06-08 4:59:59257 days ago1717822799
 Contract Creation
0 ETH
Loading...
Loading

Minimal Proxy Contract for 0xfe1b6a789e2bd96a69c49a14353e51116b48107f

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x933fBfeb...e6fc875C6
The constructor portion of the code might be different and could alter the actual behaviour of the contract

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

[{"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 40 withdrawals (0.961899667 ETH withdrawn)

Validator Index Block Age Amount
1265695218851712025-02-20 4:24:5913 hrs ago17400254990.018953837 ETH
1265695218196432025-02-11 0:16:479 days ago17392330070.019009631 ETH
1265695217539392025-02-01 20:04:3518 days ago17384402750.019138003 ETH
1265695216878552025-01-23 14:41:4728 days ago17376433070.019144356 ETH
1265695216217912025-01-14 9:21:2337 days ago17368464830.019087065 ETH
1265695215557272025-01-05 3:54:5946 days ago17360492990.064877735 ETH
1265695214896652024-12-26 22:36:4755 days ago17352526070.064881065 ETH
1265695214231812024-12-17 15:34:1165 days ago17344496510.019308509 ETH
1265695213562742024-12-08 7:27:1174 days ago17336428310.019231279 ETH
1265695212893852024-11-28 23:09:5983 days ago17328353990.019336383 ETH
1265695212222822024-11-19 14:09:2393 days ago17320253630.019439966 ETH
1265695211547572024-11-10 4:04:23102 days ago17312114630.01932852 ETH
1265695210875672024-10-31 18:58:47111 days ago17304011270.019261238 ETH
1265695210206452024-10-22 10:53:11121 days ago17295943910.019226254 ETH
1265695209539302024-10-13 3:17:11130 days ago17287894310.019356541 ETH
1265695208868842024-10-03 18:50:35139 days ago17279814350.019192209 ETH
1265695208202402024-09-24 11:44:59149 days ago17271782990.019211502 ETH
1265695207536882024-09-15 4:41:11158 days ago17263752710.019131611 ETH
1265695206873782024-09-05 22:28:47167 days ago17255753270.019072101 ETH
1265695206214612024-08-27 17:37:35177 days ago17247802550.064872301 ETH
1265695205556632024-08-18 12:58:35186 days ago17239859150.018986259 ETH
1265695204900862024-08-09 9:16:11195 days ago17231949710.018931089 ETH
1265695204248492024-07-31 6:49:47204 days ago17224085870.018805753 ETH
1265695203603112024-07-22 6:34:11213 days ago17216300510.018760268 ETH
1265695202959802024-07-13 7:05:59222 days ago17208543590.01883251 ETH
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.