Unity 4.0.1 - Session Keys


What's Changed

All about smart wallets! Create session keys, add and remove admins - enable endless upgrading and signless possibilities for ALL types of EOAs.

  • [Native] Exposed sdk.wallet.CreateSessionKey - you are now able to easily grant another wallet access to your smart account, with many restrictions possible.
  • [Native] Exposed sdk.wallet.AddAdmin - you can now add new admins to your smart wallet.
  • [Native] Exposed sdk.wallet.RemoveAdmin - you can now remove admins from your smart wallet.
  • [Native] You can now pass smartWalletAccountOverride optional parameter to sdk.wallet.Connect to connect to a Smart Wallet you are not necessarily the admin signer of.
  • [Native] Fixed a bug where asking for a signature would get the smart wallet stuck in force deployment mode.

What this means

This may be a small patch, but it unlocks quite literally endless possibilities.

Example Scenarios

  • Connect a user to a smart wallet using their Metamask wallet as EOA. Create a session key for a signless wallet like LocalWallet, EmbeddedWallet or your backend wallet - the user now only has to sign once to perform that transaction, and you can connect the new signer to the user's Smart Wallet to interact with contracts on their behalf.
  • Connect a user to a smart wallet using a guest wallet as EOA, not asking for commitment from the get go - such as a LocalWallet or EmbeddedWallet EOA. You can then go through an upgrade path where the user can claim the generated smart account with all its assets. Simply add the Metamask account as that smart wallet's admin!
  • You might've heard of thirdweb Engine, and you want to execute your transactions using it. Simply create a session key for your backend wallet to execute transactions on your user's behalf. The built in scoping as well as your server acting as a middleman, makes for a great flow!

Release available here!