AllWalletDevs #3
AllWalletDevs · 27 Jul 2022 · 20:36
Call 3 of AllWalletDevs, held on 27 July 2022. Wallet developers meet to coordinate on the Ethereum standards and protocol changes that affect their products. This call covers the wallet extension registry and EIP-5139 on remote procedure call provider lists.
Topics
From AllWalletDevs, hosted by ECH Institute.
Transcript
all right well i think people are going to be joining they should have joined by now so uh i guess this is the meeting number three of all wallet devs um we do have a very light agenda today we're uh mostly just gonna be talking about the wallet extension registry and e-5139 um so zk doof wants me to mention that uh any wallets who haven't already signed up for the uh interoperability test event should do so you can find info about it in the test event channel um and with that out of the way i guess we can talk about wallet extension registry so quick summary uh corbin who isn't here today um wants to come up with a standard way of
having multiple browser extensions cooperate so they don't clobber windowed ethereum and on the last call we discussed using a completely different mechanism for registering wallets and that's using a custom scheme handler so think mail 2 except maybe web3 or evm or something along those lines and every wallet or webpage registering a handler for it and then using webrtc to communicate if anybody has any thoughts or updates on that we can talk about that today if not we can move on to the next topic um
sorry i missed it but uh how will it be backwards compatible with the current window deterio mass uh it it wouldn't be so you'd still need a way to um handle that uh but i think uh like wallet connect and web and web3 model are already working on getting rid of window.ethereum so [Music] for study i have created a solution where we can like use ethereum as a trap object and expose
all the providers that try to inject it on window the tethering that providers array which coinbase is using i think also metamask is using this and that three on board as well uh would it make sense to open the conversation about the backward compatible way so we have something that all our users can benefit from now and also come up with a way to handle all this problem for the future yeah i think that's that's definitely something we should be concerned about and and corbin's proposal um similarly had like a uh
uh check if window dot ethereum exists and then if it does uh like chain to it so um go ahead sorry uh who is coordinating this effort because my idea was to create a shared package for the whole ecosystem uh that handles this problem and all of our providers and everybody could use that package i just don't want to tie it to telly or any specific organization yeah yeah so that's that's exactly what uh corporal was suggesting in the extension registry channel um i think
it's like the first or second message he's kind of talking about how it works and then yeah we we'd want to create like a shared package for doing it so i think i think you guys are aligned there which is good yeah it is literally the first message so if you scroll all the way up it's uh it's up there so i was kind of working with him when i came up with the solution uh i was just wondering whether there was any recent development on this arrow because i kind of lose track but that's my fault together
yeah i don't think there's anything specifically new about window.ethereum just just about like the next generation kind of connect method um which i think is less important thank you do you um have a repository or something for uh what you and corbin are working on or uh i just uh resting the ideas and i created the tele implementation uh according to that okay cool yeah if you want like to link it or uh whatever in that channel that'd be great maybe some other wallets to look at it see just sick was there anything else we wanted to
talk about the extension registry kind of idea no i'm a good idea i think corbin and let's see where we can take this shared package idea maybe just one last question is is there any github theme or themes or any guitar repository setup that all of us can use uh i don't think we have one yet but i can make one if you want i would love that sure yeah i'll i'll do it um i'll just call it like ethereal wallets for now or something like that and we can workshop the name offline perfect just something nice to tie with telly metamask or
to avoid this or politics and whatnot yeah something common yeah that makes sense um on that note like we don't have to use the one i created but to that vein um that's what web3 well sort of um was intended to be like i'm yeah working with the ef on a wallet thing but it's um yeah the web3 well was meant to be somewhat of a neutral territory is it worth using that or just happy to go with the three wallets no i'm down with something like that i i don't have a strong preference i don't know if anybody else does cool i'll share a link um somewhere sure and if anybody wants like an invite to
that org i guess they can ask for it in the discord or uh yeah yeah perfect cool so then i guess we can move on to discussing eep 5139 which was uh kind of a uniswap token lists but for rpc providers uh eip so this came out of a discussion we had on the first and second i guess the previous two calls and that's about how adding random rpc providers from adap might not be the most secure idea so we've come up with these uh curated
rpg provider lists that are stored on ens or https um and so far the feedback from metamask has been that it's a lot of work for um not too much security gain so if anybody wants to take a look at that the link is in the agenda and i can post it again in general um if you want to review it let me know how difficult you think it is for your your particular wallet please do and whether you think it's worthwhile pursuing or not um so i read through the youth mag's discussion and read the eip and um based on like tj rush's comment so each it was the idea that each wallet
provider would be curating their own list like that does sound kind of analogous to uh the way uniswap is tackling the token list is that how you envisioned it yeah so so right now each wallet does provide their own list by default it's just not in a standard format so this would be standardizing that format so that non-wallet providers like so like let's say i wanted to publish a list and i'm not affiliated with a wallet i'd be able to do it too um so it's kind of just like standardizing what's already there yeah i don't see why why does dan think i i saw the discussion on here too why does dan think that would be like a heavier lift with ux it seems like that i think you need to have a
uh like a text field i guess to add a a list and then you also need to add ipfs support to your wallet so if you don't already have that it might be a little heavy oh okay that part makes more sense yeah i mean we could maybe reduce it in scope so it's only https by default but actually i guess wait you can probably grab everything from like the cloudflare ipfs gateway so it probably shouldn't even be that much work to support ipfs yeah i mean it's easy for us to say so we're you know back end and we're not really impacted by this because you know we're we're just supplementing the the security of you know wallet extensions and other tools um it seems like a good idea just from like a user perspective
providing support when there's been periods of congestion the only thing i've been able to refer users to is uh david mihal's site ethereumnodes.com and even then like everyone's so used to either running their own node or using uh a default provider in fiera that like it it's so rare that it comes up we always scramble to be like what's what's david's link again uh we'll just send them the my crypto link for our rpc endpoint so even just for mainnet having uh more options baked in would would be great for users um so i i'm supportive of this in general but obviously it all comes down to what extension devs actually want to do themselves because they're the ones doing the lifting
so yeah cool idea oh thanks so um yeah i mean i think that's really what it comes down to if any wallet devs here want to speak up about how useful they think it is and how likely they would be to implement it that'd be great or if you haven't read it just let me know we can we can end early today i personally haven't read it but my problem is who is taking care of the tokenist and how can we prevent from malicious addresses to get into that so um each wallet right now already has a list of providers
right like [Music] like metabolism yeah right yeah so but the thing is that the wall of developers uh usually uh take care of checking what providers they add their scores good because it's kind of sensitive and important but if i understand the proposal correctly uh the list uh should be hosted on cloudflare or stamina somewhere else where a community or somebody can take care of updating the list adding new uh rpc providers and whatnot who will be doing that in analogy
yeah so the the list isn't that there would be one list it would be a standard format for lists so metamask would still maintain the metamask list of providers it would just be in this format as opposed to whatever like format they use now and um then users could switch to a different list if they want but each wallet would come with a default list that that wallets developer is curated gotcha sorry i misunderstood the concept this is kind of really cool oh nice well i'm glad you like it so
i know i kind of already asked about this but was dan's critique more that like if the list format is standardized is it the idea that someone even if they're using you know their new user using metamask that they would load a malicious list in the same way that they could be prompted to load in a malicious rpc endpoint from adapt there wouldn't be an rpc endpoint for adding a new list you would actually have to like dig in the advanced settings to go and find it i mean it'd be up to the wallet
developers they could put it right on the home page if they want but i i guess the way i'm envisioning it is that it would be somewhere deep in the settings yeah that would make more sense just not wanting to allow that kind of prompt that people would click through if they're not security conscious exactly yeah that's that's kind of the the main motivation for this is to avoid baiting users into just clicking yes on things now is if i were to like make a reference implementation of the like fetching code like because the way it
works is you can have like a base list and then you can have extensions built on top of it that was something that came up in the last meeting that a couple people like wanted so if i made an implementation of that would that be useful would wallet devs want to implement their own um like i don't know what the like nimbyism is for wallet code or not nimbyism nih i think that might be helpful but a quick question uh did you design anything that like a
list of features supported endpoints or something for the rpgc providers because different rpc providers have different different capabilities and i'm not sure how is it for adorable does but ours is depending on custom functionality and i'm pretty sure it's the same for everybody else so what kind of capabilities are we talking here like like archive data or yeah okay yeah there's nothing in there for it right now um would that be useful so as of all of that let's say fortale if i'm about to open a door for the
world to import any list of rpc providers from anybody in a given format i somehow need to be able to feature check like we can do that in css or javascript for browsers right what kind of features are you looking for i can talk about alchemy specifics like transaction history and scraping going back to and finding transactions uh get token balances um these are the two most prominent that comes to mind
and okay another one another one that comes to mind you know maybe you just want to like a notes field in addition to that too is like uh the flashbots rpc if you just had a drop down list and people are looking for a responsive rpc if there's some sort of congestion issue with whatever they're using if you switch to flashbots nothing's going to go through because you need to understand that you need to uh you know put your your base fee higher in order to get included in a block so i mean maybe just having the flexibility with the list format to have a few extra fields for feature tracking into like a note or something bespoke i don't know so if we're going to put it into the list format i think it would have to be
something that all wallets agree on or at least there's some kind of like standard way of asking for the capabilities um so that that would be useful to like make a table or like a list of the things that you check for and then the other thing is i think there's a group of people i think uh the wallet connect people and micah would prefer like a handshake kind of rpc call where you can ask the rpc provider what it supports as like an rpc endpoint itself um is that is that better is that worse what do you guys think about that
um more maintainable for sure okay so you prefer the handshake uh actually i believe uh if it's a static quest it will go out of date really soon okay so maybe we have to come up with a way of doing like uh asking the rpc endpoint like once every week or month or when the wallet starts and asking it what it supports okay that's another option i can i could look into doing something like that but i again i don't know anything about the capabilities that wallets need
so if somebody wants to make a list of what you check for um that would probably be a good place to start um can you or maybe you have already started a github wrap or something where we can issue requests with ideas and we can continue discussion there sure i think uh yeah there's the web3 well would be a good place to to put that i think i didn't have anything else to talk about besides those i guess reminder if you want to work on the interoperability
event um here i was thinking um and i think i saw some messages before about four three three seven and potentially having a channel for that it doesn't make sense or i i didn't see where the rest of the comments went yeah i think it i think it would be great to have such a channel because a few people already asked me about it
so uh how do we how do we add a channel you ask me and i add it and it's done thank you thanks rough contest this is a dictatorship yeah i think you had a server for 43372 right so there might be something good to pin in that channel if you want to post a message about it yes there is a yeah there is a server uh there is a separate server for it but since a few people asked about it on the wallet i thought it would be good to have some discussions there we will put a message there
great thanks okay thanks yeah take care everybody see y'all next month cnn