Skip to content

Commit ae5a8d0

Browse files
authored
Merge pull request #240 from scroll-tech/develop
Update prod for Bernoulli on mainnet
2 parents 6401161 + 1a34517 commit ae5a8d0

File tree

7 files changed

+64
-31
lines changed

7 files changed

+64
-31
lines changed

src/content/docs/en/developers/ethereum-and-scroll-differences.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Opcodes from the Cancun upgrade are not yet available on Scroll, including `MCOP
3838

3939
## EVM Precompiles
4040

41-
The `RIPEMD-160` (address `0x3`) `blake2f` (address `0x9`), and `point evaluation` (address `0x0a`) precompiles are currently not supported. The `SHA2-256` (address `0x2`) is currently supported on Scroll Sepolia, but will soon be supported on Scroll Mainnet. Calls to unsupported precompiled contracts will revert. We plan to enable these precompiles in future hard forks.
41+
The `RIPEMD-160` (address `0x3`) `blake2f` (address `0x9`), and `point evaluation` (address `0x0a`) precompiles are currently not supported. Calls to unsupported precompiled contracts will revert. We plan to enable these precompiles in future hard forks.
4242

4343
The `modexp` precompile is supported but only supports inputs of size less than or equal to 32 bytes (i.e. `u256`).
4444

src/content/docs/en/developers/guides/running-a-scroll-node.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ For most developers, using [our official RPC endpoint](/en/developers/developer-
1616

1717
### Finding the latest version
1818

19-
We recommend using the latest release at https://github.com/scroll-tech/go-ethereum/releases. The required version is `scroll-v5.2.0` or higher. If you'd like to keep up with new node releases, go to https://github.com/scroll-tech/go-ethereum, click on **Watch**, **Custom**, and make sure that **Releases** is selected.
20-
{/* TODO: update min required version for mainnet after Bernoulli upgrade, also update mainnet genesis info */}
21-
For the remainder of this guide, `VERSION` will denote the version tag. For example, `scroll-v5.2.0`.
19+
We recommend using the latest release at https://github.com/scroll-tech/go-ethereum/releases. The required version for Scroll Mainnet is `scroll-v5.3.0` or higher, and for Scroll Sepolia it is `scroll-v5.2.0` or higher. If you'd like to keep up with new node releases, go to https://github.com/scroll-tech/go-ethereum, click on **Watch**, **Custom**, and make sure that **Releases** is selected.
20+
21+
For the remainder of this guide, `VERSION` will denote the version tag. For example, `scroll-v5.3.0`.
2222

2323
### Hardware Requirements
2424

src/content/docs/en/developers/scroll-contracts.mdx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,21 @@ Use the table below to configure your Ethereum tools to the Scroll mainnet.
100100
- v3StakerAddress: [`0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928`](https://scrollscan.com/address/0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928)
101101
- quoterV2Address: [`0x2566e082Cb1656d22BCbe5644F5b997D194b5299`](https://scrollscan.com/address/0x2566e082Cb1656d22BCbe5644F5b997D194b5299)
102102

103+
### Safe
104+
105+
You can access Safe on Scroll [here](https://safe.scroll.xyz/), and the transaction service API is at https://transaction.safe.scroll.xyz.
106+
107+
- CompatibilityFallbackHandler: [`0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4`](https://scrollscan.com/address/0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4)
108+
- CreateCall: [`0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4`](https://scrollscan.com/address/0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4)
109+
- DefaultCallbackHandler: [`0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd`](https://scrollscan.com/address/0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd)
110+
- GnosisSafe: [`0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552`](https://scrollscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552)
111+
- GnosisSafeL2: [`0x3E5c63644E683549055b9Be8653de26E0B4CD36E`](https://scrollscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E)
112+
- GnosisSafeProxyFactory: [`0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2`](https://scrollscan.com/address/0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2)
113+
- MultiSend: [`0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761`](https://scrollscan.com/address/0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761)
114+
- MultiSendCallOnly: [`0x40A2aCCbd92BCA938b02010E17A5b8929b49130D`](https://scrollscan.com/address/0x40A2aCCbd92BCA938b02010E17A5b8929b49130D)
115+
- SignMessageLib: [`0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2`](https://scrollscan.com/address/0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2)
116+
- SimulateTxAccessor: [`0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da`](https://scrollscan.com/address/0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da)
117+
103118
#### Ethereum Attestation Service (EAS)
104119

105120
- EAS: [`0xC47300428b6AD2c7D03BB76D05A176058b47E6B0`](https://scrollscan.com/address/0xC47300428b6AD2c7D03BB76D05A176058b47E6B0)
@@ -224,6 +239,21 @@ See this [Github gist](https://gist.github.com/dghelm/7fe68f0a524f30846e1142721c
224239
- EIP712Proxy: [`0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b`](https://sepolia.scrollscan.com/address/0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b)
225240
- Indexer: [`0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17`](https://sepolia.scrollscan.com/address/0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17)
226241

242+
### Safe
243+
244+
You can access Safe on Scroll [here](https://safe.scroll.xyz/), and the transaction service API is at https://transaction-sepolia.safe.scroll.xyz.
245+
246+
- CompatibilityFallbackHandler: [`0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4`](https://sepolia.scrollscan.com/address/0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4)
247+
- CreateCall: [`0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4`](https://sepolia.scrollscan.com/address/0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4)
248+
- DefaultCallbackHandler: [`0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd`](https://sepolia.scrollscan.com/address/0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd)
249+
- GnosisSafe: [`0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552`](https://sepolia.scrollscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552)
250+
- GnosisSafeL2: [`0x3E5c63644E683549055b9Be8653de26E0B4CD36E`](https://sepolia.scrollscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E)
251+
- GnosisSafeProxyFactory: [`0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2`](https://sepolia.scrollscan.com/address/0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2)
252+
- MultiSend: [`0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761`](https://sepolia.scrollscan.com/address/0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761)
253+
- MultiSendCallOnly: [`0x40A2aCCbd92BCA938b02010E17A5b8929b49130D`](https://sepolia.scrollscan.com/address/0x40A2aCCbd92BCA938b02010E17A5b8929b49130D)
254+
- SignMessageLib: [`0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2`](https://sepolia.scrollscan.com/address/0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2)
255+
- SimulateTxAccessor: [`0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da`](https://sepolia.scrollscan.com/address/0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da)
256+
227257
### Additional Useful Contracts
228258

229259
- Multicall3: [`0xcA11bde05977b3631167028862bE2a173976CA11`](https://sepolia.scrollscan.com/address/0xcA11bde05977b3631167028862bE2a173976CA11)

src/content/docs/en/developers/transaction-fees-on-scroll.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ On Sepolia, an upgraded `L1MessageQueueWithGasPriceOracle` should be used, deplo
178178
If your system supports off-chain mechanisms, you can also call `eth_estimateGas` and `eth_gasPrice` on any Scroll RPC node to get an estimate of the gas required for a given transaction.
179179

180180
<Aside type="danger" title="Upgrade Notice">
181-
After the February 2024 Bridge Upgrade, `L1GasPriceOracle` will be deprecated in favor of `L1MessageQueueWithGasPriceOracle`, which will be available at [`0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B`](https://etherscan.io/address/0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B).
181+
After the February 2024 Bridge Upgrade, `L2GasPriceOracle` will be deprecated in favor of `L1MessageQueueWithGasPriceOracle`, which will be available at [`0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B`](https://etherscan.io/address/0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B).
182182

183183
The upgrade is expected to be finalized on February 21, 2024, after a two-week timelock. Scroll Sepolia has already undergone this upgrade. Read more [here](https://scroll.io/blog/protocol-upgrade-bridging-cost-reduction).
184184

src/content/docs/en/technology/chain/differences.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import Aside from "../../../../../components/Aside.astro"
2323

2424
| Address | Name | Scroll behavior |
2525
| ------- | ------------ | ----------------------------------------------------------------------------------------------- |
26-
| `0x02` | `SHA2-256` | Supported on Scroll Sepolia, and will soon be supported on Scroll Mainnet. |
2726
| `0x03` | `RIPEMD-160` | Currently not supported. |
2827
| `0x05` | `modexp` | Restrict the input values `B, E, M` to unsigned integers less than $2^{256}$. |
2928
| `0x08` | `ecPairing` | The inputs are still multiple of 6 32-byte values, but limit the number of tuples to at most 4. |

src/content/docs/en/technology/chain/rollup.mdx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ chunk.dataHash := keccak(blockContext[0] || ... || blockContext[k-1] ||
8686

8787
, where `block.l1TxHashes` are the concatenated transaction hashes of the L1 transactions in this block and `block.l2TxHashes` are the concatenated transaction hashes of the L2 transactions in this block. Note that the transaction hashes of L1 transactions are not uploaded by the rollup node, but instead directly loaded from the `L1MessageQueue` contract given the index range of included L1 messages in this block. The L2 transaction hashes are calculated from the RLP-encoded bytes in the `l2Transactions` field in the [`Chunk`](#Chunk-Codec).
8888

89-
In addition, the `commitBatch` function contains a bitmap of skipped L1 messages. Unfortunately, this is due to the problem of proof overflow. If the L1 transaction corresponding to a L1 message exceeds the circuit capacity limit, we won't be able to generate a valid proof for this transaction and thus cannot finalize it on L1. Scroll is working actively to eliminate the proof overflow problem through upgrades to our proving system.
89+
In addition, the `commitBatch` function contains a bitmap of skipped L1 messages. Unfortunately, this is due to the problem of proof overflow. If the L1 transaction corresponding to an L1 message exceeds the circuit capacity limit, we won't be able to generate a valid proof for this transaction and thus cannot finalize it on L1. Scroll is working actively to eliminate the proof overflow problem through upgrades to our proving system.
9090

9191
## Finalize Transaction
9292

@@ -121,18 +121,22 @@ At this stage, the state root of the latest finalized batch can be used trustles
121121

122122
This section describes the codec of three data structures in the Rollup contract: `BatchHeader`, `Chunk`, and `BlockContext`.
123123

124-
### Scroll Mainnet
124+
The latest update to the codec was introduced in the Bernoulli upgrade.
125+
126+
### Bernoulli
127+
125128
#### `BatchHeader` Codec
126129

127130
| Field | Bytes | Type | Offset | Description |
128131
| ------------------------ | ------- | ----------- | ------ | --------------------------------------------------------------- |
129132
| `version` | 1 | `uint8` | 0 | The batch header version |
130133
| `batchIndex` | 8 | `uint64` | 1 | The index of the batch |
131-
| `l1MessagePopped` | 8 | `uint64` | 9 | The number of L1 messages poped in the batch |
134+
| `l1MessagePopped` | 8 | `uint64` | 9 | The number of L1 messages popped in the batch |
132135
| `totalL1MessagePopped` | 8 | `uint64` | 17 | The number of total L1 messages popped after the batch |
133136
| `dataHash` | 32 | `bytes32` | 25 | The data hash of the batch |
134-
| `parentBatchHash` | 32 | `bytes32` | 57 | The parent batch hash |
135-
| `skippedL1MessageBitmap` | dynamic | `uint256[]` | 89 | A bitmap to indicate which L1 messages are skipped in the batch |
137+
| `blobVersionedHash` | 32 | `bytes32` | 57 | The versioned hash of the blob with this batch’s data |
138+
| `parentBatchHash` | 32 | `bytes32` | 89 | The parent batch hash |
139+
| `skippedL1MessageBitmap` | dynamic | `uint256[]` | 121 | A bitmap to indicate which L1 messages are skipped in the batch |
136140

137141
#### `Chunk` Codec
138142

@@ -143,8 +147,7 @@ This section describes the codec of three data structures in the Rollup contract
143147
| ... | ... | ... | ... | ... |
144148
| `block[i]` | 60 | `BlockContext` | `60*i+1` | The block information of `i+1`-th block |
145149
| ... | ... | ... | ... | ... |
146-
| `block[n-1]` | 60 | `BlockContext` | `60*n-59` | The block information of the last block
147-
| `l2Transactions` | dynamic | `bytes` | `60*n+1` | The concatenated RLP encoding of L2 transactions with signatures. The byte length (`uint32`) of RLP encoding is inserted before each transaction. | |
150+
| `block[n-1]` | 60 | `BlockContext` | `60*n-59` | The block information of the last block |
148151

149152
#### `BlockContext` Codec
150153

@@ -157,20 +160,18 @@ This section describes the codec of three data structures in the Rollup contract
157160
| `numTransactions` | 2 | `uint16` | 56 | The number of transactions in this block, including both L1 & L2 txs |
158161
| `numL1Messages` | 2 | `uint16` | 58 | The number of L1 messages in this block
159162

160-
### Scroll Sepolia
161-
163+
### Archimedes
162164
#### `BatchHeader` Codec
163165

164166
| Field | Bytes | Type | Offset | Description |
165167
| ------------------------ | ------- | ----------- | ------ | --------------------------------------------------------------- |
166168
| `version` | 1 | `uint8` | 0 | The batch header version |
167169
| `batchIndex` | 8 | `uint64` | 1 | The index of the batch |
168-
| `l1MessagePopped` | 8 | `uint64` | 9 | The number of L1 messages poped in the batch |
170+
| `l1MessagePopped` | 8 | `uint64` | 9 | The number of L1 messages popped in the batch |
169171
| `totalL1MessagePopped` | 8 | `uint64` | 17 | The number of total L1 messages popped after the batch |
170172
| `dataHash` | 32 | `bytes32` | 25 | The data hash of the batch |
171-
| `blobVersionedHash` | 32 | `bytes32` | 57 | The versioned hash of the blob with this batch’s data |
172-
| `parentBatchHash` | 32 | `bytes32` | 89 | The parent batch hash |
173-
| `skippedL1MessageBitmap` | dynamic | `uint256[]` | 121 | A bitmap to indicate which L1 messages are skipped in the batch |
173+
| `parentBatchHash` | 32 | `bytes32` | 57 | The parent batch hash |
174+
| `skippedL1MessageBitmap` | dynamic | `uint256[]` | 89 | A bitmap to indicate which L1 messages are skipped in the batch |
174175

175176
#### `Chunk` Codec
176177

@@ -181,7 +182,8 @@ This section describes the codec of three data structures in the Rollup contract
181182
| ... | ... | ... | ... | ... |
182183
| `block[i]` | 60 | `BlockContext` | `60*i+1` | The block information of `i+1`-th block |
183184
| ... | ... | ... | ... | ... |
184-
| `block[n-1]` | 60 | `BlockContext` | `60*n-59` | The block information of the last block |
185+
| `block[n-1]` | 60 | `BlockContext` | `60*n-59` | The block information of the last block
186+
| `l2Transactions` | dynamic | `bytes` | `60*n+1` | The concatenated RLP encoding of L2 transactions with signatures. The byte length (`uint32`) of RLP encoding is inserted before each transaction. | |
185187

186188
#### `BlockContext` Codec
187189

@@ -193,5 +195,3 @@ This section describes the codec of three data structures in the Rollup contract
193195
| `gasLimit` | 8 | `uint64` | 48 | The gas limit of this block |
194196
| `numTransactions` | 2 | `uint16` | 56 | The number of transactions in this block, including both L1 & L2 txs |
195197
| `numL1Messages` | 2 | `uint16` | 58 | The number of L1 messages in this block
196-
197-

0 commit comments

Comments
 (0)