Releases: thirdweb-dev/unity-sdk
Releases · thirdweb-dev/unity-sdk
v5.6.1
What's Changed
- Added support for passing generic List or Array types to
ThirdwebContract.Read
and deserializing tuples into them.- Supports List of objects return type.
- Supports object[] return type.
- Supports Lists and Arrays of primitive types (if your function returns a tuple of multiple values of the same type such as uints).
- Supports complex structs (indexed and non indexed MySolTuple is serialized then deserialized into your passed type).
- Supports complex struct arrays (indexed and non indexed MySolTupleArray is serialized as a dictionary then deserialized into your type).
v5.6.0
What's Changed
- Added
AuthProvider.Twitch
as a new auth provider option for logging in with In-App or Ecosystem Wallets. - Upgrading an
EcosystemWallet
to aSmartWallet
without passing optional parameters will now attempt to use defaults from your dashboard Account Abstraction settings if any.- Create a
SmartWallet
with anEcosystemWallet
as a signer and no additional conflicting overrides to make use of this feature. - Explicitly passed SDK overrides will always take priority over dashboard options.
- If dashboard options are unavailable/unset, we revert to previous default values for gas sponsorship and account factories.
- Create a
v5.5.5
What's Changed
- Added
AuthProvider.Github
as a new auth provider option for logging in with In-App or Ecosystem Wallets.
v5.5.4
What's Changed
MetaMaskWallet
: GetAddress now enforces returning correctly checksummed address.WalletConnectWallet
: Closing the modal now throws and interrupts the connection process properly.
v5.5.3
What's Changed
- WalletConnect and MetaMask wallet providers now hexify messages passed to
IThirdwebWallet.PersonalSign
before signing.- If you were signing a hash or a string starting with 0x before, nothing changes.
- If you were signing a raw message like "Hello World" UTF8 String, we'd hexify it before sending it over to the wallet.
- This fixes display issues on the latest version of MetaMask (specially mobile) which no longer supports plain text parameters for personal_sign.
v5.5.2
What's Changed
- Removes
latest
parameter frometh_estimateGas
being used in ThirdwebTransaction.EstimateGasLimit on non-zk chains and methods that use it by extension, fixing issues on chains that do not support that parameter such as Binance Testnet.
v5.5.1
What's Changed
- When using WalletConnect, attempts to fetch current active chain if applicable by corresponding wallet and avoid the additional requests to ensure correct network upon connection if unnecessary.
v5.5.0
What's Changed
- Adds MarketplaceV3 extensions.
- Supports
IDirectListings
,IEnglishAuctions
andIOffers
- Easier to use than direct
ThirdwebContract.Write
calls as the extensions are type safe and able to automatically handle approvals and more (opt-in). - Full reference here - accessible using
contract.Marketplace
extensions.
- Supports
- New Utilities
- Adds standalone
Utils.FetchGasPrice
(legacy tx) andUtils.FetchGasFees
(eip-1559) functions to retrieve chain gas info if needed. - Adds
Utils.HexToBigInt
converting hex strings toBigInteger
directly.
- Adds standalone
v5.4.0
What's Changed
Account Abstraction Improvements
We've sped up SmartWallet
transactions and optimized various internal flows, resulting in up to 50% speed increases from transaction creation to estimation to a receipt being returned. This applies for all flows
Furthermore, we've added an internal feature to automatically detect if a chain is built on the zkSync stack and unlock zkSync specific functionality such as zkSync specific transaction input or Native Account Abstraction automatically.
New Features
Added Utils.GetSocialProfiles
- fetch ENS, Farcaster and Lens profiles given a wallet address or ENS as well as their metadata and more.
A single line of code to fetch metadata about a wallet address and display it in game as you please!
SocialProfiles socialProfiles = await Utils.GetSocialProfiles(client, addressOrEns: "joenrv.eth");
Example returned object
{
"EnsProfiles": [
{
"name": "joenrv.eth",
"address": "0x2247d5d238d0f9d37184d8332aE0289d1aD9991b",
"avatar": "ipfs://bafybeic2wvtpv5hpdyeuy6o77yd5fp2ndfygppd6drdxvtfd2jouijn72m"
}
],
"FarcasterProfiles": [
{
"fid": 2735,
"bio": "Eng Lead @ thirdweb",
"pfp": "https://lh3.googleusercontent.com/EUELPFJzdDNcc3qSaEMekh0_W16acnS8MSvWizt-7HPaQhfJsNFC5HA0W4NKcy6CN9zmV7d4Crqg2B8qM9BpiveqVTl2GPBQ16Ax2IQ",
"username": "joaquim",
"addresses": [
"0x2247d5d238d0f9d37184d8332ae0289d1ad9991b",
"0xf7970369310b541b8a84086c8c1c81d3beb85e0e"
]
}
],
"LensProfiles": [
{
"name": "joaquim",
"bio": "Lead engineer @thirdweb",
"picture": "https://ik.imagekit.io/lens/media-snapshot/557708cc7581172234133c10d473058ace362c5f547fa86cee5be2abe1478e5b.png"
}
],
"OtherProfiles": []
}
Unified Identity - Account Linking DX Improvements
- Exposes Account Linking functionality (LinkAccount & GetLinkedAccounts) at the
IThirdwebWallet
level. - You may now link accounts directly to a
SmartWallet
signer i.e. personal wallet without needing to fetch the signer withSmartWallet.GetPersonalWallet
or deal with casting to the right types. - External wallets or external wallets being used as SmartWallet signers do not support this feature.
v5.3.1
What's Changed
- Adds ZkSync Native Account Abstraction support for Creator Testnet.