eth_multicall Meeting, Mar 31, 2025

eth_multicall and eth_simulate Meetings · 31 Mar 2025 · 9:44

A meeting of the developers working on eth_multicall and its successor eth_simulate, held on 31 March 2025. Client and tooling teams compare implementations and work on the specification for simulating transactions. This meeting covers a client implementation update and the spec for eth_simulateV2.

Topics

From eth_multicall and eth_simulate Meetings, hosted by Ethereum Foundation.

Transcript

should we start I can kick things off um right so from my side I submitted a fix for the issue we discussed last week about the transaction sender being zero in G yeah I have a hacky solution I don't like it so much but I think it's the best we can do uh it's not merged yet so hoping that we can get it into the next release I don't have any updates except I noticed that when I'm curing get and I have two blocks that have the same same time stamp then get is still complaining

about that even though it shouldn't complain about that wait I thought we check strict ordering now the time can stay the number as well as time stamp I thought we agree that the time stamp can stay the same it increase or stay stay the same that was because there's some chains that have sub subse block chains or block times so then you couldn't simulate on those oh does anyone else remember about this discussion I guess not do you know if NE mind also accepts the same time

stamps I haven't tested yet but yeah I could test it uh we do have increment of 12 seconds by default it has to increment by one yeah but do we have validation no idea any updates from the nether M uh yeah I was looking through uh has mismatch isue and I think the rlps or blog headers are different print in case uh it is because of uh base fee or base Fe per guas uh if it is zero

then uh get encoder rlp encoder is writing extra 80 byte to the uh encoder bite AR while neither mind is not yes Lucas so basically this is kind of unspecified territory because in Spec uh in normal mode Bas we cannot get below seven H and we are kind of so uh in G for example block header can have a null value or or nonn value of Base fee and if it has a null value of Base fee

probably has null value of Base fee for pre uh 1559 blocks and non null value for post 9559 blocks and it works this way that in rlp it actually handles all three things differently and then never mind we went for a shortcut and in our kind of internal structures uh base fee cannot have a null value and we treat zero as a null value because this is not a correct value for for a proper block so it will never have this uh but here in eth simulate we do have this case uh we can probably enshrine it for eth simulate Etc we can uh just serialize it

differently to rlp here it's if if that's needed uh I would would be just good for someone to remind me where are we using zero base fee just to have uh non-paying transactions I think that was a reason I don't remember for sure okay so we'll probably just use a different R encoding here and that should be fine just serialize that not value here I think that's the what we should do yeah I think the only way to have free transaction is set the base fee to zero M okay I think that's also the default as well okay so it is just a

let's say Quirk of never mind uh that's the issue here but I think we can work around it okay so we can uh for Block address for which simate we can have for separate encoded yeah exactly exactly what's the point of if the base Fe is zero then nether mind doesn't encod it at all I I didn't understand where do you need the zero one there so we do not encode it in rlp if base Fe is zero uh because we kind of uh for us it's uh we distinguish if the block was eap5 59 or not based on the existence of this field while uh and we don't support

nulls there in in our model uh while uh G and probably bezu has a proper free value logic there like is it null or not uh in practice in consensus it won't be an issue in consensus because in consensus this field cannot go below seven and when activated uh um but it here it it is right because we are allowing zero yeah okay have to make sure oh this is a edge case here that we need to support yeah do you have other things to discuss uh no State rout were not meing

as well but I I it was just a small fix to a spec now it is matching and now we add a different encoder the S would match as well so do we have all the block hases now matching other than this issue uh uh uh can can you repeat your question again are the other hashes now matching other than this special case where the Bas V zero I haven't tried with the but I'll try it uh but uh I think ARP matches so it should match

generally yeah it will match I have I have tried uh removing uh this extra bite and the PO has got matched well but I haven't tried with the other ones but I'll try yeah she did you have time to work on the the tracing stuff no um no not yet okay maybe I should get an intern that could help is get getting interns actually yes I think we are talking with

one um I doubt that he would be working on this though do we have anything else can really help with the interns but NE might probably have inters to spare uh not really we don't have that many inters in C team and I think we're down sliding on inters in general at the moment oh really did you guys have like 100 at one point yeah yeah yeah but as a company and uh core development isn't really that popular with interns to be

honest most of them like uh uh are not made for it let's say uh we did have some amazing interns uh here and there but it's like not that many compared to how much interns came to the company as a whole um yeah what are they mostly working on I don't know stuff that doesn't help luas yeah exactly I don't care I don't care uh so um some last few months or half a year or maybe more we were

focusing more on PhD interns so I expect they're more doing more research like projects oh yeah like PHP interns PhD oh PhD okay I was like why it's like the wrong direction also where did you find PHP inters no PhD interns okay okay like interns who are doing their phds right our PhD whatever candidates I know whatever don't have anything else I I yeah I don't think so well talk to you next

victim yeah thanks yeah bye bye guys