Releases: thirdweb-dev/unity
Releases · thirdweb-dev/unity
v4.7.2
What's Changed
- [General] Offline transaction - or more importantly UserOp (Smart Wallet Transaction) - signing is now supported by using the
Transaction.Sign
API. This will return a signed transaction or signed UserOperation respectively. These results can be forwarded to thirdweb Engine for later broadcasting. This is specially useful for cases where you may want to create a session key for new users, while not necessarily broadcasting it (and potentially paying for it) instantly; you might want to wait a few minutes to make sure they want to actually interact with your app before committing to the sponsorship, at which point you can broadcast the op first before handling further transactions. In this case, deployment of the smart wallet would also be bundled with the session key creation. Niche use case, but extremely powerful. - [General] Added an example of the above use case in
Prefab_SmartWallet.cs
in the ridiculously-named methodPreSignSessionKeyTxAsUserOpForLaterBroadcastingThroughThirdwebEngine
- [General]
Wallet.SignTypedData
no longer forcefully deploys your smart wallet, saving your users an unwanted extra signature. - [WebGL]
Wallet.SignTypedData
is now supported in WebGL. - [WebGL] Array arguments passed to custom contract calls are now treated as IEnumerable and any
byte[]
types are automatically hexified. This was the case for non array arguments only previously.
v4.7.1
v4.7.0
What's Changed
- [General] Full EIP-1271 support when signing or authenticating using Smart Wallets, with added replay protection using typed data if supported by the account. Signing or Authenticating with a Smart Wallet now means being able to verify said signature/auth using the corresponding verifying protocol. As a result, the
deployOnSign
sdk option has been removed and deployment of Smart Wallets is now enforced upon any message being signed. If you would like to authenticate with the personal wallet instead, simply connect to that wallet provider first, sign, and then connect to the smart wallet. - [General] Fixed a UI issue with
Prefab_ConnectWallet
- [Native] ERC20 Paymaster Support (coming to WebGL soon, alongside some contracts you'll find on our dashboard - supports fixed rate and dynamic rate paymasters - you can now pay gas with any ERC20 token!). You can set your ERC20 and ERC20Paymaster addresses in your
ThirdwebManager
Smart Wallet Options. - [WebGL] Byte arrays are now serialized to hexes by default when passed as custom arguments to contract calls, this helps match the native implementation and unify the argument types and not just the API.
- [WebGL] Fixed a bug that typically occurred on mumbai/polygon with certain wallets where the network wouldn't be switched on connection. We now ensure the wallet switches network by default after connecting.
v4.6.4
What's Changed
- [WebGL] Updated bridge, contains stability improvements and updated chains.
- [Native] Fixed a bug where
BuyFromListing
would revert when passed a custom buying currency.
v4.6.3
What's Changed
- [WebGL]
Wallet.GetSignerAddress
now correctly returns the personal wallet address when using Smart Wallets. - [WebGL] Updated bridge.
v4.6.2
What's Changed
- [General] Added Thirdweb prefix to logs.
- [General] Renamed example class
Prefab_ThirdwebConnect
toPrefab_ConnectWallet
to match asset. - [Native] Added fallback for
Utils.GetGasPriceAsync
when usingpolygon
ormumbai
with Smart Wallets, in case polygon gas station fails to return a result (e.g 403). - [WebGL] Updated bridge, added new chains.
v4.6.1
What's Changed
- [General]
Scene_Prefabs
now set up to usearbitrum-sepolia
instead ofgoerli
in preparation forgoerli
deprecation. - [General] Added general wallet analytics.
- [Native]
Wallet.Disconnect
now takes in an optionalendSession
parameter. Set to true in order to end a session when disconnecting. Only applicable to select Wallet Providers. - [Native] Added additional WETH addresses in default mapping. Used when making an offer and not specifying a currency.
- [WebGL] Updated bridge.
v4.6.0
What's Changed
- [General]
ThirdwebManager
Smart Wallet OptiondoNotDeployOnSignMessage
has been renamed todeployOnSign
and defaults to false. If kept false, trigger a transaction to bundle Smart Wallet deployment with it - good for filtering out inactives and not paying for their deployment, or going through a custom auth flow. If turned on, will deploy the smart wallet upon any message or typed data being signed. - [General] Moved
Thirdweb/Plugins
folder toThirdweb/Core/Plugins
. - [General] Added Assembly Definitions for Thirdweb Core, Editor and Example scripts.
- [General] Project cleanup, client general analytics update.
- [Native] Updated
QueryAllParams.count
behavior to match WebGL behavior inERC721.GetAll
andERC1155.GetAll
. - [Native] Reduced UserOperation (Smart Wallet transaction) polling interval from 2s to 1s.
- [WebGL]
deployonSign
andERC1155.TransferBatch
are now also supported in WebGL.
This is a minor update, meaning some structure or DLL changes occured. When upgrading, it is best to remove previous SDK files to avoid issues.
v4.5.0
What's Changed
- [Native] The WalletConnect SDK has been upgraded and all previous session or build related issues should be fixed. Tested on Windows, Mac, Android and iOS.
- [Native] Improved Embedded Wallet error logging.
- [Native]
Wallet.Authenticate
return typeLoginPayload
should now be compatible with /login endpoint when serialized.
This is a minor update, meaning some structure or DLL changes occured. When upgrading, it is best to remove previous SDK files to avoid issues.
v4.4.2
What's Changed
- [General] Added support for Berachain Artio