@arbitrum/nitro-contracts 3.1.0 → 3.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/build/contracts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
  2. package/build/contracts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
  3. package/build/contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol/AccessControlEnumerable.dbg.json +4 -0
  4. package/build/contracts/@openzeppelin/contracts/access/AccessControlEnumerable.sol/AccessControlEnumerable.json +258 -0
  5. package/build/contracts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +4 -0
  6. package/build/contracts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +183 -0
  7. package/build/contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol/IAccessControlEnumerable.dbg.json +4 -0
  8. package/build/contracts/@openzeppelin/contracts/access/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +226 -0
  9. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  10. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  12. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +2 -2
  13. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  14. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +2 -2
  18. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +2 -2
  20. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  21. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  22. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  23. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
  24. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  25. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  26. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +1 -1
  27. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  28. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +2 -2
  29. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  30. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +2 -2
  31. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts/utils/Create2.sol/Create2.dbg.json +1 -1
  33. package/build/contracts/@openzeppelin/contracts/utils/Create2.sol/Create2.json +2 -2
  34. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  35. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +2 -2
  36. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  37. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +2 -2
  38. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +1 -1
  39. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +2 -2
  40. package/build/contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  41. package/build/contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  42. package/build/contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  43. package/build/contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  44. package/build/contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol/EnumerableSet.dbg.json +4 -0
  45. package/build/contracts/@openzeppelin/contracts/utils/structs/EnumerableSet.sol/EnumerableSet.json +10 -0
  46. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +1 -1
  47. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  48. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +1 -1
  49. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  50. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  51. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  52. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  53. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +1 -1
  54. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +2 -2
  55. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  56. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +1 -1
  57. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +1 -1
  58. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  59. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
  60. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  61. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.dbg.json +1 -1
  62. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.json +2 -2
  63. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  64. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +2 -2
  65. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  66. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +2 -2
  67. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +1 -1
  68. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +2 -2
  69. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +1 -1
  70. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  71. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  72. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +1 -1
  73. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +2 -2
  74. package/build/contracts/src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.dbg.json +1 -1
  75. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.dbg.json +1 -1
  76. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.json +2 -2
  77. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.dbg.json +1 -1
  78. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.json +2 -2
  79. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.dbg.json +1 -1
  80. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.json +2 -2
  81. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.dbg.json +1 -1
  82. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.json +2 -2
  83. package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.dbg.json +1 -1
  84. package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.json +2 -2
  85. package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.dbg.json +1 -1
  86. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.dbg.json +1 -1
  87. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.dbg.json +1 -1
  88. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.dbg.json +1 -1
  89. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.dbg.json +1 -1
  90. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  91. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  92. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  93. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  94. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
  95. package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.dbg.json +1 -1
  96. package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.json +2 -2
  97. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  98. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +2 -2
  99. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  100. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +2 -2
  101. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  102. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  103. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  104. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
  105. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  106. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  107. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  108. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  109. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  110. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  111. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  112. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  113. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  114. package/build/contracts/src/bridge/ISequencerInbox.sol/IFeeTokenPricer.dbg.json +1 -1
  115. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  116. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +13 -0
  117. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  118. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
  119. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  120. package/build/contracts/src/bridge/Messages.sol/Messages.json +2 -2
  121. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  122. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  123. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  124. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +15 -2
  125. package/build/contracts/src/bridge/extra/ERC20MigrationOutbox.sol/ERC20MigrationOutbox.dbg.json +4 -0
  126. package/build/contracts/src/bridge/extra/ERC20MigrationOutbox.sol/ERC20MigrationOutbox.json +113 -0
  127. package/build/contracts/src/bridge/extra/IERC20MigrationOutbox.sol/IERC20MigrationOutbox.dbg.json +4 -0
  128. package/build/contracts/src/bridge/extra/IERC20MigrationOutbox.sol/IERC20MigrationOutbox.json +97 -0
  129. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
  130. package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +2 -2
  131. package/build/contracts/src/chain/ResourceConstraintManager.sol/ResourceConstraintManager.dbg.json +4 -0
  132. package/build/contracts/src/chain/ResourceConstraintManager.sol/ResourceConstraintManager.json +388 -0
  133. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +1 -1
  134. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +2 -2
  135. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +1 -1
  136. package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +1 -1
  137. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +1 -1
  138. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.json +2 -2
  139. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +1 -1
  140. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.json +2 -2
  141. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +1 -1
  142. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.json +2 -2
  143. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +1 -1
  144. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.json +2 -2
  145. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +1 -1
  146. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.json +2 -2
  147. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +1 -1
  148. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.json +2 -2
  149. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +1 -1
  150. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +2 -2
  151. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +1 -1
  152. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json +2 -2
  153. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +1 -1
  154. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +2 -2
  155. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +1 -1
  156. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +1 -1
  157. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +2 -2
  158. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  159. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +2 -2
  160. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  161. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
  162. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  163. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  164. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
  165. package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.dbg.json +1 -1
  166. package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.json +2 -2
  167. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  168. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +2 -2
  169. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
  170. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +2 -2
  171. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  172. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  173. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  174. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  175. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  176. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  177. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  178. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  179. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  180. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +2 -2
  181. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  182. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +2 -2
  183. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  184. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  185. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +1 -1
  186. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.json +2 -2
  187. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +1 -1
  188. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.json +7 -2
  189. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +1 -1
  190. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +15 -2
  191. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  192. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +15 -2
  193. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +1 -1
  194. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +2 -2
  195. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +1 -1
  196. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +1 -1
  197. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.json +2 -2
  198. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  199. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +2 -2
  200. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  201. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  202. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  203. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +2 -2
  204. package/build/contracts/src/osp/ICustomDAProofValidator.sol/ICustomDAProofValidator.dbg.json +4 -0
  205. package/build/contracts/src/osp/ICustomDAProofValidator.sol/ICustomDAProofValidator.json +59 -0
  206. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  207. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  208. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  209. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  210. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  211. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +2 -2
  212. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  213. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +2 -2
  214. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  215. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +26 -2
  216. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  217. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +2 -2
  218. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  219. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +2 -2
  220. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  221. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  222. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  223. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  224. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.json +24 -0
  225. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  226. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  227. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.json +39 -0
  228. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  229. package/build/contracts/src/precompiles/ArbNativeTokenManager.sol/ArbNativeTokenManager.dbg.json +4 -0
  230. package/build/contracts/src/precompiles/ArbNativeTokenManager.sol/ArbNativeTokenManager.json +75 -0
  231. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  232. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.json +123 -0
  233. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  234. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.json +58 -0
  235. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  236. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  237. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  238. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
  239. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
  240. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  241. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.json +43 -0
  242. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  243. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  244. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.json +5 -0
  245. package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +1 -1
  246. package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.json +2 -2
  247. package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +1 -1
  248. package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.json +2 -2
  249. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +1 -1
  250. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +2 -2
  251. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +1 -1
  252. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +2 -2
  253. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +1 -1
  254. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +1 -1
  255. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +1 -1
  256. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +1 -1
  257. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +2 -2
  258. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  259. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +2 -144
  260. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  261. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  262. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  263. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +7 -2
  264. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
  265. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +2 -2
  266. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
  267. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
  268. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
  269. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
  270. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  271. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +36 -13
  272. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  273. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  274. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.json +5 -0
  275. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  276. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  277. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +38 -15
  278. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  279. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  280. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +59 -3
  281. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  282. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +7 -2
  283. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  284. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  285. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  286. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +7 -2
  287. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  288. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +2 -2
  289. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  290. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
  291. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  292. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -78
  293. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  294. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
  295. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  296. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +2 -2
  297. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  298. package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
  299. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  300. package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
  301. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  302. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
  303. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  304. package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
  305. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  306. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
  307. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  308. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +2 -2
  309. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
  310. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +2 -2
  311. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  312. package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +2 -2
  313. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  314. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
  315. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  316. package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
  317. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  318. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
  319. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  320. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
  321. package/build/contracts/src/stylus/StylusDeployer.sol/StylusDeployer.dbg.json +1 -1
  322. package/build/contracts/src/stylus/StylusDeployer.sol/StylusDeployer.json +7 -2
  323. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  324. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +2 -2
  325. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  326. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +2 -2
  327. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  328. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.json +2 -2
  329. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  330. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +2 -2
  331. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ConstructorError.dbg.json +1 -1
  332. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ConstructorError.json +1 -1
  333. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ConstructorFine.dbg.json +1 -1
  334. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ConstructorFine.json +2 -2
  335. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/NoReceiveForwarder.dbg.json +1 -1
  336. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/NoReceiveForwarder.json +2 -2
  337. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ReceivingForwarder.dbg.json +1 -1
  338. package/build/contracts/src/test-helpers/NoReceiveForwarder.sol/ReceivingForwarder.json +2 -2
  339. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  340. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  341. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  342. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +2 -2
  343. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  344. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
  345. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  346. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
  347. package/out/yul/Reader4844.yul/Reader4844.json +1 -1
  348. package/package.json +5 -4
  349. package/src/bridge/ISequencerInbox.sol +5 -0
  350. package/src/bridge/SequencerInbox.sol +11 -3
  351. package/src/bridge/extra/ERC20MigrationOutbox.sol +44 -0
  352. package/src/bridge/extra/IERC20MigrationOutbox.sol +38 -0
  353. package/src/chain/ResourceConstraintManager.sol +88 -0
  354. package/src/express-lane-auction/IExpressLaneAuction.sol +4 -0
  355. package/src/mocks/BridgeStub.sol +5 -1
  356. package/src/mocks/MockRollupEventInbox.sol +10 -4
  357. package/src/osp/ICustomDAProofValidator.sol +43 -0
  358. package/src/osp/OneStepProofEntry.sol +2 -1
  359. package/src/osp/OneStepProver0.sol +2 -3
  360. package/src/osp/OneStepProverHostIo.sol +117 -11
  361. package/src/osp/OneStepProverMath.sol +2 -3
  362. package/src/osp/OneStepProverMemory.sol +2 -3
  363. package/src/precompiles/.github/workflows/contract-tests.yml +39 -0
  364. package/src/precompiles/ArbDebug.sol +7 -0
  365. package/src/precompiles/ArbGasInfo.sol +34 -8
  366. package/src/precompiles/ArbNativeTokenManager.sol +39 -0
  367. package/src/precompiles/ArbOwner.sol +96 -9
  368. package/src/precompiles/ArbOwnerPublic.sol +27 -11
  369. package/src/precompiles/ArbWasm.sol +1 -0
  370. package/src/precompiles/ArbWasmCache.sol +3 -0
  371. package/src/precompiles/ArbosActs.sol +10 -0
  372. package/src/precompiles/LICENSE.md +116 -0
  373. package/src/precompiles/README.md +11 -0
  374. package/src/precompiles/foundry.toml +20 -0
  375. package/src/precompiles/package.json +24 -0
  376. package/src/precompiles/yarn.lock +4 -0
  377. package/src/rollup/AbsRollupEventInbox.sol +8 -2
  378. package/src/rollup/BOLDUpgradeAction.sol +2 -2
  379. package/src/rollup/BridgeCreator.sol +2 -16
  380. package/src/rollup/Config.sol +2 -0
  381. package/src/rollup/IRollupAdmin.sol +15 -3
  382. package/src/rollup/IRollupEventInbox.sol +5 -1
  383. package/src/rollup/RollupAdminLogic.sol +68 -9
  384. package/src/rollup/RollupCore.sol +6 -1
  385. package/src/rollup/RollupCreator.sol +35 -6
  386. package/src/rollup/RollupUserLogic.sol +6 -0
  387. package/src/rollup/ValidatorWalletCreator.sol +2 -15
  388. package/src/state/Instructions.sol +1 -0
  389. package/src/stylus/StylusDeployer.sol +4 -3
  390. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +0 -4
  391. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -113
  392. package/build/contracts/src/mocks/ArbOS11To32UpgradeTest.sol/ArbOS11To32UpgradeTest.dbg.json +0 -4
  393. package/build/contracts/src/mocks/ArbOS11To32UpgradeTest.sol/ArbOS11To32UpgradeTest.json +0 -24
  394. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +0 -4
  395. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +0 -46
  396. package/build/contracts/src/mocks/BigMap.sol/BigMap.dbg.json +0 -4
  397. package/build/contracts/src/mocks/BigMap.sol/BigMap.json +0 -48
  398. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +0 -4
  399. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.json +0 -15
  400. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.dbg.json +0 -4
  401. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.json +0 -513
  402. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +0 -4
  403. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +0 -71
  404. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +0 -4
  405. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +0 -36
  406. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +0 -4
  407. package/build/contracts/src/mocks/Program.sol/ProgramTest.json +0 -142
  408. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +0 -4
  409. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +0 -160
  410. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +0 -4
  411. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +0 -25
  412. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructInConstructorWithDestination.dbg.json +0 -4
  413. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructInConstructorWithDestination.json +0 -22
  414. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructInConstructorWithoutDestination.dbg.json +0 -4
  415. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructInConstructorWithoutDestination.json +0 -16
  416. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructOutsideConstructor.dbg.json +0 -4
  417. package/build/contracts/src/mocks/SelfDestruct.sol/SelfDestructOutsideConstructor.json +0 -36
  418. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +0 -4
  419. package/build/contracts/src/mocks/Simple.sol/Simple.json +0 -303
  420. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +0 -4
  421. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +0 -37
  422. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +0 -4
  423. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +0 -30
  424. package/src/mocks/ArbOS11To32UpgradeTest.sol +0 -18
  425. package/src/mocks/Benchmarks.sol +0 -52
  426. package/src/mocks/BigMap.sol +0 -23
  427. package/src/mocks/CreateTest.sol +0 -44
  428. package/src/mocks/HostioTest.sol +0 -200
  429. package/src/mocks/MultiCallTest.sol +0 -119
  430. package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +0 -31
  431. package/src/mocks/Program.sol +0 -128
  432. package/src/mocks/ProxyAdminForBinding.sol +0 -9
  433. package/src/mocks/SdkStorage.sol +0 -176
  434. package/src/mocks/SelfDestruct.sol +0 -33
  435. package/src/mocks/Simple.sol +0 -168
  436. package/src/mocks/SimpleCacheManager.sol +0 -29
  437. package/src/mocks/SimpleProxy.sol +0 -21
