EIP Editing Office Hour #2
EIP Editing Office Hours · 20 Sept 2022 · 58:34
Meeting 2 of the EIP Editing Office Hour, held on 20 September 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 EIP editing office at 2 we are joined by Sam Wilson who is an EIP editor for ethereum and we have a list of some open poll requests to go through so over to you Sam hey everyone how's it going um good so today I guess we've got a couple eips to go through um which one did you which one that the authors here that we want to start with or do we want to just go in order from the agenda uh we can go by the order of agenda the one that author shared is on review so probably we can check the final one and then get into review perfect so 4399 go into final uh why didn't this
merge um circular depend oh this is an easy one I think this is the proposals uh from March 1499 3675 both yeah just because like uh there's a loop of uh dependencies so it's a bug in Eep W well it's not really a bug it's just under specified so um yeah I think this is probably fine unless there was something wrong with it
was five days ago and now I think this is manual merge queue is removed from the manual merge queue then we got an author approval sorry I just want to make like double yeah okay we have author approval so should be good to go all right moving on okay so this I should be able to do with just an
e-spot we don't use that too often it's kind of a new feature we'll see if it works right yeah with new Bots we can expect some more hiccups yeah exactly is it not rerun I thought it was rerun let's go find out get her workflows
CI rerun trigger that each pot rerun so that is the right one so why didn't you rerun okay we'll just get one of these we had one of those and that will definitely rerun it there we go oh that won't work because it hasn't
been rebased that makes sense so we'll do that all right well while that's going uh we can go to the next one here 2135
um oh wait uh Sam if I can ask you to take a party uh we are joined by an author Felix the author has some question uh related to proposal Felix if you would like to share the number sure it's a 54.96 this one right here right oh okay so can you please repeat the question if it is just about showing the status then I think it is showing is there any other question yeah the question is uh like it's uh the pull request for move to review it's
closed and right now it's merged is the status it's like right now it's in the review state right am I am I understood in this right yeah it's so 54.96 is in the review status yeah okay then what should we do like um like so basically we like as an author or yeah uh so so the review stage is kind of a signal to people saying like um we're ready for people to start commenting on this and investigating it um so it's up to you to decide when you're done with the review stage um you could end it today if you want
but generally speaking you should try to reach out to people in the ecosystem that have opinions or might be affected by it so like I'm not sure like I have I I haven't reviewed this one um but it sounds like you'd probably want to reach out to maybe uh like uh smart contract wallet people um maybe a couple Dows see if you can get some of their developers to comment on your discussion thread and then when you're yeah and then when you're happy and you feel like you've gotten enough review you can open a PR to move it to last call oh okay thank you then yeah no problem okay thank you um I think we have another proposal but
that is of draft so we can probably cover up the review proposals first and then move into draft one thank you this one's still going okay so so 2135 let's see what's going on here so needs a review doesn't have any review okay so this is a new one let's see what's going on here nft consumables just FYI author is also available in the call so if you have any question we have him here perfect okay
yes I'm here uh if you have any feedback let me know perfect yeah I'm just I'm just going to read through it um I don't think I've seen this one in a while so um let's make this a little wider so the text wraps better there we go um okay this makes sense um so I might suggest for the title
um instead of like nft consumables maybe one-time use um nfts or or something along those lines just to give it a little bit more context do you want me to put the comments on the pr as well or yeah okay yeah can you put it in the piano yep from the community yeah the behavior has been defined I think but title yeah I'll agree with you that is uh I haven't been able to find the best title yeah naming like you know the hardest part of
an EIP isn't actually rating the EIP it's coming up with a good title and description uh title a bit um that's true that's true yeah the goal is to kind of allow it to be consumed and should it should also imply some well not necessarily one-time due so I'm not sure um because hmm yeah use case I I have to minus the ticket that if you go to a concert you have a ticket someone
check it in you should not be able to use it again but then it also oh you cut out there part way through consume it hmm yeah um one time you use maybe limited use I'll throw a few in here we can we don't need to figure out what it is now um um see the description interface extending
Erp 721 and for consumability so let's do this and then okay an interesting time adding um Consumer Power so I guess the idea is that consuming doesn't actually use up the nft it just is like a bit of metadata on the nft it should tear it apart the NFP or like different tickets it should it does
actually destroy it that is these two it should yeah okay it does I in the second mandate that uh you should it made the transfer events as a token is being transformed okay current order to zero zero address so it is um like single use that yeah okay so an interesting thing adding um but yeah as you can see another's uh another uh ERC being going to review today that there's minting and burning I
want to differentiate consume and burning by the fact that the consume has the event immediate for on action yeah that makes sense yeah maybe the same as yeah one-time youth yeah something like that I don't know you don't have to take those suggestions like to itself it's big but it's just um we don't want to say consume too many times and I I don't know and consume it is a bit vague on what it does
um but yeah I know it can you can Implement a lot of things with it so yeah the interferes K being power the consuming them on the Technologies to get access to a concert that's good good well maybe I could take this to the theory uh if you're in musicians to ask for a broader audience for the naming okay good you have an interface ID um so does this require 165 it does um assume it's consumed by good matches up comply a contract
okay so do you do you have to implement um 721 and 1150 uh eat one of 721 or 11 55 or is it optional let me think the thing that I can think of speakers this question is whether you're actually 20 at yahoo77 other type of token can be consumed in a single occurrence would it be okay for it to be vague yeah
I think that's fine just to let uh that this PRC hit grass with the ecosystem and see what people were trying to do I don't want to say it's the optional or required if that is okay yeah that's totally fine well I can I can put it in a rationale to say this is intentional needle required nor do you say it's optional but like we have designed it to work with 721 if you come up with something available in the future let us know we will come back yep that's fine yep um
yeah okay uh consume okay dude okay 721 metadata
foreign like [Music] 7 21 . here from something like that it could be better to do okay so this is so easy consumable by is
like a way to uh like give the consume permission to someone else yeah okay yeah that that's uh that's just for checking uh just note that uh there's a new annotation keyword to the function yeah it was intentionally predictable checking yeah so my concern with that is that if um like let's say we were using this for like event tickets or something like that right so you'd be in your wallet and you had like a ticket to a concert and you want to like uh let somebody else go to the concert on your behalf um you'd probably want a standard way to uh assign that right to somebody else
and that's a little bit different than like ownership rights which are um like not shared between different uh tokens like uh the owner of a token is like a non-standard thing but in this case I think it'd be important to be able to standardize like delegating this to somebody else I don't know it might be worth looking at creating a function for that but that's up to you uh this is uh achieved by putting in the consume the first parameter being consumer which means oh okay ah owner still has to make the transaction but interesting so I I am anticipating that
the person who in a lot of case particularly the person who actually conduct that transaction to consume would be the person at the gates the organizer at the gates because they cut off the ticket but they will need to set the consumer to the person and therefore it's typically whoever sign up does sign that transaction being someone else and authorize Access Control role and then the consume um the the consumer being the person who currently owns the tickets so that that's the use case that I think
okay yeah yeah yeah and yes you can you can transfer it to someone else and let it authorize it and I think it's it's it's good that you mentioned that I think we can say Hey you delegate this to the other person but without changing the ownership so that person can be put in the consumer but I don't know if yeah that's a good question let me think about it I'll put a comment on your discussion thread um yeah yep good idea um maybe I should just call a ticket I mean yeah
yeah just to have a very specific but useful use case it's a shame that we haven't used the the our own nft tow ticket for the Defcon and all the Italian events oh I know I know um like let's hear like eat them or we'll probably can have it oh that'll be cool yeah oh yeah that would be cool yeah when is that next February yes yeah yeah please I I love to be connected to that and see if we can make nft a ticket yeah that's definitely cool
yep all righty thank you all right foreign thanks
all right let's go on to the next one I can close all those 86.79 ah why is this the same one probably the same one no okay yeah this is fine um some implementations transfer yeah so I guess the only thing that I
need to say on this one is complete before moving to review and please flash out the IC okay sounds good yeah yeah so it's just um before we move to review everything should be done
uh at least mostly done starting um 54.96 there's a new like four request like uh created by uh Puja I think uh the fix or the titles like uh yeah I can see that it's by another editor canopy uh so it's just one small spell I think typo yeah 54.96 5667. all right what's wrong with this one it's just regarding 54. oh yeah it just needs an
author approval and that's all okay yeah are you a final EIP or are you a yeah yeah it was in the review right now it's already in review oh okay so it just needs uh a rebates yeah so just this just needs author approval that's all and that should uh should go through yeah we we try not to um edit eips without the authors like consenting so uh feel free to pick them if they don't uh reply yeah so
4910 from draft review extension hey hierarchical oh God I hate on chain royalties I hate them oh no it's this it's this one all right um okay pretty sure this EIP is is fully written I've read it so many times um is there any problems with the ipw now we're good okay so I don't have a
problem moving this to review um just because the EIP is complete but I'm going to have to read through it again before we let it go to last call all right so that's the end of that and then which was when you said we're going to review and draft so that is already there in the number 5606 we can go sequentially or yeah preferred ones also we have enough time either way it will be fine okay let's do
the ones with the authors here I think they're more fun so five six zero six it is all right hey hey go down here how's it going yeah been good to hear so what is this EIP so yeah uh it's about proxy nfts so uh we are working on uh metaverse interoperability so for example let's take an example okay so you have a T-shirt and right now if you want to create a variable nft for the T-shirt you have to go to each metaboss like sandbox decindola and crypto voxels and create an NXT For That t-shirt different nfts for that you know but we are
working on a proxy nft which is like a riper nft one level above these nfts which kind of owns these nfts and represents this across multiple metaverses you know so that's just one use case of this second use case could be let's say you're playing a game and you have a whole set of an armor you know with a helmet your breastplate your breaches all these things so property nft could own all those individual armor nfts and you could have just one nft at the top which kind of represents all these things you know oh I see okay yeah so I will I will suggest um a more descriptive name for the title um yeah so yeah
sorry to cut you out there you feel free to continue yeah yeah so that Second Use case League set of an outfit or armor you know and uh yeah third use case could be your in-game assets so let's see uh you you buy like a weapon in a game and you want to use that across multiple games so this nft could potentially help you do that yeah okay cool yeah that sounds useful so have you seen the um the standard metadata extension for uh nfts um that describes like where to get the assets for the different metaverse games oh no I haven't okay um yeah see if you can find it if you can't I can look for it but I do
remember somebody else is working on something similar so well not exactly similar but in in at least in the same area of of crypto okay [Music] oh yeah that keeps popping up yeah if you there's a way to um configure your git globally to never add that file um I don't remember how I just know it's possible okay yeah okay a year was representation of
digital assets across from so yeah okay discussions two perfect drafts
it has a dates we're good okay the specification if I'm gonna like face to create a proxy energy standard for digital assets such as wearables and turn okay so kind of counters are scary yeah okay so this first paragraph is very much like that other EIP um
I can find it here um four nine five five I'll put a link to this on your discussion thread okay foreign C specification defines interface
in some this looks like um um so because it's describing what the EIP is doing as opposed to why the EIP exists so uh yeah so it should just go there but otherwise yeah that's looking good um yeah proxy nft representative contracted on one of them are delegates okay so
approximate of T so delicate data so con so contract address token ID so this is the um like the token contract and the okay oh so you can actually bundle things from multiple different contracts together into one bundle because right now let's say the T-shirt will have three different nfts on each of the metaverses but in reality the t-shirt is the only one thing right oh I see so so you create multiple different nfts but they're all the same like there's only ever one owner for all three of them so you bundle them together into this exactly interesting interesting okay because imagine right so Tiffany is launched a pendant like last month right but now this pendant if
you want to have it on different metaverses you'll have to have different nfts for this pendant but in reality you're just buying one pendant you know yeah that makes sense yeah okay so how do you deal with the ownership of I guess this contract just owns all of the nft okay yeah exactly so there are two steps when you bundle it in this contract uh you send the nfts to this contract and the proxy nft owns the individual and delegated makes sense makes sense so yeah and when you're on bundle that you get like the individual nfts in your wallet again that's it I mean this and this uh proxy
nft contract has symptoms like that so yeah it could inherit from any of those yeah foreign so we have a reference implementation we are just inheriting the open Zeppelin contracts the standard pse71 okay so why does this take a delegate data here for the unbundle isn't that information already in the contract uh yeah but uh we actually looked at a few edge cases where uh there could be you know uh you might get someone else's nft in your in your wallet especially if you're looking at one one five five
um that's why we have this okay yeah so uh is that covered in your your rationale down here okay so yeah I'll get to that in a sec um because I think that needs to be explained um so bundle makes sense yep and then bundle so this is a bundle so essentially you meant approximity and at that time you're defining which metabolism this nft will hold you know okay okay
okay all right bundle and so it so it's it's not when you init the bundle it's not just limiting which contracts it actually limits exactly which um oh okay okay so when you actually do the bundle um you're passing in the same delegate data again here but you can't change any of that information yes exactly so you need a bundle you can't change the bundle at all so after that uh so let's say you create a bundle with three metaverse nfts right yeah now
when you're bundling you can send two of those or you can certainly one of those right so a bundle cannot have more than three after that that's the idea makes sense yeah and yes if you set like a quantity of 10 let's say and you're using an ERC 1155 you could only transfer four and it would be fine but you could never transfer more than 10. okay interesting um did you want to search representative okay so all of this is more motivation than rationale so this is more option then
exactly yeah yeah so the restaurant section should be releasing behind individual technical choices and CIP well the sorry I'm just I'm typing this out more for anybody who comes across its benefit not necessarily ours patient and explains why um oh
delivery data yeah okay I actually wants to be able to use the original standards reference implementation perfect I think I understand now because you have to do the approve first so the delegate data describes how many to pull from this yeah that makes sense okay um yeah well it's kind of external contracts yep perfect good and then we have this cc0 that's awesome okay cool so I think this looks pretty decent
just a few um DS4 files to get rid of and then I'm good to go yeah thanks for coming out I appreciate it it's always nice to talk to the authors so yeah just a quick question there sorry uh yeah so once I make these changes then it can move to the rough stage right yep it should be able to yeah yeah it I'm a little slow at reviewing so it'll probably be about a week before I get back to it but um yeah okay so did that one uh were there any other authors here or should I just start at the top
no I think that's it so we'll just start here so what do we got going on we've got a failing Eep w yeah so I'm not even gonna look at this one it's a draft and has a lot of VIP errors so they can they can fix this and then we'll come back to it um social media URI propagation event we got okay so this is pretty new social media URI propagation event
commit URI events for social media okay foreign foreign
foreign foreign
[Music] so it's a nice short EIP then we got social media and we did that one memory copying instruction yeah I got a nice um the IP number 5656 5650 yeah it's interesting so 655 was created five days ago at 8 32.
five days ago at 9 10. that's really really close to another EIP [Music] I'm not opening that can of worms I swear these people like intentionally like try to make EIP editors jobs more difficult um okay more yeah yeah
thanks for coming out bye thank you memory areas red totally pre-compile yeah I think Panda Pep's gone through and done a pretty good job on this um foreign
yeah I'll just um leave this one for now I think be good the extendable pattern so we have some comments already on here that's never a good sign all right let's see excuse me okay good um so there's quite a functionality for my
oh my God this is just diamonds especially empty and extended worth giving the contract its functions um all right I can at least put Sierra move to the interface you can put inside text five um
that's just the erc165 this is okay I'm not even gonna look at this right now I'm just going to take a look at their discussion thread and we'll see if anybody's mentioned the similarity to Diamonds no so oh
[Music] foreign oh my God they've why do people keep doing this so you don't see all right and we'll just leave that until they reply because it's
I'm guessing basically exactly the same thing I don't know for some [Music] for somebody people that we're dead either it is very popular or something that might needs to be fixed yeah I'm working with the author on it he's been uh quite attentive in following up on it um okay modular certain promoters extending functions storage slot address okay specification okay we're just trying to face
yeah this is going to take a longer read I probably won't be doing this on the call um okay so that's extensible so restrict three provider object API injection that's that's a name what's going on here restricted by 3 provider object API wallet guidance for restricting web3 provider object API oh okay so okay foreign
[Music] foreign foreign
that is a poorly worded sentence um so walnuts [Music] security and safety is users funds for this reason it's a good idea to restrict access to the API so Grant Grant oh my God okay so it is a good idea to
restrict access to the apis that Grant this access in certain context so to align it more closely with the principles of element for web platform apis go on such a sentence okay but this reason it is a good idea to restrict two restrict access to the apis getting these restricted access to the ethereum apis
to align more closely with principles followed for web platform apis okay finding in restrictions to where extensions inject their apis will produce in the surface area that malicious what pages use to fingerprint or falsely request access to the web3 provider object API it's too high on users foreign
[Music] foreign oh
it should be accessible and that's more of a Content question so that's gonna go over on their discussion thread s instead sorry I'm mostly mumbling to myself during this I don't know if it's useful for people to hear or or not but uh yeah yeah so no that's all right uh just a reminder sorry Felix please go ahead yeah we can hear basically what Sam says that's good
yeah okay small link yeah that's not like I don't know what that is foreign foreign
that seems like a fairly reasonable uh proposal so moreover this is too much as draft yeah yeah it just needs a few changes it needs to pass ew and yeah all right so I don't think I'll be able to get through another EIP before time I mean I can take a look but uh we could also just wrap it up here great well thanks uh thanks for coming
out everybody and uh thanks for making this happen Sam have a good day everyone the back