EIP Editing Office Hour #4

EIP Editing Office Hours · 18 Oct 2022 · 50:23

Meeting 4 of the EIP Editing Office Hour, held on 18 October 2022. EIP editors and proposal authors work through open pull requests and questions about the Ethereum standards process. This meeting covers open proposals in Draft, Review, Last Call and Final status and an open question and answer session.

Topics

From EIP Editing Office Hours, hosted by ECH Institute.

Transcript

welcome to AAP editing office R4 thank you for joining us today I have shared agenda and chat and it contains a list of proposals pull requests which are into different statuses and are requesting EAP Editor to be moving into the next status so Sam um maybe you can screen share and we can talk about it we have got two proposal and final and four in last call followed by review and draft over to you now sounds good let me just share my screen here and uh there we go I think all right so

um if it's this all the same with everybody here if I'd like to start with people's proposals that are on the call um so I know the author for 5528 is here so we can uh take a look at this one all right well that's a nice easy change let's just give it a good once over and then uh yeah okay we've been about fungible token okay so let's see if there are any open discussions on your discussion thread

foreign I see you unmuted but unfortunately we are not able to hear anything from your end uh so if your microphone is working fine fair

enough if not then you can make help of chat box here just for people to know Harry is the author representing eip5528 here let me know awesome thank you a lot of comments on here this is actually quite impressive yeah we also surprised that this is very hot topic this much yeah doesn't look like there's any open discussion threads on here so far so

that's good um okay two contract yeah I mean I I think the discussion seems reasonably summed up so good moving to final required okay yeah be 20.

there's no way to get it back to the cryptocurrency that has already been paid so this this sentence here um foreign this is saying that there's no way to return money to somebody or it means a return automatically through those small contracts similarly Escrow Services in the real world yeah okay so I will probably recommend that you reword that a little bit I know it's already in final or it's going to final but um do the neutral cryptocurrencies that guarantee anonymity there is no way to get it back to the cryptocurrency that has already been paid yes it'd be like

there's no way to return cryptocurrency that has already been paid that that I think would be a little bit more clear yeah if if the receiver doesn't send manually by himself or herself can I pick that back so we we're trying to have a setup uh like an escrow like a Services then there is another virtual war that and if each party should put their tokens and once it's completed and they will get it once it's not completed and it will come back automatically to the original wallet okay right I've actually played around with um smash crew stuff so it's nice to see that you're making a standard for it um

so let's go period okay all right so I do have probably some more in-depth comments for this so I will take this one offline and I will make a pull request for you um but I'll have to do that off the call because well it's just a little bit more difficult to like I I can't comment directly on the pr so it's kind of annoying to do it on

this call but I'll I'll give you some feedback and I'll get back to you very good yeah all right so um do we have uh any other authors on the call that would like to yeah yeah okay so yes we do uh we have uh an artist from the last call uh that is 5496 and then we will move on to the other proposals but uh I just um just to let you know we have one more proposal and final we can come back on it whenever you want yeah okay that's uh 2612. that's right yeah five four nine six we have a artists or the team on the call and the proposal is listed to be

moved to the last call Perfect so let's see what we have on here um okay all right let's take a look this is foreign so what is a shareable multi-privilege hey Sam this is Felix like uh this is

the uh like uh extension to 721 which allows the entities to like at the business owners or projects to Grant um like privileges or perks to uh tea holders so the the long ft is they have extension to manage all the uh like the Privileges also what we call perks uh like to uh for them like and and also we have another extension of this which is a make this uh privilege shareable like a meaning like it can be shared like like if if it is not shareable like by default it's a non-sharable uh like if I have this privilege and and I transfer to you then I don't have it you have it

so okay but but if it is shareable like I can share with you and you have it and I have like I have like we both will have it so this is the shareable will be I think we we believe that is we extremely helpful for the marketing like especially for all the uh like uh like the coupons everything like you can share with your friends and like everyone can get it like like or we can what we see in the web three uh market like in in Industry we can do like um like the urge up news like you can share with anyone else like you can also get that like Okay so this this proposal is like explaining what privileges are and

how to encode them on chain or like this would allow you to have the Privileges to manage the Privileges a little bit but how to define the Privileges up to the uh the the the the the the grantor of the like the business the the privilege provide some more update on this particular proposal we have recorded a p penny episode that we released just today um on a higher level this is a a standard proposed they are not defining what kind of privilege you want to provide but in the recording we can

