Skip to content

Releases: thirdweb-dev/dotnet

v2.8.0

07 Nov 16:11
f8e0768
Compare
Choose a tag to compare

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 optional tokenAddress override to transfer ERC20 tokens using said function; this is an alternative to ThirdwebContract.ERC20_Transfer.
  • ERC1155 transfer-related functions' data bytes parameter has now been made optional.

v2.7.0

06 Nov 01:12
65107c5
Compare
Choose a tag to compare

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 and GetPhoneNumber have been deprecated in favor of GetUserDetails
  • 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

24 Oct 19:17
8ec6324
Compare
Choose a tag to compare

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

24 Oct 11:18
0ccfbca
Compare
Choose a tag to compare

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 a SmartWallet without passing optional parameters will now attempt to use defaults from your dashboard Account Abstraction settings if any.
    • Create a SmartWallet with an EcosystemWallet 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.

02d6d8e631ec48f44a87c32c983f03c3

v2.5.2

24 Oct 10:25
fe66eeb
Compare
Choose a tag to compare

What's Changed

  • Added AuthProvider.Github as a new auth provider option for logging in with In-App or Ecosystem Wallets.

v2.5.1

10 Oct 22:01
3f65fc1
Compare
Choose a tag to compare

What's Changed

  • Removes latest parameter from eth_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

09 Oct 00:56
75c6f5a
Compare
Choose a tag to compare

What's Changed

  • Adds MarketplaceV3 extensions.
    • Supports IDirectListings, IEnglishAuctions and IOffers
    • 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.
  • New Utilities
    • Adds standalone Utils.FetchGasPrice (legacy tx) and Utils.FetchGasFees (eip-1559) functions to retrieve chain gas info if needed.
    • Adds Utils.HexToBigInt converting hex strings to BigInteger directly.

v2.4.0

03 Oct 01:30
35f770d
Compare
Choose a tag to compare

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 with SmartWallet.GetPersonalWallet or deal with casting to the right types.
  • 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

02 Oct 01:04
d24a886
Compare
Choose a tag to compare

What's Changed

  • Adds ZkSync Native Account Abstraction support for Creator Testnet.

v2.3.0

27 Sep 20:37
a6f202a
Compare
Choose a tag to compare

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) or CrossPlatformUnityBrowser (Unity default when using ThirdwebManager) constructors.
  • 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.