Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 2 additions & 2 deletions pages/builders/app-developers/transactions/statuses.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ If the `safe` block is behind the `latest` block, then the earliest "sequencer c

## Published to Ethereum / Safe

**Typically within 5-10 minutes, up to 24 hours**
**Typically within 5-10 minutes, up to 12 hours**

A transaction is considered "safe" when it has been included in a block by the Sequencer and that block has been published to Ethereum but that block is not yet finalized.
Once a block has been published to Ethereum there is a high likelihood that the block will be included in the final blockchain.
Expand All @@ -45,7 +45,7 @@ Transactions typically become "safe" within a few minutes of becoming "sequencer

## Finalized

**Typically within 15-20 minutes, up to 24 hours**
**Typically within 15-20 minutes, up to 12 hours**

A transaction is considered "finalized" when it has been included in a block by the Sequencer, that block has been published to Ethereum, and that block has been finalized.
Once a block has been finalized it is guaranteed to be included in the OP Mainnet blockchain.
Expand Down
4 changes: 4 additions & 0 deletions pages/builders/node-operators/management/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,10 @@ The kind of RPC provider, used to inform optimal transactions receipts fetching,
<Tabs.Tab>`OP_NODE_L1_RPC_KIND=standard`</Tabs.Tab>
</Tabs>