follow the examples of projects which may be able to um use this proposal implement this proposal we have also included a demo version of it how to actually implement this proposal for any new project implementer who would be interested in implementing this proportion yeah thanks for puja's help um this would just like think we can bring in like new um like usage or adoption to uh crypto and and also to nfts so basically from we'll we'll help the like bringing more utilities to have taste right now like

like uh to to expand like how nfts are like used and also how to for uh for people to to to uh to use them in real life okay so um what I'm ready here and what I'm going to say now is what is the advantage of using this privileged standard as opposed to say like fractional nfts or or 1155 with like sub nfts to represent privileges so why why represent a privilege as something other than ownership of an nft it's like like privileges they're not the same like let's say uh like several several examples let's say uh like a pit like at

the pizza shop like give you like uh give all the uh like the D5 holders let's say it's a D5 holder D5 users uh like a five percent like the five percent coupon on like for for their like next next purchase that's a one privilege they can have or you can have like the privilege um to like uh like uh like United Airlines they they want to give the the punks like the special access to their launch basically um so these two the privilege itself they're they're like non-foundible the self that is like there's not the similar to to one another one another but it's and also they these are right

now like 721 if you in order to have to to to have to you to for you to fulfill this uh like a privilege you need to have the like ownership you have to own it to own a nft right but but for uh there's 15 496 like for it gives you interface for for owners to manage all the Privileges but if you don't want to use it you can you can like transfer to others to use it like in other words uh the the users of the privilege they don't have to earn and they do they do not have to own the nfts and also um the uh the uh uh the the owners of

the Rifts when they want to transfer the uh privilege to others and they do not need to transfer the nft self to others right so I guess the specific question I'm asking is um let's say you own a punk like a crypto Punk and an airline is giving you a you know boarding discount uh or like a priority boarding or something right why represent that privilege with 54.96 instead of as its own nft and I think that would be useful to put in your motivation section time you will have other privileges

right like itself like if you want to have if you want to use that like yourself like like if it's only single uh privilege that that 11 55 was like well do the trigger but if we have multiple privileges like we want to like people want to manage separately like like like different airlines let's say like United like or like Delta will give you the same thing but you don't you only used it like United you don't use Delta so so what what do you do right now like like there's no way like if you want to to give it to others you need to give the ownership to others right but so but

you'd give the ownership of the privileged nft so like let's say you own a punk and United in Delta and Air Canada or whatever they all give you a a special nft representing the privilege to board early and they give it to you because you have a crypto Punk and now now you have these nfts and if you don't want to use one of them you can just send the nft to somebody else so like yeah I I just want you to clear up in your motivation why you would want to use 54.96 over a um another like another nft standard to represent their privileges yeah like like different airlines if they want to tie their uh like uh privileges to Unity holder they cannot directly send thing

FTS to um like Punk holder because why not because yeah they can do that because but like as I let's say I am I'm a punk holder like I got all their job air jobs from the the the the the airlines then I transfer like my um I sell my pump then right now I I'm not the pump holder in in any any longer but still I have this like all the Privileges uh from from from from other airlines because I already got the nft right right so so these are like privileges are like they're not linked to the real time these are like just like based on the history of that like but using 5496 like the therefore allows

you to check check the real-time ownership of the nfts okay and and that's better than just having like a revoke function on the privilege nft where the punk owner can take back their privileges yeah they can do that but they cannot like do like to to send the the to to the new owner right like you need to do like another another time like because I I thought uh like my prompt to you let's say right so like like you will not get automatically get the urge up from the airlines right right

so this is a tie like uh the owners like the ownership like the real-time ownership to to all the Privileges like to just to make sure like like this is the uh the real uh like privilege attached to the nft holders oh we're not sure if I make it clear yeah I think I think so yeah it's just okay it's good content to put in the uh in the Eep itself oh okay yeah we will we will put that into that okay yeah we'll make note thank you Sam Sam for the feedback

I swear there was a button that let you hide conversations where where the hell did that go I don't know doesn't matter some just a minute on the screen uh can you scroll back yeah I see the status from draft to last call oh yeah it needs to go into review yeah like we are from a review to last call actually uh then this must be an older version of The Proposal I mean the branch that you're using yeah right now it's already under review yeah okay yeah okay so you might want to check this one like why is it showing a review status maybe an older version or yeah rebasing

