-
Notifications
You must be signed in to change notification settings - Fork 452
P5 Priority fees page (TW-740) #3236
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
Open
anegg0
wants to merge
24
commits into
Arbos60
Choose a base branch
from
tw-740-p5-priority-fees-collection-new-page
base: Arbos60
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 4 commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
5159406
add stub priority fees page (TW-740)
anegg0 553c581
fill in priority-fees content from Notion draft (Vanessa Bridge)
anegg0 da0180b
update arbos60 > arbos61
anegg0 4468c20
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 2a6209f
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 c1f2085
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 8fe5613
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 8b2bb9a
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 cc2fddd
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 cb3bef0
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 33a341a
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 0fed8ae
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 76c8142
reformat
anegg0 13502e7
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 046f3d4
Merge branch 'master' into tw-740-p5-priority-fees-collection-new-page
anegg0 b1ea4dc
fix sidebars.js format
anegg0 2c1ee77
fix broken links
anegg0 c0f5372
Point Gas sidebar entries at existing cost docs
anegg0 517ea3a
Merge remote-tracking branch 'origin/tw-740-p5-priority-fees-collecti…
anegg0 ac42f9a
Delete docs/arbitrum-essentials/how-to-get-l2block-on-l1.mdx
anegg0 f4ccef1
remove how-to-get-l2block-on-l1.mdx
anegg0 ad90490
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 fa168cc
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 bc69ba4
fix redirect
anegg0 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
61 changes: 61 additions & 0 deletions
61
docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/priority-fees.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| --- | ||
| title: 'Priority fees collection' | ||
| sidebar_label: 'Priority fees' | ||
| description: "How to enable priority-fee (tip) collection on an Arbitrum chain in ArbOS61 'Elara', and the additional requirements for tip-based transaction ordering." | ||
| content_type: concept | ||
| author: 'gaelblanchemain' | ||
| sme: 'vbridge-hash' | ||
| --- | ||
|
|
||
| ArbOS61 ("Elara") introduces the **capability** for chain owners to collect priority fees (tips) on their Arbitrum chain. The feature ships disabled, and a chain owner can enable it through a deliberate, two-step action. | ||
|
|
||
| <VanillaAdmonition type="caution" title="Activation requires a separate Constitutional vote"> | ||
|
|
||
| For Arbitrum One and Nova, enabling this feature requires an **additional Constitutional DAO vote** — it isn't activated as part of the ArbOS61 upgrade itself. The upgrade only makes tip collection *possible* for chains that opt in. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| </VanillaAdmonition> | ||
|
|
||
| ## How to enable tip collection | ||
|
|
||
| The chain owner calls the [`ArbOwner` precompile](/build-decentralized-apps/precompiles/02-reference.mdx#arbowner) at `0x0000000000000000000000000000000000000070`: | ||
|
|
||
| ```solidity | ||
| // Enable tip collection | ||
| IArbOwner(address(0x70)).setCollectTips(true); | ||
|
|
||
| // Disable it again | ||
| IArbOwner(address(0x70)).setCollectTips(false); | ||
|
|
||
| // Read the current state | ||
| bool collecting = IArbOwner(address(0x70)).getCollectTips(); | ||
| ``` | ||
|
|
||
| `ArbOwner` is access-controlled — only the chain owner (typically the DAO or a designated operator address) can call these methods. The implementation is in [`precompiles/ArbOwner.go`](https://github.com/OffchainLabs/nitro/blob/6dce8d13902649a1acdfd3f2504129f1f5612358/precompiles/ArbOwner.go#L666). | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## How tips are collected | ||
|
|
||
| Once enabled, any `priorityFee` (EIP-1559 `maxPriorityFeePerGas`) included in a transaction is collected the same way all other gas fees are, and routed into an onchain account. No separate infrastructure is needed. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Activation and receipt timing | ||
|
|
||
| If tip-paying transactions land in the same block but **before** the transaction that enables fee collection, tips aren't collected from those earlier transactions — but their receipts will report tips as if they were. This is a known issue. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| To avoid it, the chain owner can either: | ||
|
|
||
| - enable tip collection inside a delayed transaction, or | ||
| - ensure the enabling transaction is the first (or only) transaction in its block. | ||
|
|
||
| ## Tip-based transaction ordering | ||
|
|
||
| Enabling collection alone does **not** change how transactions are ordered. For priority fees to actually influence sequencing, the chain needs **both**: | ||
|
|
||
| 1. **`setCollectTips(true)`** — activates fee collection via `ArbOwner`. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
| 2. **Updated sequencer logic** — the sequencer must be configured to read the `PriorityFee` field when sorting transactions. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| Without step 2, the sequencer continues to use its existing ordering rules (such as [Timeboost](/how-arbitrum-works/timeboost/gentle-introduction.mdx)) regardless of the priority fee attached to a transaction. | ||
|
anegg0 marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## References | ||
|
|
||
| - [Constitutional AIP: ArbOS61 Elara — Priority fees](https://forum.arbitrum.foundation/t/constitutional-aip-arbos-60-elara/30601) | ||
| - [`ArbOwner` precompile reference](/build-decentralized-apps/precompiles/02-reference.mdx#arbowner) | ||
| - [`setCollectTips` source](https://github.com/OffchainLabs/nitro/blob/6dce8d13902649a1acdfd3f2504129f1f5612358/precompiles/ArbOwner.go#L666) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.