EIP Editing Office Hour #23

EIP Editing Office Hours · 22 Aug 2023 · 54:17

Meeting 23 of the EIP Editing Office Hour, held on 22 August 2023. EIP editors and proposal authors work through open pull requests and questions about the Ethereum standards process. This meeting covers EIP pull requests heading to Last Call, Review and Draft along with miscellaneous pull requests.

Topics

From EIP Editing Office Hours, hosted by ECH Institute.

Transcript

welcome to EIP editing office hour 23 we are joined by Sam Wilson the editor to maybe take a look at the proposals which are listed here on the agenda which is issue number 258 at eipip Repository thank you Sam for joining we can go ahead sounds good so uh I think the first PR here the only thing was um uh that it just seems the last call deadline updated um I can edit it directly so yeah that that's it for that one uh next up we have 6997 which is a proposal to add

validation steps before uh approving or transferring nfts so the big problem with this one at least in my opinion is that there's a lot of um uh like I don't want to say second order effects but like a lot of unexpected behaviors that might come up with this and I don't think they're discussed well enough in The Proposal so I'm just reading up a little thing here um first and foremost The Proposal pretty dramatically changed the behavior transfer functions to the point where devs really uncommon approve the transfer workflow would break um foreign

[Music] thank you foreign oh to anybody who's um watching this

recording are here now uh probably a good time to mention that we're no longer assigning PR numbers as EIP numbers we've moved to a different system um so don't be surprised if we give you a different number than your your PR all right and this is another one of these ones okay [Music] I think it's the same Facebook here it's important however pressing the

interface ID it's actually equivalent to okay foreign this should just be in the can I just edit this because that would make this easier I cannot all right um so we're actually following just what you guys did with 8 20 uh which was replaced by 1820 yeah just

like just testing yeah it's it's this little blurb at the top here right yeah yeah I mean this is this is a when was this made this was made in 2019 and it's so different from all the other proposals already um yeah so I guess at the very least um [Music] um the information source okay

yeah everything else is exactly the same as the old one I I guess so all right thank you oh no problem sorry it took so long to get to uh to PRS um this is just removing a table of contents on a stagnant DRC

I could not understand the purpose here but I found that it was approved by Panda so I kept it over here perhaps the author should also change the I mean the proposal should also try to change their status I think they're just updating some formatting um I'd prefer if they updated the status but uh yeah I don't think this changes any content so yeah I'm okay with this yeah I did any movement so like any change bring it to understand and Status they could have done it easily yeah yeah it's just it's so it's not updating the content so whose proposal is this is this their own proposal

um no it's not it's not their proposal so I think I think they just noticed this and they're updating it but it hasn't actually like they're not planning on moving it forwards so I'm okay just all right yeah yeah I mean it'd be even better if you know it changed the uh All These Warnings and fix that but yeah all right cool that's good so to draft 7406.

Mercy all right so multi-name space on chain registry 7406 all right we have get out again okay it was a universally accepted description for on-chain registry entries for support for multi-name spaces versatility nurse use cases all right

me for my general mapping data structures okay and the thought functions okay owner of the key under the given namespace um Returns the resolver address for the specified key okay okay let's change that and then we have

to go up here and we have to add okay let's swap one three seven or one yeah one three seven okay okay so that part's already in the motivation yeah okay um

it's a key under the given namespace to other owner okay the same key under different namespace we have different owners between your name space um okay for this momentation registry implementation okay good that's fine that's good um

this resolver address for key under the given namespace this function may only be called by the owner of a specific key under gaming space same key and a different name is basically a different resolvers and successful instructions okay that seems pretty reasonable common and then let's go leave a here and we will say okay

let's see all right so that one's good uh tokenized reserved what's going on with this one please don't okay uh uh hello oh hey hey uh last last

meeting you had mentioned to remove uh the struts so I had to replace the struts with um some getter functions because you said that uh you wanted to allow for the implementer yeah the struts yeah I remember all right I made that change and um I changed the ration now because um you said it didn't really mention why technically used um e-pipe uh EIP 4626 so I kind of explained it a little bit perfect thank you I'll take a look here um

okay okay Facebook Reserve is okay I had a question about the events yeah um so the events are not considered the same as

the strut or like allowing the implementer to use an event or not or should we yeah so events are fine because like there's something you can so like um if you were let's say writing a Dap You could subscribe to the events and receive notifications about them so they're part of the public interface of the uh okay because you had mentioned it it was either returned but not like the returned variable or a parameter that goes into the implementation right yeah you talk about uh like a struct yeah so if you have a if you have a struct in the event too that would also work okay it's just like um so like if you had um like let's just imagine you had say um

just let me type here so you added just like a uh let's go address so you just have something like this just like in your interface like in your interface but it's not public right so you wouldn't put that in your interface because you don't want to constrain how like the actual implementers of your interface work because it's a private function right or a private member um so it's the same thing here like anything that isn't externally visible you don't need to put in the interface okay but like events are extremely visible because you can see them off chain uh and functions are are obviously uh extremely visible because you can

interact with them okay so events okay pause the time okay okay this is I don't think that's the updated one oh uh what's the link to that one

so this is this one here um it should be it should be under um Pat the pat 1 branch yeah pet one oh okay yeah okay sorry no worries okay you see four six two six ers Okay so

I always forget what RFC that is uh 2119 . interesting requirements then um foreign

yeah so it's basically just that these these keywords here um they kind of create requirements so they should go in the specification section so like for example you'd say um here I might as well just write this down but um let's see um foreign okay yeah so that's about the only other

thing everything else looks good um sorry for Teacher auditing uh actually yeah I need to change that I just can't think of what it's hard yeah um I don't know if that's helpful

um I'm very bad at coming here with descriptions too it's it's I need more time to think about it and you don't need to get it right for the draft um it's totally fine otherwise um yeah awesome is there was there anything else you wanted to talk about on this one there uh no that's it thank you awesome thanks okay and non-punchable token so uh Sam if you would like we can take the last one we have the author for that uh 74.9 yes that's right okay all right so let's change down here I

think we're good I would assume we're good okay all right okay you've got to give me edit on your um your pull requests it'll make it a lot faster I so I didn't notice that this didn't render um government

and this is a draft so yeah this is totally fine to just go with me okay so there's that and then non-fungible token rolls hey there um I'm the author just sharing that I'm on the call yeah well welcome do you have any particular questions or just want somebody to look at um actually we we have been with the pr open for a month there is a little discussion on um on the on the Forum as well so we actually want to move forward with the

process in yeah reviewing and and potentially get it to be accepted all right management friend of tease it was kind of show utility but it is very expirable role assignments all right so there are a couple other proposals that are similar based on your description I don't know if you've seen them um I did and uh there are some in in the comments that we addressed okay perfect just wanted to check so 59.82 59.82 so this is in review so I will go here and I will mention to another

like a CRC 74 32 59.82 status 59.82 is yeah maybe just crack the language there because we we don't actually extend it we we just yeah we're just inspired by it yeah so just creating the link at all um creates this dependency um gotcha um

you know and all right excited to introduce the raw magical of energy draw assignment this is associated with some Phoenix birds automatically at a given timestamp future custom data field laboratory status okay so nft Rose interface answer standard for role management ft tracking Engineers okay preference actions between Target with a raw okay real estate okay there that's interesting use cases in Essentials Finance cool that looks good um okay

foreign I didn't understand that comment oh uh what are the biggest problems we have with eips is that they'll edit the content of the EIP but not edit the ERC 165 identifier um so every time I see an 165 identifier I'm just going to leave a comment to make sure it's correct gotcha is it recommended to include the

identifier yes yeah so it's nice to include the identifier because it gives you like a second check to make sure that you're implementing the interface correctly but on the flip side it also means that they can get out of sync in the uh the EIP Ro granted Grant roll control two user okay foreign I mean I guess that's all right

um it's just so so supports multiple assignments is kind of like a ambiguous not ambiguous it's just too difficult to understand name um Yeah we actually renamed it a couple times on our first iterations it's hard to find the ideal one yeah I know I know um there's a unique roles make sense in a Boolean this website there's a unique rules as a potential refactor for that variable name makes sense unique roles so yeah because if it's true it means that it's the role is only

assigned to one person and then exactly okay but it would be the other way around right because support for multiple assignments would be true if it were multiples and if it was unique roles it would be false so we had to change the logic a little bit but uh maybe it's more intuitive okay um and again it's just like a suggestion it's not like required or anything so check over user has a room really notified good okay World data um okay Returns the custom date of a role

assignment okay do you have a suggestion for the behavior when it's a

I don't know if you should revert or just be turned empty I I I'm no expert it's just uh I mean this this technically shouldn't even be on the pull request I should have put that on you know what I will um yeah maybe on the on the caveats we can describe that behavior something like that okay and then a little expiration date um okay

uh well okay can you explain the I erc7432 interface 7432 yep uh we're all represented by bystation is recommended to use Cable's name for this purpose Grant Ramos reverted the expiration news in the past but we okay SpongeBob okay um so is there a so is there a way to revoke um yeah there is a revoke function Okay so um

