Skip to content

Adding documentation about bridging proposals to destination chains. #1

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
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

jferas
Copy link
Collaborator

@jferas jferas commented Nov 13, 2024

No description provided.

@jferas jferas force-pushed the l2-proposals branch 2 times, most recently from 2a44311 to 2ad916d Compare November 19, 2024 17:34
@jferas jferas changed the title WIP Adding documentation about bridging proposals to L2 chains. Nov 19, 2024
@jferas jferas marked this pull request as ready for review November 19, 2024 17:36

## Introduction

Uniswap V3 has now been deployed across 24 Layer 2 blockchains. However, because Uniswap governance (using GovernorBravo and its associated Timelock contract) executes approved proposals on Ethereum mainnet, implementing changes on these L2 blockchains requires some extra steps in the proposals' executable code.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, and throughout the document, we seem to be referring to all these other chains as "Layer 2" chains or L2s. While most/many are, some are not, but are instead alternative L1's that use the EVM. We should change the language here to reflect that, and also update the rest of the document where appropriate. This sentence, for example, should read something more like "Uniswap V3 has now been deployed across 24 blockchain networks, including many Layer 2 chains" and "...implementing changes on these other blockchains..." etc...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the bridge report last year i ended up using "destination" or "non-mainnet" quite a bit

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.. rephrased all of that.. also even renamed the MD file to not contain L2 in the filename: 7f2b031

@jferas jferas changed the title Adding documentation about bridging proposals to L2 chains. Adding documentation about bridging proposals to destination chains. Nov 20, 2024
@@ -0,0 +1,693 @@
---

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[arbitrary comment location]

multi-chain proposals aren't showing up in the docs search (from http://localhost:3000/) -- do we need to manually index it, or would it be automatically picked up after deploy?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this won't happen till after deploy

title: Multi-Chain Proposals
---

This is a living document which represents the current process guidelines for developing and advancing multi-chain Uniswap Governance Proposals. It was last updated Novenber 2024.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: change date

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -78,7 +78,7 @@ To create an onchain Governance Proposal:

