@@ -36,11 +38,8 @@ const icons = {
/* Indicates the aside boundaries for forced colors users, transparent is changed to a solid color */
outline: 1px solid transparent;
- --aside-bg: var(--color-background-info);
- background-color: var(--aside-bg);
-
/* display: flex; */
- @apply p-[30px] gap-4 rounded-[27px] text-info mb-[1rem];
+ @apply p-[30px] gap-4 rounded-[27px] text-info mb-[1rem] bg-callout-note dark:bg-callout-dark-note;
}
aside p.title {
@@ -82,19 +81,23 @@ const icons = {
}
.tip {
- --aside-bg: #eee;
+ @apply bg-callout-tip dark:bg-callout-dark-tip;
}
.caution {
- --aside-bg: var(--color-background-warning);
+ @apply bg-callout-caution dark:bg-callout-dark-caution;
}
.danger {
- --aside-bg: var(--color-background-error);
+ @apply bg-callout-danger dark:bg-callout-dark-danger;
+ }
+
+ .note {
+ @apply bg-callout-note dark:bg-callout-dark-note;
}
.asideContent :global(p) {
- margin-bottom: 0;
+ margin-bottom: 0 !important;
font-size: 16px;
line-height: 25px;
}
diff --git a/src/components/Footer/Subscribe/EmailInput.module.css b/src/components/Footer/Subscribe/EmailInput.module.css
index 5cb898d2b..107b40bc4 100644
--- a/src/components/Footer/Subscribe/EmailInput.module.css
+++ b/src/components/Footer/Subscribe/EmailInput.module.css
@@ -11,7 +11,6 @@
width: 48px;
height: 100%;
position: absolute;
- background-color: #1f1f1f;
border-radius: 10px;
z-index: 1;
top: 0;
@@ -19,12 +18,12 @@
transition: width 0.5s ease;
overflow: hidden;
cursor: default;
+ @apply bg-black;
}
.iconButton {
width: 54px;
height: 100%;
- color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
@@ -47,6 +46,7 @@
border-radius: 50%;
overflow: visible;
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
+ @apply text-white;
}
.iconButton img {
@@ -57,13 +57,12 @@
.success {
font-size: 16px;
font-weight: 600;
- color: #fff;
- background-color: #1f1f1f;
border-radius: 10px;
border-left: none;
text-align: center;
flex: 1;
line-height: 54px;
+ @apply text-white bg-black;
}
.inputBase {
@@ -71,16 +70,11 @@
font-weight: 600;
height: 100%;
width: 100%;
- color: #000;
- background-color: #fff;
border-radius: 10px;
border: 1px solid #000;
border-left: none;
text-align: center;
-}
-
-.inputBase::placeholder {
- color: #dcdcdc;
+ @apply text-black bg-pure-white border-black;
}
@media (min-width: 50em) {
diff --git a/src/components/Footer/Subscribe/EmailInput.tsx b/src/components/Footer/Subscribe/EmailInput.tsx
index b3e586002..8905a6049 100644
--- a/src/components/Footer/Subscribe/EmailInput.tsx
+++ b/src/components/Footer/Subscribe/EmailInput.tsx
@@ -1,5 +1,7 @@
-import React, { useState } from "react"
+import React from "react"
import styles from "./EmailInput.module.css"
+import ArrowSvg from "~/assets/svgs/footer/arrow-right.svg?react"
+import { clsx } from "~/lib"
const EmailInput = (props) => {
const { end, onClick, onEnter, ...restProps } = props
@@ -13,21 +15,29 @@ const EmailInput = (props) => {
return (
-
)
diff --git a/src/components/Footer/Subscribe/Subscribe.tsx b/src/components/Footer/Subscribe/Subscribe.tsx
index 3ec79e912..6ab9d9824 100644
--- a/src/components/Footer/Subscribe/Subscribe.tsx
+++ b/src/components/Footer/Subscribe/Subscribe.tsx
@@ -1,5 +1,8 @@
+// import React from "react"
import { useState, useEffect } from "preact/hooks"
import MailchimpSubscribe from "react-mailchimp-subscribe"
+import SubscribeSvg from "~/assets/svgs/footer/subscribe.svg?react"
+import { clsx } from "~/lib"
import EmailInput from "./EmailInput.tsx"
import styles from "./Subscribe.module.css"
@@ -7,7 +10,7 @@ import styles from "./Subscribe.module.css"
const url = "https://gmail.us14.list-manage.com/subscribe/post?u=3b1d822eb27b2fa64d82d430b&id=0b4603244e"
const isValidEmail = (email: string): boolean => {
- const emailRegex: RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
+ const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
return emailRegex.test(email)
}
@@ -37,12 +40,17 @@ export default function Subscribe() {
}
return (
-
+
-
+
+
+
+
Stay up-to-date on the latest Scroll Developer news
-
Roadmap updates, virtual and live events, ecosystem opportunities and more
+
+ Roadmap updates, virtual and live events, ecosystem opportunities and more
+
+
+
diff --git a/src/components/RightSidebar/RightSidebar.astro b/src/components/RightSidebar/RightSidebar.astro
index d26ad856c..c3f018818 100644
--- a/src/components/RightSidebar/RightSidebar.astro
+++ b/src/components/RightSidebar/RightSidebar.astro
@@ -16,7 +16,7 @@ const { content, githubEditUrl, headings, clientSideToc } = Astro.props
-
{t("rightSidebar.feedback")}
+
{t("rightSidebar.feedback")}
@@ -37,7 +37,7 @@ const { content, githubEditUrl, headings, clientSideToc } = Astro.props
@apply !mb-6;
}
.sidebar-nav-inner {
- padding: 16px 20px 70px 4px;
+ padding: 24px 20px 24px 4px;
overflow: auto;
background: #fff8f3;
border-radius: 1em;
@@ -45,16 +45,12 @@ const { content, githubEditUrl, headings, clientSideToc } = Astro.props
width: 280px;
/* width: 250px; */
max-height: 100%;
- /* @apply pt-doc; */
+ @apply bg-white dark:bg-dark-normal;
}
.sidebar-nav-inner > * {
- margin-top: 1rem;
+ margin-top: 32px;
}
.sidebar-nav-inner > *:first-child {
margin-top: 0;
}
-
- .sidebar-nav-inner h2 {
- @apply m-0 mt-4;
- }
diff --git a/src/components/ToggleElement.astro b/src/components/ToggleElement.astro
index 4e6c61234..e2a53d2b5 100644
--- a/src/components/ToggleElement.astro
+++ b/src/components/ToggleElement.astro
@@ -7,7 +7,9 @@ const anchorHash = anchor.replace(/\s+/g, "-")
---
-
+
@@ -46,9 +48,9 @@ const anchorHash = anchor.replace(/\s+/g, "-")
border-radius: 27px;
border: 1px solid #dadada;
overflow: hidden;
- color: var(--color-text-primary);
font-weight: 600;
padding-left: 0.3rem;
+ @apply text-black dark:text-white border-primary dark:border-dark-primary;
}
details:hover {
@@ -89,7 +91,6 @@ const anchorHash = anchor.replace(/\s+/g, "-")
}
summary::before {
- content: "";
display: inline-block;
font-size: 0.75em;
transform: rotate(-90deg);
@@ -97,8 +98,9 @@ const anchorHash = anchor.replace(/\s+/g, "-")
margin-right: 1rem;
height: 10px;
width: 10px;
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDEwIDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSJWZWN0b3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC45OTk3NiA2QzQuNzY4MSA2IDQuNTUwMjkgNS45MDc3NCA0LjM4NjQ0IDUuNzQwMTlMMC4yNTM0NTEgMS41MTM4N0MtMC4wODQ0ODM2IDEuMTY4MDIgLTAuMDg0NDgzNiAwLjYwNTY2IDAuMjUzNDUxIDAuMjU5ODExQzAuNDE3Mjk4IDAuMDkyMjY0MiAwLjYzNTExNSAwIDAuODY2NzcgMEMxLjA5ODQzIDAgMS4zMTYyNCAwLjA5MjI2NDIgMS40ODAwOSAwLjI1OTgxMUw1LjAwMDAzIDMuODU5MjVMOC41MTk3IDAuMjU5ODExQzguNjgzNTUgMC4wOTIyNjQyIDguOTAxMzcgMCA5LjEzMzAyIDBDOS4zNjQ2OCAwIDkuNTgyNDkgMC4wOTIyNjQyIDkuNzQ2MzQgMC4yNTk4MTFDMTAuMDg0NiAwLjYwNTY2IDEwLjA4NDYgMS4xNjgzIDkuNzQ2MzQgMS41MTM4N0w1LjYxMzM1IDUuNzQwMTlDNS40NDk1MSA1LjkwNzc0IDUuMjMxNjkgNiA1LjAwMDAzIDZINC45OTk3NloiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=)
- center / contain no-repeat;
+ background-position: center;
+ background-size: contain;
+ background-repeat: no-repeat;
}
details[open] summary::before {
transform: rotate(0deg);
diff --git a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx
index 4328eb611..5d73ae02b 100644
--- a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx
+++ b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx
@@ -63,7 +63,7 @@ type StateAccount struct {
Related to this, we maintain two types of codehash for each contract bytecode: Keccak hash and Poseidon hash.
-`KeccakCodeHash` is kept to maintain compatibility for `EXTCODEHASH`. `PoseidonCodeHash` is used for verifying correctness of bytecodes loaded in the zkEVM, where Poseidon hashing is far more efficient.
+`KeccakCodeHash` is kept to maintain compatibility for `EXTCODEHASH`. `PoseidonCodeHash` is used for verifying the correctness of bytecodes loaded in the zkEVM, where Poseidon hashing is far more efficient.
### CodeSize
@@ -82,12 +82,6 @@ This was chosen for two reasons:
We keep a close eye on all emerging EIPs adopted by Ethereum and adopt them when suitable. If you’re interested in more specifics, reach out in [our community forum](https://community.scroll.io) or on the [Scroll Discord](https://discord.gg/scroll).
-## EVM Target version
-
-To ensure no unexpected behavior happens in your contracts, we recommend using `london` as the target version when compiling your smart contracts.
-
-You can read in more detail on Shanghai hard fork differences from London on the [Ethereum Execution spec](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) and how the new `PUSH0` instruction [impacts the Solidity compiler](https://blog.soliditylang.org/2023/05/10/solidity-0.8.20-release-announcement/).
-
## Transaction Fees
The fee charged to Scroll transactions contains two parts:
diff --git a/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx b/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx
index 68629e130..339c10bde 100644
--- a/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx
+++ b/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx
@@ -53,7 +53,7 @@ But it also exposes the `getL1Fee(bytes memory data)` function, which abstracts
First of all, let’s quickly go over the key folders inside our project structure.
-It’s a standard Hardhat project, but most of our work is inside the c*ontracts* and _scripts_ folders.
+It’s a standard Hardhat project, but most of our work is inside the *contracts* and _scripts_ folders.
diff --git a/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx b/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx
index 498899b8d..8ba6476b8 100644
--- a/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx
+++ b/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx
@@ -79,12 +79,12 @@ contract GreeterOperator {
We pass the message by executing `executeFunctionCrosschain` and passing the following parameters:
- `scrollMessengerAddress`: This will depend on where you deployed the `GreeterOperator` contract.
- - If you deployed it on Sepolia use `0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A`. If you deployed on Scroll use `0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d`.
+ - If you deployed it on Sepolia use `0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A`. If you deployed on Scroll Sepolia use `0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d`.
- `targetAddress`: The address of the `Greeter` contract on the opposite chain.
- `value`: In this case, it is `0` because the `setGreeting`is not payable.
-- `greeting`: This is the parameter that will be sent through the message. Try passing `“This message was crosschain!”`
+- `greeting`: This is the parameter that will be sent through the message. Try passing `“This message was cross-chain!”`
- `gasLimit`:
- - If you are sending the message from L1 to L2, around `5000` gas limit should be more than enough. That said, if you set this too high, and `msg.value` doesn't cover `gasLimit` * `baseFee`, the transaction will revert. If `msg.value` is greater than the gas fee, the unused portion will be refunded.
+ - If you are sending the message from L1 to L2, around `1000000` gas limit should be more than enough. That said, if you set this too high, and `msg.value` doesn't cover `gasLimit` * `baseFee`, the transaction will revert. If `msg.value` is greater than the gas fee, the unused portion will be refunded.
- If you are sending the message from L2 to L1, pass `0`, as the transaction will be completed by executing an additional transaction on L1.
### Relay the Message when sending from L2 to L1
@@ -117,6 +117,6 @@ in the [Scroll Messenger](/developers/l1-and-l2-bridging/the-scroll-messenger) a
applications and users.
-After executing and confirming the transaction on both L1 and L2, the new state of `greeting` on the `Greeter` contract should be `“This message was crosschain!”`. Sending a message from one chain to the other should take around 20 minutes after the transactions are confirmed on the origin chain.
+After executing and confirming the transaction on both L1 and L2, the new state of `greeting` on the `Greeter` contract should be `“This message was cross-chain!”`. Sending a message from one chain to the other should take around 20 minutes after the transactions are confirmed on the origin chain.
Congratulations, you now executed a transaction from one chain to the other using our native bridge!
diff --git a/src/content/docs/en/developers/l1-and-l2-bridging/enforced-transactions.mdx b/src/content/docs/en/developers/l1-and-l2-bridging/enforced-transactions.mdx
index 328478ed9..80ca6f427 100644
--- a/src/content/docs/en/developers/l1-and-l2-bridging/enforced-transactions.mdx
+++ b/src/content/docs/en/developers/l1-and-l2-bridging/enforced-transactions.mdx
@@ -25,10 +25,10 @@ Add an enforced transaction to L2 from an EOA account sender.
| Parameter | Description |
| ---------- | ---------------------------------------------------------- |
-| \_target | The address of target contract to call in L2. |
+| \_target | The address of the target contract to call in L2. |
| \_value | The value passed. |
| \_gasLimit | The maximum gas should be used for this transaction in L2. |
-| \_data | The calldata passed to target contract. |
+| \_data | The calldata passed to the target contract. |
### sendTransaction
diff --git a/src/content/docs/en/developers/l1-and-l2-bridging/erc1155-token-bridge.mdx b/src/content/docs/en/developers/l1-and-l2-bridging/erc1155-token-bridge.mdx
index d02879230..082ab18fd 100644
--- a/src/content/docs/en/developers/l1-and-l2-bridging/erc1155-token-bridge.mdx
+++ b/src/content/docs/en/developers/l1-and-l2-bridging/erc1155-token-bridge.mdx
@@ -16,7 +16,7 @@ ERC1155 bridging from L1 to L2 is done via the L1ERC1155Gateway. Similarly to ER
diff --git a/src/content/docs/en/developers/l1-and-l2-bridging/erc721-nft-bridge.mdx b/src/content/docs/en/developers/l1-and-l2-bridging/erc721-nft-bridge.mdx
index c7c044668..c14966466 100644
--- a/src/content/docs/en/developers/l1-and-l2-bridging/erc721-nft-bridge.mdx
+++ b/src/content/docs/en/developers/l1-and-l2-bridging/erc721-nft-bridge.mdx
@@ -106,7 +106,7 @@ Update the mapping that connects an NFT contract from L1 to L2.
### withdrawERC721
```solidity
-function depositERC721(address _token, address _to, uint256 _tokenId, uint256 _gasLimit) external payable;
+function withdrawERC721(address _token, address _to, uint256 _tokenId, uint256 _gasLimit) external payable;
```
Send an ERC721 NFT from L2 to a recipient's account on L1.
diff --git a/src/content/docs/en/developers/scroll-contracts.mdx b/src/content/docs/en/developers/scroll-contracts.mdx
index 0bdd69f60..332f379d7 100644
--- a/src/content/docs/en/developers/scroll-contracts.mdx
+++ b/src/content/docs/en/developers/scroll-contracts.mdx
@@ -98,6 +98,13 @@ Use the table below to configure your Ethereum tools to the Scroll mainnet.
- v3StakerAddress: [`0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928`](https://scrollscan.com/address/0xFdFbE973c9ecB036Ecfb7af697FcACe789D3f928)
- quoterV2Address: [`0x2566e082Cb1656d22BCbe5644F5b997D194b5299`](https://scrollscan.com/address/0x2566e082Cb1656d22BCbe5644F5b997D194b5299)
+#### Ethereum Attestation Service (EAS)
+
+- EAS: [`0xC47300428b6AD2c7D03BB76D05A176058b47E6B0`](https://scrollscan.com/address/0xC47300428b6AD2c7D03BB76D05A176058b47E6B0)
+- SchemaRegistry: [`0xD2CDF46556543316e7D34e8eDc4624e2bB95e3B6`](https://scrollscan.com/address/0xD2CDF46556543316e7D34e8eDc4624e2bB95e3B6)
+- EIP712Proxy: [`0x77b7DA1c40762Cd8AFfE2069b575328EfD4D9801`](https://scrollscan.com/address/0x77b7DA1c40762Cd8AFfE2069b575328EfD4D9801)
+- Indexer: `Not deployed yet`
+
## Additional Useful Contracts
- Multicall3: [`0xcA11bde05977b3631167028862bE2a173976CA11`](https://scrollscan.com/address/0xcA11bde05977b3631167028862bE2a173976CA11)
@@ -207,6 +214,13 @@ Use the table below to configure your Ethereum tools to the Scroll Sepolia Testn
See this [Github gist](https://gist.github.com/dghelm/7fe68f0a524f30846e1142721c081d84).
+#### Ethereum Attestation Service (EAS)
+
+- EAS: [`0xaEF4103A04090071165F78D45D83A0C0782c2B2a`](https://sepolia.scrollscan.com/address/0xaEF4103A04090071165F78D45D83A0C0782c2B2a)
+- SchemaRegistry: [`0x55D26f9ae0203EF95494AE4C170eD35f4Cf77797`](https://sepolia.scrollscan.com/address/0x55D26f9ae0203EF95494AE4C170eD35f4Cf77797)
+- EIP712Proxy: [`0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b`](https://sepolia.scrollscan.com/address/0xB3574f76b1720E61FdA98702c7016674CD6Eaa7b)
+- Indexer: [`0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17`](https://sepolia.scrollscan.com/address/0x7C2cb1eDC328491da52de2a0afc44D3B0Ae7ee17)
+
### Additional Useful Contracts
- Multicall3: [`0xcA11bde05977b3631167028862bE2a173976CA11`](https://sepolia.scrollscan.com/address/0xcA11bde05977b3631167028862bE2a173976CA11)
diff --git a/src/content/docs/en/developers/verifying-smart-contracts.mdx b/src/content/docs/en/developers/verifying-smart-contracts.mdx
index 400d78f22..be119ed8c 100644
--- a/src/content/docs/en/developers/verifying-smart-contracts.mdx
+++ b/src/content/docs/en/developers/verifying-smart-contracts.mdx
@@ -5,7 +5,7 @@ title: "Verifying Smart Contracts"
lang: "en"
permalink: "developers/verifying-smart-contracts"
whatsnext: { "Scroll Contracts": "/developers/scroll-contracts" }
-excerpt: "Easily verify your smart contracts with Scroll-supported developer tooling or the Blockscout Web API"
+excerpt: "Easily verify your smart contracts with Scroll-supported developer tooling"
---
import Aside from "../../../../components/Aside.astro"
@@ -13,23 +13,26 @@ import ClickToZoom from "../../../../components/ClickToZoom.astro"
import verify1 from "./_images/verify1.png"
import CodeSample from "../../../../components/CodeSample/CodeSample.astro"
-After deploying your smart contracts, it's important to verify your code on [our block explorer](https://scrollscan.com/) or the [Sepolia block explorer](https://sepolia-blockscout.scroll.io).
+After deploying your smart contracts, it's important to verify your code on a block explorer. This can be done in an automated way using your developer tooling or the Web UI.
-This can be done in an automated way using your developer tooling or using Blockscout's Web UI.
+## Using Developer Tools
-
+Most smart contract tooling has plugins for verifying your contracts easily on Etherscan. Blockscout supports Etherscan's contract verification APIs, so it's straightforward to use these tools using the APIs of either of these block explorers.
-## Using Developer Tools
+| Network | Scroll | Scroll Sepolia |
+| ---------- | -------------------------------- | ---------------------------------------- |
+| Scrollscan | https://api.scrollscan.com/api | https://api-sepolia.scrollscan.com/api |
+| Blockscout | https://blockscout.scroll.io/api | https://sepolia-blockscout.scroll.io/api |
-Most smart contract tooling has plugins for verifying your contracts easily on Etherscan. Blockscout supports Etherscan's contract verification APIs, and it's straightforward to use these tools with the Scroll Sepolia Testnet.
+
### Hardhat
-First, modify `hardhat.config.ts` to point to Scroll's RPC and `sepolia-blockscout.scroll.io/api`. A dummy `apiKey` value is required, but anything works for its value.
+Modify `hardhat.config.ts` to point to Scroll's RPC and block explorer API. For Blockscout, a dummy `apiKey` value is required, but anything works for its value. For Scrollscan, use your own API key.
+For example, if you are using Scroll Sepolia on Blockscout, your config will look like this:
```javascript
...
@@ -82,18 +85,46 @@ npx hardhat verify --network scrollSepolia 0xD9880690bd717189cC3Fbe7B9020F27fae7
### Foundry
-
\ No newline at end of file
diff --git a/src/content/docs/en/getting-started/overview.md b/src/content/docs/en/getting-started/overview.md
index 9a854f2e8..acddb22f3 100644
--- a/src/content/docs/en/getting-started/overview.md
+++ b/src/content/docs/en/getting-started/overview.md
@@ -10,7 +10,7 @@ whatsnext: { "User Guide": "/user-guide/", "Building on Scroll": "/developers/"
#### Welcome to the Scroll docs!
-Scroll is a security-focused scaling solution for Ethereum, using innovations in scaling design and zero knowledge proofs to build a new layer on Ethereum. The Scroll network is more accessible, more responsive, and can support more users at once than Ethereum alone, and if you've ever used or developed an application on Ethereum, you'll be right home on Scroll.
+Scroll is a security-focused scaling solution for Ethereum, using innovations in scaling design and zero knowledge proofs to build a new layer on Ethereum. The Scroll network is more accessible, more responsive, and can support more users at once than Ethereum alone, and if you've ever used or developed an application on Ethereum, you'll be right at home on Scroll.
Want to try out the Scroll Sepolia testnet with free assets before using Scroll? Check out our [User Guide](/user-guide/).
diff --git a/src/content/docs/en/learn/index.mdx b/src/content/docs/en/learn/index.mdx
index 55b8184ed..ade566b4d 100644
--- a/src/content/docs/en/learn/index.mdx
+++ b/src/content/docs/en/learn/index.mdx
@@ -7,6 +7,8 @@ excerpt: "Learn more about Ethereum scalability and zero knowledge cryptography.
---
import NavCard from "../../../../components/NavCard.astro"
+import TechnologySvg from "../../../../assets/svgs/home/home-technology.svg?raw"
+import LearnSvg from "../../../../assets/svgs/home/home-learn.svg?raw"
Scroll pulls together research and engineering from Blockchain Protocols and Zero Knowledge Cryptography. If you want to dive deeper, keep reading and check out the additional resources.
@@ -14,13 +16,13 @@ Want to see a specific topic covered? Create [an issue](https://github.com/scrol
- We're still working with partners to get all of our reports published. We'll update this page with links as they
- become available.
-
-
### zkEVM circuits
- Trail of Bits
- - Wave 1
- - Wave 2
- - Wave 3
+ - [Wave 1](https://github.com/trailofbits/publications/blob/master/reviews/2023-04-scroll-zkEVM-wave1-securityreview.pdf)
+ - [Wave 2](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scroll-zkEVM-wave2-securityreview.pdf)
+ - [Wave 3](https://github.com/trailofbits/publications/blob/master/reviews/2023-09-scroll-zkEVM-wave3-securityreview.pdf)
- Zellic and Kalos
- - [Wave 1](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%201%20Audit%20Report.pdf)
- - [Wave 2](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%202%20Audit%20Report.pdf)
+ - [Wave 1](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%201%20-%20Audit%20Report.pdf)
+ - [Wave 2](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%202%20-%20Audit%20Report.pdf)
### Node implementation
- Trail of Bits
- [zkTrie](https://github.com/trailofbits/publications/blob/master/reviews/2023-07-scroll-zktrie-securityreview.pdf)
- - L2geth
+ - [L2geth](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-initial-securityreview.pdf)
- [L2geth diff](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-securityreview.pdf)
### Bridge and rollup contract
diff --git a/src/content/docs/en/technology/zkevm/intro-to-zkevm.md b/src/content/docs/en/technology/zkevm/intro-to-zkevm.md
index 1c4bc4772..f2751c980 100644
--- a/src/content/docs/en/technology/zkevm/intro-to-zkevm.md
+++ b/src/content/docs/en/technology/zkevm/intro-to-zkevm.md
@@ -12,7 +12,7 @@ whatsnext: { "zkEVM Overview": "/technology/zkevm/zkevm-overview" }
ZK rollups are widely recognized as the ideal scaling solution for Ethereum. They inherit the strong security of Ethereum Layer 1 and offer the fastest transaction finality compared to other Layer 2 solutions.
-The basic idea of a ZK rollup is to execute transactions off-chain and to generate succinct proofs of the execution’s validity. These succinct proof can then be posted and verified on Ethereum Layer 1. ZK rollups improve scalability since verifying the proof for a batch of transactions is much cheaper than re-executing the batch of transactions.
+The basic idea of a ZK rollup is to execute transactions off-chain and to generate succinct proofs of the execution’s validity. These succinct proofs can then be posted and verified on Ethereum Layer 1. ZK rollups improve scalability since verifying the proof for a batch of transactions is much cheaper than re-executing the batch of transactions.
ZK rollups can be categorized into application-specific and general-purpose rollups, based on the types of transactions they support. Application-specific ZK rollups are designed for particular transaction sets, such as payments and swaps, or a player’s action set for an on-chain game. In these cases, rollups only need to generate proofs attesting to the correctness of the supported primitives, such as valid state transitions for game players.
diff --git a/src/content/docs/en/user-guide/faucet.mdx b/src/content/docs/en/user-guide/faucet.mdx
index ea7dd1272..c889c7581 100644
--- a/src/content/docs/en/user-guide/faucet.mdx
+++ b/src/content/docs/en/user-guide/faucet.mdx
@@ -36,3 +36,4 @@ If you don't want to interact with the bridge, some faucets directly distribute
- [https://www.covalenthq.com/faucet/](https://www.covalenthq.com/faucet)
- [https://faucet.quicknode.com/scroll/sepolia](https://faucet.quicknode.com/scroll/sepolia)
- [https://bwarelabs.com/faucets/scroll-testnet](https://bwarelabs.com/faucets/scroll-testnet)
+- [https://scroll.faucetme.pro](https://scroll.faucetme.pro)
diff --git a/src/content/docs/es/developers/ethereum-and-scroll-differences.mdx b/src/content/docs/es/developers/ethereum-and-scroll-differences.mdx
index 0335f0fbb..afb918330 100644
--- a/src/content/docs/es/developers/ethereum-and-scroll-differences.mdx
+++ b/src/content/docs/es/developers/ethereum-and-scroll-differences.mdx
@@ -82,12 +82,6 @@ Esto se eligiĂł por dos razones:
Seguimos de cerca todas las EIP emergentes adoptadas por Ethereum y las adoptamos cuando es conveniente. Si estás interesado en más detalles, ponte en contacto con nosotros en [nuestro foro de la comunidad](https://community.scroll.io) o en [Scroll Discord](https://discord.gg/scroll).
-## VersiĂłn del compilador de la EVM
-
-Para garantizar que no se produzca ningĂşn comportamiento inesperado en sus contratos, recomendamos utilizar `london` como versiĂłn de referencia al compilar sus smart contracts.
-
-Puedes leer con más detalle las diferencias entre el hard fork de Shanghai y London en la [Ethereum Execution spec](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) y cómo la nueva instrucción `PUSH0` [afecta al compilador de Solidity](https://blog.soliditylang.org/2023/05/10/solidity-0.8.20-release-announcement/).
-
## Comisiones de Transacciones
La comisiĂłn aplicada a las transacciones de Scroll consta de dos partes:
diff --git a/src/content/docs/es/developers/guides/scroll-messenger-cross-chain-interaction.mdx b/src/content/docs/es/developers/guides/scroll-messenger-cross-chain-interaction.mdx
index fa0c65f71..f0dfe351b 100644
--- a/src/content/docs/es/developers/guides/scroll-messenger-cross-chain-interaction.mdx
+++ b/src/content/docs/es/developers/guides/scroll-messenger-cross-chain-interaction.mdx
@@ -83,7 +83,7 @@ Pasamos el mensaje ejecutando `executeFunctionCrosschain` y pasando los siguient
- `value`: En este caso es `0` porque el `setGreeting` no es de tipo `payable`.
- `greeting`: Es el parámetro que se enviará a través del mensaje. Prueba pasar `"¡Este mensaje fue ejecutado de manera crosschain!"`.
- `gasLimit`:
- - Si estás enviando el mensaje de L1 a L2, alrededor de un lĂmite de gas de `5000` deberĂa ser más que suficiente.
+ - Si estás enviando el mensaje de L1 a L2, alrededor de un lĂmite de gas de `1000000` deberĂa ser más que suficiente.
- Si estás enviando el mensaje de L2 a L1, pasa `0`, ya que la transacción se completará ejecutando una transacción adicional en L1.
### RetransmisiĂłn del mensaje al enviar de L2 a L1
diff --git a/src/content/docs/es/learn/index.mdx b/src/content/docs/es/learn/index.mdx
index d68f94ac8..a0dcf77ed 100644
--- a/src/content/docs/es/learn/index.mdx
+++ b/src/content/docs/es/learn/index.mdx
@@ -7,6 +7,8 @@ excerpt: "Learn more about Ethereum scalability and zero knowledge cryptography.
---
import NavCard from "../../../../components/NavCard.astro"
+import TechnologySvg from "../../../../assets/svgs/home/home-technology.svg?raw"
+import LearnSvg from "../../../../assets/svgs/home/home-learn.svg?raw"
Scroll reĂşne la investigaciĂłn y la ingenierĂa de protocolos blockchain y criptografĂa zero knowledge. Si quieres profundizar más, sigue leyendo y consulta los recursos adicionales.
@@ -14,13 +16,13 @@ Scroll reĂşne la investigaciĂłn y la ingenierĂa de protocolos blockchain y crip
///
+
+interface Window {
+ dataLayer: Array
+}
diff --git a/src/features/landing/components/SectionHeader.tsx b/src/features/landing/components/SectionHeader.tsx
index 0bb31c078..5bb6e8a03 100644
--- a/src/features/landing/components/SectionHeader.tsx
+++ b/src/features/landing/components/SectionHeader.tsx
@@ -1,9 +1,7 @@
-import React, { useState, useCallback } from "react"
-import styles from "./SectionHeader.module.css"
-
+import styles from "./SectionHeader.module.css"
const SectionHeader = (props) => {
- const { dark, title, description, ...rest } = props
+ const { title, description } = props
return (
{title}
diff --git a/src/layouts/HomeLayout.astro b/src/layouts/HomeLayout.astro
index f8fd54a44..1c489978a 100644
--- a/src/layouts/HomeLayout.astro
+++ b/src/layouts/HomeLayout.astro
@@ -6,7 +6,7 @@ import * as CONFIG from "../config"
import Footer from "~/components/Footer/Footer"
import LeftSidebar from "../components/LeftSidebar/LeftSidebar.astro"
-const { content = {}, dark } = Astro.props
+const { content = {} } = Astro.props
const currentPage = new URL(Astro.request.url).pathname
const formattedContentTitle = content.title
? `${content.title} | ${CONFIG.SITE.title}`
@@ -29,9 +29,9 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site)
#grid-left {
position: fixed;
- background-color: var(--theme-bg);
z-index: 10;
display: none;
+ @apply bg-pure-white dark:bg-black;
}
@media (min-width: 50em) {
@@ -59,16 +59,24 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site)
height: calc(100vh - 20px);
}
+
+
+
+
+
+
+
+
+