<Callout type="info">
For details on additional values, see [RPC Receipts](https://github.com/ethereum-optimism/optimism/blob/844cc20084a2e9716631b4092ce7eca4804a8e0a/op-service/sources/receipts_rpc.go#L239-L322).
</Callout>

###### l1.runtime-config-reload-interval

Poll interval for reloading the runtime config, useful when config events are not being picked up. Disabled if 0 or negative. The default value is `10m0s`.
Expand Down
8 changes: 7 additions & 1 deletion pages/builders/tools/build/account-abstraction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,22 @@ lang: en-US
description: This guide explains how to use account abstraction to remove friction from your app experience
---

import { Callout } from 'nextra/components'

# Account Abstraction

<Callout type="default">
This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below. Please visit the [community account abstractions page](https://github.com/ethereum-optimism/developers/blob/main/community/tools/account-abstraction) for an additional listing of third-party account abstraction tools.
</Callout>

[ERC-4337](https://www.erc4337.io/docs/paymasters/introduction), also known as Account Abstraction, enables more opportunities for apps and wallet developers to innovate on user experiences, including the ability to:

* Batch transactions together (e.g. approve and execute a swap in one go)
* Offer wallets with easy recovery and no seed phrase
* Sponsor the gas fees for transactions
* Enable users to pay gas in the token(s) of their choice

## Superchain paymaster
## Superchain Paymaster

The Superchain paymaster is an ERC-4337 verifying paymaster that sponsors transactions for smart accounts on the Superchain. Use the Superchain Paymaster to get your transactions sponsored to remove friction from your app experience. [View the implementation guide and tutorials here.](https://github.com/ethereum-optimism/ecosystem/tree/main/docs/superchain-paymaster)

Expand Down
6 changes: 3 additions & 3 deletions pages/chain/security/privileged-roles.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The L1 Proxy Admin is an address that can be used to upgrade most OP Mainnet sys
### Addresses

* **Ethereum**: [`0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A`](https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)
* **Sepolia:** [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301)
* **Sepolia:** [`0x1Eb2fFc903729a0F03966B917003800b145F56E2`](https://sepolia.etherscan.io/address/0x1Eb2fFc903729a0F03966B917003800b145F56E2)

## L2 Proxy Admin

Expand All @@ -47,7 +47,7 @@ The L2 Proxy Admin is an address that can be used to upgrade most OP Mainnet sys
### Addresses

* **Ethereum**: [`0x7871d1187a97cbbe40710ac119aa3d412944e4fe`](https://optimistic.etherscan.io/address/0x7871d1187a97cbbe40710ac119aa3d412944e4fe)
* **Sepolia**: [`0xfd1D2e729aE8eEe2E146c033bf4400fE75284301`](https://sepolia-optimism.etherscan.io/address/0xfd1D2e729aE8eEe2E146c033bf4400fE75284301)
* **Sepolia**: [`0x1Eb2fFc903729a0F03966B917003800b145F56E2`](https://sepolia-optimism.etherscan.io/address/0x1Eb2fFc903729a0F03966B917003800b145F56E2)

## System Config Owner

Expand Down Expand Up @@ -156,7 +156,7 @@ The Guardian role cannot pause specific withdrawals and can only pause all withd
### Addresses

* **Ethereum**: [`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`](https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)
* **Sepolia**: [`0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B`](https://sepolia.etherscan.io/address/0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B)
* **Sepolia**: [`0xf64bc17485f0B4Ea5F06A96514182FC4cB561977`](https://sepolia.etherscan.io/address/0xf64bc17485f0B4Ea5F06A96514182FC4cB561977)

## Mint Manager Owner

Expand Down
2 changes: 1 addition & 1 deletion pages/stack/protocol/deposit-flow.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ To see how replays work, you can use [this contract on OP Sepolia](https://sepol
<Callout type="warning">
Don't do this prematurely

If you call `startChanges()` too early, it will happen from the message is relayed to L2, and then the initial deposit will be successful and there will be no need to replay it.
If you call `startChanges()` too early, it will happen when the message is relayed to L2, and then the initial deposit will be successful and there will be no need to replay it.
</Callout>

8. Verify that `getStatus()` returns true, meaning changes are not allowed, and see the value of `greet()`.
Expand Down
8 changes: 4 additions & 4 deletions pages/stack/protocol/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ Specifically, Optimistic Rollups leverage the consensus mechanism (like PoW or P

![Ethereum and Optimism Forever Doodle.](/img/op-stack/protocol/ethereum-optimism-forever.png)

## Block storage
## Block Storage

In Bedrock, L2 blocks are saved to the Ethereum blockchain using a non-contract address ([`0xff00..0010` on Ethereum](https://etherscan.io/address/0xff00000000000000000000000000000000000010)) to minimize the L1 gas expense.
As these blocks are submitted as transaction calldata on Ethereum, there is no way to modify or censor them after the "transaction" is included in a block that has enough attestations.
As these blocks are submitted as transactions using EIP-4844 [blobs](/builders/chain-operators/management/blobs), there is no way to modify or censor them after the "transaction" is included in a block that has enough attestations.
This is the way that OP Mainnet inherits the availability and integrity guarantees of Ethereum.

Blocks are written to L1 in [a compressed format](https://specs.optimism.io/protocol/derivation.html#batch-submission-wire-format) to reduce costs.
This is important because writing to L1 is [the major cost of OP Mainnet transactions](/stack/transactions/fees).

## Block production
## Block Production

Optimism block production is primarily managed by a single party, called the "sequencer," which helps the network by providing the following services:

Expand All @@ -52,7 +52,7 @@ Transactions get to the sequencer in two ways:

For the moment, [The Optimism Foundation](https://www.optimism.io/) runs the only block producer on OP Mainnet. Refer to [Protocol specs](overview) section for more information about how we plan to decentralize the Sequencer role in the future.

## Block execution
## Block Execution

The execution engine (implemented as the `op-geth` component) receive blocks using two mechanisms:

Expand Down
2 changes: 1 addition & 1 deletion pages/stack/security/pause.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Pause functionality and [two-step withdrawals](https://web.archive.org/web/20230
The `OptimismPortal` can be configured to allow a `GUARDIAN` address to pause and unpause L2-to-L1 transactions from being executed.
L2-to-L1 transactions allow users and smart contracts on the OP Stack chain to send messages to the L1 parent chain.
Pause functionality allows a `GUARDIAN` to halt L2-to-L1 transaction execution for the OP Stack chain in question.
L1-to-L2 tranasctions are not affected by pause functionality.
L1-to-L2 transactions are not affected by pause functionality.

Pauses by the `GUARDIAN` impact all L2-to-L1 transactions for the OP Stack chain in question and cannot be targeted to specific users, smart contracts, or transactions.
Pauses are designed to be a backup safety mechanism and are expected to be used only in the event of an active pressing security concern.
Expand Down
16 changes: 7 additions & 9 deletions pages/stack/transactions/fees.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,8 @@ the L1 Data Fee are generally quite small and should not impact the average tran
#### Bedrock

<Callout>
The L1 Data Fee formula would change with the proposed Ecotone upgrade.
Ecotone has not yet been approved by Optimism Governance.
Refer to the [Network Upgrade Overview](/builders/node-operators/network-upgrades/overview) to check when the Ecotone upgrade is scheduled to activate on OP Sepolia and OP Mainnet.
The L1 Data Fee formula changed with the Ecotone upgrade.
Refer to the [Network Upgrade Overview](/builders/node-operators/network-upgrades/overview) for network upgrade activation timestamps for OP Sepolia and OP Mainnet.
</Callout>

Prior to the Ecotone upgrade, the L1 Data Fee is calculated based on the following parameters:
Expand Down Expand Up @@ -122,18 +121,17 @@ l1_data_fee = tx_total_gas * ethereum_base_fee
#### Ecotone

<Callout>
The L1 Data Fee formula would change with the proposed Ecotone upgrade.
Ecotone has not yet been approved by Optimism Governance.
Refer to the [Network Upgrade Overview](/builders/node-operators/network-upgrades/overview) to check when the Ecotone upgrade is scheduled to activate on OP Sepolia and OP Mainnet.
The L1 Data Fee formula changed with the Ecotone upgrade.
Refer to the [Network Upgrade Overview](/builders/node-operators/network-upgrades/overview) for network upgrade activation timestamps for OP Sepolia and OP Mainnet.
</Callout>

The pricing function changes with the proposed Ecotone upgrade because of the introduction of the option to
The pricing function changes with Ecotone upgrade because of the introduction of the option to
post transaction batches to the L1 using blobs instead of through L1 calldata. This updated
function uses the following parameters:

* The **signed** transaction serialized according to [the standard Ethereum transaction RLP encoding](https://github.com/ethereum-optimism/op-geth/blob/11a890f1ee0348a17687149abc72f394f9faa5ce/core/types/transaction.go#L131-L141).
* The current Ethereum base fee and/or blob base fee (trustlessly relayed from Ethereum).
* Two new scalar parameters that independently scale the base fee blob base fee.
* Two new scalar parameters that independently scale the **base fee** and **blob base fee**.

At the exact point of the Ecotone upgrade, the dynamic overhead parameter value is used to
initialize the Ecotone base fee scalar, and blob base fee is set to 0. The overhead parameter from
Expand Down Expand Up @@ -165,4 +163,4 @@ Recall that base_fee_scalar is set to dynamic_overhead and blob_base_fee_scalar
following the upgrade. Because the old overhead parameter becomes ignored, new L1 data prices will
be (slightly, since overhead is typically a very small) lower than before the fork. Chain
operators will likely want to retune the parameters appropriately after the fork, particularly if
they plan on enabling blobs.
they plan on [enabling blobs](/builders/chain-operators/management/blobs).