is needed there okay sure I'm gonna do that okay Okay so

a Time yep I think it's just something you have to put in the uh okay okay okay sure like because uh that's also like uh the expiration also protects the privilege holder uh like if I purchased a privilege right and uh if the owner like decides to transfer the unity to others then like then the the privilege to itself it disappeared so like we won't allow the owner to transfer until all the uh like uh privileges have expired yes okay yeah is that is that written in the the Eep

somewhere yes uh does it say that where does it say that uh it seemed it I think it's in this like test like samples like tests um okay so it should be if there is a a rule it should be written in the EIP itself um and like not just in the tests uh okay okay yeah we would do that okay thank you

so oh is privilege expire is supposed to be um like the expiry date of um yes okay so yeah that makes more sense yeah um yeah because right now it sounds like it

returns a Boolean but it doesn't return a Boolean it returns like the actual time stamp so I think that's yeah um yeah in my review comments I also uh asked for uh specifying what the uh what specifically the format of the time is either it's a it's a time stamp and or it is a uh or it is a block number yeah you you uh the the suggestion is editorially to make sure it's not uh ambiguous um set right in every single place of that parameters uh comment uh to just uh

to show what it is yeah what format is okay thank you thank you Victor so another note here is that you shouldn't be referring to your own EIP in in backticks unless it's um you're referring to a specific interface so here your interface is ierg 5496 so if you're referring to the interface it should be ier c5496 uh and if it's uh if you're referring to the proposal itself you should just say this standard oh okay yeah okay can I do that I don't even know no okay

can privilege transferred okay one transfer which is called uh is there a is that clonable that that's defined in it's clonable it's diff is in the uh extension uh we also have that like like foreign must be that functions that have two

actually two purposes the one okay privilege assigned another actually is for one because then because for example the owner of the definitely if you want to transfer his spiritual and other users right because that definitely not we we trained a hold of grid to another one so that's we will still be able to step which is not function sorry I can only kind of hear you um you're kind of feeding in and out okay yeah this is a like set and like courage of the user like that that that interface that was would do the same purpose like I think like we have the Set uh interface hello can you hear me yeah I can hear you now

yeah so I'm just saying like um on 965 here you say like when transfer privilege is called but transfer privilege isn't defined in an interface so you probably need you probably mean to use set privilege I think I'm not sure yes yes that's what I mean we use a static probability dysfunction instead of using transfer privileges yes you can set to uh users you can set it expired right another for transfer because actually the chance with you will set another user instead of yourself right there's a hold of the previous answer to another user that is filming as the

stand that we will use the same function to do the transfer all right yes you just need to reward that line so that it makes sense because right now because it's in back checks it looks like you're referring to a specific function when I think you're talking more generally like whenever the the privilege is transferred you have to admit that event right okay yeah okay because like so so anything that's in your uh assets directory is not like foreign it's official obviously but it's not as official as what's in the EIP itself so if you want to like if you want transfer privilege to exist it needs to be in your EIP somewhere okay okay gotcha yeah we'll change that

okay uh what else make some privilege number before sending any privilege let's not get rid of the maximum privilege number okay see so foreign foreign

okay so this foreign capital P on it

all right okay uh the number of products equivalent to say non-share the sheriff will come into space here privilege and get to just give it to others there not transferring okay oh okay that seems reasonable um test cases good

good reference implementation cc0 perfect okay good and we can look down here privilege assigned so we got rid of privilege transfer here but it's still up here I simply use a different approach

I will updated that one actually our latest version will have already been moved that's a transfer program only two events and the three functions in our interface okay all right so that seems like I think all of my comments so thank you yeah hopefully that helps and uh yeah feel

free to pick me if I uh take a while to get back to you okay okay yeah all right and the next proposal that we have author on call moving into last call is EIP 5750 and the pull request number is 5785. okay oh sorry this one was uh moved to review um and then all other moved to uh last call is mine so you can start from another one I think oh yeah but this one is uh it's straightforward so if it's okay I think moving it to the review is fine basically what it does recognize is the last data the last Dynamic uh size data as a uh as a parameter for a

standing behavior and therefore uh we can use like commit we could use it for commit reviews review function and we can all you also use it for endorsement okay yeah and this is already widely adopted as a behavior we have seen this in EIC Erp ERC 721 we have seen it in the rc1155 we have seen it in other few I list a few things that says the EIP other eip's already have been kind of putting it into practice it's just that there's no one recognizing it uh as a uh as a standard Behavior so I'd like to uh recognize it as a standard Behavior so

