Chain Abstraction Community Call #2 - near/dev/hub
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
Thank you to all those who joined us for this month's Chain Abstraction Community Call. If you want to learn more about chain abstraction check out this link linktr.ee/chainsignatures
Chain signatures updates from Pagoda: David (a.k.a DMD) gave some quick updates on the chain signatures front, stating that the audit for the main chain signatures contracts is underway, and after making necessary fixes, the mainnet deployment will start. He also shared that they are integrating the MPC contract with yield-resume docs.near.org/blog/yield-resume which will decrease the gas use when requesting a signature and that the sign method now requires a deposit to ensure a full-access-key is being used for security reasons.
Super Omnichain Account Platform presentation: Marco gave a presentation on SOAP, which is helping to enable a multichain non-custodial wallet experience. He also introduced the SOA DEX, which, due to the NFT nature of these accounts, enables one to atomically swap assets on different chains.
Chainsig library call for contributors: Next we had a call for contributors to the new chainsig library github.com/near/chainsig-lib . Proximity is asking for devs to give their feedback on the interface by opening issues and anyone is free to contribute a chain. During the call two issues were generated: one by Illia suggesting that the naming of the library https://github.com/near/chainsig-lib/... follows NEAR standards and the other by Kendall regarding the naming convention when adding new chains https://github.com/near/chainsig-lib/... to the library.
Omnitoken walkthrough: Illia and Kendall guided a walkthrough on Omnitoken which is enabling tokens to live on multiple chains. Look out for more on this in the future!
Verifying state discussion: There was a quick discussion around how chain signatures can easily initiate transactions on foreign chains, but they cannot verify the state of the foreign chain, so individual solutions are needed for this, such as light clients, messaging protocols, and oracles. Aurora is building a NEAR light client for Bitcoin to help further advance DeFi on the Bitcoin network.
Transcript
8,354 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:05
there we go okay so number two of the chain abstraction Community call welcome welcome so what are these calls we we basically know we just come here discuss what's happening in the ecosystem related to chain abstraction uh more specifically chain signat I guess and uh we we have a few presentations and we try and make it more free form discussion as well uh discuss any pending issues or uh stuff we're unsure
- 0:47
about and we love everyone to participate so if you have a question or thought just either speak up raise your hand or type in the chat if you're not comfortable with that okay so we have some suggested topics of discussion so we'll have an update from Pagoda first then we have a presentation from Super Omni chain account platform that's a long one then um Matt was going to share his chain signatures library and uh get some
- 1:30
Dev eyes on that but he can't make it today so I'll I'll share that I suppose and we had two suggested topics these topics actually came from myself uh so I I thought great topics of discussion would be uh asset storage standards for these derived foreign addresses and how we can keep track of these addresses and verifying the state of other chains but I suppose we'll get more into that when the time arrives okay so David do you want to start us off with the updates
- 2:09
sure I'll hop right on so the good news is the audit has started um we now have Auditors working on that they'll be doing that for a few weeks um we'll get the audit report back and then we'll depending on the magnitude of the issues um we take a couple weeks to fix up the problems they find and then we'll release main n chain signatures and release a report obviously as well um in the sort of obviously during audit time you have bit of breathing room um so
- 2:38
we're updating the API making easiest to version um we're fixing some very silly paper cuts in the first version of it like mixed indianness of hashes which is one of those slightly embarrassing things that found itself in DPI to start with um we're also uh integrating with yield resume replacing the sort of busy Loop um that means longer timeouts so so you're more likely to get your your thing through and more stability um and finally we're um attaching forcing you to attach balances when you call chain
- 3:08
signatures because um that forc people to use a full access key rather than issuing limited access keys to the chain signature contract which we help as a security issue um this um deposit will also escalate in periods of High um congestion to start with hopefully we'll be able to scale beyond that in the non-distant future um and that mean that if the sort of a big queue sort of you
- 3:31
know 30 to 60 seconds um we will start making people pay more to join the queue um which will help us deal with congestion a relatively easy way so yeah it's a sort of getting close to that release um things are chugging along um you'll be able to see the new API in the V5 testnet contract um we don't recommend using that it's sort of our bleeding edge one where we sort of test stuff out uh and the V2 contract will
- 3:56
get an update after we publish the new apis and update the libraries and get everyone a chance to uh transition over and use the v51 to make sure their libraries work um so yeah um any questions on that subject or I wonder was there a list created of the contracts in which uh like state of the multi-chain contract is or the NPC contract is is uploaded there so we have one multi-chain contract per per Network so main net
- 4:36
there'll only be one multichain contract right and all the state there is ephemeral so the only state that matters is we keep a list of outstanding calls um there's no State beyond that um everything else is just uh derived from the Uzu calls um so there we don't store sort of large numbers of keys or or mappings or anything like that I I think I meant more the uh so there's like the the V5 and the V2 right yeah um but
- 5:07
aren't these they have like a different contract version uploaded to them right yes okay so is there like a list anywhere saying which version is uploaded uh we probably should Del that list so we're gonna V2 is only going to be taged versions on GitHub so we're going to sort of do .3 as our next version um so V2 will always be the most recent version and B5 is always the the head of repo um
- 5:34
so yeah awesome any more questions to David about that okay oh go ahead or was that is that a misclick I can never tell with these hands up okay I think I think it was a misclick okay um yeah thanks so should we move on uh it's it's Marco presenting right yeah awesome do you have any slides you want to show yes uh let me share my screen now I'll take mine down hello can you show my uh screen out yeah I guess it's
- 6:35
okay so let's get started uh hi guys I'm Marco from ref uh ref Labs so I would like to have a brief introduction of our ongoing new product so appar apparently it's just the abbreviation of the super omin account platform uh we are about to bring web three users this brand new UN wallet system uh with brand new user experience which most probably will affect the way they access the Hobbs
- 7:09
reward so uh this super om CH account that is uh so you can think it as a decentralized version of your web stre wallets which is currently St pure uh locally like on your local machine on your Ledger on your treasure on or on your uh web Explorer local storage right so uh this s SOA is built on top of two powerful features of Nia one is this chain sign nature and the other is the the the power of smart contract so what does this combination bring us uh I
- 7:47
think first the widest support of chain as long as the near chain abstraction uh supports signature algorithm the target chains on so we don't demand any further feature from that CH like we don't care if they support smart contract we don't care if they have any EV like exclusion layer uh that's the the first point the second one is uh we have pure native accounts uh this one I think weighs much much more than you may think uh we won't
- 8:19
suffer from any account based censorship On Target chain meanwhile maintain the ability those native account can have before or couldn't have before uh I I would like to just take one example uh and you will get that point uh yeah the mining inscriptions most of inscriptions will uh limiting from uh contract account C account on evm ch right so uh but s SOA is is actually a eoa on evm chance and
- 8:55
still can have Smart contract logic behind the meing yeah that's the example uh the third one the third point is like chain uh chain level security I want to elaborate this one uh here because we all know that it's NPC signature behind uh the last point but not the least one is that the ability to decouple web3 ID with specific account specific accounts uh we we always have this strong feeling that account is not equal to is not equal to well
- 9:30
ID uh yeah does it make sense that a specific account on a specific chain should represent a web3 user forever uh from our perspective uh account is only access to to web3 word Can it can be built it can be chosen it can be traded even can be removed freely and the web3 ID is something that above accounts Beyond accounts and in addition uh can operate and the manage accounts so all these uh points make
- 10:06
make so super in in terms of uh am many CH accounts uh yeah this one tradability more than that we have another exciting feature is this tradability so uh first so has value in nature but this value beyond what kind uh what kind kind of tokens it currently holds it also includes airdrop qualification uh powers in governance uh reputations in in some depth connections with others for example maybe uh some Blaster points
- 10:44
right uh this so yeah so the second one uh is we uh wrap this so into a kind of nft format so the reason why we choose nft the most specific is uh nap 177 uh why we choose this style because first we uh so no so has no official value this is similar to uh nft the second one is I think is more uh interesting is like the the approvement that is uh uh NEP 170 178 is a good way for so to be listed
- 11:27
and meanwhile be operated at the same time uh so the in the trading process there uh we must ensure a safe a safety trading process because it uh uh it face some possible attack it includes we can withhold uh the the seller can withhold sign sign transactions without you know uh sending to the Target chain they can presign some transaction with with a high n in the evm like chance and they can have some suspicious preapproved transactions
- 12:06
in evm chance so uh we will we will learn later how we address those risk uh risks yeah uh yeah this this is a component uh you're are looking at you now you are looking at this comp this chart is the component relationship of the the soap from this chart we can tell is not a closed system it's open and extensible it has many extension points uh for example we have account abstraction extension points with account uh
- 12:41
abstraction we can have social recovery we can have multi we can have web two loging experience and uh for example this guest service this extension we can have our users to be focused more on their intentions without worrying about guesses and you can imagine uh this scenario if user can pay gas at any chain they like use any token they want it turns out to be uh something like they may establish a a specific a specific guest account for their all web
- 13:13
activities they can actually easily get to know and manage their uh gas gas consum uh consumption in web 3ward uh for example this account evaluation it could help users to know the value of the s uh to know what the hold know it's past know its connections there are many data analysis products can play this flow like something like p b and Etc even the Dex even the Dex is a extension point it can introduce more
- 13:48
more trading patterns now we can have ways like listing uh and waiting for buyers we can have like auctions but Innovations on this trading ways will always be an exciting news for the whole system uh the following will uh I will uh emphasize two flows the first flow is like how we operate so in this flow we can see uh there are many steps one by one the first step shows uh the wallet is the user
- 14:23
interface to access so and actually uh there would be some key to support what building by communities so it's also can be taken as a extension point we would be happy to see multiple wallets to s for uh uh for for multiple platforms such as um maybe web page version TD version a mobile version of some web plugins uh the step two shows us the wallet is also a near wallet so its nature to access any account abstraction
- 14:57
contract uh smart contract in this case uh in this chart let's say represent Alis is a smart contract for account abstraction in step three this account uh this account abstraction smart contract rep represents Alisia to that uh access Stone through cross contract call in this step three uh this uh and this you can uh come back to this step four uh yeah it's ch a normal way to like just to directly user using the the wallet to
- 15:35
access th uh to man uh to Manu uh to to manage and operate so including a create so operat so or or or list so on some Dex uh this step five chose another extension point before actually sign the uh the target chain transaction user can request a guas service first uh and uh yeah through this guas service in steps fix uh uh the wallet could wait for the result of gas service and as long as the gas service is completed the the wage could then uh
- 16:20
you know start the next stop but then the next step but the next step could include this step seven it shows user could apply for for near gas service through meta transaction so with this two different gas service a user could um totally have no guess to involve in uh web Street activities yeah uh so again uh yeah in this step step eight chose how a a a a metha transaction Rel wrap the user transaction on near into a meta transaction and access with our uh
- 16:59
Z yeah uh and now following this Steps step nine step nine is a corep that show the our smart contract s to call near chance signature service which is actually uh an official smart contract in the current version is v two we call on the test net need to need to mention here is uh there is an important revision ID in each store this revision ID uh will increase by one for each
- 17:31
signature request and they will be used in the uh fitting process to inure security to ensure security yeah uh the following step 10 and step step 11 the step 10 shows there would be a off chain indexer listens to all sign request in the so and it records the those cor core ingredients such as the so ID the soul owner the payload the revision ID the signature uh they will be used to secure the soul trading yeah uh and this uh
- 18:10
Step 11 uh this Sol layer listens to all sign transaction and said send them to the Target chain uh in steps in Step 12 but it's not a mandatory step uh because the so wallet could do that job on its own especially in some time sensible cases such as Arbitrage some Arbitrage activity on some Define product uh as showed in this uh Steps step 13 so this is the whole uh operation
- 18:43
flow with this flow a user could easily uh through the soul using their soul account to operate in the Target chain the second flow is the uh the secure flow uh in this flow we shows how we can trade SL uh in a secure way the first step is like the seller figures out a price on his so this price this process is most likely with the help of some account evaluation Service uh and that's in step two the seller ask St to list his s on some
- 19:22
deex and in the this the following step three the S leverage uh n78 to approve the Dex to list this so I need to mention here is that the seller can still operate this so during the whole process yeah because thanks to this approvement management uh standards so is not actually transferred not not actually transferred to the Dex it's still under the owner of the uh the original sellup in steps four uh step four once some buyer we say uh let's say
- 20:01
determines to buy this so again it's most likely with the help of some ACC evaluation service to make the to help the buyer to think this uh is worth to buy now uh and then he will uh do the following steps for uh in the step five who will uh the buyer will to uh see if there is any risks yeah so they will check they will query the indexer to to see the the the sign transaction history if there is any suspicious sign transaction in the in this so in the history and in Step six
- 20:45
in Step six uh the buyer starts to starts the the actual buy process from Dex with this Dex the deck with this process the Dex cost an FD transfer with the revision ID attached in the in the memo field that's the key so uh this revision ID rep represent the exact uh s state in this trading so if if s this s uh as the as the nft token contract detect a mismatch of revision ID in transfer request and in the current revision ID so uh the transfer will
- 21:25
panic and the whole trading process will be cancelled uh above these the the core points of this uh soap uh platform uh as a summary uh please allow me to take a couple more minutes to have a quick walk through on our demo uh this demo is uh can be accessed in this web uh web link uh and can also be accessed from a telegram uh this this this are this demo to show the ability of operating and creating so
- 22:10
uh uh here yeah so uh first let me uh switch account to a brand new uh near account in this account we have no any so so now we can have a new want to uh click this we can have a name of this uh so wallet it's on the test net okay so now we have this uh etth wallet uh with this address but we we have nothing so uh now we can do is to buy something from the market yeah uh uh to buy uh such as we
- 23:01
buy from uh jimy uh here is a uh a listed a listed so uh if we click buy we will actually get this account in this way we we can with without a create a real a real one uh sorry let me see sorry I think I might have bought Jimmy before you did oh really let me wow yeah I definitely it now sorry about that running you on your demo that's okay it's okay uh I can just switch to let me see uh uh just a quick demo we have this uh empty empty account right
- 23:54
so let me uh transfer something using our s so platform so just now I copied this address and then let me switch to some existing account this pinka I use this pink pinka for test so now we can see we have H this much uh ET token in this pinka MCO demo uh wallet so now we can uh send someone to like 0.0 uh how two and okay this is uh called will uh invoke the whole uh you know trans sign nature
- 24:42
process through the the th smart contract yes now we can see this contract via uh this e explorer and uh actually we can see the balance now when we switching count to this one now we have 0.02 and still we can send some token from the original send some token uh see pinka uh we have some token uh for testing let's send 300 token to uh that account I guess it's only still this one so let's let's see we send
- 25:34
300 uh ic20 this is20 token it shows how we can you know uh operate this so yes we are say two transaction one is e transaction one is near transaction where eth transaction uh we we will see the ic20 transfer uh and meanwhile the wallet will mon listen to all the CH so uh for a few few seconds there will be a modification a change in this balance yeah I hope it's in seconds okay now yeah you can see Zero and the one way switch
- 26:23
into the new account yeah we have a three 300 B in balance and then now we can sell it with the price 10 year okay okay where is my uh seller sorry uh Xing here uh need to mention that uh uh in this Market view uh to display a account with different aspects like this is like tokens this is like uh this points shows with the help of the account evaluation we can show more aspects of these accounts like the blast points or something like that uh maybe I I I take
- 27:22
too much time so let's go back to let's end here for our demo uh welcome to use our demo and we will um uh instant constantly upgrade our demo and by the way the Nam Stope uh May VAR uh vary later maybe to some more exciting ones after and after my introduction I believe you all get the best point of this thing and if you got any suggestions on the names or any aspects of this please pin me on the telegram this is my telegram Handler uh thank you for thank you for
- 28:00
this thanks um are you open for any chain sigy you say that too much Mike um are you open to any questions I I know I have some uh may maybe everyone else does uh because I I'm curious when you're transferring the accounts um you say like nfts are you actually using the nft standards on yes MD standards we we only extend have one extension on the on the MFD standards that is in this uh step seven
- 28:39
uh this this uny transfer is actually in invoked by a DEX that is by a approval party in this way if we detect a transfer from a approval party we request a revision ID in the memo field that's the only extension to the stands to make sure the security so could you link one of these uh uh sell like one of these accounts on mint base or or Paris or something yes uh and this can only link the new generated accounts uh as as we
- 29:20
all know the 10 signature we need we cannot link a existing uh you know EV uh evm account to to this one because the the whole SOA is based on the transing signature technology it must be some uh a key pair from MPC signature yeah yeah uh any other questions for Marco from anyone uh but I can uh sorry uh maybe I misunder then your question do you mean that uh let's see do you mean that with
- 30:04
this aliston here it could be a mint based account right I mean more so you're swapping these derived accounts um that you're selling on this Dex right uh what I'm saying is because it's using nft standards could you decide to sell these accounts not on the decks and you say like mint base as a DEX or or p as a DEX sure because the Dex is also extension point to to the whole system so we do hope that we can uh fit this into the uh regular deck but this is only one
- 30:46
requirement that we need to the Dex to attach the revision ID in the in transfer but if the if the Dex uh failed to attach this thing uh it also uh also couldn't cause any uh any loss it just cannot have a successful traing but it can also list the the wh uh the wh s account right so it needs to do some extension work because this revision ID with this revision ID that will cause some risks for buyers because if the buyers is
- 31:25
starting to buy this St but with the evaluation of this so in some signature history and during the process of buying the original seller sign another transaction this transaction uh let's see transfer the most of the tokens to the to to a third account then the buyer will suffer a loss but with this revision ID the the smart contract can verify the soul is in the correct state with the B with the uh uh what the bu
- 31:56
the buyer SE SCE yeah okay awesome thank you for that demo if we don't have any more questions uh I suppose we'll move on yeah just one one quick one thanks worker for the demo super cool um yeah you you guys are trying there's a few teams trying to do similar things with this tradable account um would be great if we can kind of collaborate on having like you know at least like a standard we can agree on so that as some these marketplaces pop
- 32:29
up there's a lot of uh reusability um I think a lot of people have different thoughts uh I don't know if there's any way to like see your code somewhere if you guys have it kind of written up basically like that the nft standard plus like the uh additional features you need um and then we can probably take it upon ourselves to kind of just create may maybe it's an NEP we'll figure out the right process but uh so we can kind of collaborate towards
- 32:54
some composability and and another point of collaboration is definitely um we need to work out how prove that keys are safe for certain situations so like come up with a protocol collectively which is um either they've already always existed in a smart contract that enforces certain rules to prevent sort of this mobie traffic um or that we can uh have the history on chain and Traverse it and
- 33:17
make sure no bad signatures have been created so it's definitely something we need to think of from a sort of NEP perspective I know that uh Jacob has been working on nft nft chain keys I think they're called uh I suppose that would be quite similar I wonder how disimilar um the the standards you've been using are Jacob modifies the nft yeah I think uh I also uh noticed that there is a a chance a CH uh anap
- 33:58
like standards in ongoing and I noticed that they uh using a another feature like approv the third party to operate the the account it's a a slightly different with what we want to bring what we want to deliver we want to deliver a a trading process of this accounts so uh it's not um important point to let third party to operate this account in the uh in terms of the the the the the the the soap platform because in our uh consideration
- 34:33
it it will be the uh responsibility of the agree the precept like some account abstraction to do that so we focus on how we can safely transfer between accounts this so so we keep the the whole n standards only one extension to in to secure the transfer yeah yeah if you had that written up that would be awesome and then I think we can yeah basically circulate this with a couple of the other teams working on similar things and just see where we can find common ground but we we can take
- 35:08
that on so if you just have have kind of what you're doing and some of the requirements then we can uh we can we can leverage that yeah thank you yeah of course wonderful right I will quickly share the what uh let me share the right screen I'll quickly share what Matt has been working on so hopefully yeah I think you can see my screen so he's been created this Library the chain Sig Library as you can see and
- 35:49
basically this is just a repo for creating an interface of how to interact with these different chains easily because I'm sure you've all seen the near Dash multi-chain repo and there's like a whole file in there just for interacting with ethereum right so the idea of this library is that you have this standard interface uh for interacting with uh Bitcoin ethereum salana well in the future and um whatever chain really so
- 36:28
you just have you could see here like a uh a Bitcoin object uh or you could have an ethereum object and there's standards for both non-smart contract chains like well Bitcoin uh xrp I think and then you also have specific smart contract methods um and basically yeah you could see all the methods here and basically uh Matt would just like people to get some eyes on this and give feedback about the approach and then I
- 37:08
mean he's looking to implement a ethereum example I committed this one actually it's empty so he's looking to do that but I'm sure I'm sure he's not going to be mad if you uh beat him to the punch and commit that or commit any other uh chains so yeah if you could all uh take a look at that when you have time that would be amazing and yeah I'm sure you can add some chains that people have
- 37:45
never heard of before that'd be quite interesting uh any questions about that I think that was pretty self-explanatory so I'll move how sorry how are we naming the chains like what's a convention naming the chains well like how do you chain like I want to sign for you know Dodge Coin like what what would be the convention well so I think you just create a new instance of an object right
- 38:23
and it would be uh I suppose you could call the object whatever you want and then uh well here so you import near well near is a bit different but import like Bitcoin ethereum from this Library uh so I guess the naming convention is just a chain in lower case is that what you were asking or am I not sure well I mean I think there's a difference between the chain technology versus the chain ID and so uh so ideally you want like you want evm you want you
- 39:00
know Bitcoin like ancest uh or whatever Bitcoin inherited right uh and then you can pass a chain ID which is like base or optimism or Dogecoin versus Litecoin right so like there's a difference between the technology and the actual chain ID right yeah does anyone else have any ideas around that yeah this actually bleeds a bit it's a good point it bleeds a bit into the uh it's not exactly related but similar to the uh kind of asset naming standard um
- 39:42
so oh hang on this is what this was an initiative started by wallet connect um and I actually they don't quite dive so deep on the canonicalization of the the naming but they do a little bit um so I we could we could basically look to just follow this part like they have I guess what how do they even do this some somewhere in here they're they're deriving like the EIP that's used plus the chain ID for something like um for
- 40:14
something like an evm chain um for Cosmos I think they just straight up went with Cosmos so we'll have to look into that Nam spacing but I think if we if we if we look at this and decide like this actually fit oh yeah and uh awesome Mike Mike posted there kind of the asset standard too I think if we looked at here to this just because it's rather than creating a new standard and we at least have W connect and I believe Nosa safe uses this too or like an extension
- 40:39
of it it's like fairly similar that that could be a good a good path forward so we can also talk to Matt about that too I mean I think look this is very much like an open for discussion question but it's a great point I think if we can try to adhere to this naming standard that could be some low hang for just to like not create that new standard I mean this standard is okay for like for developers but I don't know if you know AAP 119 Colin you know
- 41:16
1,736 right is as good as just base yeah I mean I the other way we could do it is just lowercase name of name of the probably we just need to write it up like yeah we need we need a table that says like Bas is this chain ID chain ID right so which is a standard yeah okay so we'll just pick the top 100 chains and just write it up and do that and then I mean honestly it should just be on whoever is submitting the the thing but yeah I think we can cover all the existing chains and then it'll be
- 41:49
you know hopefully hopefully like fairly obvious I'll create that as an issue in this thing Mike did you have all these links prepared or you just type in them up so quick I I I start typing in my uh uh URL and it auto completes because I have these like super in history nice I I suppose uh it would be a good idea to open up a discussion somewhere around this yeah I'm going to create an issue on the repair right
- 42:26
now from a naming perspective um like we I mean we have this like API versus SDK kind of convention should we like adhere to that I mean for the for the library itself it or like the lib is the right way I I don't have an opinion just curious the lib doesn't contain any code yet like the bitcoin. JS is also blank so I think this is a more of a maybe GitHub discussion maybe well the idea is to commit to this but I think I I think Matt would like some
- 43:13
more General feedback of the way he's going about it rather than maybe implementing anything right now so I suppose discussing issues on that repo I think there's still a lot undecided but yeah API library either all really also oh and if it's cool I could probably share a little update that may be relevant immediately for like five minutes not too long yeah sure go ahead go ahead do you want to do you have anything to share screen or actually it' probably be easier just to share the full screen
- 43:54
real quick um let me take oh I just found this yesterday um so basically this is this has been super ongoing thanks for everyone for the patience on this so this is what I'm working on it's actually boss um has a bunch of Bitcoin stuff in it now it's a fork of it and so this is what it looks like when it's working and then on here on the right um this is what this is where I am now and this is sort of critical because the near multi-chain
- 44:26
example I think is currently doing the cross contract calls for sign using um the function call access key and local storage and so that's able to do like async right but um we're going to be requiring the yak Doner you know just like we did with fungible and non-fungible tokens and so a lot of users will be redirected to a wallet and then you can't just sort of do it asynchronously and so what you need to do is you need to like get redirected to the wallet and then come back and then be able to grab the
- 45:00
payload and signature and like put it back into the partially signed Bitcoin transaction so that's kind of like where we're at here and I just found this thing I did a whole bunch of digging yesterday it turns out that using um I'm using bip 174 which is the partially assigned Bitcoin transaction library and then Bitcoin lib no Bitcoin JS lib which is like the main Bitcoin library and both of those are basically requiring that we have deer signature and this is
- 45:32
different than what we're doing in um near multi-chain and in near multi-chain we are reconstructing the signature by like basically concatenating them but I just found out yesterday that like unless we want to like Fork the Bitcoin Library which is a bad idea um we can what the heck um we can use dur or bip 66 which is dur signature encoding so the good news is this this um package exists to get the dur signature so that we don't throw the error and we can use
- 46:13
like the correct Bitcoin libraries and luckily it also uses the RNs stuff so this is going to Output a different um signature format that like starts with like zx30 or something that's expected by these Li liar so this is this is the first time that I've seen this where like I'm really glad that the NPC is returning um uh like just the RNs values because like you can concatenate them or you can do different stuff um depending on on the network so I kind of I kind of wanted to flag this because I was like
- 46:43
what the heck I thought you could just like concatenate these guys but um that is not the case so something to kind of like look out for gosh I hope I'm hope I'll be done by like Monday that are you planning to contribute that to n multi chain um uh yeah I mean this this is like so this is Al also built in boss so you can you know how you can in in like um Eugene's VM you can say like ether dot whatever now you can say Bitcoin Dot
- 47:20
and do all all of this stuff um and then you're controlling your psbt like locally on the component and stuff um so that can definitely get moved into near multi-chain it looks like near multi chain is also not attaching the one yako near yet so I think that the example's probably broken um but after that or you know then we can kind of deal with that yeah I I think I'm working on that example next week so I'll uh I'll make
- 47:44
that fixed I suppose yeah awesome work uh right I think we can Branch into some other discussion but if anyone I just suggested these topics so if there's any other topic that's of more interest please go ahead and suggest so maybe just to bring up yeah like um I mean there's a discussion happening about so-called Omni token so I don't know if it's worth just briefly getting everyone opinion as well as just so everybody knows it's happening but broadly speaking
- 48:27
there's an interesting new meta here around um like as everybody launches their assets you know they kind of want to be everywhere uh and access all liquidity and on one side with chain signatures and kind of chain abstraction in general we are offering that because it means that anyone anywhere through chain signatures can access everything but that's not really how it works just yet and it's going to be probably a while until everyone gets on a chain
- 48:58
abstraction train so there's another option which is just say well actually how about we launch a token and it's available on every chain right so we deploy erc20 SPL brc2 or whatever else um you know we plug it in into osmosis and tender Etc so like you have one Supply One token one address on EVMS um and it's kind of like available everywhere and it doesn't matter uh where you're kind of accessing it or holding it it's it's like a single
- 49:31
Supply um and there's a standard around sending actually this token between chains so like this using the same address uh that we just discussed like base colon like IL black dragon. East or near colon root. near or Soul colon IL black dragon. which I should check if I have um so pretty much allowing to really uh kind of move move this asset between now chain signatures obviously allow to push stuff from near to everywhere else
- 50:04
we still need a way to kind of pull the information back right uh to move it back but and this is where we can use pretty much any Bridge that's available or Oracle or anything else yeah exactly um and so again the the asset is can pretty much select what they want to use uh they can be like a a configuration there um anyway so that's kind of the broad idea been discussing this candle this um but there's definitely a lot of interest from projects who are even once
- 50:37
launching layer twos because like they don't want to be limited by whatever the stack offers and kind of be they do want to be everywhere you mentioned um the standard do you have like a link for that anywhere or how can we find it so I'm I'm working on a write up for this um I do have something that I think I might just present briefly rather than share it yet because it needs to be
- 51:08
cleaned up it's basically like a list of messy notes but to give you guys an idea of kind of the direction we're going and I I'll actually just open up access to this pretty shortly um so that everyone can kind of contribute to it um if you could just let me share my screen real quick oh and that would be awesome thanks man all right so yeah forgive the terrible formatting here again just like mainly thinking through the workflow um the most important stuff here and I'll break
- 51:37
this out into like assumptions and and kind of things like that but is this idea that basically potentially even on like a per chain basis and but again again this is a suggestion you can basically choose the sort of message passing layer which could also be a light client that can basically be the sort of the the reading of State rather than the writing of State um and I think there's a couple areas that that'll be important uh so
- 52:02
initially it's like yeah you instantiate the token on near you know include all the metadata balances things like that um the way I'm thinking of it is like basically the the token Creator could have the authority to determine the new chain at least initially for a couple of reasons um I think the simple case here is something like the evm because you can actually have like a fairly I mean assuming complete evm compatibility you
- 52:26
can kind of deploy a a a similar or even the exact same contract to each of these chains so it needs to be like both minable and burnable uh on that given chain uh you'd want to make sure that the mint Authority is given just to the chain signature account basically the the account on that destination chain that'll be derived from uh basically the the the the token contract on near um
- 52:49
and then you want to have like you know some type of like burn function basically when people want to like take their token back from that destination chain and reclaim it on near and this is where you need the message passing even thinking through mint the mint I think we likely need the message passing primarily to confirm that the mint was actually successful you want to avoid a scenario where uh a user would try to Mint like they generate them in function their tokens are locked or burned that's
- 53:15
another decision to be made on sort of the near side um you know if if like that mint transaction never actually lands on that chain either with some kind of timeout or I mean this is again like a decision that you made then you'd want to be and maybe this is more implementation even than standard you'd want to um you'd want to basically yeah be able to let them do that so have some kind of like success message um and then
- 53:39
yeah still working through like what the burn looks like so super super messy and raw which is why I've not shared it yet we're kind of just working on this internally a proximity to get a first draft um and this this actually this marries both standards and implementation which is obviously not a good idea but kind of just wanted to like really work through what the this actually looks like in practice and then we can work backwards to something that's more of like a standard and also think of like reference
- 54:03
implementations but that's the yeah the idea is like try to have this pretty abstracted like be very agnostic to new chains that are added because obviously like there's a lot of this enables ideally flexibility for a lot of different types of chains you know even Bitcoin obviously Salon will be a key one um and you know potentially like chains with new VMS that aren't even you know thought of yet or like don't exist yet um and then the other ideas trying
- 54:27
to abstract away this message passing or like yeah basically allow allow teams to choose message passing layers I mean whether or not it'll be on a per token basis is still something that has to be kind of figured out but potentially that would be ideal and then the real gold standard would be if they can actually SW swap out message passing standards and again that's going to require a lot of like work I mean ver version might not even do that it might be like hey you just have to pick one and stick with
- 54:51
it and then we can kind of look into how we abstract away and you know build up to that um but anyway that's sort of the vision like any sort of chain mint and burn abstracted away message passing layers allow teams to kind of effectively pick their own security assumptions so uh I related to that and oh oh yes Mike good good point good point there so the uh aora team has been
- 55:17
working on a Bitcoin light client it's like nearing a kind of a first version which is awesome uh some more to come on that as they you know get that into a good State and and Audits and things like that happen um so just on on that Omni like this kind of touches on those two topics I think one is basically how you read State I mean certainly the way we've been thinking of it is like it it it's kind of a decision we should leave up to developers like fortunately near
- 55:40
has a few different ways to read State uh Wormhole is like probably the most the most Broad in the sense that you have access to a lot of chains um you could also tap into layer zero you have to go through Aurora with that which does add some complexity but it is a possibility uh and then you know we have the ethereum light client for Rainbow Bridge and now this Bitcoin light client um so I think that the vision right now is looking like there's going to be a
- 56:04
mix of options uh and it's going to be up to developers to choose what they want to do but I mean this is also where if anyone has kind of preferred paths or like things they like you know suggestions or you know like sort of ways to read they would like to see us explore please do let us know um that is going to be important cool yeah that I I threw up a discussion topic on this because I'm wondering like whether it should be up
- 56:39
to the developer really or there should be standards for these uh message passing whether that be through like Li client or Wormhole um yeah I I see we're coming up on the hour so if anyone has any burning things they want to say please go ahead or if not we can say goodbyes is anyone hoarding hoarding test net Bitcoin it's very hard to find yeah please give me some get in okay I think we can end the thanks a
- 57:26
lot for coming uh great to see you all again and let's keep the discussion going I know uh you've open that issue right Kendall maybe we can start there yeah on the on the was that was that another miss miss hand up okay all right thanks everyone see you around thanks guys bye-bye