Intents

Intents

Execute web3 transactions with a simple text command using intents.

The problem Intents solves

Web3UX is complicated, users need to connect to different protocols, learn different functions, and then hope their funds are safe.

With Bytekode Intents, users can simply type out what they want to accomplish i.e

I want to swap 10 USDC for DAI

,

I want to send 10 USDC to vitalik.eth


instead of jumping onto different dapps, making the user experience much more seamless.

Challenges I ran into

  • The problem statement in itself was a tough nut to crack, in that I had to figure out how to extract valuable information and the user intent, gather abis, addresses based on the chainIds, and then figure out which function the user will be executing based on their command.

  • Figuring out the user values to be populated, and the encoding that with the function name, to form the data field, and then compressing that into a transaction object, which is then relayed to the frontend and given to the wallets for signature.

  • In the process of data extraction, I came across gpt functions, which I then used to obtain deterministic outputs, regardless of the user command, which then helped with classify transactions and get ahead with encoding transaction objects.

Discussion