@@ -33,6 +33,34 @@ interface ArbOwner {
33
33
  /// @notice Retrieves the list of chain owners
34
34
  function getAllChainOwners() external view returns (address[] memory);
35
35
 
36
+ /// @notice Sets the NativeTokenManagementFrom time
37
+ /// @notice Available in ArbOS version 41 and above
38
+ function setNativeTokenManagementFrom(
39
+ uint64 timestamp
40
+ ) external;
41
+
42
+ /// @notice Add account as a native token owner
43
+ /// @notice Available in ArbOS version 41 and above
44
+ function addNativeTokenOwner(
45
+ address newOwner
46
+ ) external;
47
+
48
+ /// @notice Remove account from the list of native token owners
49
+ /// @notice Available in ArbOS version 41 and above
50
+ function removeNativeTokenOwner(
51
+ address ownerToRemove
52
+ ) external;
53
+
54
+ /// @notice See if the user is a native token owner
55
+ /// @notice Available in ArbOS version 41 and above
56
+ function isNativeTokenOwner(
57
+ address addr
58
+ ) external view returns (bool);
59
+
60
+ /// @notice Retrieves the list of native token owners
61
+ /// @notice Available in ArbOS version 41 and above
62
+ function getAllNativeTokenOwners() external view returns (address[] memory);
63
+
36
64
  /// @notice Set how slowly ArbOS updates its estimate of the L1 basefee
37
65
  function setL1BaseFeeEstimateInertia(
38
66
  uint64 inertia
@@ -49,21 +77,33 @@ interface ArbOwner {
49
77
  ) external;
50
78
 
51
79
  /// @notice Set the computational speed limit for the chain
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`.
52
82
  function setSpeedLimit(
53
83
  uint64 limit
54
84
  ) external;
55
85
 
56
- /// @notice Set the maximum size a tx (and block) can be
86
+ /// @notice Set the maximum size a tx can be
57
87
  function setMaxTxGasLimit(
58
88
  uint64 limit
59
89
  ) external;
60
90
 
91
+ /// @notice Set the maximum size a block can be
92
+ /// @notice Available in ArbOS version 50 and above
93
+ function setMaxBlockGasLimit(
94
+ uint64 limit
95
+ ) external;
96
+
61
97
  /// @notice Set the L2 gas pricing inertia
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`.
62
100
  function setL2GasPricingInertia(
63
101
  uint64 sec
64
102
  ) external;
65
103
 
66
104
  /// @notice Set the L2 gas backlog tolerance
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.
67
107
  function setL2GasBacklogTolerance(
68
108
  uint64 sec
69
109
  ) external;
@@ -72,6 +112,7 @@ interface ArbOwner {
72
112
  function getNetworkFeeAccount() external view returns (address);
73
113
 
74
114
  /// @notice Get the infrastructure fee collector
115
+ /// @notice Available in ArbOS version 5 and above
75
116
  function getInfraFeeAccount() external view returns (address);
76
117
 
77
118
  /// @notice Set the network fee collector
@@ -80,6 +121,7 @@ interface ArbOwner {
80
121
  ) external;
81
122
 
82
123
  /// @notice Set the infrastructure fee collector
124
+ /// @notice Available in ArbOS version 5 and above
83
125
  function setInfraFeeAccount(
84
126
  address newInfraFeeAccount
85
127
  ) external;
@@ -112,15 +154,19 @@ interface ArbOwner {
112
154
  uint256 pricePerUnit
113
155
  ) external;
114
156
 
157
+ /// @notice Set how much L1 charges per non-zero byte of calldata
158
+ /// @notice Available in ArbOS version 50 and above
159
+ function setParentGasFloorPerToken(
160
+ uint64 floorPerToken
161
+ ) external;
162
+
115
163
  /// @notice Sets the base charge (in L1 gas) attributed to each data batch in the calldata pricer
116
164
  function setPerBatchGasCharge(
117
165
  int64 cost
118
166
  ) external;
119
167
 
120
- /**
121
- * @notice Sets the Brotli compression level used for fast compression
122
- * Available in ArbOS version 12 with default level as 1
123
- */
168
+ /// @notice Sets the Brotli compression level used for fast compression
169
+ /// @notice Available in ArbOS version 20 and above
124
170
  function setBrotliCompressionLevel(
125
171
  uint64 level
126
172
  ) external;
@@ -131,90 +177,131 @@ interface ArbOwner {
131
177
  ) external;
132
178
 
133
179
  /// @notice Releases surplus funds from L1PricerFundsPoolAddress for use
180
+ /// @notice Available in ArbOS version 10 and above
134
181
  function releaseL1PricerSurplusFunds(
135
182
  uint256 maxWeiToRelease
136
183
  ) external returns (uint256);
137
184
 
138
185
  /// @notice Sets the amount of ink 1 gas buys
186
+ /// @notice Available in ArbOS version 30 and above
139
187
  /// @param price the conversion rate (must fit in a uint24)
140
188
  function setInkPrice(
141
189
  uint32 price
142
190
  ) external;
143
191
 
144
192
  /// @notice Sets the maximum depth (in wasm words) a wasm stack may grow
193
+ /// @notice Available in ArbOS version 30 and above
145
194
  function setWasmMaxStackDepth(
146
195
  uint32 depth
147
196
  ) external;
148
197
 
149
198
  /// @notice Sets the number of free wasm pages a tx gets
199
+ /// @notice Available in ArbOS version 30 and above
150
200
  function setWasmFreePages(
151
201
  uint16 pages
152
202
  ) external;
153
203
 
154
204
  /// @notice Sets the base cost of each additional wasm page
205
+ /// @notice Available in ArbOS version 30 and above
155
206
  function setWasmPageGas(
156
207
  uint16 gas
157
208
  ) external;
158
209
 
159
210
  /// @notice Sets the maximum number of pages a wasm may allocate
211
+ /// @notice Available in ArbOS version 30 and above
160
212
  function setWasmPageLimit(
161
213
  uint16 limit
162
214
  ) external;
163
215
 
164
216
  /// @notice Sets the maximum size of the uncompressed wasm code in bytes
217
+ /// @notice Available in ArbOS version 30 and above
165
218
  function setWasmMaxSize(
166
219
  uint32 size
167
220
  ) external;
168
221
 
169
222
  /// @notice Sets the minimum costs to invoke a program
223
+ /// @notice Available in ArbOS version 30 and above
170
224
  /// @param gas amount of gas paid in increments of 256 when not the program is not cached
171
225
  /// @param cached amount of gas paid in increments of 64 when the program is cached
172
226
  function setWasmMinInitGas(uint8 gas, uint16 cached) external;
173
227
 
174
228
  /// @notice Sets the linear adjustment made to program init costs.
229
+ /// @notice Available in ArbOS version 30 and above
175
230
  /// @param percent the adjustment (100% = no adjustment).
176
231
  function setWasmInitCostScalar(
177
232
  uint64 percent
178
233
  ) external;
179
234
 
180
235
  /// @notice Sets the number of days after which programs deactivate
236
+ /// @notice Available in ArbOS version 30 and above
181
237
  function setWasmExpiryDays(
182
238
  uint16 _days
183
239
  ) external;
184
240
 
185
241
  /// @notice Sets the age a program must be to perform a keepalive
242
+ /// @notice Available in ArbOS version 30 and above
186
243
  function setWasmKeepaliveDays(
187
244
  uint16 _days
188
245
  ) external;
189
246
 
190
247
  /// @notice Sets the number of extra programs ArbOS caches during a given block
248
+ /// @notice Available in ArbOS version 30 and above
191
249
  function setWasmBlockCacheSize(
192
250
  uint16 count
193
251
  ) external;
194
252
 
195
253
  /// @notice Adds account as a wasm cache manager
254
+ /// @notice Available in ArbOS version 30 and above
196
255
  function addWasmCacheManager(
197
256
  address manager
198
257
  ) external;
199
258
 
200
259
  /// @notice Removes account from the list of wasm cache managers
260
+ /// @notice Available in ArbOS version 30 and above
201
261
  function removeWasmCacheManager(
202
262
  address manager
203
263
  ) external;
204
264
 
205
265
  /// @notice Sets serialized chain config in ArbOS state
266
+ /// @notice Available in ArbOS version 11 and above
206
267
  function setChainConfig(
207
268
  string calldata chainConfig
208
269
  ) external;
209
270
 
210
- /**
211
- * @notice Sets the increased calldata price feature on or off (EIP-7623)
212
- * Available in ArbOS version 40 with default as false
213
- */
271
+ /// @notice Sets the increased calldata price feature on or off (EIP-7623)
272
+ /// @notice Available in ArbOS version 40 and above with default as false
214
273
  function setCalldataPriceIncrease(
215
274
  bool enable
216
275
  ) external;
217
276
 
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
+ uint64 backlog
282
+ ) external;
283
+
284
+ /// @notice Sets the list of gas pricing constraints for the multi-constraint pricing model.
285
+ /// @notice Replaces the existing constraints configuration and sets each constraint's starting backlog value.
286
+ /// @notice All existing backlogs are replaced by the provided values.
287
+ /// @notice Any changes to gas targets, inertia, or starting backlogs may cause immediate price fluctuations.
288
+ /// @notice Operators are fully responsible for the resulting behavior and should adjust parameters carefully.
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.
296
+ /// @notice Available in ArbOS version 50 and above.
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)
301
+ function setGasPricingConstraints(
302
+ uint64[3][] calldata constraints
303
+ ) external;
304
+
218
305
  /// Emitted when a successful call is made to this precompile
219
306
  event OwnerActs(bytes4 indexed method, address indexed owner, bytes data);
220
307
  }