that in future um eips this Behavior can be uh recognized and can be called out like I plan to say the commit review function EIP is required uh the requires this so that that is the intention behind the scene I think it's pretty straightforward because it's already adopting being adopted yeah sort of yeah yeah I'm always really bad at writing it's always easier to criticize the description than it is to come up with a good one yeah um

you see I have 20 commits just to change the title foreign I love bike shedding it's my favorite thing okay the CIB defines an extra data parameter methods okay um let's see this Erp so okay so the first crust I have to ask is why does this need a standard so I'm going to read your motivation and hopefully that's going to explain it to me but uh uh you it's just method interface existing AP instead of experiments okay okay so I think the the first criticism here is I don't think your motivation

makes the case for why we need an EIP to describe this Behavior as opposed to just whatever people make like uh ERC 1155 standard that they just add this method on so why does this EIP um need to exist that's a very good a question I added to my uh motivation um I think the comparison is just uh the alternative is that either you use a different a data that is a different place and for example different uh order uh in in different part of the function call I identify that for extending Behavior or you create new method for example like the

one that I'm debating with with Francis uh there is a 2612 that was going to find out right and then that creates separate permit functions just for adding that permit Behavior a lot of things actually is directly tied to access control privacy of a given function which is General applying to all functions instead of adding new method every time in each use cases having one extending extra data parameter makes it interoperable also you can imagine a method calling another method with additional data they can Nest the data into it they kind of have a consensus of where the data will be where the method will be accessed from

so basically it's a general Behavior extension without changing a lot it directly compatible with a lot of existing eips and it allowed EIP still interoperate with each other without changing their method yeah I I need to make make more case to that yeah good feedback thanks yeah but does it make sense for what I explained um I I think so I think the really fine detail that you need to capture in the EIP is going to be why like I I think that you know generally speaking it's a very good idea

to have this um extra parameter like 11 55 and it's like callback functions has it and it's great um I think you just need to make the case for why that pattern needs a standard as opposed to why why you should have a bytes field at the end of your uh function sounds good yeah yeah I think that's pretty much the only feedback I have for this one um yeah I think that's literally the only thing I need to say about this one is that you

just really need to justify why the CIP needs to exist and and right now I'm unconvinced so yeah sure yeah we will see more adoptions as you can see it I've seen new interface being proposed without that extra data and then a few other eips would not be able to depend on that yeah so I think it would just like it would have to be like uh when you see that in in an EIP you need to tell people hey have you thought about putting an extra data field on here yeah that's what I've been doing so and then I want to point them to this VIP oh that makes sense yeah yeah all right so where are we going next year so that

was to yeah so we have two more proposals by same author in review eip2294 and EIP 5615 . so did you want to do review for or first or do you want to do last call First yeah that's a call we should take now we have only 20 minutes yep just somebody tell me which one to click on I I have no okay yeah can I uh can I do a token minting and burning the the uh ESP five yeah five six and seven nine all right yep alrighty the general concept is that the lack of uh existence of uh standard uh token maintain and burning but actually

there are a lot of uh tokens are already used uh have them uh for example open sapling have them um yeah and then I think it's gonna be good that's uh had to have a standard so people start to have a very standard way before creating minting and burning and then they can be integrated with applications and across uh smart contract calls I have a long thread returned on the ethereum the the discussion thread if you want to read but uh that if any question comes up with why this knee said is uh a motivation then I think that's an add-on

okay so one thing I want to check is so I would I would note in here that implementing 165 is optional right I think it is it is required for each individual ones but I don't want to uh make one universal identifiers with all of them so no no I know yeah what I mean is like yeah um oh okay so so like let's say one uh a 712 contract that has the open Zeppelin mint and burn functions but doesn't have 165 support for this interface ID is not compliant with the standard it's not

okay do you want it to be I think this generally okay can you put a comment there I think there's a good feedback like we want to be we are you suggesting that we want to suggest uh we wanna kind of allow retroactive exactly exactly definition well that's uh that's a good question like on one side I really want new ones to recognize it on the other hand uh yeah we also want the old one to be compatible yeah we just probably go into the erc20 I can say like since this block I would just say should like new implementations of this should support the ERC 165 yeah okay sounds good

