@arbitrum/nitro-contracts 2.1.1-beta.0 → 3.0.0-alpha.1
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.
- package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
- package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +4 -0
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.json +86 -0
- package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Create2.sol/Create2.dbg.json +4 -0
- package/build/contracts/{src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json → @openzeppelin/contracts/utils/Create2.sol/Create2.json} +4 -4
- package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +15 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +15 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.dbg.json +4 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.json +10 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +2 -2
- package/build/contracts/src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json → src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.json} +41 -95
- package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.json +340 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.json +89 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.json +248 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.json +83 -0
- package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.json +16 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.json +140 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.json +324 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.json +84 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json → src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.json} +109 -110
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.json +78 -0
- package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.json +13 -0
- package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.json +14 -1
- package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.json +15 -2
- package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.dbg.json +4 -0
- package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.json +24 -0
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +15 -2
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +16 -3
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
- package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
- package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
- package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
- package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
- package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +441 -0
- package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Inbox.sol/Inbox.json +20 -2
- package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
- package/build/contracts/src/bridge/Messages.sol/Messages.json +2 -2
- package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +566 -9
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +15 -2
- package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +4 -0
- package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +1631 -0
- package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +4 -0
- package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.json +247 -0
- package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +4 -0
- package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.json +762 -0
- package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.json +10 -0
- package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json → src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.json} +4 -4
- package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.json +24 -0
- package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.json +24 -0
- package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.json +10 -0
- package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
- package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +2 -2
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
- package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
- package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.dbg.json +4 -0
- package/build/contracts/src/{challenge/ChallengeLib.sol/ChallengeLib.json → libraries/CallerChecker.sol/CallerChecker.json} +4 -4
- package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
- package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +2 -2
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +2 -2
- package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
- package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
- package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
- package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
- package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +2 -2
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +8 -8
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +15 -2
- package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +1 -1
- package/build/contracts/src/mocks/CreateTest.sol/CreateTest.json +2 -2
- package/build/contracts/src/mocks/HostioTest.sol/HostioTest.dbg.json +1 -1
- package/build/contracts/src/mocks/HostioTest.sol/HostioTest.json +2 -2
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
- package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +4 -0
- package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.json +227 -0
- package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +4 -0
- package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.json +133 -0
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +2 -2
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +2 -2
- package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
- package/build/contracts/src/mocks/Program.sol/ProgramTest.json +2 -2
- package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
- package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +2 -2
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +2 -2
- package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +4 -0
- package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +1632 -0
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +566 -9
- package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
- package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +2 -2
- package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +4 -0
- package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +142 -0
- package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
- package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +2 -2
- package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +4 -0
- package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.json +31 -0
- package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +4 -0
- package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.json +317 -0
- package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
- package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +15 -2
- package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
- package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
- package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
- package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +2 -2
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +33 -9
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +5 -0
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +35 -11
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +7 -2
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +7 -2
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +7 -2
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +7 -2
- package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
- package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +4 -0
- package/build/contracts/src/rollup/{Node.sol/NodeLib.json → Assertion.sol/AssertionNodeLib.json} +4 -4
- package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +4 -0
- package/build/contracts/src/{express-lane-auction/Balance.sol/BalanceLib.json → rollup/AssertionState.sol/AssertionStateLib.json} +4 -4
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +807 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +35 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.json +361 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.json +38 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.json +41 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.json +385 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +203 -0
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +62 -10
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +2 -2
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +473 -99
- package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +315 -221
- package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +678 -499
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +806 -435
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +323 -235
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +98 -36
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +97 -16
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +924 -535
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +15 -43
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
- package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
- package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
- package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
- package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +2 -2
- package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
- package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
- package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
- package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
- package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
- package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
- package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
- package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +2 -2
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +2 -2
- package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +2 -2
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
- package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
- package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +15 -2
- package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +2 -2
- package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
- package/build/contracts/src/test-helpers/EthVault.sol/EthVault.json +2 -2
- package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +2 -2
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
- package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
- package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +2 -15
- package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
- package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
- package/out/yul/Reader4844.yul/Reader4844.json +1 -1
- package/package.json +11 -4
- package/src/assertionStakingPool/AbsBoldStakingPool.sol +66 -0
- package/src/assertionStakingPool/AssertionStakingPool.sol +70 -0
- package/src/assertionStakingPool/AssertionStakingPoolCreator.sol +35 -0
- package/src/assertionStakingPool/EdgeStakingPool.sol +57 -0
- package/src/assertionStakingPool/EdgeStakingPoolCreator.sol +34 -0
- package/src/assertionStakingPool/StakingPoolCreatorUtils.sol +25 -0
- package/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol +41 -0
- package/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol +36 -0
- package/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol +31 -0
- package/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol +27 -0
- package/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol +28 -0
- package/src/bridge/AbsBridge.sol +38 -48
- package/src/bridge/AbsInbox.sol +89 -92
- package/src/bridge/AbsOutbox.sol +23 -37
- package/src/bridge/Bridge.sol +6 -4
- package/src/bridge/DelayBuffer.sol +123 -0
- package/src/bridge/DelayBufferTypes.sol +38 -0
- package/src/bridge/ERC20Bridge.sol +8 -4
- package/src/bridge/ERC20Inbox.sol +46 -53
- package/src/bridge/ERC20Outbox.sol +7 -3
- package/src/bridge/GasRefunder.sol +38 -24
- package/src/bridge/IBridge.sol +30 -21
- package/src/bridge/IERC20Bridge.sol +1 -1
- package/src/bridge/IERC20Inbox.sol +4 -2
- package/src/bridge/IEthBridge.sol +4 -2
- package/src/bridge/IInbox.sol +4 -2
- package/src/bridge/IInboxBase.sol +16 -8
- package/src/bridge/IOutbox.sol +13 -8
- package/src/bridge/ISequencerInbox.sol +118 -13
- package/src/bridge/Inbox.sol +134 -151
- package/src/bridge/Messages.sol +48 -18
- package/src/bridge/Outbox.sol +6 -2
- package/src/bridge/SequencerInbox.sol +343 -279
- package/src/chain/CacheManager.sol +49 -18
- package/src/challengeV2/EdgeChallengeManager.sol +559 -0
- package/src/challengeV2/IAssertionChain.sol +39 -0
- package/src/challengeV2/IEdgeChallengeManager.sol +233 -0
- package/src/challengeV2/libraries/ArrayUtilsLib.sol +61 -0
- package/src/challengeV2/libraries/ChallengeEdgeLib.sol +277 -0
- package/src/challengeV2/libraries/ChallengeErrors.sol +108 -0
- package/src/challengeV2/libraries/EdgeChallengeManagerLib.sol +819 -0
- package/src/challengeV2/libraries/Enums.sol +26 -0
- package/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol +390 -0
- package/src/challengeV2/libraries/Structs.sol +176 -0
- package/src/challengeV2/libraries/UintUtilsLib.sol +74 -0
- package/src/libraries/AddressAliasHelper.sol +6 -2
- package/src/libraries/AdminFallbackProxy.sol +8 -4
- package/src/libraries/ArbitrumChecker.sol +3 -4
- package/src/libraries/CallerChecker.sol +18 -0
- package/src/libraries/CryptographyPrimitives.sol +39 -46
- package/src/libraries/DecimalsConverterHelper.sol +2 -4
- package/src/libraries/DoubleLogicUUPSUpgradeable.sol +10 -7
- package/src/libraries/Error.sol +21 -3
- package/src/libraries/GasRefundEnabled.sol +5 -6
- package/src/libraries/MerkleLib.sol +6 -5
- package/src/libraries/UUPSNotUpgradeable.sol +2 -4
- package/src/mocks/BridgeStub.sol +50 -48
- package/src/mocks/CreateTest.sol +3 -1
- package/src/mocks/HostioTest.sol +20 -16
- package/src/mocks/InboxStub.sol +22 -17
- package/src/mocks/MerkleTreeAccess.sol +72 -0
- package/src/mocks/MockRollupEventInbox.sol +59 -0
- package/src/mocks/MultiCallTest.sol +3 -1
- package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +3 -1
- package/src/mocks/Program.sol +9 -7
- package/src/mocks/SequencerInboxBlobMock.sol +38 -0
- package/src/mocks/SequencerInboxStub.sol +9 -12
- package/src/mocks/Simple.sol +13 -25
- package/src/mocks/SimpleCacheManager.sol +10 -3
- package/src/mocks/SimpleOneStepProofEntry.sol +60 -0
- package/src/mocks/SimpleProxy.sol +3 -1
- package/src/mocks/TestWETH9.sol +30 -0
- package/src/mocks/UpgradeExecutorMock.sol +10 -17
- package/src/node-interface/NodeInterface.sol +23 -22
- package/src/node-interface/NodeInterfaceDebug.sol +5 -3
- package/src/osp/HashProofHelper.sol +9 -10
- package/src/osp/IOneStepProofEntry.sol +14 -9
- package/src/osp/IOneStepProver.sol +1 -0
- package/src/osp/OneStepProofEntry.sol +63 -54
- package/src/osp/OneStepProver0.sol +14 -27
- package/src/osp/OneStepProverHostIo.sol +31 -58
- package/src/osp/OneStepProverMath.sol +15 -23
- package/src/osp/OneStepProverMemory.sol +9 -23
- package/src/precompiles/ArbAddressTable.sol +19 -9
- package/src/precompiles/ArbAggregator.sol +12 -4
- package/src/precompiles/ArbBLS.sol +1 -3
- package/src/precompiles/ArbDebug.sol +5 -11
- package/src/precompiles/ArbFunctionTable.sol +7 -10
- package/src/precompiles/ArbGasInfo.sol +9 -43
- package/src/precompiles/ArbInfo.sol +6 -2
- package/src/precompiles/ArbOwner.sol +101 -34
- package/src/precompiles/ArbOwnerPublic.sol +6 -2
- package/src/precompiles/ArbRetryableTx.sol +15 -5
- package/src/precompiles/ArbStatistics.sol +1 -8
- package/src/precompiles/ArbSys.sol +16 -18
- package/src/precompiles/ArbWasm.sol +24 -14
- package/src/precompiles/ArbWasmCache.sol +15 -5
- package/src/precompiles/ArbosTest.sol +3 -1
- package/src/rollup/AbsRollupEventInbox.sol +15 -16
- package/src/rollup/Assertion.sol +100 -0
- package/src/rollup/AssertionState.sol +29 -0
- package/src/rollup/BOLDUpgradeAction.sol +631 -0
- package/src/rollup/BridgeCreator.sol +42 -15
- package/src/rollup/Config.sol +15 -7
- package/src/rollup/DeployHelper.sol +12 -31
- package/src/rollup/ERC20RollupEventInbox.sol +8 -9
- package/src/rollup/FactoryDeployerHelper.sol +8 -10
- package/src/rollup/IRollupAdmin.sol +127 -45
- package/src/rollup/IRollupCore.sol +64 -84
- package/src/rollup/IRollupEventInbox.sol +3 -1
- package/src/rollup/IRollupLogic.sol +35 -72
- package/src/rollup/RollupAdminLogic.sol +224 -203
- package/src/rollup/RollupCore.sol +407 -428
- package/src/rollup/RollupCreator.sol +84 -71
- package/src/rollup/RollupEventInbox.sol +7 -7
- package/src/rollup/RollupLib.sol +50 -86
- package/src/rollup/RollupProxy.sol +8 -12
- package/src/rollup/RollupUserLogic.sol +279 -644
- package/src/rollup/ValidatorUtils.sol +0 -242
- package/src/rollup/ValidatorWallet.sol +22 -38
- package/src/rollup/ValidatorWalletCreator.sol +8 -8
- package/src/state/Deserialize.sol +74 -96
- package/src/state/GlobalState.sol +74 -20
- package/src/state/Instructions.sol +4 -3
- package/src/state/Machine.sol +18 -19
- package/src/state/Module.sol +14 -13
- package/src/state/ModuleMemory.sol +6 -25
- package/src/state/ModuleMemoryCompact.sol +3 -1
- package/src/state/MultiStack.sol +16 -20
- package/src/state/PcArray.sol +7 -7
- package/src/state/StackFrame.sol +21 -14
- package/src/state/Value.sol +18 -6
- package/src/state/ValueArray.sol +7 -7
- package/src/state/ValueStack.sol +9 -3
- package/src/test-helpers/BridgeTester.sol +32 -42
- package/src/test-helpers/CryptographyPrimitivesTester.sol +12 -13
- package/src/test-helpers/EthVault.sol +4 -2
- package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
- package/src/test-helpers/MessageTester.sol +3 -10
- package/src/test-helpers/OutboxWithoutOptTester.sol +12 -19
- package/src/test-helpers/RollupMock.sol +3 -7
- package/src/test-helpers/TestToken.sol +4 -2
- package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.json +0 -258
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.json +0 -226
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +0 -281
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.json +0 -312
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +0 -10
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.json +0 -10
- package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +0 -4
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +0 -4
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +0 -746
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +0 -4
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +0 -441
- package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +0 -4
- package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +0 -34
- package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +0 -47
- package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +0 -1588
- package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.json +0 -1296
- package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +0 -10
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +0 -4
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +0 -188
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +0 -4
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +0 -797
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +0 -4
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +0 -746
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +0 -4
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +0 -1332
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +0 -4
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +0 -1466
- package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +0 -1614
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +0 -1748
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +0 -4
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +0 -379
- package/src/challenge/ChallengeLib.sol +0 -88
- package/src/challenge/ChallengeManager.sol +0 -375
- package/src/challenge/IChallengeManager.sol +0 -86
- package/src/challenge/IChallengeResultReceiver.sol +0 -13
- package/src/express-lane-auction/Balance.sol +0 -142
- package/src/express-lane-auction/Burner.sol +0 -25
- package/src/express-lane-auction/ELCRound.sol +0 -73
- package/src/express-lane-auction/Errors.sol +0 -31
- package/src/express-lane-auction/ExpressLaneAuction.sol +0 -565
- package/src/express-lane-auction/IExpressLaneAuction.sol +0 -421
- package/src/express-lane-auction/RoundTimingInfo.sol +0 -115
- package/src/mocks/MockResultReceiver.sol +0 -59
- package/src/mocks/SingleExecutionChallenge.sol +0 -41
- package/src/mocks/TimedOutChallengeManager.sol +0 -13
- package/src/rollup/Node.sol +0 -113
package/src/mocks/CreateTest.sol
CHANGED
|
@@ -12,7 +12,9 @@ contract CreateTest {
|
|
|
12
12
|
// solhint-disable reason-string
|
|
13
13
|
// solhint-disable avoid-low-level-calls
|
|
14
14
|
// solhint-disable-next-line prettier/prettier
|
|
15
|
-
fallback(
|
|
15
|
+
fallback(
|
|
16
|
+
bytes calldata input
|
|
17
|
+
) external returns (bytes memory) {
|
|
16
18
|
uint8 kind = uint8(input[0]);
|
|
17
19
|
input = input[1:];
|
|
18
20
|
|
package/src/mocks/HostioTest.sol
CHANGED
|
@@ -14,7 +14,9 @@ contract HostioTest {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
function transientLoadBytes32(
|
|
17
|
+
function transientLoadBytes32(
|
|
18
|
+
bytes32 key
|
|
19
|
+
) external view returns (bytes32) {
|
|
18
20
|
bytes32 data;
|
|
19
21
|
assembly {
|
|
20
22
|
data := tload(key)
|
|
@@ -71,11 +73,15 @@ contract HostioTest {
|
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
function accountBalance(
|
|
76
|
+
function accountBalance(
|
|
77
|
+
address account
|
|
78
|
+
) external view returns (uint256) {
|
|
75
79
|
return account.balance;
|
|
76
80
|
}
|
|
77
81
|
|
|
78
|
-
function accountCode(
|
|
82
|
+
function accountCode(
|
|
83
|
+
address account
|
|
84
|
+
) external view returns (bytes memory) {
|
|
79
85
|
uint256 size = 10000;
|
|
80
86
|
bytes memory code = new bytes(size);
|
|
81
87
|
assembly {
|
|
@@ -86,7 +92,9 @@ contract HostioTest {
|
|
|
86
92
|
return code;
|
|
87
93
|
}
|
|
88
94
|
|
|
89
|
-
function accountCodeSize(
|
|
95
|
+
function accountCodeSize(
|
|
96
|
+
address account
|
|
97
|
+
) external view returns (uint256) {
|
|
90
98
|
uint256 size;
|
|
91
99
|
assembly {
|
|
92
100
|
size := extcodesize(account)
|
|
@@ -94,7 +102,9 @@ contract HostioTest {
|
|
|
94
102
|
return size;
|
|
95
103
|
}
|
|
96
104
|
|
|
97
|
-
function accountCodehash(
|
|
105
|
+
function accountCodehash(
|
|
106
|
+
address account
|
|
107
|
+
) external view returns (bytes32) {
|
|
98
108
|
bytes32 hash;
|
|
99
109
|
assembly {
|
|
100
110
|
hash := extcodehash(account)
|
|
@@ -154,19 +164,11 @@ contract HostioTest {
|
|
|
154
164
|
return result;
|
|
155
165
|
}
|
|
156
166
|
|
|
157
|
-
function mathAddMod(
|
|
158
|
-
uint256 a,
|
|
159
|
-
uint256 b,
|
|
160
|
-
uint256 c
|
|
161
|
-
) external pure returns (uint256) {
|
|
167
|
+
function mathAddMod(uint256 a, uint256 b, uint256 c) external pure returns (uint256) {
|
|
162
168
|
return addmod(a, b, c);
|
|
163
169
|
}
|
|
164
170
|
|
|
165
|
-
function mathMulMod(
|
|
166
|
-
uint256 a,
|
|
167
|
-
uint256 b,
|
|
168
|
-
uint256 c
|
|
169
|
-
) external pure returns (uint256) {
|
|
171
|
+
function mathMulMod(uint256 a, uint256 b, uint256 c) external pure returns (uint256) {
|
|
170
172
|
return mulmod(a, b, c);
|
|
171
173
|
}
|
|
172
174
|
|
|
@@ -178,7 +180,9 @@ contract HostioTest {
|
|
|
178
180
|
return msg.value;
|
|
179
181
|
}
|
|
180
182
|
|
|
181
|
-
function keccak(
|
|
183
|
+
function keccak(
|
|
184
|
+
bytes calldata preimage
|
|
185
|
+
) external pure returns (bytes32) {
|
|
182
186
|
return keccak256(preimage);
|
|
183
187
|
}
|
|
184
188
|
|
package/src/mocks/InboxStub.sol
CHANGED
|
@@ -48,7 +48,9 @@ contract InboxStub is IInboxBase, IInbox {
|
|
|
48
48
|
* @dev This method is an optimization to avoid having to emit the entirety of the messageData in a log. Instead validators are expected to be able to parse the data from the transaction's input
|
|
49
49
|
* @param messageData Data of the message being sent
|
|
50
50
|
*/
|
|
51
|
-
function sendL2MessageFromOrigin(
|
|
51
|
+
function sendL2MessageFromOrigin(
|
|
52
|
+
bytes calldata messageData
|
|
53
|
+
) external returns (uint256) {
|
|
52
54
|
// solhint-disable-next-line avoid-tx-origin
|
|
53
55
|
require(msg.sender == tx.origin, "origin only");
|
|
54
56
|
uint256 msgNum = deliverToBridge(L2_MSG, msg.sender, keccak256(messageData));
|
|
@@ -61,7 +63,9 @@ contract InboxStub is IInboxBase, IInbox {
|
|
|
61
63
|
* @dev This method can be used to send any type of message that doesn't require L1 validation
|
|
62
64
|
* @param messageData Data of the message being sent
|
|
63
65
|
*/
|
|
64
|
-
function sendL2Message(
|
|
66
|
+
function sendL2Message(
|
|
67
|
+
bytes calldata messageData
|
|
68
|
+
) external override returns (uint256) {
|
|
65
69
|
uint256 msgNum = deliverToBridge(L2_MSG, msg.sender, keccak256(messageData));
|
|
66
70
|
emit InboxMessageDelivered(msgNum, messageData);
|
|
67
71
|
return msgNum;
|
|
@@ -72,12 +76,9 @@ contract InboxStub is IInboxBase, IInbox {
|
|
|
72
76
|
address sender,
|
|
73
77
|
bytes32 messageDataHash
|
|
74
78
|
) internal returns (uint256) {
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
sender,
|
|
79
|
-
messageDataHash
|
|
80
|
-
);
|
|
79
|
+
return IEthBridge(address(bridge)).enqueueDelayedMessage{value: msg.value}(
|
|
80
|
+
kind, sender, messageDataHash
|
|
81
|
+
);
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
function sendUnsignedTransaction(
|
|
@@ -181,14 +182,14 @@ contract InboxStub is IInboxBase, IInbox {
|
|
|
181
182
|
revert("NOT_IMPLEMENTED");
|
|
182
183
|
}
|
|
183
184
|
|
|
184
|
-
function postUpgradeInit(
|
|
185
|
+
function postUpgradeInit(
|
|
186
|
+
IBridge _bridge
|
|
187
|
+
) external {}
|
|
185
188
|
|
|
186
|
-
function calculateRetryableSubmissionFee(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
returns (uint256)
|
|
191
|
-
{
|
|
189
|
+
function calculateRetryableSubmissionFee(
|
|
190
|
+
uint256,
|
|
191
|
+
uint256
|
|
192
|
+
) external pure override returns (uint256) {
|
|
192
193
|
revert("NOT_IMPLEMENTED");
|
|
193
194
|
}
|
|
194
195
|
|
|
@@ -196,11 +197,15 @@ contract InboxStub is IInboxBase, IInbox {
|
|
|
196
197
|
revert("NOT_IMPLEMENTED");
|
|
197
198
|
}
|
|
198
199
|
|
|
199
|
-
function setAllowListEnabled(
|
|
200
|
+
function setAllowListEnabled(
|
|
201
|
+
bool
|
|
202
|
+
) external pure {
|
|
200
203
|
revert("NOT_IMPLEMENTED");
|
|
201
204
|
}
|
|
202
205
|
|
|
203
|
-
function isAllowed(
|
|
206
|
+
function isAllowed(
|
|
207
|
+
address
|
|
208
|
+
) external pure returns (bool) {
|
|
204
209
|
revert("NOT_IMPLEMENTED");
|
|
205
210
|
}
|
|
206
211
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Copyright 2023, Offchain Labs, Inc.
|
|
2
|
+
// For license information, see https://github.com/offchainlabs/bold/blob/main/LICENSE
|
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
4
|
+
//
|
|
5
|
+
pragma solidity ^0.8.17;
|
|
6
|
+
|
|
7
|
+
import "../challengeV2/libraries/MerkleTreeAccumulatorLib.sol";
|
|
8
|
+
import "../challengeV2/libraries/UintUtilsLib.sol";
|
|
9
|
+
|
|
10
|
+
contract MerkleTreeAccess {
|
|
11
|
+
function mostSignificantBit(
|
|
12
|
+
uint256 x
|
|
13
|
+
) external pure returns (uint256) {
|
|
14
|
+
return UintUtilsLib.mostSignificantBit(x);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function leastSignificantBit(
|
|
18
|
+
uint256 x
|
|
19
|
+
) external pure returns (uint256) {
|
|
20
|
+
return UintUtilsLib.leastSignificantBit(x);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function root(
|
|
24
|
+
bytes32[] memory me
|
|
25
|
+
) external pure returns (bytes32) {
|
|
26
|
+
return MerkleTreeAccumulatorLib.root(me);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function appendCompleteSubTree(
|
|
30
|
+
bytes32[] memory me,
|
|
31
|
+
uint256 level,
|
|
32
|
+
bytes32 subtreeRoot
|
|
33
|
+
) external pure returns (bytes32[] memory) {
|
|
34
|
+
return MerkleTreeAccumulatorLib.appendCompleteSubTree(me, level, subtreeRoot);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function appendLeaf(
|
|
38
|
+
bytes32[] memory me,
|
|
39
|
+
bytes32 leaf
|
|
40
|
+
) external pure returns (bytes32[] memory) {
|
|
41
|
+
return MerkleTreeAccumulatorLib.appendLeaf(me, leaf);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function maximumAppendBetween(
|
|
45
|
+
uint256 startSize,
|
|
46
|
+
uint256 endSize
|
|
47
|
+
) external pure returns (uint256) {
|
|
48
|
+
return MerkleTreeAccumulatorLib.maximumAppendBetween(startSize, endSize);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function verifyPrefixProof(
|
|
52
|
+
bytes32 preRoot,
|
|
53
|
+
uint256 preSize,
|
|
54
|
+
bytes32 postRoot,
|
|
55
|
+
uint256 postSize,
|
|
56
|
+
bytes32[] memory preExpansion,
|
|
57
|
+
bytes32[] memory proof
|
|
58
|
+
) external pure {
|
|
59
|
+
return MerkleTreeAccumulatorLib.verifyPrefixProof(
|
|
60
|
+
preRoot, preSize, postRoot, postSize, preExpansion, proof
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function verifyInclusionProof(
|
|
65
|
+
bytes32 rootHash,
|
|
66
|
+
bytes32 leaf,
|
|
67
|
+
uint256 index,
|
|
68
|
+
bytes32[] memory proof
|
|
69
|
+
) external pure {
|
|
70
|
+
MerkleTreeAccumulatorLib.verifyInclusionProof(rootHash, leaf, index, proof);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Copyright 2021-2022, Offchain Labs, Inc.
|
|
2
|
+
// For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
|
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
4
|
+
|
|
5
|
+
pragma solidity ^0.8.0;
|
|
6
|
+
|
|
7
|
+
import "../rollup/IRollupEventInbox.sol";
|
|
8
|
+
import "../bridge/IEthBridge.sol";
|
|
9
|
+
import "../bridge/IDelayedMessageProvider.sol";
|
|
10
|
+
import "../precompiles/ArbGasInfo.sol";
|
|
11
|
+
import "../libraries/DelegateCallAware.sol";
|
|
12
|
+
import "../libraries/ArbitrumChecker.sol";
|
|
13
|
+
import {INITIALIZATION_MSG_TYPE} from "../libraries/MessageTypes.sol";
|
|
14
|
+
import {AlreadyInit, HadZeroInit} from "../libraries/Error.sol";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @title The inbox for rollup protocol events
|
|
18
|
+
*/
|
|
19
|
+
contract MockRollupEventInbox is IRollupEventInbox, IDelayedMessageProvider, DelegateCallAware {
|
|
20
|
+
IBridge public override bridge;
|
|
21
|
+
address public override rollup;
|
|
22
|
+
|
|
23
|
+
modifier onlyRollup() {
|
|
24
|
+
require(msg.sender == rollup, "ONLY_ROLLUP");
|
|
25
|
+
_;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function initialize(
|
|
29
|
+
IBridge _bridge
|
|
30
|
+
) external override onlyDelegated {
|
|
31
|
+
if (address(bridge) != address(0)) revert AlreadyInit();
|
|
32
|
+
if (address(_bridge) == address(0)) revert HadZeroInit();
|
|
33
|
+
bridge = _bridge;
|
|
34
|
+
rollup = address(_bridge.rollup());
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// @notice Allows the proxy owner to set the rollup address
|
|
38
|
+
function updateRollupAddress() external onlyDelegated onlyProxyOwner {
|
|
39
|
+
rollup = address(bridge.rollup());
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function rollupInitialized(
|
|
43
|
+
uint256 chainId,
|
|
44
|
+
string calldata chainConfig
|
|
45
|
+
) external override onlyRollup {
|
|
46
|
+
require(bytes(chainConfig).length > 0, "EMPTY_CHAIN_CONFIG");
|
|
47
|
+
uint8 initMsgVersion = 1;
|
|
48
|
+
uint256 currentDataCost = 1; // Set to a base fee of 1.
|
|
49
|
+
if (ArbitrumChecker.runningOnArbitrum()) {
|
|
50
|
+
currentDataCost += ArbGasInfo(address(0x6c)).getL1BaseFeeEstimate();
|
|
51
|
+
}
|
|
52
|
+
bytes memory initMsg =
|
|
53
|
+
abi.encodePacked(chainId, initMsgVersion, currentDataCost, chainConfig);
|
|
54
|
+
uint256 num = IEthBridge(address(bridge)).enqueueDelayedMessage(
|
|
55
|
+
INITIALIZATION_MSG_TYPE, address(0), keccak256(initMsg)
|
|
56
|
+
);
|
|
57
|
+
emit InboxMessageDelivered(num, initMsg);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -26,7 +26,9 @@ contract MultiCallTest {
|
|
|
26
26
|
// solhint-disable reason-string
|
|
27
27
|
// solhint-disable avoid-low-level-calls
|
|
28
28
|
// solhint-disable-next-line prettier/prettier
|
|
29
|
-
fallback(
|
|
29
|
+
fallback(
|
|
30
|
+
bytes calldata input
|
|
31
|
+
) external payable returns (bytes memory) {
|
|
30
32
|
require(input.length > 0);
|
|
31
33
|
uint8 count = uint8(input[0]);
|
|
32
34
|
input = input[1:];
|
|
@@ -21,7 +21,9 @@ contract PendingBlkTimeAndNrAdvanceCheck {
|
|
|
21
21
|
require(ARB_SYS.arbBlockNumber() > deployedAtBlock, "Block didn't advance");
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
function checkArbBlockHashReturnsLatest(
|
|
24
|
+
function checkArbBlockHashReturnsLatest(
|
|
25
|
+
bytes32 expected
|
|
26
|
+
) external {
|
|
25
27
|
bytes32 gotBlockHash = ARB_SYS.arbBlockHash(ARB_SYS.arbBlockNumber() - 1);
|
|
26
28
|
require(gotBlockHash != bytes32(0), "ZERO_BLOCK_HASH");
|
|
27
29
|
require(gotBlockHash == expected, "WRONG_BLOCK_HASH");
|
package/src/mocks/Program.sol
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// SPDX-License-Identifier: BUSL-1.1
|
|
4
4
|
|
|
5
5
|
pragma solidity ^0.8.0;
|
|
6
|
+
|
|
6
7
|
import "../precompiles/ArbSys.sol";
|
|
7
8
|
import "@openzeppelin/contracts/utils/Strings.sol";
|
|
8
9
|
|
|
@@ -20,11 +21,10 @@ contract ProgramTest {
|
|
|
20
21
|
require(hash == keccak256(data[1:]));
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
function staticcallProgram(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
24
|
+
function staticcallProgram(
|
|
25
|
+
address program,
|
|
26
|
+
bytes calldata data
|
|
27
|
+
) external view returns (bytes memory) {
|
|
28
28
|
(bool success, bytes memory result) = address(program).staticcall(data);
|
|
29
29
|
require(success, "call failed");
|
|
30
30
|
return result;
|
|
@@ -101,7 +101,9 @@ contract ProgramTest {
|
|
|
101
101
|
return result;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function mathTest(
|
|
104
|
+
function mathTest(
|
|
105
|
+
address program
|
|
106
|
+
) external {
|
|
105
107
|
uint256 value = 0xeddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d4367786;
|
|
106
108
|
value = mulmod(
|
|
107
109
|
value,
|
|
@@ -115,7 +117,7 @@ contract ProgramTest {
|
|
|
115
117
|
);
|
|
116
118
|
unchecked {
|
|
117
119
|
value /= 0xeddecf107b5740ce;
|
|
118
|
-
value = value**0xfffffffefffffc2f;
|
|
120
|
+
value = value ** 0xfffffffefffffc2f;
|
|
119
121
|
value = value % 0xc6178c2de1078cd3;
|
|
120
122
|
}
|
|
121
123
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Copyright 2021-2022, Offchain Labs, Inc.
|
|
2
|
+
// For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
|
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
4
|
+
|
|
5
|
+
pragma solidity ^0.8.0;
|
|
6
|
+
|
|
7
|
+
import "../bridge/SequencerInbox.sol";
|
|
8
|
+
|
|
9
|
+
contract SequencerInboxBlobMock is SequencerInbox {
|
|
10
|
+
constructor(
|
|
11
|
+
uint256 maxDataSize_,
|
|
12
|
+
IReader4844 reader_,
|
|
13
|
+
bool isUsingFeeToken_,
|
|
14
|
+
bool isDelayBufferable_
|
|
15
|
+
) SequencerInbox(maxDataSize_, reader_, isUsingFeeToken_, isDelayBufferable_) {}
|
|
16
|
+
|
|
17
|
+
/// @dev Form a hash of the data being provided in 4844 data blobs
|
|
18
|
+
/// @param afterDelayedMessagesRead The delayed messages count read up to
|
|
19
|
+
/// @return The data hash
|
|
20
|
+
/// @return The timebounds within which the message should be processed
|
|
21
|
+
/// @return The normalized amount of gas used for blob posting
|
|
22
|
+
function formBlobDataHash(
|
|
23
|
+
uint256 afterDelayedMessagesRead
|
|
24
|
+
) internal view override returns (bytes32, IBridge.TimeBounds memory, uint256) {
|
|
25
|
+
bytes32[3] memory dataHashes = [bytes32(0), bytes32(0), bytes32(0)];
|
|
26
|
+
if (dataHashes.length == 0) revert MissingDataHashes();
|
|
27
|
+
|
|
28
|
+
(bytes memory header, IBridge.TimeBounds memory timeBounds) =
|
|
29
|
+
packHeader(afterDelayedMessagesRead);
|
|
30
|
+
uint256 BLOB_BASE_FEE = 1 gwei;
|
|
31
|
+
uint256 blobCost = BLOB_BASE_FEE * GAS_PER_BLOB * dataHashes.length;
|
|
32
|
+
return (
|
|
33
|
+
keccak256(bytes.concat(header, DATA_BLOB_HEADER_FLAG, abi.encodePacked(dataHashes))),
|
|
34
|
+
timeBounds,
|
|
35
|
+
block.basefee > 0 ? blobCost / block.basefee : 0
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -15,8 +15,9 @@ contract SequencerInboxStub is SequencerInbox {
|
|
|
15
15
|
ISequencerInbox.MaxTimeVariation memory maxTimeVariation_,
|
|
16
16
|
uint256 maxDataSize_,
|
|
17
17
|
IReader4844 reader4844_,
|
|
18
|
-
bool isUsingFeeToken_
|
|
19
|
-
|
|
18
|
+
bool isUsingFeeToken_,
|
|
19
|
+
bool isDelayBufferable_
|
|
20
|
+
) SequencerInbox(maxDataSize_, reader4844_, isUsingFeeToken_, isDelayBufferable_) {
|
|
20
21
|
bridge = bridge_;
|
|
21
22
|
rollup = IOwnable(msg.sender);
|
|
22
23
|
delayBlocks = uint64(maxTimeVariation_.delayBlocks);
|
|
@@ -26,22 +27,18 @@ contract SequencerInboxStub is SequencerInbox {
|
|
|
26
27
|
isBatchPoster[sequencer_] = true;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
function addInitMessage(
|
|
30
|
+
function addInitMessage(
|
|
31
|
+
uint256 chainId
|
|
32
|
+
) external {
|
|
30
33
|
bytes memory initMsg = abi.encodePacked(chainId);
|
|
31
34
|
uint256 num = IEthBridge(address(bridge)).enqueueDelayedMessage(
|
|
32
|
-
INITIALIZATION_MSG_TYPE,
|
|
33
|
-
address(0),
|
|
34
|
-
keccak256(initMsg)
|
|
35
|
+
INITIALIZATION_MSG_TYPE, address(0), keccak256(initMsg)
|
|
35
36
|
);
|
|
36
37
|
require(num == 0, "ALREADY_DELAYED_INIT");
|
|
37
38
|
emit InboxMessageDelivered(num, initMsg);
|
|
38
39
|
(bytes32 dataHash, IBridge.TimeBounds memory timeBounds) = formEmptyDataHash(1);
|
|
39
|
-
(
|
|
40
|
-
|
|
41
|
-
bytes32 beforeAcc,
|
|
42
|
-
bytes32 delayedAcc,
|
|
43
|
-
bytes32 afterAcc
|
|
44
|
-
) = addSequencerL2BatchImpl(dataHash, 1, 0, 0, 1);
|
|
40
|
+
(uint256 sequencerMessageCount, bytes32 beforeAcc, bytes32 delayedAcc, bytes32 afterAcc) =
|
|
41
|
+
addSequencerL2BatchImpl(dataHash, 1, 0, 0, 1);
|
|
45
42
|
require(sequencerMessageCount == 0, "ALREADY_SEQ_INIT");
|
|
46
43
|
emit SequencerBatchDelivered(
|
|
47
44
|
sequencerMessageCount,
|
package/src/mocks/Simple.sol
CHANGED
|
@@ -21,7 +21,9 @@ contract Simple {
|
|
|
21
21
|
counter++;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
function logAndIncrement(
|
|
24
|
+
function logAndIncrement(
|
|
25
|
+
uint256 expected
|
|
26
|
+
) external {
|
|
25
27
|
emit LogAndIncrementCalled(expected, counter);
|
|
26
28
|
counter++;
|
|
27
29
|
}
|
|
@@ -67,8 +69,7 @@ contract Simple {
|
|
|
67
69
|
require(ArbSys(address(100)).isTopLevelCall() == expected, "UNEXPECTED_RESULT");
|
|
68
70
|
} else {
|
|
69
71
|
require(
|
|
70
|
-
ArbSys(address(100)).wasMyCallersAddressAliased() == expected,
|
|
71
|
-
"UNEXPECTED_RESULT"
|
|
72
|
+
ArbSys(address(100)).wasMyCallersAddressAliased() == expected, "UNEXPECTED_RESULT"
|
|
72
73
|
);
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -86,8 +87,7 @@ contract Simple {
|
|
|
86
87
|
require(ArbSys(address(100)).isTopLevelCall() == directCase, "UNEXPECTED_RESULT");
|
|
87
88
|
} else {
|
|
88
89
|
require(
|
|
89
|
-
ArbSys(address(100)).wasMyCallersAddressAliased() == directCase,
|
|
90
|
-
"UNEXPECTED_RESULT"
|
|
90
|
+
ArbSys(address(100)).wasMyCallersAddressAliased() == directCase, "UNEXPECTED_RESULT"
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -96,19 +96,15 @@ contract Simple {
|
|
|
96
96
|
|
|
97
97
|
// DELEGATE CALL
|
|
98
98
|
bytes memory data = abi.encodeWithSelector(
|
|
99
|
-
this.checkIsTopLevelOrWasAliased.selector,
|
|
100
|
-
useTopLevel,
|
|
101
|
-
delegateCase
|
|
99
|
+
this.checkIsTopLevelOrWasAliased.selector, useTopLevel, delegateCase
|
|
102
100
|
);
|
|
103
101
|
// solhint-disable-next-line avoid-low-level-calls
|
|
104
|
-
(bool success,
|
|
102
|
+
(bool success,) = address(this).delegatecall(data);
|
|
105
103
|
require(success, "DELEGATE_CALL_FAILED");
|
|
106
104
|
|
|
107
105
|
// CALLCODE
|
|
108
106
|
data = abi.encodeWithSelector(
|
|
109
|
-
this.checkIsTopLevelOrWasAliased.selector,
|
|
110
|
-
useTopLevel,
|
|
111
|
-
callcodeCase
|
|
107
|
+
this.checkIsTopLevelOrWasAliased.selector, useTopLevel, callcodeCase
|
|
112
108
|
);
|
|
113
109
|
assembly {
|
|
114
110
|
success := callcode(gas(), address(), 0, add(data, 32), mload(data), 0, 0)
|
|
@@ -116,13 +112,10 @@ contract Simple {
|
|
|
116
112
|
require(success, "CALLCODE_FAILED");
|
|
117
113
|
|
|
118
114
|
// CALL
|
|
119
|
-
data =
|
|
120
|
-
this.checkIsTopLevelOrWasAliased.selector,
|
|
121
|
-
useTopLevel,
|
|
122
|
-
callCase
|
|
123
|
-
);
|
|
115
|
+
data =
|
|
116
|
+
abi.encodeWithSelector(this.checkIsTopLevelOrWasAliased.selector, useTopLevel, callCase);
|
|
124
117
|
// solhint-disable-next-line avoid-low-level-calls
|
|
125
|
-
(success,
|
|
118
|
+
(success,) = address(this).call(data);
|
|
126
119
|
require(success, "CALL_FAILED");
|
|
127
120
|
}
|
|
128
121
|
|
|
@@ -132,7 +125,7 @@ contract Simple {
|
|
|
132
125
|
// so we ignore the result of this call.
|
|
133
126
|
// solhint-disable-next-line avoid-low-level-calls
|
|
134
127
|
// solc-ignore-next-line unused-call-retval
|
|
135
|
-
to.staticcall{gas: before - 10000}(input)
|
|
128
|
+
to.staticcall{gas: before - 10000}(input);// forgefmt: disable-line
|
|
136
129
|
return before - gasleft();
|
|
137
130
|
}
|
|
138
131
|
|
|
@@ -145,12 +138,7 @@ contract Simple {
|
|
|
145
138
|
uint256 delayedMessagesRead = sequencerInbox.totalDelayedMessagesRead();
|
|
146
139
|
for (uint256 i = 0; i < numberToPost; i++) {
|
|
147
140
|
sequencerInbox.addSequencerL2Batch(
|
|
148
|
-
sequenceNumber,
|
|
149
|
-
batchData,
|
|
150
|
-
delayedMessagesRead,
|
|
151
|
-
IGasRefunder(address(0)),
|
|
152
|
-
0,
|
|
153
|
-
0
|
|
141
|
+
sequenceNumber, batchData, delayedMessagesRead, IGasRefunder(address(0)), 0, 0
|
|
154
142
|
);
|
|
155
143
|
sequenceNumber++;
|
|
156
144
|
}
|
|
@@ -3,18 +3,25 @@
|
|
|
3
3
|
// SPDX-License-Identifier: BUSL-1.1
|
|
4
4
|
|
|
5
5
|
pragma solidity ^0.8.0;
|
|
6
|
+
|
|
6
7
|
import "../precompiles/ArbWasmCache.sol";
|
|
7
8
|
|
|
8
9
|
contract SimpleCacheManager {
|
|
9
|
-
function cacheProgram(
|
|
10
|
+
function cacheProgram(
|
|
11
|
+
address program
|
|
12
|
+
) external {
|
|
10
13
|
ArbWasmCache(address(0x72)).cacheProgram(program);
|
|
11
14
|
}
|
|
12
15
|
|
|
13
|
-
function evictProgram(
|
|
16
|
+
function evictProgram(
|
|
17
|
+
address program
|
|
18
|
+
) external {
|
|
14
19
|
ArbWasmCache(address(0x72)).evictCodehash(codehash(program));
|
|
15
20
|
}
|
|
16
21
|
|
|
17
|
-
function codehash(
|
|
22
|
+
function codehash(
|
|
23
|
+
address program
|
|
24
|
+
) internal view returns (bytes32 hash) {
|
|
18
25
|
assembly {
|
|
19
26
|
hash := extcodehash(program)
|
|
20
27
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Copyright 2023, Offchain Labs, Inc.
|
|
2
|
+
// For license information, see https://github.com/offchainlabs/bold/blob/main/LICENSE
|
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
4
|
+
//
|
|
5
|
+
pragma solidity ^0.8.17;
|
|
6
|
+
|
|
7
|
+
import "../challengeV2/EdgeChallengeManager.sol";
|
|
8
|
+
import "../state/Deserialize.sol";
|
|
9
|
+
|
|
10
|
+
contract SimpleOneStepProofEntry is IOneStepProofEntry {
|
|
11
|
+
using GlobalStateLib for GlobalState;
|
|
12
|
+
|
|
13
|
+
// End the batch after 2000 steps. This results in 11 blocks for an honest validator.
|
|
14
|
+
// This constant must be synchronized with the one in execution/engine.go
|
|
15
|
+
uint64 public constant STEPS_PER_BATCH = 2000;
|
|
16
|
+
|
|
17
|
+
function getStartMachineHash(
|
|
18
|
+
bytes32 globalStateHash,
|
|
19
|
+
bytes32 wasmModuleRoot
|
|
20
|
+
) external pure returns (bytes32) {
|
|
21
|
+
return keccak256(abi.encodePacked("Machine:", globalStateHash, wasmModuleRoot));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function proveOneStep(
|
|
25
|
+
ExecutionContext calldata execCtx,
|
|
26
|
+
uint256 step,
|
|
27
|
+
bytes32 beforeHash,
|
|
28
|
+
bytes calldata proof
|
|
29
|
+
) external view returns (bytes32 afterHash) {
|
|
30
|
+
if (proof.length == 0) {
|
|
31
|
+
revert("EMPTY_PROOF");
|
|
32
|
+
}
|
|
33
|
+
GlobalState memory globalState;
|
|
34
|
+
uint256 offset;
|
|
35
|
+
(globalState.u64Vals[0], offset) = Deserialize.u64(proof, offset);
|
|
36
|
+
(globalState.u64Vals[1], offset) = Deserialize.u64(proof, offset);
|
|
37
|
+
if (step > 0 && (beforeHash[0] == 0 || globalState.getPositionInMessage() == 0)) {
|
|
38
|
+
// We end the block when the first byte of the hash hits 0 or we advance a batch
|
|
39
|
+
return beforeHash;
|
|
40
|
+
}
|
|
41
|
+
if (globalState.getInboxPosition() >= execCtx.maxInboxMessagesRead) {
|
|
42
|
+
// We can't continue further because we've hit the max inbox messages read
|
|
43
|
+
return beforeHash;
|
|
44
|
+
}
|
|
45
|
+
require(globalState.hash() == beforeHash, "BAD_PROOF");
|
|
46
|
+
globalState.u64Vals[1]++;
|
|
47
|
+
if (globalState.u64Vals[1] % STEPS_PER_BATCH == 0) {
|
|
48
|
+
globalState.u64Vals[0]++;
|
|
49
|
+
globalState.u64Vals[1] = 0;
|
|
50
|
+
}
|
|
51
|
+
return globalState.hash();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function getMachineHash(
|
|
55
|
+
ExecutionState calldata execState
|
|
56
|
+
) external pure override returns (bytes32) {
|
|
57
|
+
require(execState.machineStatus == MachineStatus.FINISHED, "BAD_MACHINE_STATUS");
|
|
58
|
+
return execState.globalState.hash();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright 2021-2022, Offchain Labs, Inc.
|
|
2
|
+
// For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
|
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
4
|
+
|
|
5
|
+
pragma solidity ^0.8.0;
|
|
6
|
+
|
|
7
|
+
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
8
|
+
|
|
9
|
+
interface IWETH9 {
|
|
10
|
+
function deposit() external payable;
|
|
11
|
+
|
|
12
|
+
function withdraw(
|
|
13
|
+
uint256 _amount
|
|
14
|
+
) external;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
contract TestWETH9 is ERC20, IWETH9 {
|
|
18
|
+
constructor(string memory name_, string memory symbol_) ERC20(name_, symbol_) {}
|
|
19
|
+
|
|
20
|
+
function deposit() external payable override {
|
|
21
|
+
_mint(msg.sender, msg.value);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function withdraw(
|
|
25
|
+
uint256 _amount
|
|
26
|
+
) external override {
|
|
27
|
+
_burn(msg.sender, _amount);
|
|
28
|
+
payable(address(msg.sender)).transfer(_amount);
|
|
29
|
+
}
|
|
30
|
+
}
|