Address Contract Verified
Address
0x933fBfeb4Ed1F111D12A39c2aB48657e6fc875C6
Balance
0 ETH
Nonce
1
Code Size
675 bytes
Creator
0x81F5f7bf...79CF at tx 0xf0a25a65...4703c4
Indexed Transactions
0 (1 on-chain, 1.3% indexed)
Contract Bytecode
675 bytes
0x6080604052600436106100405760003560e01c80632cc0b254146100495780633ccfd60b146100695780637d38d21f1461007e5780637f763702146100b057005b3661004757005b005b34801561005557600080fd5b5061004761006436600461021d565b6100ce565b34801561007557600080fd5b50610047610120565b34801561008a57600080fd5b5061009361018a565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100bc57600080fd5b506001546040519081526020016100a7565b60005460ff16156100f15760405162dc149f60e41b815260040160405180910390fd5b600080546001600160a01b03909316610100026001600160a81b03199093169290921760019081179092559055565b600054600154604051630ce1206560e41b815260048101919091526101009091046001600160a01b03169063ce1206509047906024016000604051808303818588803b15801561016f57600080fd5b505af1158015610183573d6000803e3d6000fd5b5050505050565b600080546001546040516313ef480b60e11b815260048101919091526101009091046001600160a01b0316906327de901690602401602060405180830381865afa1580156101dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102009190610249565b905090565b6001600160a01b038116811461021a57600080fd5b50565b6000806040838503121561023057600080fd5b823561023b81610205565b946020939093013593505050565b60006020828403121561025b57600080fd5b815161026681610205565b939250505056fea26469706673582212208eb3032a325d9c07889449598ba3999e3438d216376d0fb3031dbfbf383d522964736f6c634300080d0033
Verified Source Code Full Match
Compiler: v0.8.13+commit.abaa5c0e
EVM: london
Optimization: Yes (200 runs)
FeeRecipient.sol 49 lines
//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;
}
/// @notice Empty calldata fallback
receive() external payable {}
/// @notice Non-empty calldata fallback
fallback() external payable {}
/// @notice Triggers a withdrawal by sending its funds + its public key root to the dispatcher
/// @dev Can be called by any wallet as recipients are not parameters
function withdraw() external {
dispatcher.dispatch{value: address(this).balance}(publicKeyRoot);
}
/// @notice Retrieve the assigned public key root
function getPublicKeyRoot() external view returns (bytes32) {
return publicKeyRoot;
}
/// @notice retrieve the assigned withdrawer
function getWithdrawer() external view returns (address) {
return dispatcher.getWithdrawer(publicKeyRoot);
}
}
IFeeDispatcher.sol 8 lines
// 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);
}
Read Contract
getPublicKeyRoot 0x7f763702 → bytes32
getWithdrawer 0x7d38d21f → address
Write Contract 2 functions
These functions modify contract state and require a wallet transaction to execute.
init 0x2cc0b254
address _dispatcher
bytes32 _publicKeyRoot
withdraw 0x3ccfd60b
No parameters
Recent Transactions
This address has 1 on-chain transactions, but only 1.3% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →