eth_multicall Meeting, Jun 10, 2024
eth_multicall and eth_simulate Meetings · 10 Jun 2024 · 13:08
A meeting of the developers working on eth_multicall and its successor eth_simulate, held on 10 June 2024. Client and tooling teams compare implementations and work on the specification for simulating transactions.
Topics
From eth_multicall and eth_simulate Meetings, hosted by Ethereum Foundation.
Transcript
I guess we can also start all right but he hears us yeah all right not sure if he can hear us I don't think he can hear us maybe he'll watch V later all right so uh from our side we've managed to finally merge the changes so that tests won't fail that much and we now have published the version where we publish block headers instead of default call structure that we had before so now clients shall be more or less um synchronized in that regards so we'll be wondering what you'll see there we after the fixes of some of the issues
that you reported on trailer I get some of my own tests related to timing fail so I wonder when you'll be testing Kar this new version please take a look at the timing once it seems like after we introduce this like checks for timings of the default block it starts to behave potentially unexpectedly so please check that and uh yeah there is one more argument now that shall be passed to the uh to the docker when you start up the container so that you'll be able to get the uh functionality of e simulate up and
running and and it's uh just one one simple argument and yeah I think that's it with us what what do you mean by timing stuff so yeah yeah yeah so you asked to introduce the check that the given block Tim stamp is uh larger than is less than the given by user so we're now checking that and this may lead to some of the tests fail so if you'll like post a few an issue on trailer clarifying that or clarifying what shall be fixed to to
that that will be good so the basic question would be if we do that only on validation mode on or do we do it always like this check that the timing is right if it is given that sounds good mhm thank you um yeah I believe last week the only thing I worked on was what was it oh yeah
the is it Bas Fe what were we discussing last week again sorry I'm having very hard difficulty remembering it setting the base feed to zero on the Block Level if it's upet yes um so yeah that is implemented so yeah basically like we said base V to zero on in nonv validating mode if it was not overridden and for that it is over then they are going to be nonzero um and yeah I I've pushed the changes uh
I did discover what while rebasing ma against master that one of my test tests started failing so I know there's uh there's some issue in there but it it only is there for when you try to overwrite the whole storage of a con cont TR pardon me otherwise everything else should be working fine so so cool now uh I guess we can do some some testing and see the the differences in the block header I'm kind of curious about this yeah I need to try what about the base V stuff did you implement it as we
discussed and I guess neet mind doesn't have that Implement yet as it is was only decide on the weekend yeah we only return it correctly but we don't generated correctly so there is still that issue and we'll fix it soon and you agree on the things that we discussed over chat that that's how net mind wants to be implemented as well will you recite for the V version so that everybody would like be uh would know what what happened and what was decided please she the issue somewhere can't
find it now there was um so one thing is that when we when the user overrides base fee if if it is lower than the gas price or like Max fee per gas then we still like in gu we still allow them to do this because it's in nonv validating mode so what would change for for the user if you still allowed to do that I mean they chose this um base fee so they I asse it's like they chose
both the base fee and the gas price so I assume that in this case they know what they're doing well the pro problem is that you can set the base Fe for each each block level and if you had the block Bas Fe has zero then what is the next block Bas Fe going to be it's going to be adjusted based on the previous block always going to be zero and there's an issue but the base V actually cannot be zero in the adjustment logic and then the if we use that always the normal rules then then it kind of yes so the issue is that when do you
calculate the base VOD the normal rules and when you don't and we agree that when in non validation mode there should be never be the normal calculation rules and when it validation true then they they should be always on and then I think the next block space view should be always the previous block space view that was no is it's zero if it's not set in the non validation mode issue a non validation mode because sometimes it's zero and sometimes it's not so then you don't the client doesn't really know if it
should follow the normal rules or not so we decide that it's always zero unless it's set explicit to something else yeah I think we can manage to make it work like that how does it work in the net at the moment it definitely doesn't so it will be done anyway because I just like tested it and it there is a whole pipeline to return the correct result but there is no pipeline to set it correctly for now so we'll make it uh we'll implement it and you'll be able to set it
correctly okay sounds good I don't think there's any other spec changes that we have done and that's something something that I still need to write the motivation white work like this way when you check between us and G could you please like say that they are like matching or where they have mismatched so that we maybe would freeze this spec next week if it is all fine and Endy yeah I can try that the problems that they always Min differences so it has been hard to see see that there have been so many different changes that it's
hard to say we we which are the all differences but I guess now we are getting closer so there be only smaller smaller amount of them yeah it will always be like 95% same and 5% fluctuating back and forward yeah so you are now adding that flag and I guess the point is that then you are pushing those changes to the main version of net mind and then maybe at some point we are making the default that is on by default and I guess now off by default yes now it's off by default and to enable it you need to explicitly set the flag and when we'll like look on how it works on your
side look at like the current state of things and maybe do some more minor fixes we'll merge it into the master and finally me dying each week on the merge will be completed because we are like a bit far from the must uh Branch a bit in some way yeah but is it is it that you soon should be able to merge it to the master with the flag or is there's things to be done yeah currently it's like it's mergeable to the master with a flag and we'll be just probably waiting for you
to confirm that yeah yeah that new block structure that we've implemented is correct and aligning with guest version or if there is some like major change that we shall Implement we'll do that first and then we'll merge it in okay yeah I try to do it this week thank you does get have that kind of sim flag that allows you to enable and disable the each simulator uh no there's no flag so I suppose when we merge it it will just be enabled yeah I guess it somewhat makes sense because you cannot accidentally
use the it because it's new [Music] method yeah and I suppose so I think that I will hold on um with the merge until we have some assurance that uh it's okay and other clients are okay with it and so on and yeah from then point on it should become part of the main specs and so every client should kind of have it and to do that we'll need a spec freeze so let's push for it at least a
little bit yeah I can try to do more testing and now net might should be providing more of those hashes as well so maybe we can easy identify if there's any issues yep probably do we have anything else to discuss and n also F fix that issue that when you that there's no zero value e transfers being logged yeah yeah it is
fixed now good so the stuff on trailer that is like the column of fixed shall be more or less fixed so yeah please do check that okay I start going through those but I guess we can finish now if you don't have anything else yep yeah thank you guys y thank you bye you bye