@@ -17,43 +17,42 @@ interface ICoinbaseExecution is ISlashingExecution {
17
17
event EmptyValidatorSet (uint256 indexed period , uint256 indexed epoch , address [] fallbackCids );
18
18
/// @dev Emitted when the validator set is updated
19
19
event ValidatorSetUpdated (uint256 indexed period , uint256 indexed epoch , address [] cids );
20
- /// @dev Emitted when the bridge operator set is updated, to mirror the in-jail and maintaining status of the validator.
20
+ /// @dev Emitted when the block producer operator set is updated, to mirror the in-jail and maintaining status of the validator.
21
21
event BlockProducerSetUpdated (uint256 indexed period , uint256 indexed epoch , address [] cids );
22
- /// @dev Emitted when the bridge operator set is updated.
23
- event BridgeOperatorSetUpdated (uint256 indexed period , uint256 indexed epoch , address [] bridgeOperators );
24
22
25
23
/// @dev Emitted when the reward of the block producer is deprecated.
26
24
event BlockRewardDeprecated (address indexed cid , uint256 rewardAmount , BlockRewardDeprecatedType deprecatedType );
27
25
/// @dev Emitted when the block reward is submitted.
28
26
event BlockRewardSubmitted (address indexed cid , uint256 submittedAmount , uint256 bonusAmount );
27
+ /// @dev Emitted when the L2 tx fee is submitted.
28
+ event L2BlockRewardSubmitted (address indexed cid , uint256 submittedAmount );
29
29
30
+ /// @dev Emitted when the mining reward of corresponding l2 is distributed.
31
+ event L2MiningRewardDistributed (address indexed cid , address indexed recipient , uint256 amount );
32
+ /// @dev Emitted when the contract fails when distributing the mining reward of corresponding l2.
33
+ event L2MiningRewardDistributionFailed (
34
+ address indexed cid , address indexed recipient , uint256 amount , uint256 contractBalance
35
+ );
30
36
/// @dev Emitted when the block producer reward is distributed.
31
37
event MiningRewardDistributed (address indexed cid , address indexed recipient , uint256 amount );
32
38
/// @dev Emitted when the contract fails when distributing the block producer reward.
33
39
event MiningRewardDistributionFailed (
34
40
address indexed cid , address indexed recipient , uint256 amount , uint256 contractBalance
35
41
);
36
42
37
- /// @dev Emitted when the bridge operator reward is distributed.
38
- event BridgeOperatorRewardDistributed (
39
- address indexed cid , address indexed bridgeOperator , address indexed recipientAddr , uint256 amount
40
- );
41
- /// @dev Emitted when the contract fails when distributing the bridge operator reward.
42
- event BridgeOperatorRewardDistributionFailed (
43
- address indexed cid ,
44
- address indexed bridgeOperator ,
45
- address indexed recipient ,
46
- uint256 amount ,
47
- uint256 contractBalance
48
- );
49
-
50
43
/// @dev Emitted when the fast finality reward is distributed to validator.
51
44
event FastFinalityRewardDistributed (address indexed cid , address indexed recipient , uint256 amount );
52
45
/// @dev Emitted when the contract fails when distributing the fast finality reward to validator.
53
46
event FastFinalityRewardDistributionFailed (
54
47
address indexed cid , address indexed recipient , uint256 amount , uint256 contractBalance
55
48
);
56
49
50
+ /// @dev Emitted when the L2 tx fee is distributed to the delegator.
51
+ event L2MiningRewardDelegatorsDistributed (address [] cids , uint256 [] delegatingAmounts );
52
+ /// @dev Emitted when the contract fails when distributing the L2 tx fee to the delegator.
53
+ event L2MiningRewardDelegatorsDistributionFailed (
54
+ address [] cids , uint256 [] delegatingAmounts , uint256 contractBalance
55
+ );
57
56
/// @dev Emitted when the amount of block mining reward is distributed to staking contract for delegators.
58
57
event MiningRewardDelegatorsDistributed (address [] cids , uint256 [] delegatingAmounts );
59
58
/// @dev Emitted when the contracts fails when distributing the amount of RON to the staking contract for delegators.
@@ -85,6 +84,20 @@ interface ICoinbaseExecution is ISlashingExecution {
85
84
*/
86
85
function submitBlockReward () external payable ;
87
86
87
+ /**
88
+ * @dev Receives L2 tx fee from `ZkEVMFeePlazaL1` contract.
89
+ *
90
+ * - L2 fee will be distributed to both `validator` and their corresponding `delegator`.
91
+ * - L2 fee is shared among the validators and delegators based on `commissionRate`.
92
+ *
93
+ * Requirements:
94
+ * - The method caller is `ZkEVMFeePlazaL1` contract.
95
+ * @param cid The candidate id (owner) of the rollup contract.
96
+ */
97
+ function onL2BlockRewardSubmitted (
98
+ address cid
99
+ ) external payable ;
100
+
88
101
/**
89
102
* @dev Wraps up the current epoch.
90
103
*
@@ -96,7 +109,6 @@ interface ICoinbaseExecution is ISlashingExecution {
96
109
* Emits the event `MiningRewardDistributed` when some validator has reward distributed.
97
110
* Emits the event `StakingRewardDistributed` when some staking pool has reward distributed.
98
111
* Emits the event `BlockProducerSetUpdated` when the epoch is wrapped up.
99
- * Emits the event `BridgeOperatorSetUpdated` when the epoch is wrapped up at period ending.
100
112
* Emits the event `ValidatorSetUpdated` when the epoch is wrapped up at period ending, and the validator set gets updated.
101
113
* Emits the event `WrappedUpEpoch`.
102
114
*
0 commit comments