Releases: thirdweb-dev/dotnet
Releases · thirdweb-dev/dotnet
v2.8.0
What's Changed
- Having an incorrect or slightly off system time would produce errors when logging in with In-App Wallets in some cases, we have added a fallback in this scenario that will work around this issue.
IThirdwebWallet.Transfer
now has an optionaltokenAddress
override to transfer ERC20 tokens using said function; this is an alternative toThirdwebContract.ERC20_Transfer
.- ERC1155 transfer-related functions'
data
bytes parameter has now been made optional.
v2.7.0
What's Changed
- In-App Wallets now use the same infrastructure as Ecosystem Wallets.
- Up to 90% performance increase, specially on lower end devices or web platforms.
- Much less cryptography done client side, using secure enclaves over shamir's secret sharing.
- If you were using In-App Wallets previously, they will be automatically migrated to the new infrastructure upon first login.
- If you were using custom auth with In-App Wallets before this release, you may pass your legacy encryption key during the creation of your wallet - it will be used to migrate your wallets to the new infrastructure upon first login.
- Encryption keys are no longer required for In-App Wallets when logging in with JWT (OIDC Compatible Custom Auth) or AuthEndpoint (Generic Custom Auth).
- Added
GetUserDetails
method to In-App/Ecosystem Wallets that returns more information about your logged in user.GetEmail
andGetPhoneNumber
have been deprecated in favor ofGetUserDetails
- Added
GetEcosystemDetails
method to return general information about your Ecosystem Wallet, can be used for dynamic branding, etc. - Fixes
TokenERC721_MintTo
functions failing with invalid signature; the token id parameter has also been removed.
v2.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).
v2.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
v2.5.2
What's Changed
- Added
AuthProvider.Github
as a new auth provider option for logging in with In-App or Ecosystem Wallets.
v2.5.1
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
v2.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
v2.4.0
What's Changed
- Speeds up
SmartWallet
transactions and optimizes various internal flows. - 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.
- You may now link accounts directly to a
- Adds
Utils.GetSocialProfiles
- fetch ENS, Farcaster and Lens profiles given a wallet address or ENS as well as their metadata and more. - Adds internal feature to automatically detect if a chain is built on the zkSync stack and allow zkSync specific functionality such as Native Account Abstraction automatically.
v2.3.1
What's Changed
- Adds ZkSync Native Account Abstraction support for Creator Testnet.
v2.3.0
What's Changed
- Improved default redirect page visuals when logging in with OAuth from desktop platforms.
- You now have the option to override said html by passing it to
InAppWalletBrowser
(.NET default when not overriden) orCrossPlatformUnityBrowser
(Unity default when using ThirdwebManager) constructors.
- You now have the option to override said html by passing it to
ThirdwebClient.Create
no longer takes in raw headers, now only takes in general sdk information optionally. This should not affect most users.- Improved http client cloning when needed in external modules.