then if we go in here and we see the last row of assignment we do have a table on a section called unique and non-unique um growth uh it comes a little later

okay but we try to explain very thoroughly what the behavior should be well account simultaneously yep when it's true the function checks and it's not expired afterwards Okay so so this is specifications since it

defines um since it defines behavior [Music] um when

okay yeah so anything that defines Behavior should be in the specification section um so like even if it's clarifying stuff it should go in specification but if you want to explain why something the way it is it can go in rationale um yeah that makes sense yeah okay so uh the book so okay

um custom data bytes yep that's perfect Rose metadata extension yeah so this is specification okay and I'll punch the zoom token address talking ID contract okay reference implementation um

yeah that's something I actually put a comment on the pr about we do have a GitHub repository where you have you know this food project with 100 test coverage that type of stuff but it was flagged when we tried to link it right because it's an external link so how how should we go about it um if you can provide so it is cc0 license right so you could just drop it in the assets directory um yeah yeah but but it's a it's a lot of different files yeah okay so generally we recommend that people have like a minimal reference implementation so like just like something super simple that kind of conveys the point of the specification and like it doesn't have like build system files or anything like that

um but you don't have to right like you can just not provide a reference implementation it's up to you if you want to go through and and um trim it down you got it I think we're going to include the at least the main solidity file but is it fine if we reference somehow uh the other repository even if it's indirectly not with an actual external link uh even even just mentioning it by name would be an external link so okay so no yeah yeah um perfect yeah so that looks great

um a few little comments here and then uh should be good to merge this draft yeah I was gonna ask um it was doing draft um yeah if they ask us just hope we have understanding once we get these sorted then it's going to jump to review uh so once you merge this uh so so all of the status changes are driven by you guys the authors so uh once you're done writing it and you're ready for like to share it around with people it's like mostly complete you can open a PR to move it to review it seems like you're already at the review stage so once it's merged as draft you can just immediately open a review PR but we have to first

merge it as a draft yep yeah it's just so uh oftentimes we get like half written proposals so they they go in as draft but when they're done then they go to review so you can pretty much just skip that and go to review um and then once you're ready and you know you're pretty sure that it's not going to change anymore you can open a PR to move it to last call and then two weeks after that you can move it to final um I will mention that once it goes to final there are no edits allowed so make very sure that it is correct before you move it to final got it got it and uh yeah the last question um do the reviews happen offline as well or only every every couple weeks on this on this call they're supposed to happen

uh off like offline um yeah I think some of our reviewers have been on vacation for a little while and yeah so sorry it's taking so long no worries no worries uh yep we'll adjust them as soon as possible and hopefully get some feedback thank you appreciate it no thanks for coming in all right and then we have 30 26 move to draft core proposal I don't get to see core proposals very often this is exciting and

okay so we have I am Michael Connor and I am Mike O'Connor okay so this is moving it to a draft um why didn't any of these get picked up as okay they did great

okay of course one more approval from so we have an approval from Michael Connor and then one rule okay so I will approve this and then manually merge it this is

okay so allowed and we are going to let this merge all right so I think that's all the scheduled eips for today that's right I guess let's go through and grab our random one [Music] let's see said we want let's look at this one

okay so this one hasn't been updated automatic transaction representation we'll sign EAP number Okay so automatically generating a human readable Transit question

okay with representation of a transaction okay website transactions to be much more secure by each 712 martial arts center yeah okay only finally IPS made references okay which refer to foreign okay good what was a hand of hips justification for thank you

okay wait did you resolve my comment or did it just disappear in there yeah let me final yeah it's fine foreign

it's really hard to edit another editor's EIP because it always feels like you're nitpicking like to death and it's so annoying um must indicate to the wall yeah okay consumed more than 90 percent but I think in a way it is a good example for all authors like this yeah it's the same foreign [Music]

okay foreign all right so that's that and then let's pick another EIP to look at here um so Sam I have a shared a number 6734 looks like uh the author has addressed your comments oh perfect yeah I missed to include that earlier the last open item is to add nest to the

list of allowed URLs all right um now let me just see if that exists here okay um all right then I have to go and add that

and then I think that's pretty much it let's see IP mini eight I have added both of them for two days yeah agenda so it should be included yes oh is it is it in here nest okay I'll put it down here too um

Perfect all right um I think that's pretty much it for today um yeah awesome well thanks and uh see you all in two weeks thank you Sam have a good one everyone