You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ArbOwner.sol
+26-13Lines changed: 26 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -77,9 +77,8 @@ interface ArbOwner {
77
77
) external;
78
78
79
79
/// @notice Set the computational speed limit for the chain
80
-
/// @notice Starting from ArbOS version 50, this function always returns an error.
81
-
/// @notice Use `setGasPricingConstraints` instead, which supports configuring multiple constraints.
82
-
/// @dev Deprecated starting from ArbOS version 50.
80
+
/// @notice Starting from ArbOS version 50, continues to set the legacy single-constraint speed limit value.
81
+
/// @notice It does not modify the multi-constraint pricing model configuration. To configure multiple constraints, use `setGasPricingConstraints`.
83
82
function setSpeedLimit(
84
83
uint64limit
85
84
) external;
@@ -96,17 +95,15 @@ interface ArbOwner {
96
95
) external;
97
96
98
97
/// @notice Set the L2 gas pricing inertia
99
-
/// @notice Starting from ArbOS version 50, this function always returns an error.
100
-
/// @notice Use `setGasPricingConstraints` instead, which supports configuring multiple constraints.
101
-
/// @dev Deprecated starting from ArbOS version 50.
98
+
/// @notice Starting from ArbOS version 50, continues to set the single-constraint pricing inertia value.
99
+
/// @notice It does not modify the multi-constraint pricing model configuration. To configure multiple constraints, use `setGasPricingConstraints`.
102
100
function setL2GasPricingInertia(
103
101
uint64sec
104
102
) external;
105
103
106
104
/// @notice Set the L2 gas backlog tolerance
107
-
/// @notice Starting from ArbOS version 50, this function always returns an error.
108
-
/// @notice Use `setGasPricingConstraints` instead, which supports configuring multiple constraints.
109
-
/// @dev Deprecated starting from ArbOS version 50.
105
+
/// @notice Starting from ArbOS version 50, continues to set the single-constraint backlog tolerance value.
106
+
/// @notice It does not modify the multi-constraint pricing model configuration. There is no tolerance for backlogged gas in the new multi-constraint pricing model.
110
107
function setL2GasBacklogTolerance(
111
108
uint64sec
112
109
) external;
@@ -277,14 +274,30 @@ interface ArbOwner {
277
274
boolenable
278
275
) external;
279
276
280
-
/// @notice Sets the list of gas pricing constraints for the Multi-Constraint Pricer.
277
+
/// @notice Set the backlogged amount of gas burnt used by the single-constraint pricing model only.
278
+
/// @notice To configure backlogs for the multi-constraint pricing model, use `setGasPricingConstraints()`.
279
+
/// @param backlog The backlog value in gas units to assign to the single-constraint pricing model.
280
+
function setGasBacklog(
281
+
uint64backlog
282
+
) external;
283
+
284
+
/// @notice Sets the list of gas pricing constraints for the multi-constraint pricing model.
281
285
/// @notice Replaces the existing constraints configuration and sets each constraint's starting backlog value.
282
286
/// @notice All existing backlogs are replaced by the provided values.
283
-
/// @notice Any changes to gas targets, periods, or starting backlogs may cause immediate price fluctuations.
287
+
/// @notice Any changes to gas targets, inertia, or starting backlogs may cause immediate price fluctuations.
284
288
/// @notice Operators are fully responsible for the resulting behavior and should adjust parameters carefully.
285
-
/// @notice Use ArbGasInfo.getGasPricingConstraints() to retrieve the current configuration.
289
+
/// @notice Use `ArbGasInfo.getGasPricingConstraints()` to retrieve the current configuration.
290
+
/// @notice Model selection:
291
+
/// @notice - If one or more constraints are provided, the chain switches to the multi-constraint pricing model
292
+
/// @notice and uses exactly the provided parameters.
293
+
/// @notice - If zero constraints are provided, the chain uses the single-constraint pricing model.
294
+
/// @notice In that case, the single-constraint backlog can be set via `setBacklog`, which you may derive from multi-constraint
295
+
/// @notice parameters if desired.
286
296
/// @notice Available in ArbOS version 50 and above.
287
-
/// @param constraints Array of triples (gas_target_per_second, period_seconds, starting_backlog_value)
297
+
/// @param constraints Array of triples (gas_target_per_second, adjustment_window_seconds, starting_backlog_value)
298
+
/// - gas_target_per_second: target gas usage per second for the constraint (uint64, gas/sec)
299
+
/// - adjustment_window_seconds: time over which the price will rise by a factor of e if demand is 2x the target (uint64, seconds)
300
+
/// - starting_backlog_value: initial backlog for this constraint (uint64, gas units)
0 commit comments