Releases: thirdweb-dev/unity
Releases · thirdweb-dev/unity
v5.13.1
v5.13.0
v5.12.2
What's Changed
- Set the WalletConnect connection timeout to 180s, up from the default 30s. This should help resolve issues like "socket stalled" that might be thrown by the WalletConnect wallet in some regions, on some platforms.
v5.12.1
v5.12.0
What's Changed
- Additions from Thirdweb's .NET SDK Release 2.11.0
SmartWallet.PersonalSignno longer requires the SmartWallet to be deployed, increasing speed. Verification is done through ERC-6492. Validating a signature also works with ERC-6492 signatures now. Useful for apps that want to instantly authenticate (using Thirdweb Auth - SIWE for example) without incurring costs.purchaseDatacan now be passed to Thirdweb Pay quote params, making Direct Payment flows fully featured.
InAppWalletOptionsnow extendsEcosystemWalletOptions(no changes to dx).- Slightly improved Playground UI.
v5.11.1
v5.11.0
What's Changed
- Added
AuthProvider.Steamas a login option for In-App or Ecosystem Wallets.
// Using .NET SDK
var steamWallet = await InAppWallet.Create(client: client, authProvider: AuthProvider.Steam);
if (!await steamWallet.IsConnected())
{
_ = await steamWallet.LoginWithOauth(...);
}
var steamWalletAddy = await steamWallet.GetAddress();
// Using Unity SDK
var steamWalletOptions = new WalletOptions(
provider: WalletProvider.InAppWallet,
chainId: 1,
inAppWalletOptions: new InAppWalletOptions(authprovider: AuthProvider.Steam);
);
var steamWallet = await ThirdwebManager.Instance.ConnectWallet(options);
var steamWalletAddy = await steamWallet.GetAddress();- Added the ability to pay for gas with ERC20 tokens when using Smart Wallet.
- Currently supports Base USDC, Celo CUSD, and Lisk LSK tokens.
- Simply select a
TokenPaymasterwhen creating aSmartWalletand all transactions will be paid for with the corresponding ERC20 from the user's Smart Wallet. - Useful on L2s where the native token is ETH and you want to enshrine another coin or onramp your users directly to that coin.
- These TokenPaymasters entirely operate onchain, leveraging popular DEXes and decentralized price feeds from Uniswap & Chainlink.
- This product is in beta, and only compatible with EntryPoint v0.7.0, which we auto select for you if not overriden when configurin your wallet.
// Example of paying for a transaction ERC20 stablecoins instead of native ETH
// Using .NET SDK (Lisk LSK)
var chainId = 1135; // lisk
var erc20SmartWallet = await SmartWallet.Create(
personalWallet: privateKeyWallet,
chainId: chainId,
tokenPaymaster: TokenPaymaster.LISK_LSK
);
// Using Unity SDK (Base USDC)
var chainId = 8453; // base
var erc20SmartWallet = await ConnectWallet(
new WalletOptions(
WalletProvider.InAppWallet,
chainId,
inAppWalletOptions: new InAppWalletOptions(authprovider: AuthProvider.Steam),
smartWalletOptions: new SmartWalletOptions(sponsorGas: true, tokenPaymaster: TokenPaymaster.BASE_USDC)
)
);
// Then just trigger any transaction!
var erc20SmartWalletAddress = await erc20SmartWallet.GetAddress();
Debug.Log($"ERC20 Smart Wallet address: {erc20SmartWalletAddress}");
var receipt = await erc20SmartWallet.Transfer(chainId: chainId, toAddress: erc20SmartWalletAddress, weiAmount: 0);
Debug.Log($"Receipt: {JsonConvert.SerializeObject(receipt, Formatting.Indented)}");v5.10.0
What's Changed
- Fixed an issue with typed data signing using In-App/Ecosystem Wallets when one of the fields was larger than Uint32.
- Improved NFT Metadata Population & Added Filters
- The
ERC1155_GetOwnedNFTsextension now returns theQuantityOwnedmetadata field correctly for each NFT. - The
ERC721_GetNFTandERC721_GetAllNFTsextensions can now take in a newfillOwnerparameter that defaults to true and decides whether to make additional requests to populate theOwnerfield of the metadata, otherwise defaulting toConstants.ADDRESS_ZERO. - The
ERC1155_GetNFTandERC1155_GetAllNFTsextensions can now take in a newfillSupplyparameter that defaults to true and decides whether to make additional requests to populate theSupplyfield of the metadata, otherwise defaulting toBigInteger.MinusOne.
- The
v5.9.2
What's Changed
- Fixed edge case where migrating a sharded wallet to enclave would throw
Invalid enclave wallet details being migrated.
v5.9.1
What's Changed
- Adds
GenerateExternalLoginLinkmethod to forward the logged-in session of In-App or Ecosystem Wallets from .NET to React apps built using thirdweb.- Configure your React website to use thirdweb Connect, open the link generated by this method and your users will be autoconnected.
- If using Ecosystem Wallets, make sure to create the ecosystem wallet with the same ecosystem id and partner id (if any) and include it as one of your wallets in, for example, your ConnectButton's
walletsprop. - Make sure you're using the same api key on both ends.