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: 3 additions & 1 deletion pages/chain/identity/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
"about-attestations": "About Attestations",
"contracts-eas": "Contracts (EAS)",
"schemas": "Schemas",
"applications": "Apps"
"applications": "Apps",
"organization": "Organization",
"projects": "Projects"
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: Learn about the organization entity within the Optimism Collective'

Within the Optimism Collective, the organization entity is used to represent teams, squads, DAOs and other organizations that may work on multiple projects. Organizations can apply to Retroactive Public Goods Funding (Retro Funding) with specific [projects](https://docs.optimism.io/chain/identity/projects), never with just the organization. This is because projects represent contributions that created impact in the Collective, and Retro Rounds award OP to past impact.

The organization entity is represented onchain by an attestation. The attestation UID is the organizations unique identifier for its lifecycle in the Collective. To create a new organization, an attestation is issued using [this schema](https://optimism.easscan.org/schema/view/0xff0b916851c1c5507406cfcaa60e5d549c91b7f642eb74e33b88143cae4b47d0). The only metadata included in the schema is the Farcaster Id of the person who created the organization, and the entity type (in this case organization).
The organization entity is represented onchain by an attestation. The attestation UID is the organization's unique identifier for its lifecycle in the Collective. To create a new organization, an attestation is issued using [this schema](https://optimism.easscan.org/schema/view/0xff0b916851c1c5507406cfcaa60e5d549c91b7f642eb74e33b88143cae4b47d0). The only metadata included in the schema is the Farcaster Id of the person who created the organization, and the entity type (in this case "organization").

All other organization metadata is stored or referenced in the [Organization Metadata Attestation](https://optimism.easscan.org/schema/view/0xc2b376d1a140287b1fa1519747baae1317cf37e0d27289b86f85aa7cebfd649f). The Organization Metadata Attestation is re-issued anytime there is a change in metadata. Apps displaying organization metadata should look to the most recent attestation for the up-to-date metadata.

Expand Down
23 changes: 22 additions & 1 deletion pages/stack/protocol/rollup/withdrawal-flow.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Withdrawals require the user to submit three transactions:
3. **Withdrawal finalizing transaction**, which the user submits on L1 after the fault challenge period has passed, to actually run the transaction on L1.

<Callout type="info">
You can see an example of how to do this [in the bridging tutorials](/builders/app-developers/tutorials/cross-dom-bridge-erc20).
You can see an example of how to do this [in the bridging tutorials](/builders/app-developers/tutorials/cross-dom-bridge-erc20).
</Callout>

## Withdrawal initiating transaction
Expand Down Expand Up @@ -79,6 +79,27 @@ The next step is to wait the fault challenge period, to ensure that the L2 outpu

Finally, once the fault challenge period passes, the withdrawal can be finalized and executed on L1.

## Expected Internal Reverts in Withdrawal Transactions

During the withdrawal process, users may observe internal reverts when viewing the transaction on **Etherscan**. This is a common point of confusion but is expected behavior.

These internal reverts often show up in yellow on the Etherscan UI and may cause concern that something went wrong with the transaction. However, these reverts occur due to the non-standard proxy used in Optimism, specifically the **Chugsplash Proxy**. The Chugsplash Proxy sometimes triggers internal calls that revert as part of the designed flow of the withdrawal process.

### Why Do These Reverts Happen?

The Chugsplash Proxy operates differently than standard proxies. During a withdrawal transaction, it may trigger internal contract calls that result in reverts, but these reverts do not indicate that the withdrawal has failed. Instead, they are part of the internal logic of the system and are expected in certain scenarios.

### Key Takeaways:

* **Internal Reverts Are Expected**: These reverts are part of the normal operation of the Chugsplash Proxy during withdrawal transactions and do not represent an error.
* **No Cause for Concern**: Although Etherscan highlights these reverts, they do not affect the final success of the transaction.
* **User Assurance**: If you encounter these reverts during a withdrawal transaction, rest assured that the withdrawal will still finalize as expected.

For more information about the withdrawal process and how it works on Optimism, refer to the following resources:

* [Smart Contracts Overview](https://docs.optimism.io/stack/protocol/rollup/smart-contracts)
* [Withdrawal Flow](https://docs.optimism.io/stack/protocol/rollup/withdrawal-flow#withdrawal-initiating-transaction)

### Offchain processing

1. A user calls the SDK's [`CrossDomainMessenger.finalizeMessage()`](https://github.com/ethereum-optimism/optimism/blob/62c7f3b05a70027b30054d4c8974f44000606fb7/packages/sdk/src/cross-chain-messenger.ts#L1473-L1493) with the hash of the L1 message.
Expand Down
1 change: 1 addition & 0 deletions words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Chainlink
chainlist
Chainstack
chaosnet
Chugsplash
Clabby
codebases
collateralized
Expand Down