AllWalletDevs #6

AllWalletDevs · October 2022 · 52:40

Call 6 of AllWalletDevs, held in October 2022. Wallet developers meet to coordinate on the Ethereum standards and protocol changes that affect their products.

Topics

From AllWalletDevs, hosted by ECH Institute.

Transcript

they chose to put it there oh so I don't think they chose to put it there I think it was a side effect of the way the system was designed and it was hard to patch and the reason I think this is because they go to Great Lengths to stop the um plugins from actually injecting into the page directly like when you have a Content script it very intentionally does not go into the pages namespace they have a whole sandbox for that that is isolated that required work to build and so it doesn't make sense why they would intentionally then put a giant hole that says well you know we did all this work to build a Sandbox but you can just ignore it I don't know I think it's more like

we're gonna build a Sandbox so you don't unintentionally break it and then if you choose to break it you can but yeah I think wallet should definitely migrate away from using like uh permissions on pages like that's that's terrible yeah I mean I think we agree on that part like if that was if what you're saying is the case and they're trying to make it if you you can't accidentally break it then why did they make it so hard to inject like I didn't I thought I thought it was literally just like a one-line JavaScript thing I mean they could have just put it like a second line to manifest though you've got the manifestation another line item for Dangerous content script or something like and that would have been

significantly easier for everybody I think involved rather than because the way it works right now is you inject a script tag which happens to execute in the context of the page rather than the context of the extensions view of the page because everything that's in the Dom executes within that context and that it really feels to me like an accident yeah anyways we can start with the actual meeting sure so uh welcome everybody to all Walla devs number five um

we have two things on the agenda um two official things anyways so I wanted to talk to wallet devs about how much appetite there would be for the wallet uh shared testing framework for wallet so we we talked about it during some of the earlier meetings and I'd love to hear if if there's any interest in perhaps funding a Dev to work on it because I have someone in mind foreign money or you just have the person I have a person a little bit of money and I'm wondering if wallets would be able to contribute as well I'm thinking like maybe like a short like a couple month term build a prototype and maybe some initial tests

and see where it goes from there I think it'd be useful but most useful for dap developers because right now integrating with multiple wallets is hard because they all have little idiosyncrasies and it is not clear where those idiosyncrasies lie and having a clear testing framework lets you know this is the set of things that all well let's comply with or at least you can see which well it's kind of like when you go to mdn and you see the browser compatibility list or can I use.com or report or whatever it is so you're suggesting it'd be better to get funding from dapps than than from wallets um or at least more incentive aligned a more it's potentially more incentive aligned like I feel like

new wallets our incentive aligned to participate in the testing so they can know you know do I match the thing that everybody else matches so I'm most likely to work with things adapts work with I think it'll be very difficult to get existing um Market leaders involved because there's really no incentive for them in fact there's counter incentive for them I think no that makes sense I'll uh see what I can find from dap developers then I like the idea about me oh yeah yeah and I think I think it's totally possible like I was thinking of gluing together like um ganache with like a thin server and writing like your test

and typescript and maybe gluing in some kind of like selenium or um web driver thing to be able to click on buttons and I think that'll cover most wallets all right well that's it for that um I guess is there anything any wallet wants to demo any new progress on um 4337 or BLS or anything like that oh hi uh hey guys this is my first time to attend uh I'll call that uh meeting or wallet that meeting yeah this is uh judgment from uh so wallet he just won

the best account application price uh from EF uh during the is global uh is uh congratulations yeah so uh I guess uh for the nest uh that's uh or wallet that meeting of our developer uh will will join and participate yeah so just come here to say hi yo hey and welcome most things happen asynchronously um in the text chat and you know we kind of just hang out here once a month so yeah yeah sure all of our demo uh is in our Twitter page so uh feel free to check that out I will send that in the general Channel

sure unless you want to demo it like share your screen and show us because you could do that too oh uh I guess it's under test net uh so uh yeah I'm not sure if it's ready or not but I will send a recording video to the general Channel also great thanks um welcome Soul wallet um we can we can demo uh uh if someone else just shared their screen we can let them do but we also can demo our wallet candid wallets uh we're building an erc437 Mobile wallet and uh

