Skip to content

Releases: thirdweb-dev/dotnet

v2.8.2

08 Nov 19:39
a15e9bb
Compare
Choose a tag to compare

What's Changed

  • Adds GenerateExternalLoginLink method 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 wallets prop.
    • Make sure you're using the same api key on both ends.

v2.8.1

07 Nov 16:26
c88f75c
Compare
Choose a tag to compare

What's Changed

  • The inability to fetch NFTMetadata when calling an NFT-related method no longer throws, and instead returns NFTMetadata with a description containing the error message.

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.