@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
|
@@ -29,11 +29,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
29
29
|
uint64 private constant INBOX_HEADER_LEN = 40;
|
|
30
30
|
uint64 private constant DELAYED_HEADER_LEN = 112 + 1;
|
|
31
31
|
|
|
32
|
-
function setLeafByte(
|
|
33
|
-
bytes32 oldLeaf,
|
|
34
|
-
uint256 idx,
|
|
35
|
-
uint8 val
|
|
36
|
-
) internal pure returns (bytes32) {
|
|
32
|
+
function setLeafByte(bytes32 oldLeaf, uint256 idx, uint8 val) internal pure returns (bytes32) {
|
|
37
33
|
require(idx < LEAF_SIZE, "BAD_SET_LEAF_BYTE_IDX");
|
|
38
34
|
// Take into account that we are casting the leaf to a big-endian integer
|
|
39
35
|
uint256 leafShift = (LEAF_SIZE - 1 - idx) * 8;
|
|
@@ -66,17 +62,12 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
66
62
|
uint256 proofOffset = 0;
|
|
67
63
|
bytes32 startLeafContents;
|
|
68
64
|
MerkleProof memory merkleProof;
|
|
69
|
-
(startLeafContents, proofOffset, merkleProof) =
|
|
70
|
-
leafIdx,
|
|
71
|
-
proof,
|
|
72
|
-
proofOffset
|
|
73
|
-
);
|
|
65
|
+
(startLeafContents, proofOffset, merkleProof) =
|
|
66
|
+
mod.moduleMemory.proveLeaf(leafIdx, proof, proofOffset);
|
|
74
67
|
|
|
75
68
|
if (inst.opcode == Instructions.GET_GLOBAL_STATE_BYTES32) {
|
|
76
|
-
mod.moduleMemory.merkleRoot =
|
|
77
|
-
leafIdx,
|
|
78
|
-
state.bytes32Vals[idx]
|
|
79
|
-
);
|
|
69
|
+
mod.moduleMemory.merkleRoot =
|
|
70
|
+
merkleProof.computeRootFromMemory(leafIdx, state.bytes32Vals[idx]);
|
|
80
71
|
} else if (inst.opcode == Instructions.SET_GLOBAL_STATE_BYTES32) {
|
|
81
72
|
state.bytes32Vals[idx] = startLeafContents;
|
|
82
73
|
} else {
|
|
@@ -113,11 +104,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
113
104
|
|
|
114
105
|
// Computes b**e % m
|
|
115
106
|
// Really pure but the Solidity compiler sees the staticcall and requires view
|
|
116
|
-
function modExp256(
|
|
117
|
-
uint256 b,
|
|
118
|
-
uint256 e,
|
|
119
|
-
uint256 m
|
|
120
|
-
) internal view returns (uint256) {
|
|
107
|
+
function modExp256(uint256 b, uint256 e, uint256 m) internal view returns (uint256) {
|
|
121
108
|
bytes memory modExpInput = abi.encode(32, 32, 32, b, e, m);
|
|
122
109
|
(bool modexpSuccess, bytes memory modExpOutput) = address(0x05).staticcall(modExpInput);
|
|
123
110
|
require(modexpSuccess, "MODEXP_FAILED");
|
|
@@ -143,11 +130,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
143
130
|
uint256 proofOffset = 0;
|
|
144
131
|
bytes32 leafContents;
|
|
145
132
|
MerkleProof memory merkleProof;
|
|
146
|
-
(leafContents, proofOffset, merkleProof) =
|
|
147
|
-
leafIdx,
|
|
148
|
-
proof,
|
|
149
|
-
proofOffset
|
|
150
|
-
);
|
|
133
|
+
(leafContents, proofOffset, merkleProof) =
|
|
134
|
+
mod.moduleMemory.proveLeaf(leafIdx, proof, proofOffset);
|
|
151
135
|
|
|
152
136
|
bytes memory extracted;
|
|
153
137
|
uint8 proofType = uint8(proof[proofOffset]);
|
|
@@ -257,7 +241,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
257
241
|
require(message.length >= INBOX_HEADER_LEN, "BAD_SEQINBOX_PROOF");
|
|
258
242
|
|
|
259
243
|
uint64 afterDelayedMsg;
|
|
260
|
-
(afterDelayedMsg,
|
|
244
|
+
(afterDelayedMsg,) = Deserialize.u64(message, 32);
|
|
261
245
|
bytes32 messageHash = keccak256(message);
|
|
262
246
|
bytes32 beforeAcc;
|
|
263
247
|
bytes32 delayedAcc;
|
|
@@ -289,7 +273,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
289
273
|
bytes32 messageDataHash = keccak256(message[DELAYED_HEADER_LEN:]);
|
|
290
274
|
bytes1 kind = message[0];
|
|
291
275
|
uint256 sender;
|
|
292
|
-
(sender,
|
|
276
|
+
(sender,) = Deserialize.u256(message, 1);
|
|
293
277
|
|
|
294
278
|
bytes32 messageHash = keccak256(
|
|
295
279
|
abi.encodePacked(kind, uint160(sender), message[33:DELAYED_HEADER_LEN], messageDataHash)
|
|
@@ -311,10 +295,10 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
311
295
|
uint256 ptr = mach.valueStack.pop().assumeI32();
|
|
312
296
|
uint256 msgIndex = mach.valueStack.pop().assumeI64();
|
|
313
297
|
if (
|
|
314
|
-
inst.argumentData == Instructions.INBOX_INDEX_SEQUENCER
|
|
315
|
-
|
|
298
|
+
inst.argumentData == Instructions.INBOX_INDEX_SEQUENCER
|
|
299
|
+
&& msgIndex >= execCtx.maxInboxMessagesRead
|
|
316
300
|
) {
|
|
317
|
-
mach.status = MachineStatus.
|
|
301
|
+
mach.status = MachineStatus.ERRORED;
|
|
318
302
|
return;
|
|
319
303
|
}
|
|
320
304
|
|
|
@@ -327,11 +311,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
327
311
|
uint256 proofOffset = 0;
|
|
328
312
|
bytes32 leafContents;
|
|
329
313
|
MerkleProof memory merkleProof;
|
|
330
|
-
(leafContents, proofOffset, merkleProof) =
|
|
331
|
-
leafIdx,
|
|
332
|
-
proof,
|
|
333
|
-
proofOffset
|
|
334
|
-
);
|
|
314
|
+
(leafContents, proofOffset, merkleProof) =
|
|
315
|
+
mod.moduleMemory.proveLeaf(leafIdx, proof, proofOffset);
|
|
335
316
|
|
|
336
317
|
{
|
|
337
318
|
// TODO: support proving via an authenticated contract
|
|
@@ -364,11 +345,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
364
345
|
|
|
365
346
|
uint32 i = 0;
|
|
366
347
|
for (; i < 32 && messageOffset + i < messageLength; i++) {
|
|
367
|
-
leafContents =
|
|
368
|
-
leafContents,
|
|
369
|
-
i,
|
|
370
|
-
uint8(proof[proofOffset + messageOffset + i])
|
|
371
|
-
);
|
|
348
|
+
leafContents =
|
|
349
|
+
setLeafByte(leafContents, i, uint8(proof[proofOffset + messageOffset + i]));
|
|
372
350
|
}
|
|
373
351
|
|
|
374
352
|
mod.moduleMemory.merkleRoot = merkleProof.computeRootFromMemory(leafIdx, leafContents);
|
|
@@ -385,7 +363,9 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
385
363
|
mach.status = MachineStatus.FINISHED;
|
|
386
364
|
}
|
|
387
365
|
|
|
388
|
-
function isPowerOfTwo(
|
|
366
|
+
function isPowerOfTwo(
|
|
367
|
+
uint256 value
|
|
368
|
+
) internal pure returns (bool) {
|
|
389
369
|
return value != 0 && (value & (value - 1) == 0);
|
|
390
370
|
}
|
|
391
371
|
|
|
@@ -396,11 +376,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
396
376
|
)
|
|
397
377
|
internal
|
|
398
378
|
pure
|
|
399
|
-
returns (
|
|
400
|
-
uint256 leaf,
|
|
401
|
-
MerkleProof memory leafProof,
|
|
402
|
-
MerkleProof memory zeroProof
|
|
403
|
-
)
|
|
379
|
+
returns (uint256 leaf, MerkleProof memory leafProof, MerkleProof memory zeroProof)
|
|
404
380
|
{
|
|
405
381
|
string memory prefix = "Module merkle tree:";
|
|
406
382
|
bytes32 root = mach.modulesRoot;
|
|
@@ -445,13 +421,10 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
445
421
|
mach.status = MachineStatus.ERRORED;
|
|
446
422
|
return;
|
|
447
423
|
}
|
|
448
|
-
(bytes32 userMod, uint256 offset,
|
|
449
|
-
pointer / LEAF_SIZE,
|
|
450
|
-
proof,
|
|
451
|
-
0
|
|
452
|
-
);
|
|
424
|
+
(bytes32 userMod, uint256 offset,) =
|
|
425
|
+
mod.moduleMemory.proveLeaf(pointer / LEAF_SIZE, proof, 0);
|
|
453
426
|
|
|
454
|
-
(uint256 leaf
|
|
427
|
+
(uint256 leaf,, MerkleProof memory zeroProof) = proveLastLeaf(mach, offset, proof);
|
|
455
428
|
|
|
456
429
|
bool balanced = isPowerOfTwo(leaf + 1);
|
|
457
430
|
if (balanced) {
|
|
@@ -472,7 +445,7 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
472
445
|
) internal pure {
|
|
473
446
|
string memory prefix = "Module merkle tree:";
|
|
474
447
|
|
|
475
|
-
(uint256 leaf, MerkleProof memory leafProof,
|
|
448
|
+
(uint256 leaf, MerkleProof memory leafProof,) = proveLastLeaf(mach, 0, proof);
|
|
476
449
|
|
|
477
450
|
bool shrink = isPowerOfTwo(leaf);
|
|
478
451
|
if (shrink) {
|
|
@@ -497,8 +470,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
497
470
|
require(state.hash() == mach.globalStateHash, "BAD_GLOBAL_STATE");
|
|
498
471
|
|
|
499
472
|
if (
|
|
500
|
-
opcode == Instructions.GET_GLOBAL_STATE_BYTES32
|
|
501
|
-
|
|
473
|
+
opcode == Instructions.GET_GLOBAL_STATE_BYTES32
|
|
474
|
+
|| opcode == Instructions.SET_GLOBAL_STATE_BYTES32
|
|
502
475
|
) {
|
|
503
476
|
executeGetOrSetBytes32(mach, mod, state, inst, proof[proofOffset:]);
|
|
504
477
|
} else if (opcode == Instructions.GET_GLOBAL_STATE_U64) {
|
|
@@ -539,8 +512,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
539
512
|
require(multi.remainingHash == bytes32(0), "WRONG_COTHREAD_EMPTY");
|
|
540
513
|
} else {
|
|
541
514
|
require(
|
|
542
|
-
keccak256(abi.encodePacked("cothread:", newInactiveCoThread, newRemaining))
|
|
543
|
-
multi.remainingHash,
|
|
515
|
+
keccak256(abi.encodePacked("cothread:", newInactiveCoThread, newRemaining))
|
|
516
|
+
== multi.remainingHash,
|
|
544
517
|
"WRONG_COTHREAD_POP"
|
|
545
518
|
);
|
|
546
519
|
}
|
|
@@ -620,8 +593,8 @@ contract OneStepProverHostIo is IOneStepProver {
|
|
|
620
593
|
) internal view impl;
|
|
621
594
|
|
|
622
595
|
if (
|
|
623
|
-
opcode >= Instructions.GET_GLOBAL_STATE_BYTES32
|
|
624
|
-
|
|
596
|
+
opcode >= Instructions.GET_GLOBAL_STATE_BYTES32
|
|
597
|
+
&& opcode <= Instructions.SET_GLOBAL_STATE_U64
|
|
625
598
|
) {
|
|
626
599
|
impl = executeGlobalStateAccess;
|
|
627
600
|
} else if (opcode == Instructions.READ_PRE_IMAGE) {
|
|
@@ -39,18 +39,16 @@ contract OneStepProverMath is IOneStepProver {
|
|
|
39
39
|
mach.valueStack.push(ValueLib.newI32(output));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
function signExtend(
|
|
42
|
+
function signExtend(
|
|
43
|
+
uint32 a
|
|
44
|
+
) internal pure returns (uint64) {
|
|
43
45
|
if (a & (1 << 31) != 0) {
|
|
44
46
|
return uint64(a) | uint64(0xffffffff00000000);
|
|
45
47
|
}
|
|
46
48
|
return uint64(a);
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
function i64RelOp(
|
|
50
|
-
uint64 a,
|
|
51
|
-
uint64 b,
|
|
52
|
-
uint16 relop
|
|
53
|
-
) internal pure returns (bool) {
|
|
51
|
+
function i64RelOp(uint64 a, uint64 b, uint16 relop) internal pure returns (bool) {
|
|
54
52
|
if (relop == Instructions.IRELOP_EQ) {
|
|
55
53
|
return (a == b);
|
|
56
54
|
} else if (relop == Instructions.IRELOP_NE) {
|
|
@@ -90,10 +88,8 @@ contract OneStepProverMath is IOneStepProver {
|
|
|
90
88
|
uint64 b64;
|
|
91
89
|
|
|
92
90
|
if (
|
|
93
|
-
relop == Instructions.IRELOP_LT_S ||
|
|
94
|
-
|
|
95
|
-
relop == Instructions.IRELOP_LE_S ||
|
|
96
|
-
relop == Instructions.IRELOP_GE_S
|
|
91
|
+
relop == Instructions.IRELOP_LT_S || relop == Instructions.IRELOP_GT_S
|
|
92
|
+
|| relop == Instructions.IRELOP_LE_S || relop == Instructions.IRELOP_GE_S
|
|
97
93
|
) {
|
|
98
94
|
a64 = signExtend(a);
|
|
99
95
|
b64 = signExtend(b);
|
|
@@ -123,11 +119,7 @@ contract OneStepProverMath is IOneStepProver {
|
|
|
123
119
|
mach.valueStack.push(ValueLib.newBoolean(res));
|
|
124
120
|
}
|
|
125
121
|
|
|
126
|
-
function genericIUnOp(
|
|
127
|
-
uint64 a,
|
|
128
|
-
uint16 unop,
|
|
129
|
-
uint16 bits
|
|
130
|
-
) internal pure returns (uint32) {
|
|
122
|
+
function genericIUnOp(uint64 a, uint16 unop, uint16 bits) internal pure returns (uint32) {
|
|
131
123
|
require(bits == 32 || bits == 64, "WRONG USE OF genericUnOp");
|
|
132
124
|
if (unop == Instructions.IUNOP_CLZ) {
|
|
133
125
|
/* curbits is one-based to keep with unsigned mathematics */
|
|
@@ -480,25 +472,25 @@ contract OneStepProverMath is IOneStepProver {
|
|
|
480
472
|
if (opcode == Instructions.I32_EQZ || opcode == Instructions.I64_EQZ) {
|
|
481
473
|
impl = executeEqz;
|
|
482
474
|
} else if (
|
|
483
|
-
opcode >= Instructions.I32_RELOP_BASE
|
|
484
|
-
|
|
475
|
+
opcode >= Instructions.I32_RELOP_BASE
|
|
476
|
+
&& opcode <= Instructions.I32_RELOP_BASE + Instructions.IRELOP_LAST
|
|
485
477
|
) {
|
|
486
478
|
impl = executeI32RelOp;
|
|
487
479
|
} else if (
|
|
488
|
-
opcode >= Instructions.I32_UNOP_BASE
|
|
489
|
-
|
|
480
|
+
opcode >= Instructions.I32_UNOP_BASE
|
|
481
|
+
&& opcode <= Instructions.I32_UNOP_BASE + Instructions.IUNOP_LAST
|
|
490
482
|
) {
|
|
491
483
|
impl = executeI32UnOp;
|
|
492
484
|
} else if (opcode >= Instructions.I32_ADD && opcode <= Instructions.I32_ROTR) {
|
|
493
485
|
impl = executeI32BinOp;
|
|
494
486
|
} else if (
|
|
495
|
-
opcode >= Instructions.I64_RELOP_BASE
|
|
496
|
-
|
|
487
|
+
opcode >= Instructions.I64_RELOP_BASE
|
|
488
|
+
&& opcode <= Instructions.I64_RELOP_BASE + Instructions.IRELOP_LAST
|
|
497
489
|
) {
|
|
498
490
|
impl = executeI64RelOp;
|
|
499
491
|
} else if (
|
|
500
|
-
opcode >= Instructions.I64_UNOP_BASE
|
|
501
|
-
|
|
492
|
+
opcode >= Instructions.I64_UNOP_BASE
|
|
493
|
+
&& opcode <= Instructions.I64_UNOP_BASE + Instructions.IUNOP_LAST
|
|
502
494
|
) {
|
|
503
495
|
impl = executeI64UnOp;
|
|
504
496
|
} else if (opcode >= Instructions.I64_ADD && opcode <= Instructions.I64_ROTR) {
|
|
@@ -19,11 +19,7 @@ contract OneStepProverMemory is IOneStepProver {
|
|
|
19
19
|
uint256 private constant LEAF_SIZE = 32;
|
|
20
20
|
uint64 private constant PAGE_SIZE = 65536;
|
|
21
21
|
|
|
22
|
-
function setLeafByte(
|
|
23
|
-
bytes32 oldLeaf,
|
|
24
|
-
uint256 idx,
|
|
25
|
-
uint8 val
|
|
26
|
-
) internal pure returns (bytes32) {
|
|
22
|
+
function setLeafByte(bytes32 oldLeaf, uint256 idx, uint8 val) internal pure returns (bytes32) {
|
|
27
23
|
require(idx < LEAF_SIZE, "BAD_SET_LEAF_BYTE_IDX");
|
|
28
24
|
// Take into account that we are casting the leaf to a big-endian integer
|
|
29
25
|
uint256 leafShift = (LEAF_SIZE - 1 - idx) * 8;
|
|
@@ -103,7 +99,7 @@ contract OneStepProverMemory is IOneStepProver {
|
|
|
103
99
|
}
|
|
104
100
|
|
|
105
101
|
uint256 index = inst.argumentData + mach.valueStack.pop().assumeI32();
|
|
106
|
-
(bool err, uint256 value,
|
|
102
|
+
(bool err, uint256 value,) = mod.moduleMemory.load(index, readBytes, proof, 0);
|
|
107
103
|
if (err) {
|
|
108
104
|
mach.status = MachineStatus.ERRORED;
|
|
109
105
|
return;
|
|
@@ -197,31 +193,21 @@ contract OneStepProverMemory is IOneStepProver {
|
|
|
197
193
|
if (lastProvedLeafIdx != ~uint256(0)) {
|
|
198
194
|
// Apply the last leaf update
|
|
199
195
|
mod.moduleMemory.merkleRoot = lastProvedMerkle.computeRootFromMemory(
|
|
200
|
-
lastProvedLeafIdx,
|
|
201
|
-
lastProvedLeafContents
|
|
196
|
+
lastProvedLeafIdx, lastProvedLeafContents
|
|
202
197
|
);
|
|
203
198
|
}
|
|
204
199
|
// This hits the stack size if we phrase it as mod.moduleMemory.proveLeaf(...)
|
|
205
|
-
(lastProvedLeafContents, proofOffset, lastProvedMerkle) =
|
|
206
|
-
mod.moduleMemory,
|
|
207
|
-
leafIdx,
|
|
208
|
-
proof,
|
|
209
|
-
proofOffset
|
|
210
|
-
);
|
|
200
|
+
(lastProvedLeafContents, proofOffset, lastProvedMerkle) =
|
|
201
|
+
ModuleMemoryLib.proveLeaf(mod.moduleMemory, leafIdx, proof, proofOffset);
|
|
211
202
|
lastProvedLeafIdx = leafIdx;
|
|
212
203
|
}
|
|
213
204
|
uint256 indexWithinLeaf = idx % LEAF_SIZE;
|
|
214
|
-
lastProvedLeafContents =
|
|
215
|
-
lastProvedLeafContents,
|
|
216
|
-
indexWithinLeaf,
|
|
217
|
-
uint8(toWrite)
|
|
218
|
-
);
|
|
205
|
+
lastProvedLeafContents =
|
|
206
|
+
setLeafByte(lastProvedLeafContents, indexWithinLeaf, uint8(toWrite));
|
|
219
207
|
toWrite >>= 8;
|
|
220
208
|
}
|
|
221
|
-
mod.moduleMemory.merkleRoot =
|
|
222
|
-
lastProvedLeafIdx,
|
|
223
|
-
lastProvedLeafContents
|
|
224
|
-
);
|
|
209
|
+
mod.moduleMemory.merkleRoot =
|
|
210
|
+
lastProvedMerkle.computeRootFromMemory(lastProvedLeafIdx, lastProvedLeafContents);
|
|
225
211
|
}
|
|
226
212
|
|
|
227
213
|
function executeMemorySize(
|
|
@@ -14,14 +14,18 @@ interface ArbAddressTable {
|
|
|
14
14
|
* @param addr address to check for presence in table
|
|
15
15
|
* @return true if address is in table
|
|
16
16
|
*/
|
|
17
|
-
function addressExists(
|
|
17
|
+
function addressExists(
|
|
18
|
+
address addr
|
|
19
|
+
) external view returns (bool);
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* @notice compress an address and return the result
|
|
21
23
|
* @param addr address to compress
|
|
22
24
|
* @return compressed address bytes
|
|
23
25
|
*/
|
|
24
|
-
function compress(
|
|
26
|
+
function compress(
|
|
27
|
+
address addr
|
|
28
|
+
) external returns (bytes memory);
|
|
25
29
|
|
|
26
30
|
/**
|
|
27
31
|
* @notice read a compressed address from a bytes buffer
|
|
@@ -29,29 +33,35 @@ interface ArbAddressTable {
|
|
|
29
33
|
* @param offset offset of target address
|
|
30
34
|
* @return resulting address and updated offset into the buffer (revert if buffer is too short)
|
|
31
35
|
*/
|
|
32
|
-
function decompress(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
function decompress(
|
|
37
|
+
bytes calldata buf,
|
|
38
|
+
uint256 offset
|
|
39
|
+
) external view returns (address, uint256);
|
|
36
40
|
|
|
37
41
|
/**
|
|
38
42
|
* @param addr address to lookup
|
|
39
43
|
* @return index of an address in the address table (revert if address isn't in the table)
|
|
40
44
|
*/
|
|
41
|
-
function lookup(
|
|
45
|
+
function lookup(
|
|
46
|
+
address addr
|
|
47
|
+
) external view returns (uint256);
|
|
42
48
|
|
|
43
49
|
/**
|
|
44
50
|
* @param index index to lookup address
|
|
45
51
|
* @return address at a given index in address table (revert if index is beyond end of table)
|
|
46
52
|
*/
|
|
47
|
-
function lookupIndex(
|
|
53
|
+
function lookupIndex(
|
|
54
|
+
uint256 index
|
|
55
|
+
) external view returns (address);
|
|
48
56
|
|
|
49
57
|
/**
|
|
50
58
|
* @notice Register an address in the address table
|
|
51
59
|
* @param addr address to register
|
|
52
60
|
* @return index of the address (existing index, or newly created index if not already registered)
|
|
53
61
|
*/
|
|
54
|
-
function register(
|
|
62
|
+
function register(
|
|
63
|
+
address addr
|
|
64
|
+
) external returns (uint256);
|
|
55
65
|
|
|
56
66
|
/**
|
|
57
67
|
* @return size of address table (= first unused index)
|
|
@@ -11,7 +11,9 @@ interface ArbAggregator {
|
|
|
11
11
|
/// @notice Get the address of an arbitrarily chosen batch poster.
|
|
12
12
|
/// @param addr ignored
|
|
13
13
|
/// @return (batchPosterAddress, true)
|
|
14
|
-
function getPreferredAggregator(
|
|
14
|
+
function getPreferredAggregator(
|
|
15
|
+
address addr
|
|
16
|
+
) external view returns (address, bool);
|
|
15
17
|
|
|
16
18
|
/// @notice Deprecated, there is no longer a single preferred aggregator, use getBatchPosters instead
|
|
17
19
|
/// @notice Get default aggregator.
|
|
@@ -24,12 +26,16 @@ interface ArbAggregator {
|
|
|
24
26
|
/// @notice Adds newBatchPoster as a batch poster
|
|
25
27
|
/// This reverts unless called by a chain owner
|
|
26
28
|
/// @param newBatchPoster New batch poster
|
|
27
|
-
function addBatchPoster(
|
|
29
|
+
function addBatchPoster(
|
|
30
|
+
address newBatchPoster
|
|
31
|
+
) external;
|
|
28
32
|
|
|
29
33
|
/// @notice Get the address where fees to batchPoster are sent.
|
|
30
34
|
/// @param batchPoster The batch poster to get the fee collector for
|
|
31
35
|
/// @return The fee collectors address. This will sometimes but not always be the same as the batch poster's address.
|
|
32
|
-
function getFeeCollector(
|
|
36
|
+
function getFeeCollector(
|
|
37
|
+
address batchPoster
|
|
38
|
+
) external view returns (address);
|
|
33
39
|
|
|
34
40
|
/// @notice Set the address where fees to batchPoster are sent.
|
|
35
41
|
/// This reverts unless called by the batch poster, its fee collector, or a chain owner
|
|
@@ -40,7 +46,9 @@ interface ArbAggregator {
|
|
|
40
46
|
/// @notice Deprecated, always returns zero
|
|
41
47
|
/// @notice Get the tx base fee (in approximate L1 gas) for aggregator
|
|
42
48
|
/// @param aggregator The aggregator to get the base fee for
|
|
43
|
-
function getTxBaseFee(
|
|
49
|
+
function getTxBaseFee(
|
|
50
|
+
address aggregator
|
|
51
|
+
) external view returns (uint256);
|
|
44
52
|
|
|
45
53
|
/// @notice Deprecated, is now a no-op
|
|
46
54
|
/// @notice Set the tx base fee (in approximate L1 gas) for aggregator
|
|
@@ -6,6 +6,4 @@ pragma solidity >=0.4.21 <0.9.0;
|
|
|
6
6
|
|
|
7
7
|
/// @title Disabled precompile, formerly used to register BLS public keys.
|
|
8
8
|
/// @notice Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000067.
|
|
9
|
-
interface ArbBLS {
|
|
10
|
-
|
|
11
|
-
}
|
|
9
|
+
interface ArbBLS {}
|
|
@@ -21,21 +21,15 @@ interface ArbDebug {
|
|
|
21
21
|
// Events that exist for testing log creation and pricing
|
|
22
22
|
event Basic(bool flag, bytes32 indexed value);
|
|
23
23
|
event Mixed(
|
|
24
|
-
bool indexed flag,
|
|
25
|
-
bool not,
|
|
26
|
-
bytes32 indexed value,
|
|
27
|
-
address conn,
|
|
28
|
-
address indexed caller
|
|
24
|
+
bool indexed flag, bool not, bytes32 indexed value, address conn, address indexed caller
|
|
29
25
|
);
|
|
30
26
|
event Store(
|
|
31
|
-
bool indexed flag,
|
|
32
|
-
address indexed field,
|
|
33
|
-
uint24 number,
|
|
34
|
-
bytes32 value,
|
|
35
|
-
bytes store
|
|
27
|
+
bool indexed flag, address indexed field, uint24 number, bytes32 value, bytes store
|
|
36
28
|
);
|
|
37
29
|
|
|
38
|
-
function customRevert(
|
|
30
|
+
function customRevert(
|
|
31
|
+
uint64 number
|
|
32
|
+
) external pure;
|
|
39
33
|
|
|
40
34
|
function panic() external;
|
|
41
35
|
|
|
@@ -12,18 +12,15 @@ pragma solidity >=0.4.21 <0.9.0;
|
|
|
12
12
|
/// Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000068.
|
|
13
13
|
interface ArbFunctionTable {
|
|
14
14
|
/// @notice Reverts since the table is empty
|
|
15
|
-
function upload(
|
|
15
|
+
function upload(
|
|
16
|
+
bytes calldata buf
|
|
17
|
+
) external;
|
|
16
18
|
|
|
17
19
|
/// @notice Returns the empty table's size, which is 0
|
|
18
|
-
function size(
|
|
20
|
+
function size(
|
|
21
|
+
address addr
|
|
22
|
+
) external view returns (uint256);
|
|
19
23
|
|
|
20
24
|
/// @notice No-op
|
|
21
|
-
function get(address addr, uint256 index)
|
|
22
|
-
external
|
|
23
|
-
view
|
|
24
|
-
returns (
|
|
25
|
-
uint256,
|
|
26
|
-
bool,
|
|
27
|
-
uint256
|
|
28
|
-
);
|
|
25
|
+
function get(address addr, uint256 index) external view returns (uint256, bool, uint256);
|
|
29
26
|
}
|
|
@@ -19,17 +19,9 @@ interface ArbGasInfo {
|
|
|
19
19
|
/// per ArbGas congestion,
|
|
20
20
|
/// per ArbGas total
|
|
21
21
|
/// )
|
|
22
|
-
function getPricesInWeiWithAggregator(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
returns (
|
|
26
|
-
uint256,
|
|
27
|
-
uint256,
|
|
28
|
-
uint256,
|
|
29
|
-
uint256,
|
|
30
|
-
uint256,
|
|
31
|
-
uint256
|
|
32
|
-
);
|
|
22
|
+
function getPricesInWeiWithAggregator(
|
|
23
|
+
address aggregator
|
|
24
|
+
) external view returns (uint256, uint256, uint256, uint256, uint256, uint256);
|
|
33
25
|
|
|
34
26
|
/// @notice Get gas prices. Uses the caller's preferred aggregator, or the default if the caller doesn't have a preferred one.
|
|
35
27
|
/// @return return gas prices in wei
|
|
@@ -44,47 +36,21 @@ interface ArbGasInfo {
|
|
|
44
36
|
function getPricesInWei()
|
|
45
37
|
external
|
|
46
38
|
view
|
|
47
|
-
returns (
|
|
48
|
-
uint256,
|
|
49
|
-
uint256,
|
|
50
|
-
uint256,
|
|
51
|
-
uint256,
|
|
52
|
-
uint256,
|
|
53
|
-
uint256
|
|
54
|
-
);
|
|
39
|
+
returns (uint256, uint256, uint256, uint256, uint256, uint256);
|
|
55
40
|
|
|
56
41
|
/// @notice Get prices in ArbGas for the supplied aggregator
|
|
57
42
|
/// @return (per L2 tx, per L1 calldata byte, per storage allocation)
|
|
58
|
-
function getPricesInArbGasWithAggregator(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
returns (
|
|
62
|
-
uint256,
|
|
63
|
-
uint256,
|
|
64
|
-
uint256
|
|
65
|
-
);
|
|
43
|
+
function getPricesInArbGasWithAggregator(
|
|
44
|
+
address aggregator
|
|
45
|
+
) external view returns (uint256, uint256, uint256);
|
|
66
46
|
|
|
67
47
|
/// @notice Get prices in ArbGas. Assumes the callers preferred validator, or the default if caller doesn't have a preferred one.
|
|
68
48
|
/// @return (per L2 tx, per L1 calldata byte, per storage allocation)
|
|
69
|
-
function getPricesInArbGas()
|
|
70
|
-
external
|
|
71
|
-
view
|
|
72
|
-
returns (
|
|
73
|
-
uint256,
|
|
74
|
-
uint256,
|
|
75
|
-
uint256
|
|
76
|
-
);
|
|
49
|
+
function getPricesInArbGas() external view returns (uint256, uint256, uint256);
|
|
77
50
|
|
|
78
51
|
/// @notice Get the gas accounting parameters. `gasPoolMax` is always zero, as the exponential pricing model has no such notion.
|
|
79
52
|
/// @return (speedLimitPerSecond, gasPoolMax, maxTxGasLimit)
|
|
80
|
-
function getGasAccountingParams()
|
|
81
|
-
external
|
|
82
|
-
view
|
|
83
|
-
returns (
|
|
84
|
-
uint256,
|
|
85
|
-
uint256,
|
|
86
|
-
uint256
|
|
87
|
-
);
|
|
53
|
+
function getGasAccountingParams() external view returns (uint256, uint256, uint256);
|
|
88
54
|
|
|
89
55
|
/// @notice Get the minimum gas price needed for a tx to succeed
|
|
90
56
|
function getMinimumGasPrice() external view returns (uint256);
|
|
@@ -8,8 +8,12 @@ pragma solidity >=0.4.21 <0.9.0;
|
|
|
8
8
|
/// @notice Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000065.
|
|
9
9
|
interface ArbInfo {
|
|
10
10
|
/// @notice Retrieves an account's balance
|
|
11
|
-
function getBalance(
|
|
11
|
+
function getBalance(
|
|
12
|
+
address account
|
|
13
|
+
) external view returns (uint256);
|
|
12
14
|
|
|
13
15
|
/// @notice Retrieves a contract's deployed code
|
|
14
|
-
function getCode(
|
|
16
|
+
function getCode(
|
|
17
|
+
address account
|
|
18
|
+
) external view returns (bytes memory);
|
|
15
19
|
}
|