@arbitrum/nitro-contracts 1.0.0-beta.5 → 1.0.0-beta.8
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +6 -2
- package/src/bridge/Bridge.sol +138 -32
- package/src/bridge/IBridge.sol +34 -14
- package/src/bridge/IDelayedMessageProvider.sol +15 -0
- package/src/bridge/IInbox.sol +8 -19
- package/src/bridge/IOutbox.sol +43 -23
- package/src/bridge/IOwnable.sol +10 -0
- package/src/bridge/ISequencerInbox.sol +30 -32
- package/src/bridge/Inbox.sol +133 -35
- package/src/bridge/Outbox.sol +145 -33
- package/src/bridge/SequencerInbox.sol +179 -60
- package/src/challenge/ChallengeLib.sol +0 -2
- package/src/challenge/ChallengeManager.sol +4 -8
- package/src/challenge/IChallengeManager.sol +1 -1
- package/src/libraries/Error.sol +113 -0
- package/src/libraries/IGasRefunder.sol +15 -14
- package/src/libraries/MerkleLib.sol +11 -2
- package/src/libraries/MessageTypes.sol +1 -0
- package/src/mocks/BridgeStub.sol +69 -21
- package/src/mocks/InboxStub.sol +2 -0
- package/src/mocks/SequencerInboxStub.sol +10 -8
- package/src/mocks/Simple.sol +8 -0
- package/src/node-interface/NodeInterface.sol +62 -4
- package/src/osp/IOneStepProver.sol +1 -2
- package/src/osp/OneStepProver0.sol +1 -87
- package/src/osp/OneStepProverHostIo.sol +5 -6
- package/src/osp/OneStepProverMath.sol +37 -27
- package/src/osp/OneStepProverMemory.sol +3 -4
- package/src/precompiles/ArbAggregator.sol +23 -33
- package/src/precompiles/ArbBLS.sol +1 -43
- package/src/precompiles/ArbGasInfo.sol +10 -19
- package/src/precompiles/ArbOwner.sol +21 -15
- package/src/precompiles/ArbRetryableTx.sol +10 -1
- package/src/precompiles/ArbSys.sol +4 -4
- package/src/precompiles/ArbosActs.sol +9 -2
- package/src/rollup/BridgeCreator.sol +23 -28
- package/src/rollup/IRollupCore.sol +3 -3
- package/src/rollup/{IRollupEventBridge.sol → IRollupEventInbox.sol} +2 -2
- package/src/rollup/IRollupLogic.sol +21 -18
- package/src/rollup/RollupAdminLogic.sol +72 -34
- package/src/rollup/RollupCore.sol +20 -9
- package/src/rollup/RollupCreator.sol +21 -11
- package/src/rollup/{RollupEventBridge.sol → RollupEventInbox.sol} +10 -10
- package/src/rollup/RollupLib.sol +21 -5
- package/src/rollup/RollupUserLogic.sol +10 -18
- package/src/rollup/ValidatorWallet.sol +125 -8
- package/src/rollup/ValidatorWalletCreator.sol +11 -6
- package/src/state/Deserialize.sol +3 -22
- package/src/state/GlobalState.sol +7 -0
- package/src/state/Instructions.sol +2 -10
- package/src/state/Machine.sol +0 -4
- package/src/state/ModuleMemory.sol +2 -1
- package/src/state/Value.sol +2 -3
- package/src/test-helpers/BridgeTester.sol +233 -0
- package/src/test-helpers/InterfaceCompatibilityTester.sol +11 -0
- package/src/test-helpers/OutboxWithoutOptTester.sol +214 -0
- package/src/test-helpers/RollupMock.sol +21 -0
- package/src/bridge/IMessageProvider.sol +0 -11
- package/src/state/PcStack.sol +0 -32
@@ -0,0 +1,21 @@
|
|
1
|
+
// Copyright 2021-2022, Offchain Labs, Inc.
|
2
|
+
// For license information, see https://github.com/nitro/blob/master/LICENSE
|
3
|
+
// SPDX-License-Identifier: BUSL-1.1
|
4
|
+
|
5
|
+
pragma solidity ^0.8.4;
|
6
|
+
|
7
|
+
contract RollupMock {
|
8
|
+
event WithdrawTriggered();
|
9
|
+
event ZombieTriggered();
|
10
|
+
|
11
|
+
function withdrawStakerFunds() external returns (uint256) {
|
12
|
+
emit WithdrawTriggered();
|
13
|
+
return 0;
|
14
|
+
}
|
15
|
+
|
16
|
+
function removeOldZombies(
|
17
|
+
uint256 /* startIndex */
|
18
|
+
) external {
|
19
|
+
emit ZombieTriggered();
|
20
|
+
}
|
21
|
+
}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
// Copyright 2021-2022, Offchain Labs, Inc.
|
2
|
-
// For license information, see https://github.com/nitro/blob/master/LICENSE
|
3
|
-
// SPDX-License-Identifier: BUSL-1.1
|
4
|
-
|
5
|
-
pragma solidity ^0.8.0;
|
6
|
-
|
7
|
-
interface IMessageProvider {
|
8
|
-
event InboxMessageDelivered(uint256 indexed messageNum, bytes data);
|
9
|
-
|
10
|
-
event InboxMessageDeliveredFromOrigin(uint256 indexed messageNum);
|
11
|
-
}
|
package/src/state/PcStack.sol
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
// Copyright 2021-2022, Offchain Labs, Inc.
|
2
|
-
// For license information, see https://github.com/nitro/blob/master/LICENSE
|
3
|
-
// SPDX-License-Identifier: BUSL-1.1
|
4
|
-
|
5
|
-
pragma solidity ^0.8.0;
|
6
|
-
|
7
|
-
import "./PcArray.sol";
|
8
|
-
|
9
|
-
struct PcStack {
|
10
|
-
PcArray proved;
|
11
|
-
bytes32 remainingHash;
|
12
|
-
}
|
13
|
-
|
14
|
-
library PcStackLib {
|
15
|
-
using PcArrayLib for PcArray;
|
16
|
-
|
17
|
-
function hash(PcStack memory stack) internal pure returns (bytes32 h) {
|
18
|
-
h = stack.remainingHash;
|
19
|
-
uint256 len = stack.proved.length();
|
20
|
-
for (uint256 i = 0; i < len; i++) {
|
21
|
-
h = keccak256(abi.encodePacked("Program counter stack:", stack.proved.get(i), h));
|
22
|
-
}
|
23
|
-
}
|
24
|
-
|
25
|
-
function pop(PcStack memory stack) internal pure returns (uint32) {
|
26
|
-
return stack.proved.pop();
|
27
|
-
}
|
28
|
-
|
29
|
-
function push(PcStack memory stack, uint32 val) internal pure {
|
30
|
-
return stack.proved.push(val);
|
31
|
-
}
|
32
|
-
}
|