Operator Fee Parameter Configuration
Isthmus adds configuration variablesoperatorFeeScalar (uint32)
and operatorFeeConstant (uint64) to SystemConfig to control the operator fee parameters.
ConfigUpdate
The following ConfigUpdate event is defined where the CONFIG_VERSION is uint256(0):
| Name | Value | Definition | Usage |
|---|---|---|---|
BATCHER | uint8(0) | abi.encode(address) | Modifies the account that is authorized to progress the safe chain |
FEE_SCALARS | uint8(1) | (uint256(0x01) << 248) | (uint256(_blobbasefeeScalar) << 32) | _basefeeScalar | Modifies the fee scalars |
GAS_LIMIT | uint8(2) | abi.encode(uint64 _gasLimit) | Modifies the L2 gas limit |
UNSAFE_BLOCK_SIGNER | uint8(3) | abi.encode(address) | Modifies the account that is authorized to progress the unsafe chain |
EIP_1559_PARAMS | uint8(4) | uint256(uint64(uint32(_denominator))) << 32 | uint64(uint32(_elasticity)) | Modifies the EIP-1559 denominator and elasticity |
OPERATOR_FEE_PARAMS | uint8(5) | uint256(_operatorFeeScalar) << 64 | _operatorFeeConstant | Modifies the operator fee scalar and constant |
Initialization
The following actions should happen during the initialization of theSystemConfig:
emit ConfigUpdate.BATCHERemit ConfigUpdate.FEE_SCALARSemit ConfigUpdate.GAS_LIMITemit ConfigUpdate.UNSAFE_BLOCK_SIGNERemit ConfigUpdate.EIP_1559_PARAMS
operatorFeeScalar and operatorFeeConstant are initialized to 0.
Modifying Operator Fee Parameters
A newSystemConfig UpdateType is introduced that enables the modification of
the operatorFeeScalar and operatorFeeConstant by the SystemConfig owner.
Interface
Operator fee parameters
operatorFeeScalar
This function returns the currently configured operator fee scalar.
operatorFeeConstant
This function returns the currently configured operator fee constant.
setOperatorFeeScalars
This function sets the operatorFeeScalar and operatorFeeConstant.
This function MUST only be callable by the SystemConfig owner.