I can spin up a demo on a test Network and show you what we have been working on in our progress that'd be awesome um let me share my screen so by the way I'm joined in this call with nerox and Sharif they're both in Canada wallet and they've been building with it let me um can you see the emulator yes okay um so I so what you're saying here is uh is an already deployed wallet

um I'll show you a few transactions that we it tells so we so this is a smart contract wallet running on a test net this is a smart contract wallet running on a test net quarterly and it's uh it's ERC 437 compatible what's special about it it's that we used nosy safe as our base wallet uh contracts so anytime a user creates a candid wallet they have a single owner nurses safe ERC 437 compatible uh the features I can show you is uh I can let's start with the scent so I have

right now I don't have any any other or uni but I do have this uh test token called Candid test token I can just go ahead and use a send it to someone so I'll send it to Andrew uh look up his DNS and I'll send can the test token and send him a bit so notice one thing I don't need any other to pay for this transaction I can only use the same token to just like execute the transaction and submit it so let's see if the transaction is going

to execute so this is using like a relayer in the background that swaps the tokens or yes so the ray layer it's a is the paymaster this is the Smart contract that it's uh is deployed it takes can the token as a um as as it is and it it does swap it with ather so it's up to the paymaster to manage to manage its uh its inventory it could have a little bit of ether and a little bit of candid test token and then just like accepts the amount of gas what you just what you just saw here actually is that the user

didn't pay for transaction fees I did select I did in fact select to pay for candid test tokens but right now we're actually sponsoring all transaction fees so the user didn't pay for any fees right now it's the paymaster who sponsored it um and we can go to see on the entry point contract if the that's the general entry point contract that long early if the transaction went through it and you can see here this is my my transfer transaction uh it did send indeed 0.001 can the test token to that contract address um I can also show you the swap but let's see uh I'll need a little bit of

uh I don't think there's liquidity for this candid test token so I'll let Andrew send me some ether uh and uh or some or some uni and I can I can swap them here um the cool thing about uh swapping with a smart contract wallet is that you can batch multiple transactions together so if if I'm if I were to swap uni to ather uh the what you can the user just need to like submit it and sign it once and what's happening is that there

uh we're approving only the amount of unit that they want to swap and and depositing it in into the into the uni swap contract and a single in a single transaction so let's see if I received any from Andrew so he just sent me like 0.01 either so I'm only gonna show you I guess an ether swap here uh let's see if I got the uni as well okay I got the uni so let me swap the unit up so so right now we're fetching uh prices using the units of SDK and here we're

sponsoring the transaction so you see that the user is not paying any fees with our paymaster and you just hit review reviewing what you have and it's only a single transaction that the user is approving let's see if it gets executed office there's a surface that you're picking up the body is so ungodly it could be a little bit long because gas fluctuates a lot but you can

see here it's got submitted and this is transaction that is getting weighted to be executed here um yeah and I think we just swapped some music just a single transaction I can hear someone stalking um not sure if it's uh yeah can you meet please thanks yeah Ben thanks um one cool thing is that we used nurses social recovery module uh as our social recovery mechanism so a user can just like uh they don't need to keep a seat phrase so I can go here to security obviously before I can I can make all

this transactions it's very it's better that I add a guardian so I can add anyone as a guardian so I'm gonna go ahead and add myself you can use any wallet as a guardian so metamask or Oreo Ledger or or another candid wallet um so I'm going to go ahead and add the guardian here again we're sponsoring this transaction in our test Network because for now it doesn't cost us anything and I just added regarding a similar mechanism to uh to the to the origin wallet and also it's the same we use the social recovery mechanism or contract from Moses safe um so so how big are the diffs on top of

gnosis safe is this literally just their contract or um the difference there's no real like uh so the difference is that we use like erc437 uh and NOS is safe and it's the implementation of infinitism theme uh on uh as a base wallet for gnosis but we can go through the contracts like quickly after the demo and I can show you the difference sure that'd be nice yep so you can see I can I just added a guardian so the wireless is actually secured if I ever like lose my phone I can I can just recover it so let's