2. Create a topic in the [Governance Forum](https://gov.uniswap.org/) titled "Governance Proposal — [Your Title Here]" and link to previous forum posts and the Temperature Check Snapshot poll.

3. Create your proposal. This can be done either through an interface (e.g. [Tally](https://tally.xyz/gov/uniswap)) or through writing the calldata for more complicated proposal logic. If the proposal passed, this calldata will execute. If writing the calldata yourself, please review the logic with a qualified Uniswap community member prior to posting the proposal.
3. Create your proposal. This can be done either through an interface (e.g. [Tally](https://tally.xyz/gov/uniswap)) or through writing the calldata for more complicated proposal logic. If the proposal passed, this calldata will execute. If writing the calldata yourself, please review the logic with a qualified Uniswap community member prior to posting the proposal. For more information on developing and advancing multi-chain Uniswap Governance Proposals, see [Multi-Chain Governance](../multi-chain-proposals.md).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[arbitrary comment location]

at the top of this doc, it gives the "last updated" date. I don't love this convention but to be consistent we should change it

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: c92c9da

@@ -0,0 +1,693 @@
---
id: multi-chain-proposals
title: Multi-Chain Proposals

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[arbitrary comment location]

currently "multichain proposals" is listed on the nav after "Glossary." But it should be in "Governance," right?

Screenshot 2025-01-10 at 10 30 08 AM

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: c92c9da


Because 10 networks all use the same CrossChainAccount approach for communication, the only modifications to the above code snippet for those networks would be to change the first 3 address constant definitions. The definitions for all of the OP Stack based networks are below:

| Network | l1CrossDomainMessengerAddress | v3FactoryTargetAddress | crossChainAccountTargetAddress |
Copy link

@wildmolasses wildmolasses Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit here: this table is wide on my browser. what about each row having only one cell with all 3 contract addresses?

e.g.

Network Contract addresses
Base l1CrossDomainMessenger:  0x866E82a600A1414e583f7F13623F1aC5d58b0Afa
v3FactoryTarget:  0x33128a8fC17869897dcE68Ed026d694621f6FDfD
crossChainAccountTarget:  0x31FAfd4889FA1269F7a13A66eE0fB458f27D72A9
Blast ...

meh, that doesn't look good either...

what about getting rid of the Address suffix on our table headings, and code-formatting each address? maybe that'll get us some of the way there.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done (went with an html table): 769757310e8919e37e364cdbf7f703ef38ffa7c8

| Base | 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa | 0x33128a8fC17869897dcE68Ed026d694621f6FDfD | 0x31FAfd4889FA1269F7a13A66eE0fB458f27D72A9 |
| Blast | 0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0 | 0x792edAdE80af5fC680d96a2eD80A44247D2Cf6Fd | 0x2339C0d23b60739B3E5ABF201F05903D24A26C77 |
| Boba | 0x6D4528d192dB72E282265D6092F4B872f9Dff69e | 0xFFCd7Aed9C627E82A765c3247d562239507f6f1B | 0x53163235746CeB81Da32293bb0932e1A599256B4 |
| Linea - 1 | 0xd19d4B5d358258f05D7B411E21A1460D11B0876F | 0x31FAfd4889FA1269F7a13A66eE0fB458f27D72A9 | 0x581F86Da293A1D5Cd087a10E7227a75d2d2201A8 |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Linea - 1 | 0xd19d4B5d358258f05D7B411E21A1460D11B0876F | 0x31FAfd4889FA1269F7a13A66eE0fB458f27D72A9 | 0x581F86Da293A1D5Cd087a10E7227a75d2d2201A8 |
| Linea (see warning) | 0xd19d4B5d358258f05D7B411E21A1460D11B0876F | 0x31FAfd4889FA1269F7a13A66eE0fB458f27D72A9 | 0x581F86Da293A1D5Cd087a10E7227a75d2d2201A8 |

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

}
```

Because 10 networks all use the same CrossChainAccount approach for communication, the only modifications to the above code snippet for those networks would be to change the first 3 address constant definitions. The definitions for all of the OP Stack based networks are below:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Because 10 networks all use the same CrossChainAccount approach for communication, the only modifications to the above code snippet for those networks would be to change the first 3 address constant definitions. The definitions for all of the OP Stack based networks are below:
Because 10 networks all use the same CrossChainAccount approach for communication, the only modifications to the above code snippet for those networks would be to change the first 3 address constant definitions.
:::warning
**Linea**'s `sendMessage` reverses the order of the `fee` and `message` parameters.
The relevant OP Stack contract addresses are as follows:

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

| Worldcoin | 0xf931a81D18B1766d15695ffc7c1920a62b7e710a | 0x7a5028BDa40e7B173C278C5342087826455ea25a | 0xcb2436774C3e191c85056d248EF4260ce5f27A9D |
| Zora | 0xdC40a14d9abd6F410226f1E6de71aE03441ca506 | 0x7145F8aeef1f6510E92164038E1B6F8cB2c42Cbb | 0x36eEC182D0B24Df3DC23115D64DB521A93D5154f |

1 - Slightly different sending code for Linea, with the 'sendMessage' function's `fee` and `message` parameters swapped.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1 - Slightly different sending code for Linea, with the 'sendMessage' function's `fee` and `message` parameters swapped.

Copy link
Collaborator Author

@jferas jferas Jan 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


This is a living document which represents the current process guidelines for developing and advancing multi-chain Uniswap Governance Proposals. It was last updated Novenber 2024.

## Introduction

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we combine Introduction into Overview? I think there's also opportunity to shorten these sections, we can take another pass together after other feedback is addressed.

Copy link
Collaborator Author

@jferas jferas Jan 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, basically combine them.. interested in your thoughts on how to shorten them: 2433e7a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants