Skip to content

Missing lints & interop ideas #1381

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions pages/app-developers/tools/build/faucets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,19 @@ The Superchain Faucet is a great place to start if you're looking for testnet ET

## Additional faucets

| Faucet Name | Supported Networks |
|--------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia |
| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia |
| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia |
| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia |
| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia |
| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia |
| [ETHGlobal Testnet Faucet](https://ethglobal.com/faucet) | Sepolia, OP Sepolia, Base Sepolia, Zora Sepolia, Holesky |
| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia |
| [thirdweb Sepolia Faucet](https://thirdweb.com/sepolia?utm_source=opdocs\&utm_medium=docs) | Sepolia |
| [thirdweb OP Sepolia Faucet](https://thirdweb.com/op-sepolia-testnet?utm_source=opdocs\&utm_medium=docs) | OP Sepolia |
| [Tenderly Unlimited Faucet](https://docs.tenderly.co/virtual-testnets/unlimited-faucet?mtm_campaign=ext-docs&mtm_kwd=optimism) | OP Sepolia, OP Mainnet, and [85+ other networks](https://docs.tenderly.co/supported-networks?mtm_campaign=ext-docs&mtm_kwd=optimism) |
| Faucet Name | Supported Networks |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [Alchemy Faucet](https://sepoliafaucet.com) | Sepolia |
| [Infura Faucet](https://www.infura.io/faucet/sepolia) | Sepolia |
| [QuickNode Faucet](https://faucet.quicknode.com/optimism/) | Sepolia, OP Sepolia |
| [Farcaster Frame Faucet by LearnWeb3](https://warpcast.com/haardikkk/0x28f4237d) | Sepolia, OP Sepolia |
| [LearnWeb3 Web App Faucet](https://learnweb3.io/faucets) | Sepolia, OP Sepolia |
| [Native USDC Faucet](https://faucet.circle.com/) | Sepolia, OP Sepolia |
| [ETHGlobal Testnet Faucet](https://ethglobal.com/faucet) | Sepolia, OP Sepolia, Base Sepolia, Zora Sepolia, Holesky |
| [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets) | Sepolia, OP Sepolia, Base Sepolia |
| [thirdweb Sepolia Faucet](https://thirdweb.com/sepolia?utm_source=opdocs\&utm_medium=docs) | Sepolia |
| [thirdweb OP Sepolia Faucet](https://thirdweb.com/op-sepolia-testnet?utm_source=opdocs\&utm_medium=docs) | OP Sepolia |
| [Tenderly Unlimited Faucet](https://docs.tenderly.co/virtual-testnets/unlimited-faucet?mtm_campaign=ext-docs\&mtm_kwd=optimism) | OP Sepolia, OP Mainnet, and [85+ other networks](https://docs.tenderly.co/supported-networks?mtm_campaign=ext-docs\&mtm_kwd=optimism) |

## Bridge from Sepolia

Expand Down
32 changes: 15 additions & 17 deletions pages/app-developers/transactions/parameters.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,27 @@ Note that, like Ethereum, the base fee is not explicitly defined within a transa
Instead, the maximum base fee is determined as the difference between the `maxFeePerGas` and the `maxPriorityFeePerGas` fields of any given transaction.

<Steps>
{<h3>Retrieve the latest block</h3>}

{<h3>Retrieve the latest block</h3>}
Using the JSON-RPC API or your favorite Ethereum library, retrieve the latest block on OP Mainnet.

Using the JSON-RPC API or your favorite Ethereum library, retrieve the latest block on OP Mainnet.
{<h3>Retrieve the base fee and gas used</h3>}

{<h3>Retrieve the base fee and gas used</h3>}
From the block, retrieve the `baseFeePerGas` and `gasUsed` fields.

From the block, retrieve the `baseFeePerGas` and `gasUsed` fields.
{<h3>Predict the next base fee</h3>}

{<h3>Predict the next base fee</h3>}
OP Mainnet adjusts the base fee based on the amount of gas used in the previous block.
If the previous block used more than 5m gas (of the 30m gas limit), then the base fee will increase by up to 10%.
If the previous block used less than 5m gas, then the base fee will decrease by up to 10%.
Refer to the [OP Mainnet EIP-1559 Parameters](/stack/differences#eip-1559-parameters) section for more details.

OP Mainnet adjusts the base fee based on the amount of gas used in the previous block.
If the previous block used more than 5m gas (of the 30m gas limit), then the base fee will increase by up to 10%.
If the previous block used less than 5m gas, then the base fee will decrease by up to 10%.
Refer to the [OP Mainnet EIP-1559 Parameters](/stack/differences#eip-1559-parameters) section for more details.

{<h3>Select a base fee per gas</h3>}

Using the current base fee per gas and the amount of gas used in the previous block, you can predict the next base fee per gas.
If you are highly sensitive to the base fee, you may want to select a base fee per gas that is either 10% higher or 10% lower than the previous base fee.
However, you may run the risk that your transaction will not be included in a block quickly.
If you are less sensitive to the base fee, you may wish to simply use a large multiple of the previous base fee (e.g. 2x).
{<h3>Select a base fee per gas</h3>}

Using the current base fee per gas and the amount of gas used in the previous block, you can predict the next base fee per gas.
If you are highly sensitive to the base fee, you may want to select a base fee per gas that is either 10% higher or 10% lower than the previous base fee.
However, you may run the risk that your transaction will not be included in a block quickly.
If you are less sensitive to the base fee, you may wish to simply use a large multiple of the previous base fee (e.g. 2x).
</Steps>

## Selecting the priority fee
Expand All @@ -63,4 +61,4 @@ Many Ethereum libraries will provide a function to call this JSON-RPC method.
You can also use the [`eth_feeHistory`](https://docs.alchemy.com/reference/eth-feehistory) JSON-RPC method to retrieve historical priority fee data.
You can then use this data to predict a reasonable priority fee for your transaction.

Alternatively, you can rely on Tenderly's [`tenderly_gasPrice`](https://docs.tenderly.co/node/rpc-reference/optimism-mainnet/tenderly_gasPrice?mtm_campaign=ext-docs&mtm_kwd=optimism) to get real-time gas predictions with 3 levels of likelihood for transaction inclusion.
Alternatively, you can rely on Tenderly's [`tenderly_gasPrice`](https://docs.tenderly.co/node/rpc-reference/optimism-mainnet/tenderly_gasPrice?mtm_campaign=ext-docs\&mtm_kwd=optimism) to get real-time gas predictions with 3 levels of likelihood for transaction inclusion.
2 changes: 2 additions & 0 deletions pages/stack/interop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ Documentation covering Cross Chain Message, Explainer, Message Passing, Op Super
<Card title="Safe interoperability measures" href="/stack/interop/interop-security" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Interop reorg awareness" href="/stack/interop/reorg" />

<Card title="Ideas" href="/stack/interop/ideas" />
</Cards>
1 change: 1 addition & 0 deletions pages/stack/interop/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"superchain-erc20": "SuperchainERC20",
"reorg": "Interop reorg awareness",
"interop-security": "Safe interoperability",
"ideas": "Interop ideas",
"tools": "Tools",
"tutorials": "Tutorials"
}
Empty file added pages/stack/interop/ideas.mdx
Empty file.
7 changes: 4 additions & 3 deletions pages/stack/interop/message-passing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ sequenceDiagram
* `_destination`: The chain ID of the destination blockchain.
* `_target`: The address of the contract on that blockchain.
* `_message`: The actual message.
This message is provided to `_target` as calldata, which means it includes a function selector and the parameters for that function call.

This message is provided to `_target` as calldata, which means it includes a function selector and the parameters for that function call.

3. `L2ToL2CrossDomainMessenger` on the source chain verifies the message is legitimate:
* The destination chain is one to which this chain can send messages.
Expand Down Expand Up @@ -97,8 +98,8 @@ sequenceDiagram
* The origin (of the log entry) is `L2ToL2CrossDomainMessenger` on the other side.
* The destination chain ID is correct.
* The target is neither `CrossL2Inbox` nor `L2ToL2CrossDomainMessenger`.
* This message has not been relayed before.
This is the reason we need the nonce value, to enable us to send multiple messages that would be otherwise identical.
* This message has not been relayed before. This is the reason we need the nonce value, to enable us to send multiple messages that would be otherwise identical.


5. If everything checks out, `L2ToL2CrossDomainMessenger` calls the destination contract with the calldata provided in the message.

Expand Down
Loading