okay um I guess we will go and take a look at your discussion thread and make sure there's no open discussions for creating and destroying tokens uh yeah I read that already so mint has a two an amount yep okay are you looking at the discussion thread or are you looking at the uh the GitHub I'll be going to the discussion thread in a second I'm just quickly reading through the solidity here yeah yeah okay so much with respect to the

okay so I would expand what number six means a little bit more here um just because like uh unless offer with respect to I think isn't exactly clear enough um that's SPAC right spec number six yeah yeah can you can you put down this fact number six for you yeah I don't want to repeat uh no I know I know it just itself should I just like copy and quote let me

take a look at how Eep 721 defines it and then I don't want to reword it I don't want to create a different way to describe the same behavior yeah no I know um yeah it's basically saying like uh you have to have a dysfunction you have to respond a magic yeah cash hash and then to to identify that you can receive functions but uh yeah I thought that was straightforward for people who are uh like implementing the ic721 and 1155 but it's yeah I agree with you it's even it's better to be more clear yeah safe mid must implement the same

receiver restrictions as safe transfer as defined in AP 721 I think that is more clear and I think is it safe transfer or safe transfer from or both RSA transfer from which add a uh yeah you see this all the time like having one method uh being added a new method yeah yeah save transfer from there okay so I think that'll make that more clear um burn batch all right burn doesn't need to be safe yeah yeah I'm just reading um when the term has been detridge foreign

[Music] the transfer events must be emitted as if the token in the amount for erp20 and ERC 1155 and the token IDP ID for me okay I think this should be transferred online 74. good point yeah oh you won't be able to leave a comment no foreign yeah I think they do it on purpose what one was that on that was on set the symmetry 74.

yeah transfer event no n68 that's why I want 68. 69 yeah okay messed up right yep and then it's possible that the interviewer is giving if that makes sense we have chosen it to create new events but yep okay you see how this mentally inverting

that's perfect you don't allow us to do linking no I'm just using that right well yeah it's it's it's uh it's domain agnostic and neutral I think a girly is a place you can mention right yeah or I would qualify this as an external link um and until we yeah it's in the same way that like having the title title of a book is an external link um can we yeah that's that's debated and uh

another venue Let's uh it's because eipdw doesn't complain yes [Laughter] you must remove the reference implementation I think that's going too far bro I think I I think not all people want to share the source code in the asset directory which has a very strict copyrighted uh requirement as long as like what license is it I can remove them and just record the put the core pieces like I I don't um felt there's a good requirement for it it's under Apache too

yeah that's totally fine just stick that in there Apache 2 is not zero right okay different from like uh you like in the reference implementation directory as long as it's not like GPL I'm totally fine yeah some people want GPO more than others some people hate gpls I I've worked with people with both uh opinion I'm sure there is a different type opinion within our editor groups as well yeah so yeah if you want to I can just copy the piece of the implementation but I think it's not very helpful because I think I'd runable code is better than uh anything else yeah for sure

so can we put that in the yeah in the test net like I didn't even mention you have to get it there somewhere so long as ethereum exists it's non-uh I know I know it's not no not unchangeable right if your argument is this can change this cannot change yeah but I mean like we're deprecating robsten right like it's shutting down and you won't be able to retrieve the stuff on it anymore so if it's not on mainnet arguably it isn't like uh okay if I put it on my name what would you like so I'm waiting to cost my money until we have a well even then you wouldn't have the source code on mainnet

right you just have to compile bytecode so like yeah uh with uh with The Blob so until we have an external Lynx policy which we're working towards you cannot link to it it has to be in the assets directory we have some good debate to come I am going to uh yeah in our tomorrow's meeting yeah it's going to be a fun one that's for sure if you want okay yeah but it's Apache too you can put it in the assets directory if you want and I will fight Panda pip for you if you want uh I have too many VIPs that I want to

get through anyway yeah thanks for the feedback I think that's very helpful I can remove them if they if you if you uh want them to be removed for now like I can just to say like find your own and implementation reference well it's options you can just remove the section if you want okay so I have to leave a few minutes early I have another meeting coming up I have to get ready for so thanks everybody for coming out I appreciate it thank you Sam for taking time to go through all these proposals maybe one last proposal if you get a chance to look into one there is two six one two which is waiting to be moved towards final so if you could look into that async that would be super helpful

I will thanks thank you see you all in two weeks have a good one everyone okay bye now