actually attempt to like lose the wallet so I'm gonna just say wallet is not here and I refresh so this is kind of manually losing my my wallet and you can see here I just lost my wallet I just need to click last wallet and I'll use the recovery mechanism uh I have to specify uh which wallet so I just need to know my public address or my ens if I had one so my public address was I saved it here in my clipboard and I'll create a new password I just use the old one I used before

and that password like is stored locally the seat phrases also locally so we never it's a really self-cost Studio wallet we never have access to the Keys uh a recovery request was created for this wallet in the past hour oh okay so since I already did like a recovery request uh we added this like feature to meditate from spam attacks if someone is more than if someone tries to like recover a wallet multiple times then we actually limit how many times you can recover it um um I think if I want to show you the recovery mechanism I can so imagine if

if I already did like execute recover um you'd go to our security Center which is uh this page right there and you can log in with a metamask so I'll just like log out here and show you um and I can connect my wallet and and then let me see if I can like try again um up try again here okay so now we just initiated uh

um a recovery request that requires a requests uh so we we have we do have a back end for that for that piece uh we get the recovery request and then the user needs to make sure that the emojis that they're seeing in the screen matches the emojis that uh uh uh that they're gonna see on the recovery page so a guardian will go in with their metamask or any type of wallet and they would like type in the public uh address of the wallet so I think that's the one yep um and once so we know that the guardian is that person is the metamask wallet and uh so we can show the the recovery

Quest and the Emojis does indeed match if there's another set of emojis the guardian shouldn't sign this message because that would be another person trying to recover uh the wallet and uh it wouldn't be the real owner because the Emojis are communicated like offline between the guardian and the owner accounts so I'll go ahead and sign up so let me just interrupt for a second so one small suggestion I have to make here is instead of displaying the Emojis and asking them to confirm uh the person who's supposed to check the Emoji should choose between a set of n like random combinations and they have to pick the correct one and that forces them to actually verify it as opposed to just

trusting that they verify it okay I think yeah that's a better idea um uh it's kind of a maybe adding a like a set of numbers or maybe adding four emojis would be better right no not adding more emojis it's just like so right like the screen we're looking at right now um the Emojis there are the the ones that the the recovery person is supposed to verify right uh yes exactly yeah so if you just added like three more rows and um with two of them having incorrect sets of emojis and one of them having the correct set of emoji then um the the recovery person has to pick the correct set of emojis that forces them to actually communicate as opposed to just blindly clicking the sign button

and it makes for better ux or better security anyways yeah I think that's a that's a good idea um I think we'll Implement that that forces them to verify the Emoji sets exactly yeah cool thanks a lot for the feedback um so I'll continue signing the message since we I guess we have to actually verify the Emojis and we can sign it and uh so if we had like multiple Guardians each Guardian will go ahead and sign uh their parts of the uh of the message and then the Last Guardian will

go ahead and submit the actual transaction so that where are these dresses being collected uh so these addresses are being collected in a bucket the signatures you signed a thing where is it going it's also in a in our back end I see okay so if you're back in this down does that mean uh recovery can't happen or is there a way to do it if you're back and it goes offline uh we can have like on-chain recovery um our back end just makes it easy for the user to recover um but you can also recover it without the back end it just will have to write like a little bit of documentation to do it but it's totally possible to recover

it with unchain with while interacting with our contract it feels like maybe I'm missing something but it feels like this page you're looking at below 3000 um could be done almost entirely without a back end am I misunderstanding something it looks like the only back end piece is that uh collection step is there more did the back ends um no how can you imagine it I was just thinking that like there's so you can still use the back end as like an optimistic thing and where so when the user clicks to sign metamask um it then gets sent to the back end within that screen it has let's say it's a one of one of two right so they need

to collect two of them the user right on that screen has two options one wait for a second signer to be collected or submit their signature on chain so that way the next person can then so there's no need for coordination like the two um the two social recovery participants can both sign independently submit their signatures on chain without and the recovery would happen after the second one showed up does that make sense yeah um yeah I think yeah and I uh can I help in this uh does this matter yeah actually yeah actually our our recovery our recovery like uh we can

