Let’s BUIDL - ETHGlobal Bangkok 2024
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
Join us for a workshop with Anton Bukov from 1inch titled, "Let’s BUIDL." In his presentation, 1inch co-founder Anton Bukov discusses building permissionlessly extendable, non-custodial tools that operate without the need for PoS, PoA algorithms or oracles, focused on the Dutch auction model and competition between resolvers. This workshops took place at ETHGlobal Bangkok, a 3-day hackathon held November 15 to 17 2024, that brought together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com
Transcript
e okay yeah okay okay I'm ready spee forh okay hi everyone my name is anthon bof I cofound with a uh existing uh tools and libraries and protocols which one in is working on Cross chain protocol we recently announced 1in Fusion plus it's basically implementation of this protocol but now we are writing specification for this protocol which would allow any team any project any company any uh it's even possible for non evm chains and for Bitcoin chains like UT EXO chains and and we made it possible with uh Atomic swaps Atomic swaps idea was presented more Dogecoin and yeah almost every blockchain nowadays so second of uh important key points is the ex permissionless extendability this implementation if they don't like our code or they can build their own implementation for salana near T poad do and G app for this as a service for other people for yourself for everyone you you can run it without negotiating extendability and third key point is how we do price Discovery we do it as Dutch auction on bitcoin network is uh practically impossible I think so yeah existing stack how how it how it is implemented on our side I mean if you would build your own implementation for any chain you will need to use it with any other implementation and you could use 1 in implementation for EVMS then we use 1in Fusion as uh something which works on top and offer Dutch auctions on top of limit order and fusion plus which works on top of 1 in fusion and offers uh escroll cross chain protocols works and how we achieve its non custodian is basically uh Atomic swaps how Atomic users just provide digital signature for their limit order whenever resolver is happy about moving price they feel about this escrow finality they can deploy escrow on destination chain with assets which is like destination assets and once user is happy about finality of destination escrow it's uh it will be happy to leave for any reason destination escrow will be cancelled first and then Source escrow will be cancelled so that's like the flow it works uh I I also have some visualization of like ABI order are static size so it's like eight Fields but there is a way to have extension to this order and this extension could be provided via arguments additional arguments we call it them arcs this arcs they can contain you see in the bottom there is a like Target extension interaction perm which is taker per me so extension orders so uh there is a possibility to use the smart contract signature to the answer yeah the extension of the order is a string which actually have those Dynamic Fields actually making amount data taking amount data that's the way you could achieve Dynamic prices so limit order will have not fixed we have the those maker trades this is uh like a visualization of how it's being used inside the protocol so there are like different nonsense EPO series uh expiration and you order and yeah you also have like a bunch of flags I think if if you need help with any of this stuff you could ask 1 in mentors about it there's a there's a bunch of people from our team here here you can see you can easily find him by his amazing yellow jacket so okay it's strange a little bit oh yeah it's here yeah whenever taker is feeling the order they also provide taker trays as an argument where they provide threshold the they you you could try to fill order by Mak making amount so uh specify how exactly arguments contains uh extension and interaction if we talk about how exactly what is the flow of filling order inside of limit order this is basically smart contract and if uh call is successful is not reverting this mean that it is able to fill this order so for example you could build something like you could check oracles here you could build like stop loss orders what whatever you could imagine yeah sorry about this yeah it was about taker trades and yeah it also have information about stor extension and interaction about the lens how they're like packet into arcs and yeah also you can see that we somehow calculate amounts statically or dynamically then uh protocol checks predicate if it's possible to CH to fill this order now or not and then those uh uh five lines h i PR interaction this mean that limit order protocol Will Call some smart contract provided bunch of arguments and you can have arbitrary logic there then maker assets are being transferred to Taker and then taker interaction takes place if taker provided interaction argument then taker assets are being sent to maker and then post interaction happens so if you would wish to fill multi M orders simultaneously it's also possible you could use taker interaction for this just and then another order and you can dive deep into this thing multiple times so that's basically reentrancy initially re- entrances appeared as an attack Vector but we use re-entrancy to serve the protocol needs we actually can you can do this you can mutually resolve it or you can do whatever you want swap rest on dexes on Sexes on pmms whatever and at the end you will uh end up to transferring funds back to Makers so you can work with remember those fields uh here making amount data on the right with comments Target extra data making amount you can have uh those methods will be called and this extra data will be provided as an argument have implementation of Dutch auction you could use the same implementation or you could build your own own implementation so that's like if take If U if uh resolver taker is uh Feeling by making amount then protocol will ask ex external smart contract to provide get making amount so yeah it's like so it would be better it's better to have something and not use then if you wish to have it and you don't have it yeah and yeah the the most complex part but I will explain it easily it's like Fusion once the source escrow is being deployed like you user places an order then resolver when it's ready and happy about moving price they can uh fill users order and this protocol will make sure that funds are being delivered to an escrow freshly de freshly created escrow and yeah most of the arguments of this escrow can be validated all of the arguments by just checking this escrow address because we use so yeah whenever resolver is happy about Source chain finality it's uh it will deploy have to monitor this front end will do this for user or wallet application is doing this for user it depends so whenever and this secret is something which will unlock both funds on both chains and resolver will be incentivized to finalize these operations if resolver will be enable to complete operations then resolver so they're like incentivise to finalize even if original resolver is not performing for any uh canellation periods starts for Destination chain canellation happens earlier for sure that how resolvers are pro protected from user manipulation and then canellation uh time will finalize both operations or cancels both both operations in the worst case if resolver is not working on it any other one second oh yeah here I'm finalizing the cross chain like fresh slides about this to explain this New Concept it's called toen plugins this is something which allows to extend functionality of the token after it was deployed but still with the functionality only for those users who need this extension so if you have some token an extension to your C20 ec20 plugins it allows users to have multiple extensions connected to their balance whenever their balance updates those plugins will be notified about changing balances plugins connected to this token like delegation plugin a and delegation plugin B this means whenever vitalic balance is going to change those plugins will be notified and they can handle it like make some computations or whatever they want to do so you can have onchain delegation which works and when your balance is changing delegations acation plugins and one farming plugin so it can be incentivized and receive rewards so farming plug-in is something what gets notifications about changing user balances and what help what it can do it can just take the farming pools like what is farming protocol who who knows what is farming protocol farming pools distributed in another assets and these rewards are being dist distributed over time like let's distribute 1 million of join this farming pool they can leave this farming pool but rewards will be computed properly for every second proportionally to every participant so we were the guys who invented farming originally and we implemented it is farming pools but just steal your assets while here you farming plug-in do not have any exposure to your funds so this way to incentivize users to participate in your tokenized protoc risk- free completely risk-free so yeah farming plug-in can't steal your assets because they don't have any approved among all token users this is like a wallets of different uh token holders it's not like gever so among all participants some of them can connect plugin a and they will be in the left set some of the plugins but number of plugins you can connect simultaneously is limited it could be 5 10 it depends on when you deploy your token you have to decide so here is basically I I I I call this plan slide token plugins accounting what I wanted to say here is that each plugin is only getting information about wallets which are part participating in this plugin if some wallet is not participating this mean that they will see it as address zero so each plug-in have own accounting whenever you adds plugin plugin will be notified notified that your balance is changing to zero this means that you will have zero balance in this plugin but if you will transfer to someone else but if you are transferring to someone who do not have this plug-in plugin will be notified that you g Integrity of own balances they can have total Supply accounted so they can totally understand how participants are getting in getting out and uh moving funds among each other and yeah to to to just H how how you can uh build uh token with extension as many other extensions in open Zeppelin Library it's not yet in open Ze library but it it will probably be there we will try to push it harder and yeah uh now you can find it in uh GitHub 1inch token plugins for sure so yeah you can inherit from your C20 plugins if you're building some protocol where shares anything is tokenized it makes sense to have roles that sounds great or even if you already have protocol or whatever what is tokenized but you want to add this functionality you can make a token wrapper which is plugin enabled so yeah you just deploy it and you can just users of this token can add plugins they are they want to have or plugins which are offering them to have so yeah the like the main three points of those plugins is that anyone can develop any new plug-in and plug-in enabled tokens will be able to use those plugins immediately partic they can't prevent your tokens from being minted burned or transferred whatever you are tokenizing and whatever inside of the plugin but transfer will be or transfer mean to burn will be completed successfully and plug-in state will be corrupted participate in multiple plugins makes your actually like a it's like a super power for example if balancer like imagine next version of balancer is inheriting their LP token from ec20 plugins that means that liquidity Pro could contain like multiple different tokens and Dows of these tokens could for example wish to incentivize liquidity provision to this pool and they can Co incentivize this permissionless like da a can create Farming Farming plug-in dowb can create farming plug-in and liquidity providers can just join both plugins and farm their to build any other plug-in plugin is basically smart contract I I think I have one more slide about what is plugin which have delegated balances so yeah that's the way how you can have onchain delegation for any reason this could be delegation for participation in some activities or this could be delegation for voting in Dow or like whatever as resolver or something and this would make sense and we have have farming plugin for sure this could be used to incentivize anything incentivize liquidity in protocols incentivize collaterals in Money Market incentivize depths in this token plugin to build your own token plugin that's the only thing you need to write so yeah you need to write some cod side of them this method is called update uncore update inside your C20 implementation so plugins basically this like who sent which amount and where and those parameters could be zero if they're real will be also zero or if someone else transferring you who do not have your plugin your plugin will be notified with from zero so it's like you know your C20 votes implementation from open zeppin have snapshots inside of it we can have it can check and if there is a requirement to make a snapshot for the past block you could save old balance and then you will update it and you will have snapshotted balances for some specific block for example and you can make uh this plug-in to have multiple tokens connected to it which will be like a readon versions of snapshots plugin requires okay I need snapshot for this token for this block number and this means that it will immediately create new number is in the past already so yeah that's probably the latest slide yeah oh such a cool AI two plugins two plugins which we develop they are GitHub 1 in farming or and GitHub 1 in if you will have any questions regarding uh those systems smart contracts opportunities yeah I think you you can who know the answer and yeah thank you [Applause]
Automatic transcript — names and jargon may be misspelled.