@mkalinin2@protolambda@go_ethereum Next up, I gave a summary of my conversation with client teams about what went well/bad with London, how we can improve for The Merge, and what their general roadmap is for the next ~6 months. Write up here: hackmd.io/@timbeiko/lond…
Testing 🔩: teams would like to set expectations in advance of how long things should be live on testnets, what to do if a bug happens, etc. so that we don't have to take these decisions on the fly (and under pressure) as we're working on the merge.
@mkalinin2@protolambda@go_ethereum Consensus vs. Non-Consensus changes⛓: once consensus changes are done, we should leave enough time for tooling/infrastructure to play with clients and help design the non-consensus interfaces.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps Lastly, when asked about their roadmaps, basically all teams agreed that, in addition to the consensus changes for the merge, they had other significant things they need to get done in the next few months.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps Given that, we agreed to *not* have a "feature fork" in December. This means that we'll likely push back the difficulty bomb, and perhaps add other "one line" changes, but won't be including new EIPs before the Merge.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps After this, there was some conversation on the call about what to do about the various EIPs which are "pending". We discussed potentially adding them into the first fork after the Merge, but it's something we need to do more serious planning around.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps Main reasons were: Eth2 does this, we don't optimize for JS elsewhere, and JS now has BigInt support. There are other fields which need similar decisions (a lot of them detailed in EIP-1985), and we'll put together a master list for people to review.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps Then, we had @shemnon on the call to discuss EIP-1352, which proposes to reserve some addresses for precompile contracts. Prior to Berlin, this wasn't a huge deal, but now that precompiles are considered "warm" under EIP-2929, which changes their gas costs, it matters.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps@shemnon Specifically, a lot of L2s use precompiles to store their system contracts, so the gas price associated with those will depend on whether they are considered cold or warm by the EVM upon initial invocation, and making an entire address range warm by default could clear this up.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps@shemnon Also worth noting that there were some issues on Berlin devnets because of this: some client teams treated the address of an implemented-but-not-activated precompile as warm, while it should have been treated as cold.
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps@shemnon There was some disagreement about the interpretation of the EIP (should the entire range be warm, despite not having a precompile, or should only precompiles within that range be warm?) and it made it clear more discussion was needed 😅
🚨 If you use Go-Ethereum, you should update to that 🚨
@mkalinin2@protolambda@go_ethereum@infura_io@trent_vanepps@shemnon@EthMagicians Second, while a PR had been merged to remove eth/65 support, it was reverted to not be bundled with the security upgrade and give the client teams who don't support eth/66 a few more weeks to do so. Both teams who didn't support it now have a PR/branch with implementations 👍🏻
@ethereum First up, @nethermindeth had an announcement urging people to upgrade to v1.11.2 to mitigate a potential PoW vulnerability. More details here:
Exactly one year later, I'm happy to come back to this thread and say we're sending back the extra funds from the @gitcoin grant back to the CLR match pool 😁
@gitcoin When we started to work on EIP-1559, we raised a ~90,000$ Gitcoin grant which, at the time, was the largest ever in a single round on Gitcoin. gitcoin.co/grants/946/pro…
@gitcoin We always meant for those funds to be used for common goods, and from Day 1 committed to sending any excess funds back to CLR matching.
FYI, this one is a bit less "recap-able" because most of the call was going over merge docs ⛓. Recording strongly recommended if you care about the Merge!
@ethereum@mkalinin2 We had already covered part of it in a Merge call last week () and continued going over the details. Mikhail went over some of the comments on the doc and explained the most recent changes.
First on the call we discussed the London upgrade going live on Goerli and Ropsten. For Goerli, @vdWijden and Karim from @ConsenSysQuorum spammed the network before the fork block and after it to make sure things went smoothly, which they did 🎉
On Rinkeby, the @go_ethereum team found a small issue in their validator configs: the minimum gas price that miners/validators accept in Geth is 1 gwei, and post-London this is calculated with the priority fee instead.
First, we had status updates from the Calaveras devnet. It was spammed with transactions this week, and uncovered some minor issues in Besu and Nethermind, which either have already been fixed or are being done so today/early next week 💪🏻
Then, we went through a bunch of open issues related to JSON RPC support for EIP-1559. The first was where the "effective gas price" of a transaction (the amount actually paid by the txn) should be stored. We agree to have that in the txn receipt, and updated the JSON RPC spec.
We started with a lot of action as @mhswende identified an issue in EIP-1559 yesterday where the new fields introduced in transactions (maxFee & maxPriorityFee) did not have an explicit cap. This meant that an attacker could create arbitrarily large transactions.
Prior to 1559, this is not possible because if you want to create a transaction with a huge gas price, you actually _need_ to have that amount of ETH, and if your txn is included, you will _pay_ that amount.