like this website to the back end everyone can just sign without submitting an actual transaction and then submit one transaction to recover the to create the full recovery or someone can interact with uh each single each each single Guardian can interact with a contract independently and and add his recovery requests and then it can be done and then the last one can submit the recovery transaction so yeah you're absolutely right it's better to do it without a back end yeah but we just thought that this is maybe maybe easier

and yeah we can also try to make uh like another web app without a back end yeah yeah I think I think the having the back end is definitely useful and when the back end is up and available it simplifies things and I agree with that it lowers cost because you only need the one um uh my thinking is if if this page you're looking at was ipfs hosted the entire thing could be done um even if you're you know your development team all got you know disappeared for whatever reason or um or censoring or something like that um and that would at least for me it would give much more confidence that I don't need you guys to be online and I can still use the UI I can still do all the simple things the only difference

would be is that I would have to pay for each signature to be submitted on chain instead of bundling them and exactly a year yeah so having it all I think it could all be in one UI still you could still have the back end like you have it's just if the back end is unavailable then fall back too um or if the back end or maybe there's two buttons one is wait for other signers another one thing there's a button for submit on chain or something so that way maybe the back end is up but it's not behaving properly or something like that like it's not actually aggregating foreign give a lot more confidence yeah I think that's uh it's a good idea we can like you said we can implement it on the same front-end uh one one case is

that uh with a backend it would let you save a little bit of fees because only one single transaction could be submitted and the other case like you said is each Guardian can like submit their own uh transaction and we don't need the backend for that um yeah oh yeah okay if you didn't uh considered yet how like how to aggregate those that signatures I I'm working on a proposal to kind of standardizing it into it itself is that it for the uh for this demo was saying something did you not hear him

who was I'm not sure that was yeah I was talking yeah yeah can I be here yeah himself let me check I I'm muted myself but uh can you hear me yeah we can hear it yeah sorry I had to mute you earlier okay yeah yeah my I didn't know that my bike was both live so yeah if you haven't decided how to uh like a specific way to determine the implementation for us aggregating signature from offline um I am proposing an endorsement schemes that you can use that as a way to aggregate uh thank you for the

presentation I just have a question like why would you say it would be like a like a big difference or uh Victor probably have muted was talking and you just started talking over yeah yeah so I just want to point out there's a five four five three indoors Meg proposed so that you can look into it if you have not decided how to like the specific way to implement the everyday signatures okay happy to talk uh feel free to please share the uh the proposal and uh and the channel uh someone else stopped another question yeah yeah what I was going to ask you is

that what would you say is like the biggest difference or or uniqueness of of with your wallet versus something like like urgent uh yeah that's a good question um so uh Argent is is a smart contract wallet that does offer all these features except that you do you don't need to rely on all the services that Arjun offer like um they do have their own like between codes for layer which is the equivalent of baymaster that we're using and without their layer you cannot like execute the features that um that comes in as in like paying a transaction fees with another token the whole point of erc437 is to make uh

things as much decentralized as possible so the paymaster it doesn't have to be our paymaster that gets um that gets like a used you can use any other playmaster service through our wallet relaying so relaying the transaction and submitting them because it's uh origin does have their own like between code like bundler this is this is uh the case uh they take the transaction and submit them without that relayer your transaction cannot be executed with Arjun so really without an urgent company you cannot use your wallet you

can retrieve your tokens and then migrate elsewhere but your your urgent world really cannot focus case of a candid wallet with an erc4337 that binder right now we're running a private binder but in the future there should be a mem full of bunders anyone can pick up your transaction and submit them uh to the actual mempool or the validator sequencer to process it does that make sense yeah yeah thank you um I also had a question uh also thank

you for the demo it's very cool so I noticed that you had email recovery as one of the options uh could you just explain how that is supposed to work yeah um so to just to finish the demo we just like recovered the wallets you can see here like I got access back to my wallet without the private key um I can remove the my guardian here if I want to the on this the owner of the wallet always like um have access to kick Guardians if they want and you'll see here that you'll be able to add like an uh an email so the email is an option that we added in um you can think of it as an