@@ -12,11 +12,9 @@ interface ArbOwnerPublic {
12
12
  address addr
13
13
  ) external view returns (bool);
14
14
 
15
- /**
16
- * @notice Rectify the list of chain owners
17
- * If successful, emits ChainOwnerRectified event
18
- * Available in ArbOS version 11
19
- */
15
+ /// @notice Rectify the list of chain owners
16
+ /// @notice If successful, emits ChainOwnerRectified event
17
+ /// @notice Available in ArbOS version 11 and above
20
18
  function rectifyChainOwner(
21
19
  address ownerToRectify
22
20
  ) external;
@@ -24,6 +22,21 @@ interface ArbOwnerPublic {
24
22
  /// @notice Retrieves the list of chain owners
25
23
  function getAllChainOwners() external view returns (address[] memory);
26
24
 
25
+ /// @notice Retrieves the timestamp from when the native token management
26
+ /// modifications are enabled.
27
+ /// @notice Available in ArbOS version 50 and above
28
+ function getNativeTokenManagementFrom() external view returns (uint64);
29
+
30
+ /// @notice See if the user is a native token owner
31
+ /// @notice Available in ArbOS version 41 and above
32
+ function isNativeTokenOwner(
33
+ address addr
34
+ ) external view returns (bool);
35
+
36
+ /// @notice Retrieves the list of native token owners
37
+ /// @notice Available in ArbOS version 41 and above
38
+ function getAllNativeTokenOwners() external view returns (address[] memory);
39
+
27
40
  /// @notice Gets the network fee collector
28
41
  function getNetworkFeeAccount() external view returns (address);
29
42
 
@@ -31,20 +44,23 @@ interface ArbOwnerPublic {
31
44
  function getInfraFeeAccount() external view returns (address);
32
45
 
33
46
  /// @notice Get the Brotli compression level used for fast compression
47
+ /// @notice Available in ArbOS version 20 and above
34
48
  function getBrotliCompressionLevel() external view returns (uint64);
35
49
 
50
+ /// @notice Get how much L1 charges per non-zero byte of calldata
51
+ /// @notice Available in ArbOS version 50 and above
52
+ function getParentGasFloorPerToken() external view returns (uint64);
53
+
36
54
  /// @notice Get the next scheduled ArbOS version upgrade and its activation timestamp.
37
- /// Returns (0, 0) if no ArbOS upgrade is scheduled.
38
- /// Available in ArbOS version 20.
55
+ /// @notice Returns (0, 0) if no ArbOS upgrade is scheduled.
56
+ /// @notice Available in ArbOS version 20 and above
39
57
  function getScheduledUpgrade()
40
58
  external
41
59
  view
42
60
  returns (uint64 arbosVersion, uint64 scheduledForTimestamp);
43
61
 
44
- /**
45
- * @notice Checks if the increased calldata price feature (EIP-7623) is enabled
46
- * Available in ArbOS version 40 with default as false
47
- */
62
+ /// @notice Checks if the increased calldata price feature (EIP-7623) is enabled
63
+ /// @notice Available in ArbOS version 40 with default as false
48
64
  function isCalldataPriceIncreaseEnabled() external view returns (bool);
49
65
 
50
66
  event ChainOwnerRectified(address rectifiedOwner);
@@ -7,6 +7,7 @@ pragma solidity >=0.4.21 <0.9.0;
7
7
  /**
8
8
  * @title Methods for managing user programs
9
9
  * @notice Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000071.
10
+ * @notice Available in ArbOS version 30 and above
10
11
  */
11
12
  interface ArbWasm {
12
13
  /// @notice Activate a wasm program
@@ -7,6 +7,7 @@ pragma solidity >=0.4.21 <0.9.0;
7
7
  /**
8
8
  * @title Methods for managing Stylus caches
9
9
  * @notice Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000072.
10
+ * @notice Available in ArbOS version 30 and above
10
11
  */
11
12
  interface ArbWasmCache {
12
13
  /// @notice See if the user is a cache manager.
@@ -19,6 +20,7 @@ interface ArbWasmCache {
19
20
  function allCacheManagers() external view returns (address[] memory managers);
20
21
 
21
22
  /// @dev Deprecated, replaced with cacheProgram
23
+ /// @notice Available in ArbOS version 30 only
22
24
  function cacheCodehash(
23
25
  bytes32 codehash
24
26
  ) external;
@@ -27,6 +29,7 @@ interface ArbWasmCache {
27
29
  /// @notice Reverts if the programs have expired.
28
30
  /// @notice Caller must be a cache manager or chain owner.
29
31
  /// @notice If you're looking for how to bid for position, interact with the chain's cache manager contract.
32
+ /// @notice Available in ArbOS version 31 and above
30
33
  function cacheProgram(
31
34
  address addr
32
35
  ) external;
@@ -44,5 +44,15 @@ interface ArbosActs {
44
44
  uint256 l1BaseFeeWei
45
45
  ) external;
46
46
 
47
+ function batchPostingReportV2(
48
+ uint256 batchTimestamp,
49
+ address batchPosterAddress,
50
+ uint64 batchNumber,
51
+ uint64 batchCalldataLength,
52
+ uint64 batchCalldataNonZeros,
53
+ uint64 batchExtraGas,
54
+ uint256 l1BaseFeeWei
55
+ ) external;
56
+
47
57
  error CallerNotArbOS();
48
58
  }
@@ -0,0 +1,116 @@
1
+ Business Source License 1.1
2
+
3
+ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
4
+ "Business Source License" is a trademark of MariaDB Corporation Ab.
5
+
6
+ -----------------------------------------------------------------------------
7
+
8
+ Parameters
9
+
10
+ Licensor: Offchain Labs
11
+
12
+ Licensed Work: Arbitrum Nitro Contracts
13
+ The Licensed Work is (c) 2021-2024 Offchain Labs
14
+
15
+ Additional Use Grant: You may use the Licensed Work in a production environment solely
16
+ to provide a point of interface to permit end users or applications
17
+ utilizing the Covered Arbitrum Chains to interact and query the
18
+ state of a Covered Arbitrum Chain, including without limitation
19
+ validating the correctness of the posted chain state, or to deploy
20
+ and operate (x) a blockchain that settles to a Covered Arbitrum Chain
21
+ or (y) a blockchain in accordance with, and subject to, the [Arbitrum
22
+ Expansion Program Term of Use](https://docs.arbitrum.foundation/aep/ArbitrumExpansionProgramTerms.pdf). For purposes of this
23
+ Additional Use Grant, the "Covered Arbitrum Chains" are
24
+ (a) Arbitrum One (chainid:42161), Arbitrum Nova (chainid:42170),
25
+ Arbitrum Rinkeby testnet/Rinkarby (chainid:421611),Arbitrum Nitro
26
+ Goerli testnet (chainid:421613), and Arbitrum Sepolia Testnet
27
+ (chainid:421614); (b) any future blockchains authorized to be
28
+ designated as Covered Arbitrum Chains by the decentralized autonomous
29
+ organization governing the Arbitrum network; and (c) any “Layer 3”
30
+ Arbitrum-based blockchain that is built on and settles to another
31
+ Covered Arbitrum Chain.
32
+
33
+
34
+
35
+ Change Date: Dec 31, 2028
36
+
37
+ Change License: Apache License Version 2.0
38
+
39
+ -----------------------------------------------------------------------------
40
+
41
+ Terms
42
+
43
+ The Licensor hereby grants you the right to copy, modify, create derivative
44
+ works, redistribute, and make non-production use of the Licensed Work. The
45
+ Licensor may make an Additional Use Grant, above, permitting limited
46
+ production use.
47
+
48
+ Effective on the Change Date, or the fourth anniversary of the first publicly
49
+ available distribution of a specific version of the Licensed Work under this
50
+ License, whichever comes first, the Licensor hereby grants you rights under
51
+ the terms of the Change License, and the rights granted in the paragraph
52
+ above terminate.
53
+
54
+ If your use of the Licensed Work does not comply with the requirements
55
+ currently in effect as described in this License, you must purchase a
56
+ commercial license from the Licensor, its affiliated entities, or authorized
57
+ resellers, or you must refrain from using the Licensed Work.
58
+
59
+ All copies of the original and modified Licensed Work, and derivative works
60
+ of the Licensed Work, are subject to this License. This License applies
61
+ separately for each version of the Licensed Work and the Change Date may vary
62
+ for each version of the Licensed Work released by Licensor.
63
+
64
+ You must conspicuously display this License on each original or modified copy
65
+ of the Licensed Work. If you receive the Licensed Work in original or
66
+ modified form from a third party, the terms and conditions set forth in this
67
+ License apply to your use of that work.
68
+
69
+ Any use of the Licensed Work in violation of this License will automatically
70
+ terminate your rights under this License for the current and all other
71
+ versions of the Licensed Work.
72
+
73
+ This License does not grant you any right in any trademark or logo of
74
+ Licensor or its affiliates (provided that you may use a trademark or logo of
75
+ Licensor as expressly required by this License).
76
+
77
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
78
+ AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
79
+ EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
80
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
81
+ TITLE.
82
+
83
+ MariaDB hereby grants you permission to use this License’s text to license
84
+ your works, and to refer to it using the trademark "Business Source License",
85
+ as long as you comply with the Covenants of Licensor below.
86
+
87
+ -----------------------------------------------------------------------------
88
+
89
+ Covenants of Licensor
90
+
91
+ In consideration of the right to use this License’s text and the "Business
92
+ Source License" name and trademark, Licensor covenants to MariaDB, and to all
93
+ other recipients of the licensed work to be provided by Licensor:
94
+
95
+ 1. To specify as the Change License the GPL Version 2.0 or any later version,
96
+ or a license that is compatible with GPL Version 2.0 or a later version,
97
+ where "compatible" means that software provided under the Change License can
98
+ be included in a program with software provided under GPL Version 2.0 or a
99
+ later version. Licensor may specify additional Change Licenses without
100
+ limitation.
101
+
102
+ 2. To either: (a) specify an additional grant of rights to use that does not
103
+ impose any additional restriction on the right granted in this License, as
104
+ the Additional Use Grant; or (b) insert the text "None".
105
+
106
+ 3. To specify a Change Date.
107
+
108
+ 4. Not to modify this License in any other way.
109
+
110
+ -----------------------------------------------------------------------------
111
+
112
+ Notice
113
+
114
+ The Business Source License (this document, or the "License") is not an Open
115
+ Source license. However, the Licensed Work will eventually be made available
116
+ under an Open Source License, as stated in this License.
@@ -0,0 +1,11 @@
1
+ # Nitro Precompile Interfaces
2
+
3
+ Solidity interfaces for Arbitrum Nitro precompiled contracts.
4
+
5
+ ## Overview
6
+
7
+ This repository contains the Solidity interface definitions for Arbitrum Nitro's precompiled contracts.
8
+
9
+ ## License
10
+
11
+ Licensed under BUSL-1.1. See individual files for specific license information.
@@ -0,0 +1,20 @@
1
+ [profile.default]
2
+ src = ''
3
+
4
+ [fmt]
5
+ line_length = 100
6
+ tab_width = 4
7
+ bracket_spacing = false
8
+ int_types = "long"
9
+ multiline_func_header = "params_first"
10
+ quote_style = "double"
11
+ number_underscore = "preserve"
12
+ hex_underscore = "remove"
13
+ single_line_statement_blocks = "preserve"
14
+ override_spacing = false
15
+ wrap_comments = false
16
+ ignore = []
17
+ contract_new_lines = false
18
+ sort_imports = false
19
+
20
+ # See more config options https://github.com/foundry-rs/foundry/tree/master/config
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@arbitrum/nitro-precompile-interfaces",
3
+ "version": "41.0.0",
4
+ "description": "Solidity interfaces for Arbitrum Nitro precompiled contracts",
5
+ "author": "Offchain Labs, Inc.",
6
+ "license": "BUSL-1.1",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/offchainlabs/nitro-precompile-interfaces.git"
10
+ },
11
+ "files": [
12
+ "*.sol",
13
+ "README.md",
14
+ "LICENSE.md"
15
+ ],
16
+ "bugs": {
17
+ "url": "https://github.com/offchainlabs/nitro-precompile-interfaces/issues"
18
+ },
19
+ "scripts": {
20
+ "build": "forge build",
21
+ "format": "forge fmt"
22
+ },
23
+ "private": false
24
+ }
@@ -0,0 +1,4 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
@@ -50,11 +50,17 @@ abstract contract AbsRollupEventInbox is
50
50
 
51
51
  function rollupInitialized(
52
52
  uint256 chainId,
53
- string calldata chainConfig
53
+ string calldata chainConfig,
54
+ uint256 dataCostEstimate
54
55
  ) external override onlyRollup {
55
56
  require(bytes(chainConfig).length > 0, "EMPTY_CHAIN_CONFIG");
56
57
  uint8 initMsgVersion = 1;
57
- uint256 currentDataCost = _currentDataCostToReport();
58
+ uint256 currentDataCost;
59
+ if (dataCostEstimate != 0) {
60
+ currentDataCost = dataCostEstimate;
61
+ } else {
62
+ currentDataCost = _currentDataCostToReport();
63
+ }
58
64
  bytes memory initMsg =
59
65
  abi.encodePacked(chainId, initMsgVersion, currentDataCost, chainConfig);
60
66
  uint256 num = _enqueueInitializationMsg(initMsg);
@@ -8,7 +8,6 @@ import "@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol";
8
8
  import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
9
9
  import "./RollupProxy.sol";
10
10
  import "./RollupLib.sol";
11
- import "./RollupAdminLogic.sol";
12
11
 
13
12
  struct Node {
14
13
  // Hash of the state of the chain as of this node
@@ -392,7 +391,8 @@ contract BOLDUpgradeAction {
392
391
  anyTrustFastConfirmer: address(0), // fast confirmer would be migrated from the old rollup if existed
393
392
  numBigStepLevel: NUM_BIGSTEP_LEVEL,
394
393
  challengeGracePeriodBlocks: CHALLENGE_GRACE_PERIOD_BLOCKS,
395
- bufferConfig: bufferConfig
394
+ bufferConfig: bufferConfig,
395
+ dataCostEstimate: 0
396
396
  });
397
397
  }
398
398
 
@@ -18,7 +18,7 @@ import "../bridge/IBridge.sol";
18
18
  import "@openzeppelin/contracts/access/Ownable.sol";
19
19
  import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
20
20
 
21
- contract BridgeCreator is Ownable {
21
+ contract BridgeCreator {
22
22
  BridgeTemplates public ethBasedTemplates;
23
23
  BridgeTemplates public erc20BasedTemplates;
24
24
 
@@ -45,25 +45,11 @@ contract BridgeCreator is Ownable {
45
45
  constructor(
46
46
  BridgeTemplates memory _ethBasedTemplates,
47
47
  BridgeTemplates memory _erc20BasedTemplates
48
- ) Ownable() {
48
+ ) {
49
49
  ethBasedTemplates = _ethBasedTemplates;
50
50
  erc20BasedTemplates = _erc20BasedTemplates;
51
51
  }
52
52
 
53
- function updateTemplates(
54
- BridgeTemplates calldata _newTemplates
55
- ) external onlyOwner {
56
- ethBasedTemplates = _newTemplates;
57
- emit TemplatesUpdated();
58
- }
59
-
60
- function updateERC20Templates(
61
- BridgeTemplates calldata _newTemplates
62
- ) external onlyOwner {
63
- erc20BasedTemplates = _newTemplates;
64
- emit ERC20TemplatesUpdated();
65
- }
66
-
67
53
  function _createBridge(
68
54
  bytes32 create2Salt,
69
55
  address adminProxy,
@@ -38,6 +38,8 @@ struct Config {
38
38
  uint8 numBigStepLevel;
39
39
  uint64 challengeGracePeriodBlocks;
40
40
  BufferConfig bufferConfig;
41
+ /// @notice Parent chain's base fee estimate for rollup initialization, if 0 block.basefee will be used
42
+ uint256 dataCostEstimate;
41
43
  }
42
44
 
43
45
  struct ContractDependencies {
@@ -150,10 +150,22 @@ interface IRollupAdmin {
150
150
  ) external;
151
151
 
152
152
  /**
153
- * @notice Set base stake required for an assertion
154
- * @param newBaseStake maximum avmgas to be used per block
153
+ * @notice Decrease the base stake required for creating an assertion
154
+ * @dev Can only be called on permissioned chains with whitelist enabled
155
+ * Can only be called when there is exactly one stake on a pending assertion - this ensures a linear chain of assertions
156
+ * Cannot be called immediately after genesis since there are no pending assertions
157
+ * After decreasing the base stake the current staker will still have full stake locked up. They can release it by creating a new staker with the
158
+ * new smaller amount, and using it to create a child of the latest pending assertion. This will make the old staker inactive and withdrawable.
159
+ * @param newBaseStake New base stake to be set. Must be less than current base stake, otherwise use increaseBaseStake
160
+ * @param latestNextInboxPosition The nextInboxPosition of the only pending latestStakedAssertion
155
161
  */
156
- function setBaseStake(
162
+ function decreaseBaseStake(uint256 newBaseStake, uint64 latestNextInboxPosition) external;
163
+
164
+ /**
165
+ * @notice Increase the base stake required for creating an assertion
166
+ * @param newBaseStake New base stake to be set. Must be greater than current base stake, otherwise use reduceBaseStake
167
+ */
168
+ function increaseBaseStake(
157
169
  uint256 newBaseStake
158
170
  ) external;
159
171
 
@@ -17,5 +17,9 @@ interface IRollupEventInbox {
17
17
 
18
18
  function updateRollupAddress() external;
19
19
 
20
- function rollupInitialized(uint256 chainId, string calldata chainConfig) external;
20
+ function rollupInitialized(
21
+ uint256 chainId,
22
+ string calldata chainConfig,
23
+ uint256 l1BaseFeeEstimate
24
+ ) external;
21
25
  }