ethereum-optimism / community-hub Goto Github PK
View Code? Open in Web Editor NEWOptimism Governance Docs
Home Page: https://community.optimism.io
License: MIT License
Optimism Governance Docs
Home Page: https://community.optimism.io
License: MIT License
Discord member couldn't understand this sentence in the "Predeployed Contracts" section of the Protocol docs:
This is necessary because there is no corresponding operation in the EVM which the the optimistic solidity compiler can be replaced with a call to the ExecutionManager's ovmL1TXORIGIN() function.
A typo fix will also be included in the PR for this update.
Description
From the feedback given by FunFair-Josh, it is unclear from our docs what the L2 gasLimit
is.
We should clarify that gasLimit
is equal to the "feeInGwei".
Motivation
We want to keep the l2geth API the same between existing L1 dapps and wallet software, so we are re-using the gasLimit
parameter on the RPC to be more like a proposedFee
, where the gas fee will not be more than this proposedFee
.
This same API is used when making a request for the fee from the sequencer by calling eth_estimateGas
.
Additional motivation:
Estimated effort and complexity
Tags related to packages
l2geth
Would like to pick out the best questions from this thread and give them answers:
Awesome work on launch today.
The optimism gateway (https://gateway.optimism.io/select-asset) doesn't allow for transferring any arbitrary ERC20 token through the bridge. I'm confused as to why.
Would be awesome if you could make this change.
Describe the bug
This is a dead link found on this page: https://community.optimism.io/docs/resources/tutorials.html
As noted by @TransmissionsDev, this section is now out-of-date and must be updated.
Description
Docs do not currently explicitly state that there are delays in message passing, particularly describing the 7-day delay in L2 to L1 message passing.
This 7-day delay has been described by a user in our Discord as being a roadblock in continuing development of their project on OE over the long term, so it's best that this delay be explicit in our docs so that users and devs are not caught off guard.
For L1 to L1 delays:
Motivation
Additional motivation:
Estimated effort and complexity
Tags to related packages
l2geth
The search box in the header is not working (at least not for most search terms). We should probably try fixing it or replacing it.
Description
The search box in the header is not working (at least not for most search terms). We should probably try fixing it or replacing it.
Motivation
This is a UX pain because users would expect for the search bar to work like any other search bar. Instead, they must first experience that it doesn't work as expected, and then opt to use CTL+F
Estimated effort and complexity
Tags to related packages
The Discord invitation link here: https://community.optimism.io/docs/developers/bridging.html#understanding-contract-calls would appear to have expired.
Typo in the last sentence of the FAQ:
Why is there a delay when moving assets from Optimistic Ethereum to Ethereum?
As a result, we seem a delay of about a week when moving assets back onto Ethereum.
Description
We have had several Discord members report that it is unclear in our docs how one should reduce the L2 gas consumption of their transactions.
We have a couple of sentences for how "to minimize gas costs for users" under the Transactions for Developers section; however, it is likely that we need more explicit content in addition to what is detailed in these 2 sentences.
Motivation
Estimated effort and complexity
Tags to related packages
l2geth
Hi,
I am unaware how to check the status of a withdraw from optimistic to mainnet. The transaction hash shows that the withdraw was successful 7 days and 23 hours ago. So I just want to check and make sure nothing is wrong with my withdrawl.
Description
Yoav brought to our attention that there is confusion as to whether the fraud-proof window is 60 seconds or 7-days.
Motivation
I will quote Yoav below to share his concerns:
If it's currently set to 7 days, I guess I won't be able to demonstrate my project. It's a cross-rollup bridge so I need Optimism and Arbitrum (at the minimum) running on the same L1. I was planning to demo it on Kovan which has both.
In a separate response:
Looking at OVM_L1CrossDomainMessenger.sol, it seems to still be using the fraud proof window like I remembered. The verification in _verifyStateRootProof is ovmStateCommitmentChain.insideFraudProofWindow(_proof.stateRootBatchHeader). And the window on the kovan OVM_StateCommitmentChain is currently 60 seconds, so messages should be relayed fairly quickly on this network. But maybe the message-relayer that's currently running is unaware of it and waits 7 days regardless of the on-chain check?
Additional motivation
Estimated effort and complexity
Tags to related packages
l2geth
contracts
message-relayer
Describe the bug
The discord invitation link present on Documentation page is not valid.
To Reproduce
Steps to reproduce the behavior:
Discord Server
on the Documentation pageMake a note in the dev docs that revert reasons are not returned on eth_sendRawTransaction calls. you'll have to do an eth_call
at that block height to get the revert reason
Adding a new section titled, "Additional Developer Documentation". Under this section, adding L1 <> L2 communication docs from Optimism's old docs.
Our L1<>L2 docs don't currently explain that users will need to deposit ETH in order to pay for fees on L2: https://community.optimism.io/docs/developers/integration.html#bridging-l1-and-l2
We just need to add a brief explanation of the standard ETH bridge and the flow that users will need to take to be able to pay fees.
We don't have any links to this GitHub on the website right now. Would be great to get at least one link (maybe in the header bar?) that takes you here. Even better if we can add something like an "edit this page on github" link that would be present on each page.
A detailed guide for beginners.
To deposit the ERC721 token I am using the OVM_CrossDomainEnabled bridge contract.
But while deposit it is giving this error :
ERROR : VM Exception while processing transaction revert.\
There's a lot of tedious questions I find that get repeatedly answered in the Discord server channels. So, I think there should be:
All 3 of these things should be contained within one page to serve as a "table of contents" for learning more about all things Optimism.
Note: If a user wants more detailed info, they can work through the resources, tutorials, and guides provided, or learn more about the core protocol itself and how to integrate the OVM into their apps, elsewhere in the documentation.
smock
:ovm-toolchain
, i.e. Optimism Monorepocontracts-v2
:Since the above will serve as a higher-level table-of-contents, then the subsections of the "Protocol" and "Integration" can be left for advanced users that would either like to learn more about the technical details of the protocol, or learn how to integrate the OVM into their apps.
A common workflow for connecting to/interacting with the EVM is using web3 libraries. This usually involves getting an API key from a provider like Infura and using it to create a web3 object.
How can we connect to the OVM on Kovan L2? What RPC Provider can we use?
Improve the integration docs using the output from #8.
We can also make some minor improvements to formatting:
[text](link)
syntaxDescribe the bug
A recent fix in ethereum-optimism/optimism#597 corrects an issue with typescript defs of one chain (L1) overwritting typescript defs of another chain (L2).
This change likely affects many users who have suffered from this issue or used their own way of getting around this issue.
Expected behavior
A note on the override for the TypeChain task to keep two type def paths for each artifacts, types
and types-ovm
.
Additional context
Advised by ethereum-optimism/optimism#597
I decided to test L2 optimism about 2 weeks ago. I had 100$ in ethereum and I sent them to the liquidity of 50$ dai / 50$ ethereum. Funds were lying there for about a week and I decided to close it. After that, I went to the optimistic gateway and ordered the withdraw. They wrote to me that the media will come on July 29. today is 31, but I still can't see them anywhere. I have paid all the commissions and they are marked as successful on the etherscan and optimism scan. Please tell me how to solve this problem
Describe the bug
It is unclear why the gasPrice
(which is equal to the executionPrice
) is set to 1 Gwei.
Expected behavior
Users should have a clear understanding of what the purpose of a 1 Gwei gasPrice
is. They should also understand how it affects the L2 costs of Optimistic Ethereum.
Additional context
This issue was warranted after a discussion with @gigamesh and @K-Ho
Description
We have 2 separate pages that describe transaction fees on Optimistic Ethereum.
There ideally be one page for subject.
Since there is more content on "How Fees Work in Optimistic Ethereum", we should merge the "Transaction Fees" page (under the Protocol Docs) to the former page (under the User Docs).
@snario brought this to my attention
Motivation
Estimated effort and complexity
Tags to related packages
Describe the bug
Some links returns 404
To Reproduce
Steps to reproduce the behavior:
Same with http://community.optimism.io/docs/protocol/tldr.html
We were investigating optimism. We sent 0.3 ETH from mainnet to optimism (this worked). Then we used uniswap on optimism to buy and pool some USDT (this worked). Then we converted back to ETH on optimism (this worked). Then we tried to send the remaining funds back to ETH mainnet (0.2526 ETH) - and that got half way thru and failed. We waited the week and got to this point https://optimistic.etherscan.io/messagerelayer?search=0x26483f3317376ca1deab14cf4641df675497ec5f4d334f8911b2a2f37e28ea41
But each time we hit execute it just spins some blue squares. We tried a few times over the last couple of days. We tried having metamask network on mainnet and on optimism. But we get no further then this. Any ideas?
I have connected the Optimistic Ethereum network on my Metamask.
Then I transferred ETH to this wallet. I made a swap and wanted to send the remaining ETH to another wallet.
On another wallet, I also connected the Optmistic Ethereum network.
I have a problem.
I have connected the Optimistic Ethereum network on my Metamask.
Then I transferred ETH to this wallet. I made a swap and wanted to send the remaining ETH to another wallet.
On another wallet, I also connected the Optmistic Ethereum network.
I sent 0.7 ETH on the Optimistic Ethereum network.
The funds did not come. I'm trying to check the information on optimistic.io.
But on I see "404 Page not found".
How can I solve this problem?
PS:
Tx: 0x10443ddd01feab13e044efe4550622ee73a7b300a6b60f54a69f55a3af46a36d
From: 0x0b013b2F5C67522a00e38358E88Fc745a2c0e039
To: 0xF57dBdDF5268C6F896DeD614a44856b1F78E4331
Describe the bug
Docs do not have anything that informs of evm_snapshot
not being implemented for the OVM. This info can be helpful for users who are using hardhat-deploy
for deploy fixtures.
Quoting @K-Ho, "When you're running tests against the OVM, it's a fork of geth, which doesn't have support for evm_snapshot
, or evm_increaseTime
."
Additional context
Documented this issue ethereum-optimism/optimism#617
Description
Users in our Discord have asked about what the floor of L2 gas fees are in different ways.
Thus, it is prudent that we add an explicit explanation of what the floor of L2 gas fees are to our docs.
Here's a direct quote from a user from Discord server:
This new content could be placed on "How Fees Works in Optimistic Ethereum" page.
Motivation
Estimated effort and complexity
Tags to related packages
l2geth
Using optimism-integration
to create a custom network on MetaMask does not work as expected (as explained in the developer docs).
In the developer docs, there is a section with steps to setup the optimism-integration
repo. Here's a snapshot of the section I'm referring to:
Once the containers are running, I tried to connect to either localhost:9545
or localhost:8545
, which the docs imply are available to connect. In MetaMask, I try creating a new custom network with the RPC url as http://localhost:9545
and the chainID as 420
, but I receive this error instead:
optimism-integration
Repo]"(http://community.optimism.io/docs/developers/integration.html#using-the-optimism-integration-repo) to spin up the complete L1/L2 dev environment, and leave the containers runninghttp://localhost:9545
as the "New RPC URL" and 420
as the "Chain ID".After chatting with @maurelian, he suggested I use http://0.0.0.0:9545
, however, when doing so, I get this more helpful error:
Using that chainID, 31337
lets MetaMask create the custom network, no problem.
@kfichter Wondering if I'm doing something wrong or if there's something missing from the docs?
I accidentally sent crypto to an optimism mainet address and i need it back. The adress is 0x6032a735638dff9834976115394525baa353c9d5
It is $165.00 in ethereum and $45.00 in usdc. If someone could contact me at [email protected] i would deeply appreciate it.
Add these FAQs in docs and in discord:
See https://discord.com/channels/667044843901681675/667044844366987296/815064237972914176 for reference
In addition, add a description of each role, explaining what their purpose is in OE.
Use of @eth-optimism/plugins
is now discouraged since maintenance for it is put on hold until further notice.
Docs should instead use optimism-integration
for OVM-integration tests, and avoiding references to unit tests.
Any instances of referring to using @eth-optimism/plugins
should be removed.
Is your feature request related to a problem? Please describe.
We're lacking badges (not only in this repository), of any kind, which can provide quick "HUD"-like and useful info to users.
Describe the solution you'd like
Add:
@eth-optimism/plugins
, etc.)Describe alternatives you've considered
Including some of the above resources (Discord, Twitter) as hard hyperlinks links in this and other repositories.
Additional context
I saw Synthetix's README for their CLI and admired its badges and section titled "Community" (a section that repeated use of the relevant badges social).
Examples
(NOTE: for the number of server members to be shown in the Discord badge, it requires an admin of the Optimism Discord server to toggle on "Enable Server Widget" in server settings):
These badges are inspired by Synthetix's badges on Synthetixio/synthetix#README.md
Description
@TransmissionsDev suggested that docs should more clearly advise that your tests work on jsvm and local l2geth before testing against Kovan or in a CI.
It can also be more explicit that debugging first with the jsvm and local l2geth is far easier than against Kovan or in a CI.
There should be more emphasis on this suggestion.
Motivation
Quoting @TransmissionsDev from discord:
"That way all the existing tooling will work and you get nice revert messages.
If you use xDomainMessenger
and other stuff, you are going to have to mock that out but it is worth it."
@TransmissionsDev could you expand on what exactly to mock and give an example?
Additional motivation:
Estimated effort and complexity
Tags to related packages
l2geth
Include content in docs that addresses t11s' reply below:
It can also be more explicit that debugging first with the jsvm and local l2geth is far easier than against Kovan or in a CI.
Mainly was emphasizing that debugging with jsvm specifically is much easier than l2geth. l2geth doesn't give revert messages, will only show gas estimations for l2 contracts with
solidity-gas-reporter
(even if you have l1 contracts you interact with in your tests) and is incompatible withsolidity-coverage
. You also can't use hardhat'sconsole.sol
with l2geth of course.
I was working through the tutorial and received the following error after running the yarn test command in The Tests section. The error output and the exact steps to reproduce are below.
Error output:
Compilation finished successfully
An unexpected error occurred:
Error: ganache-core tried to access safe-buffer, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: safe-buffer (via "safe-buffer")
Required by: ganache-core@npm:2.13.2 (via /Users/martinrosse/optimism-tutorial/.yarn/unplugged/ganache-core-npm-2.13.2-bd779722b4/node_modules/ganache-core/build/)
Require stack:
Steps to reproduce:
(I also manually added the safe-buffer dependency to the ganache-core package.json, but it didn't help...and filed a bug on ganache-core here: trufflesuite/ganache#806)
Describe the bug
I made a deposit from mainnet to optimism net (https://gateway.optimism.io/) where I transfered 2.7 SNX coins. However, I do not see this value reflected in my metamask wallet.
Here is the transaction:
https://etherscan.io/tx/0xd044a73ced39fc38f6c9535d5974662609650345fcf1d6e592a11de1c40ae21e
I was able to get the ETH deposit to work but not the SNX:
https://optimistic.etherscan.io/address/0x2d9bc3424ff1c4ec6d24d6219ddc781759870977
I would expect the SNX transaction to appear as well.
Any ideas on where to go from here would be very helpful. Thanks
Description
The docs don't make it clear how a user should transfer ETH from L1 to L2 using bridge contracts.
Here are some paraphrased issues surfaced by @funfair-tech and discussion with @snario:
transfer
or the deposit
method to get ETH to L2. When do you use which method?Motivation
deposit
, transfer
, or transferFrom
on L1 and L2.Estimated effort and complexity
Tags to related packages
contracts
Extremely easy to follow tutorial. Yes we like the memes; they fit at the bottom (outside of the meat and potatoes).
Extremely easy to switch networks, but I think that question will still come up because people don't read;
I would edit the intro paragraph as follows:
The easiest way to move assets between Layer 1 and Layer 2 is to use the Optimism Gateway. You can make use of this gateway on any of our networks. <--- click here for information on how to add any of the Optimism networks.
Add these details under the "Compiling and Testing Contracts" section under the developer docs.
Description
Similar to #86, the answer is not clear in the docs. It is not clear what the gas cost in Gwei is per transaction.
The answer should explicitly be stated in the
How Fees Work in Optimistic Ethereum page.
A user pointed out that gas cost was "recently "cut down significantly:
It should be clear how much gas costs have been reduced from gas costs of L1 transactions, with explicit detail for what the current gas costs are or what a user or dev can expect for them to be in the near future (while a nice-to-have, creating a gas estimation calculator is outside the scope of this issue).
Motivation
Estimated effort and complexity
Tags to related packages
l2geth
We are currently directing people away from testing on Testnet, towards running locally with up.sh (Docker)
We want to ensure that this is a well documented, easy to follow process, without unexpected snags.
It would be great to get some QA on these integration docs: http://community.optimism.io/docs/integration.html
Todo:
The items above are recorded in a single document.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.