Institutional Guardian so you can think of okay if you wanna uh you have the option to use a company as your guardian and they will use a type of authentication system for example email and SMS or uh or a I don't know a video call with you and that can be your guardian right now we're just like dimming in making a demo with an email recovery we use the magic link which which is a service that offer authentication it's very centralized so if magic link disappears Your Guardian also disappears just keep in mind but that's just to showcas like you can have an institution as a guardian we hope in the future

um to offer this type of recovery uh with multiple two-factor authentication with an email and SMS and you can select the company as candid for example as your as one of your guards which is totally optional as well so it's basically the same thing as the family and friends recovery like you said a message using a like a key and the keys added to your smart contract while it has like a recovery person exactly it's exactly the same way can you mix institution and friends and family you can mix institution family and friends you can add as many gardening as you want you can have a family and friends it's basically uh a wallet any wallet any type of wall you

can have your Ledger as a friend of yours as well um when we will have a threshold for how many uh Guardians your you need to recover so you can have okay 10 Guardians and maybe 50 percent of them if they assign the transaction then they can recover your wallet I think one thing to keep in mind um and I'm very very happy with what you guys have shown here one thing to keep in mind is figuring out how to make sure users are selecting an

appropriate Guardian set I think this is one of the hardest problems with post recovery wallets is that your average user is going to be very bad at choosing the right number of Guardians and choosing both m and n and who those people are right and somehow making sure it's very clear to the user that and again this is hard I don't have a solution for you just keep in mind be very clear to the user that if they put down their um you know their girlfriend and their uh their sister or whatever as their Guardians and it's a one of two you know that's something that I can imagine people doing and that is very insecure you're basically saying these two people have

100 Access to all of my money and I think you aren't going to realize that um on their own I I think you're you're right um and it would be our job in the content to Showcase that um we haven't really like showed it uh here in the demo you're seeing but I can imagine like really clarifying that the uh that the guardian you select uh we will have like certain opinionated uh uh I guess uh advice uh saying that it's better to have at least at minimum three Guardians uh one would be family and friends they shouldn't know each other I

I doubt that would be even better that way they wouldn't coordinate against like a wallet corner um uh you would have uh we can recommend if right now we're not going to recommend an institution but if we have a solid institution that that can offer like a guardian they can recommend one Guardian uh at least one family and friends and if they do have a ledger then we can recommend a hardware wallet as their third option oh by the way I think uh Arjun uh the way Arjun do that is is really good oh uh compared to Michael's uh comments on uh maybe people don't have enough

friends or uh when adding new Guardians is dangerous uh yeah Arjun so offer a default uh Guardians uh themselves so for most of the promo user is a much better experience and safer uh yes I I uh I do like the origin way as well they they do it two ways they have an off-chain recovery um basically they don't add themselves as a guardian they just add themselves um in a way that they add your private key encrypted in your iCloud and uh they have one Parts uh of the private key I I think also encrypted in

their server um and that's how they do option recovery it's kind of the most secure way to do it like offshine but I think with the guardian system and a smart contract way it's uh it's much better it does cost a little bit more than of chain uh but it's more secure and since we're going to be focusing on Layer Two uh we won't have the problem of gas fees like Arjun did because they're deployed maybe on mainnet um they're like volts but they're working on like ZK sync and start net right now so I've been trying to pitch to know gnosis

for a while to add this and since you guys fortnite gnosis I'm now going to pitch to you to try to add it actually time-based social records so when you go if there's a countdown timer that the user can configure might be a day might be a week maybe a month might be a year and the recovery doesn't complete until that timer has elapsed and anytime while that timer is running the owner of the wallet can cancel the recovery this makes it so if someone tries to recover your wallet while you still have access to the wallet then you can just override it and this makes it you can actually do one of n fairly securely because the one only gains the ability to recover if you

lose you actually lose your wallet um so if you say just set my wife as my recovery and she tries start recovery or maybe she gets compromised into the attacker tries to recover my wallet as long as I show up within you know a week or a month or whatever I can cancel but if I'm dead then she can successfully cover all my funds even by herself and so um yes please please add that I've been trying to get this for a long time and they haven't so now I'm going to push on you guys okay I think that's a good idea we we did think about like what happens when a person like pass passes away or something um but I think that's a good that's it's a good idea and we'll definitely look at

