diff --git a/ArbGasInfo.sol b/ArbGasInfo.sol index e41be38..1295551 100644 --- a/ArbGasInfo.sol +++ b/ArbGasInfo.sol @@ -96,4 +96,24 @@ interface ArbGasInfo { /// @notice Returns the available funds from L1 fees /// @notice Available in ArbOS version 10 and above function getL1FeesAvailable() external view returns (uint256); + + /// @notice Returns the equilibration units parameter for L1 price adjustment algorithm + /// @notice Available in ArbOS version 20 and above + function getL1PricingEquilibrationUnits() external view returns (uint256); + + /// @notice Returns the last time the L1 calldata pricer was updated. + /// @notice Available in ArbOS version 20 and above + function getLastL1PricingUpdateTime() external view returns (uint64); + + /// @notice Returns the amount of L1 calldata payments due for rewards (per the L1 reward rate) + /// @notice Available in ArbOS version 20 and above + function getL1PricingFundsDueForRewards() external view returns (uint256); + + /// @notice Returns the amount of L1 calldata posted since the last update. + /// @notice Available in ArbOS version 20 and above + function getL1PricingUnitsSinceUpdate() external view returns (uint64); + + /// @notice Returns the L1 pricing surplus as of the last update (may be negative). + /// @notice Available in ArbOS version 20 and above + function getLastL1PricingSurplus() external view returns (int256); } diff --git a/ArbOwner.sol b/ArbOwner.sol index cf62021..69e0de0 100644 --- a/ArbOwner.sol +++ b/ArbOwner.sol @@ -119,6 +119,12 @@ interface ArbOwner { int64 cost ) external; + /// @notice Sets the Brotli compression level used for fast compression + /// @notice Available in ArbOS version 20 and above + function setBrotliCompressionLevel( + uint64 level + ) external; + /// @notice Sets the cost amortization cap in basis points function setAmortizedCostCapBips( uint64 cap diff --git a/ArbOwnerPublic.sol b/ArbOwnerPublic.sol index d5eab10..6c5be9a 100644 --- a/ArbOwnerPublic.sol +++ b/ArbOwnerPublic.sol @@ -28,5 +28,17 @@ interface ArbOwnerPublic { /// @notice Get the infrastructure fee collector function getInfraFeeAccount() external view returns (address); + /// @notice Get the Brotli compression level used for fast compression + /// @notice Available in ArbOS version 20 and above + function getBrotliCompressionLevel() external view returns (uint64); + + /// @notice Get the next scheduled ArbOS version upgrade and its activation timestamp. + /// @notice Returns (0, 0) if no ArbOS upgrade is scheduled. + /// @notice Available in ArbOS version 20 and above + function getScheduledUpgrade() + external + view + returns (uint64 arbosVersion, uint64 scheduledForTimestamp); + event ChainOwnerRectified(address rectifiedOwner); } diff --git a/package.json b/package.json index 9c38aef..1656f6c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@arbitrum/nitro-precompile-interfaces", - "version": "11.0.0", + "version": "20.0.0", "description": "Solidity interfaces for Arbitrum Nitro precompiled contracts", "author": "Offchain Labs, Inc.", "license": "BUSL-1.1",