EIP Editing Office Hour #47
EIP Editing Office Hours · 26 Nov 2024 · 56:00
Meeting 47 of the EIP Editing Office Hour, held on 26 November 2024. EIP editors and proposal authors work through open pull requests and questions about the Ethereum standards process. This meeting covers EIP and ERC pull requests heading to Final, Last Call, Review and Draft.
Topics
From EIP Editing Office Hours, hosted by ECH Institute.
Transcript
welcome to EIP editing office hour meeting 47 this is issue number 366 on eat cat herders SL EIP giab repository on agenda we have a few last calls one review and a bunch of draft proposals for erc's I wonder Sam if you would like to maybe share screen we are joined by couple of authors and the first ERC that we would want to review here is ERC 723 723 all right okay so Access Control registry
yes we are joined by two of the co-authors yeah great do you guys have any specific questions about this uh so Sam uh so we just wanted to know about your feedback or something like how would be the process for further stages sure yeah so um the process is is basically you open this PR um I'll take a look at this today and then um assuming everything's good it'll get merged as a draft and then whenever you're ready you can open a PR to move it to review um uh same kind of process somebody will review the pr and then um during review you're supposed to go out
and find uh other people in that that might be using this um proposal and they will give you feedback um and then whenever you've collected enough feedback and you feel like you're ready you could open a PR to move it to last call and then final um but for today we'll just uh give this a look uh okay register contract okay what's oh has run that weird um yeah okay the access control register contracts Access Control Management by
registration okay um yeah so um okay uh TR see that all looks good uh
okay so the access control registry standard defines Universal interface for managing Ro based Access Control contracts inces centralized registry cont management of RS okay yep that makes sense okay but
okay so [Music] um uh take this so you're probably going to want to be a little bit more specific about the events um okay um
this okay let's take a look at your interface
here [Music] good so where is that used okay so I don't think this is used specifically in your interface yeah it's
not it is okay yeah so [Music] okay the contract is registered yep okay unregistered roll is granted to account for contract y
so let SC Grant roll that s it is more like a to okay
perfect yeah so I just make that more clear that it's like if you want to Grant the same role on two different contracts you have to have two different yeah get see information reg contract okay okay yeah
okay when you register how does that work okay register contracts give an admin okay so like just over this question give just to give a more clarity so if you see the inside the grand R function we are calling an internal function Grant R so that particular function does have a kind of a modifier which checks whether whoever is granting that particular role does have that excess rights for uh updating or granting the rules or
not okay that makes sense yeah for for
okay so the TR aims to provide way eem cont yeah okay okay essential owner okay
for [Music] okay
okay okay uh address modifier yeah so just same stuff here just anything that's describing your reference implementation put it in the reference implementation section um committing events reach significant action yep that's fine um okay
okay yeah that's good so just a few minor um quibbles here nothing too serious um yeah pretty pretty good okay sir all right so the next one we we are joined by author for 718 I guess is it yes all right an excited interface to name funable tokens expirations okay andc 20 for creating yep okay
that's neat uh for ec20 tokens which facilitates implementation of expiration through this extension tokens have predetermined which they use scenar As Time bonds uh yep that makes sense Insurance yep cool that's fine um 20 oh yeah I guess you don't even have
that so no um [Music] cancel here and edit you and see 20 I want to replace you with 20 okay that's good facilit the development of
okay um that's all good okay this interface yeah
okay all right expirable erc20 um retrieve the B okay that looks good
oh we have stuff in here um the identifier may represent an Epoch ground period of token identifier okay do you describe that somewhere here um okay we can probably discuss this a little bit more so okay
all right uh should align contract maintains e park and Implement contract okay um so okay choose the current Epoch of the
contract okay choose the duration of token remains valid okay check sure the specific identifier is expired the identifier okay [Music] for uh may represent
okay wait this is usc2 yeah so okay spefic identifier and value to recipient okay the amount okay so yeah definitely going to need to explain what an identifier is somewhere because like I'm not sure if like a Tok identifier is usually like an erc721 kind of concept for nfts but this clearly isn't an nft
so that might be a little confusing for people and then like Epoch round or period I don't know what the difference is between any of those or why you'd want to you like specify an identifier um you don't need to explain it to me now but put it in the document um truth okay it is yeah good so balance up man to balance to out by the account still valid okay okay okay uh transer transfer fun May
must ex see transfer tokens or remain not expired at the time of the transaction attempting to transfer expired tokens must refer the transaction or return false um okay total Supply should be set to zero or yeah okay the okay [Music] good um
and the Ral for developing expirable ec20 token extensions based on several key requirements that ensure its practical applications um okay that's fine uh flexible
okay sure it's rc20 compatible um be found here good um except that should be good
um okay okay okay good yeah very nice read me thanks for
including that it's super nice uh that looks good um okay yeah MIT is fine sure your reference implementation works well um spir bulk okay okay so you're including somebody
else's library but that's fine as long as it's MIT [Music] um y that's good and package that Jason is probably fine some tests good um okay [Music]
oh yeah definitely uh okay so yeah I think that's um really good for a draft um just a few small changes and we should be able to get that merged um yeah cool where are we off to next so next we have couple of last call proposals and first one we can start with 698 we are joined by Francisco the author
for hello do you want me to say something for why we are there or uh just do you have any specific questions or just looking for a review uh consider that the the the the standard is already used by a couple of projects and uh I don't know if you remember when I presented this this one but there was a discussion about 6551 that is focus on accounts and so the problem is that despite all the discussion that I had with jayen all the other people in the team they refuse to make a generic version where you can associate you can deploy any contract Associated owned by a token and so the only way to
do that was to create a different uh ERC uh but still my opinion the best way to go would be to modify 6551 to be genetic but I think the problem thatc is that they put in a single year C what should have been two year c one for the registry one for the account and I I don't think that they are going to change that so this is why since it's already used 7656 by a couple of projects uh in production I think it is time to move to to last call and also because it's very very stable and the contract itself is very simple so I
don't see uh how to maybe there is some slightly implementation in the code that can reduce a few bytes but the code is super optimized then uh use very very little code to deploy the proxy so perfect yeah so if you any question ask me and we do thank you okay so you're in review so
um unfortunately um uh 651 is not a dependency uh it's listed there no dependency oh I I see what you mean yeah it's just a reference yeah references too so like uh so if you can imagine like a final EIP and if you linked to a draft let's say um the draft could get completely Rewritten to mean something different uh changing the meaning of the final
proposal so we we don't allow links from final proposals to anything that is non-final um so yeah you might want to well either wait for them and I don't think you want to do that um or remove the links to 6551 yeah but that's it removes entirely the the motivation of why this yeah has been done it's yeah um it's a little bit against what it's the entire point of the anyway I understand yeah it makes total sense because if this is finalized there is a link to something that in
theory can be withdrawn it's not going to but in theory they can draw it and becomes disappears so there is no more 6551 what happens in that case so I I am or or even worse they could change it to something like malicious that would mess up your standard right yes or maybe they can decide to implement what I ask them to implement makx this us yeah yeah um okay okay yeah okay I I totally understand so I I will uh remove the pr so I will Closs the pr so it's actually if you want you can close it directly
with this motivation I'm totally fine with I wouldn't I wouldn't close it I would just say like um instead of mentioning 6551 by number just be like there's an alternate proposal that com combines Stu like just just vaguely allude to it you don't just don't link to it and you'll be good go okay that is much less specific but makes sense yeah I understand okay thank you very much for the suggest by the way I would try to make another attempt to convince them why it makes sense to
generalize a proposal because in the end the standard should be should allow people to develop in a safe way why put a limitation and limit only to one type of contract you can associate to the nft to me it does not make any sense but anyway it's it's not the the place well to discuss this so thank you very much for oh no no worries um okay that makes sense okay
so looks good support the Minal proxy B code yep flexibility contract [Music] Association
okay good and then we have a reference implementation L service cool yeah so uh except for just these comments you're you're all good to go so assuming that they don't reply um yeah we'll get this merged okay thank you very much so yeah we have the next proposal for last call all right by the way Sam there is a question for you in the chat I believe someone is interested in asking a question which is outside the EIP editing but I know you also take care of that that yeah yeah you can definitely ask um
I don't mind at all all right so let's see what's going on here physical asset Redemption provides right I remember this one um what's today's date yeah so we'll have to change that but so third it's the 10th okay
721 capturing back primar a to provide transparency with details um to we're accountable to Ed accurate information good follows okay okay rtion physical asset enforcing
legal rights verify the owner yep that makes sense okay so then we have a contract interface struct properties just something return properties
it does okay good and amount get properties up good okay yeah that's fine there's a thing
there security [Music] consideration um Okay cool so that one's
done um for one of the sessions mentioned Devcon has mentioned that eels and the East will for new body steel please I'd love to know if there's more details on this um externally there's there's nothing really um interesting going on it's just like an internal organizational thing at the EF um we already work pretty closely together um and we're going to continue to do so in the future thank you Sam so I believe the next PR that we have got here is 734 734 ERC okay um
this will be my last one today just because I uh have another call scheduled five minutes ago um sure nobody [Music] actually can I fix this I can fix this it's been a while since I've
written my own so EIP uh title description author who is the author of this one Lex Clinic I I'm on the call is Kyle oh perfect hey yeah so I just have to fix up your um your heading
here uh soat discussions too okay then stat we draft and then see oops that category I have interface here uh it is
a spart contract interface and you yeah so that'll actually be an ERC um I don't think this proposal may have received the EIP number so we might want to it well yeah um I can do that so created this will be4 4 1107 and we don't know about requires yet and yeah perfect so we can get rid of that and there uh give me one second and I'll get you a number this one here
[Music] 7827 okay so that should take care of that um so the bot will should actually be able to read this now and give you more suggestions um you'll need to open a link uh sorry open a thread on ethereum magicians um that's this website here ethereum m-m magicians. org um you'll need to create a discussion thread and then uh put the link here um all right
so Abra history value the interface okay yeah that makes sense so Contra interface Jason data yeah that that's good um okay following
methods um okay put string station State okay
yep Jason key whose version history is requested okay version Sai key okay so this is more of a technical comment um and because it's technical it should go on your discussion thread but because you don't have discussion thread I'm just going to tell you um you might not want to return all of the versions you might want to um like provide an index in your um inputs uh so like you get the zero with would be the the first historical the most recent then the first would be like the second most recent um because if you return them all uh it'll take a ton of gas
uh so it might be more useful to um be able to pick a specific version to return but that's up to you you don't have to do that if you don't want to umate Jason key strings they return string so I don't think they use gas but yeah the the version I have um deployed it's it just gives you an index so it is actually the other thing but okay I thought if it's returned as a string that's then an array uh it would be a gasless like public good read only um but yeah I'll I'll actually write the code but figure that out thank you oh yeah yeah so it would be gasless if you're reading it offchain but if another contractor were to call it it would have to copy the return data so there would be some gas
usage there oh thank you yeah um okayi okay yeah that's good um yeah so H one second I'll be right back e
sorry about that um so okay uh so okay
um yeah and then the bot's going to complain about a few other things if you um take a look at the EIP template um it'll show you what other headings you need to add um but otherwise this looks pretty good um yeah and uh I guess with that I have to dip um thanks everybody for coming out and we'll see you in the the next call bye thank you so much Sam have a great one