it since we have a the good thing about the wallet that we built like with nose is safe is that it does come with modules and the modules we can have uh as we go on with time we can like Implement modules obviously the user have to approve a module before they can interact with it and we can have like all different applications like uh setting like a daily limits for example uh on uh on a contract similar to what you do as a regular bank account you can have like weekly limits or daily limits you can have all different kind of modules the same modules that you can build are not so safe you can build it on candid

Micah could you clarify something for me um what's stopping like imagine if your wall was stolen instead of just loss right then the person is stolen and has access to your your signing key right then they can like uh basically just stop you from recovering it no actually I mean someone has access to your private key they can drain your account so if you're at that point if an attacker gets access to your your signing key then there's basically nothing you can do with the exception of like um if you have self-imposed limits of some kind that could potentially stop it but General assumption here is that I'm operating under is that there's many situations where you lose

access to your signing key either because someone stole your phone but they don't have the ability to unlock your phone or because um you lost your phone or whatever and in those situations having that time delay is very valuable and in a situation where the person the attacker actually has full access to your phone then you're already lost and doesn't matter how much Social recovery you have here at this game over now there I will admit there is one little Edge case where if an attacker steals your phone and they somehow have access to unlock it but they have not yet unlocked it so like an example hypothetical example of this is like a kidnapping scenario where they kidnap you and they're transporting you to some undisclosed location where they can hit you with wrenches until you unlock your

phone your social recovery could maybe take a minute there's no time delay but if there was a time delay delay your social recovery cannot kick in there and so that feels like an edge case that probably isn't the right one to optimize for which is why I kind of ignore it foreign we also assume in general like the most of the time like most of the possibilities of losing the seed phrase um like the user usually wouldn't like um give out his phone with his password out we go ahead and assume that the probability of someone losing their phone or like being stalling with their

password is low and that's how we go ahead and designing their recovery system also the application doesn't allow the user to see his to see his sign or private key it should be stored the storing this private key in a secure in a secure way and even the user himself he doesn't have access like he can't read his private key from now stored in this application itself in his uh in his phone yeah I'm a big fan of that I don't think users should actually have access to their own Keys they've shown repeatedly

that they don't do good things yeah um if we have uh so maybe I'll let other people like uh speak if they want but if he if we have if you guys are interested we can uh show you a bit like uh our contracts and and the bundle that we built the wallet is going to be completely open source uh and for Kabob uh we just need to clean up things a bit and then we'll push everything but we can show you on a screenshot right now if you're interested and now a quick walkthrough no objections for me real quick sounds good do you have a website or anything like if I want uh what else about this yeah that's

candidwallet.com very small how can you paste that in the chat yeah my screen is small at the moment sorry uh hover over the voice Channel um there's a little chat icon pops up uh yeah hover over the word General and then the chat on the right yeah let me not spam the recipe uh so I just want to make sure like no one wants to like um talk or uh say something from their side before

like we take over and show you Charlie do you have any updates from the your working group that's probably the only other thing foreign okay so I am I so Sharif wanted to present but he doesn't he doesn't have their screens working screen share so I'll be screening my channel and Sharif is going to be talking and walking through so

should you let me know what's the report yes hello everyone yeah if you can go to candid World contracts yeah yeah to the separate recovery yeah we are mainly using uh the Genesis the Genesis module is uh to add the capability for the for the uh for Genesis wallet to interact with an entry point and we have added the some modifications the same the same with Genesis wallet with some modification

uh also I've done our own baymaster contract uh also based on the Eastern contracts we've made the testing extensive testing so that it shows all the steps in order to deploy the contracts in order to interact with the contracts yeah uh yeah this is uh from the contract side also we have uh also we have uh the the contracts are using brownie for testing and uh and deployment

uh also have another Rebel for the bundler if you can yeah we are using bison bison and Django for the one lap yeah so uh yeah yeah it can it can receive operations from yeah from the application and it can process it and it can versus it I can bundle it and the consent with entry point yeah and you have seen a live live demonstration with uh with the app working with the bundler uh also have a master Service as

a one large that can receive operations and it can decide if it uh uh if it if you don't sign if you don't sponsor this transaction or not it can take a decision yeah this is that this is uh this is our bundle and contracts so we'll be we'll be publishing everything so you'll still be maybe taking a closer look in details um but happy to like uh I guess we're happy to answer any questions you have the ability to easily show just like a diff of your contracts versus notice contract or is that [Music] um yeah we are we are actually using the

exactly you know we are universities contract is not even in the you know is in our wallet because you are using a a proxy okay and the boxing just uh we just passed the the address of the of uh of the singletonians contract so we don't even have the uh in our Rebel we are just having the proxy we just have the proxy so our uh you know our our implementation it it's mainly based in the in the middle added to the Genesis wallet yeah so if you

can't show them the module yeah there is multiple Parts there is a fallback manager there is a module manager uh all these contracts when added to Genesis wallet it adds support for uh for the entry point and if you can go to testing mark yeah you can go to test so all your modifications are implemented as like um like you subclass Genesis and then do a little bit of wrapping and that's it yeah mainly uh yeah mainly uh um mini modules yes yes yes and you have

interesting if you go to the uh if you go to test no no no outer test yeah yeah this one can you solve it because there is like detailed this is the third way so how we can deploy the wallets deploy the proxy how we can add the modules uh how how you can uh accredit recovery recovery operation also you have another test for the bandlas that can work with the number if you run the Builder service and run the test it uh yeah it works with the mandar uh with the same

contracts testing for each step um yeah so it's made it's mostly like we haven't modified the general system that's the that was one of our goals it's not too much modify at all the or even to Fork hypnosis it's actually to use it and wrap it uh around so we can use it and modify modify uh our modules so any modules that we use we can like

build our own it's very wise given the huge amount of money they gnosis is spent on audits yep um like you said we're gonna be pushing everything uh since we're gonna be open source as well so feel free to like uh forecast me mess around with it um we just need to clean up things a bit and we hopefully we're gonna be publishing the app next week on Android and iOS it's a flutter app uh and um we hope to be accepted by Apple and Android if there's no mistakes we have a few fixes to do uh before we publish it

we're gonna Deploy on quarterly so we'll be welcome any feedback as you use the wallet um uh we wanna like make sure to test it from the from a user perspective uh read the contracts uh tell us if there's anything that you think can be improved before we can actually make our deployments on mainnet we're going to be aiming to deploy on optimism I did not plan you said mainnet and optimism or just optimism sorry uh optimism maintenance so just just optimism is there a reason that you're not deploying on uh ethereum

we uh we want to start uh with optimism um with the way we're gonna go uh with deploying on multiple chains is going to be really gradually um uh first we're gonna uh yeah it's going to be gradually there's no reason why we wouldn't Deploy on on minute but we just wanna uh do it one by one um any any questions or other feedback we can take uh I think that was very useful the feedback that you've given us all of it

I think James has a question in chat about what like what a relationships uh which license we um I think Sharif knows which slices so far we use the contract for a gpn3 that's our GPL okay yep um yeah and I think same for The Client app as well I haven't read all the questions that was covered already okay

uh okay there's no more question then thanks a lot for showing the demo and and uh we'll share once we uh once we publish the app with you and we we want to hear as much feedback from you I'm happy to see a wallet focusing on censorship resistance decentralization privacy so it's it's nice so many many wallets are like urgent or very centralized and very borderline custodial which is nice to see different I think the only other feedback would be that um if you can make the UI deployed Deployable to ipfs I think that would be

the last little thing that might be centralized if you're not careful let me do that um I yeah I think I think BB we want to plan to do that because we have to concentrate however since it's going to be a web app uh the on the ipfs uh it's totally different from the mobile app client so it does require a lot of effort but we do plan in the future to do it um it's just like a step-by-step thank you all right thanks a lot and I'll I'll give the mic to the to anyone

I think we're pretty much a time and I have another meeting um but thanks everybody for coming out and uh yeah hopefully we'll see you in a month yeah thank you thank you for changing the time