-
#1206
3d62278a
Thanks @MananTank! - Add eslint-plugin-better-tree-shaking -
Updated dependencies [
d9b7360d
,8a2d9204
,990c665d
,3d62278a
,c6f44722
,45ae105e
,f41f1a29
,bb7ca20e
,23d61cfe
,8941b226
,e0ce4a37
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1000
329bccec
Thanks @goosewobbler! - '[Wallets/React] Adds Frame as a supported wallet.'You can now use Frame by adding
frameWallet()
in the ThirdwebProvider'ssupportedWallets
prop.import { ThirdwebProvider, localWallet, frameWallet, } from "@thirdweb-dev/react"; <ThirdwebProvider activeChain={activeChain} supportedWallets={[frameWallet(), localWallet()]} > <App /> </ThirdwebProvider>;
-
#1172
ecdcf82c
Thanks @nachoiacovino! - Add data-test to passworrd inputs -
#1164
a5578abf
Thanks @kienngo98! - reduce circular dependencies -
Updated dependencies [
cc20f93e
,08403dd9
,654b8ab3
,a430160e
,12b07aad
,d60e544a
,7d2a446e
,088f2567
,8e28b0f5
,01293857
,329bccec
,20bbad1a
,36f3191f
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1151
2a0294d8
Thanks @MananTank! - Fix wrong balance in ConnectWallet -
#1149
65ecf072
Thanks @MananTank! - Improve rendering of long network list in ConnectWallet Modal -
#1144
9ce3eb6a
Thanks @MananTank! - Remove WalletConfig.config object from wallets -
Updated dependencies [
2a443365
,3bf7f375
,6a194262
,16232de9
,54cfd6d8
,8687d6ac
,645b0303
,522453fd
,9a015a23
,6803c3e9
,0cba69ca
,56f85e57
,197a6838
,6a91b6a0
,e32faeb5
,a5f16b6d
,b6728603
,ed47fd53
,9ce3eb6a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1115
b4c95159
Thanks @nachoiacovino! - Add hooks for smart wallet factory -
#1116
356f7aa6
Thanks @MananTank! - - Fix Local wallet connection issue with Safe & Smart Wallet- Fix Metamask QR connection issue with Safe & Smart Wallet
-
#1118
9b20fc9a
Thanks @MananTank! - - Remove chain restriction in paper wallet- Fix Email validation in Paper and Magic wallet
-
#1114
2283e71a
Thanks @adam-maj! - Update ConnectWallet button with new auth -
Updated dependencies [
ce36322b
,c60658ed
,aa9e952c
,564eaccf
,6aee0413
,21627c03
,2283e71a
,e93aa70e
,51bbd3d1
,9b20fc9a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
23d90b3e
,cc56037e
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1068
fd7111d5
Thanks @MananTank! - addtheme
inWalletConfig.selectUI
to allow creating selection UI that follows the theme of the wallet Modal -
#1084
74f898ac
Thanks @MananTank! - Fix Local Wallet Backup throwing error when wallet is not connected -
#1078
f5ae61ae
Thanks @MananTank! - Fixes the issue of Magic Link's "Switch Network" not working with Smart Wallet and Safe -
#1067
e21bdd03
Thanks @MananTank! - FixusePaperWallet
hook's type definition -
Updated dependencies [
2f1df0b5
,189daf02
,afae0873
,bba9767a
,c6e74ef0
,fd7111d5
,ee4c7de2
,bd86661f
,68fa1896
,e21bdd03
,f7b352a5
,4a1d7581
,bdabbef7
,59206233
,292a321a
,98efd090
,8eecf4c2
,bd86661f
,f3b2ae3f
,d5651006
,4f99ccb4
,da576108
,c85810ee
,6fd10f94
,5f1e6abb
,a034b032
,35984362
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
30e5593d
,30e5593d
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1030
61212d27
Thanks @adam-maj! - Add ability to configure gatewayUrl and pull gatewayUrl from storage in MediaRenderer -
Updated dependencies [
b6f48e10
,d5123044
,3c8c5d56
,907d97be
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- #993
b1ede491
Thanks @0xfrosty! - Add React hook useBuyDirectListing() to buy a direct listing in a MarketplaceV3 contract
-
#1001
2b0fb9d2
Thanks @MananTank! - Fix Flaky coinbase QR code scan -
#1015
39bd9630
Thanks @MananTank! - - addselectUI
api inWalletConfig
to allow rendering a custom UI for selecting a wallet- Render an input for paper wallet and magic link using
selectUI
api - add prop
modalTitle
onConnectWallet
to configure a custom title for the modal - add props
selectionData
,setSelectionData
andsupportedWallets
onconnectUI
- Render an input for paper wallet and magic link using
-
#996
c3645c45
Thanks @MananTank! - - addtheme
inConfiguredWallet.connectUI
's props - to use theme aware UI for wallets- add
useWalletConfig
hook to get theConfiguredWallet
object for active wallet - add hooks
useSetConnectedWallet
,useSetConnectionStatus
- rename
useActiveChain
touseChain
- keep theuseActiveChain
also with deprecated tag - make
useSafe
hook await-able by returning the promise of connect() call - add hook
useSmartWallet
- allow rendering custom wallet details button via
<ConnectWallet detailsButton={} />
prop - Rename "Export" to "Backup" in local wallet UI
- add
-
#1011
470e0a14
Thanks @MananTank! - rename ConfiguredWallet to WalletConfig- import { ConfiguredWallet } from '@thirdweb-dev/react'; + import { WalletConfig } from '@thirdweb-dev/react';
-
#1022
738c0ec6
Thanks @mmeigooni! - Update Paper SDK version -
#1002
d495a4b8
Thanks @MananTank! - Expose Web3Modal QRModalOptions in WalletConnect V2 -
#989
8db78299
Thanks @iketw! - [React/ReactNative] Updated useThirdwebWallet to useWalletContext -
#998
4f843833
Thanks @MananTank! - - skip wallet-selector screen if there's a single wallet- Fix "Can't close Safe screen" issue
- Fix magicSdkConfiguration type
-
Updated dependencies [
e9b69300
,39bd9630
,49ec2d17
,799d98e8
,c3645c45
,470e0a14
,b1ede491
,738c0ec6
,d495a4b8
,482f6d1b
,e4356e76
,9886c858
,8db78299
,4f843833
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
32908b76
,6a4aab0b
,6a4aab0b
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#967
7d7685e3
Thanks @MananTank! - - Fix type of connect() for magic wallet- enforce smsLogin, emailLogin restriction for magic wallet
- update the icon for local wallet
-
#966
87021cee
Thanks @MananTank! - Connect Wallet UI improvements- Allow from EOA => smart wallet / safe
- Add warning to backup wallet for guest wallet
- Show "Guest" instead of address for guest wallet
-
#977
93bd5733
Thanks @MananTank! - Fix Connect Wallet Open/Close issues -
Updated dependencies [
93bdec06
,ea0f9479
,05ebbc15
,5305b42d
,4ca557ae
,7d7685e3
,87021cee
,eb521d24
,af4b5356
,93bd5733
,a2df187b
,aa9b6acc
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#941
5d67b280
Thanks @MananTank! - Add Magic Link -
#955
c7c2530c
Thanks @MananTank! - Local wallet UI refactor and other fixes -
#930
e22e4a47
Thanks @MananTank! - suggest first supportedWallet for getting started in ConnectWallet -
#942
1e4ac672
Thanks @joaquim-verges! - Simplify and generalize SmartWallet API -
#960
5ffb1cba
Thanks @frogeth! - Added a onLogout Function to the connect wallet button -
#927
1e9fad77
Thanks @MananTank! - safe, deviceWallet and smartWallet autoconnect -
#940
a8b79065
Thanks @0xHendrix! - Added onLogin callback to ConnectWallet authOptions props -
Updated dependencies [
7012513b
,5d67b280
,f12a80a4
,5a67d5d8
,d2c7f6d7
,c7c2530c
,f12a80a4
,bf6df267
,e22e4a47
,1e4ac672
,fc96e147
,4a69f8c8
,26cd91ff
,8f962bc1
,28b5d1eb
,0186721b
,0bf29745
,f0279c22
,1e9fad77
,7af99d9a
,00d0d01e
,fc96e147
,8cfb4f38
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#892
4acb2b55
Thanks @MananTank! - Add Switch Account button for MetaMask -
#919
81770647
Thanks @MananTank! - improved device wallet password input autocomplete -
#914
ec36df5f
Thanks @MananTank! - Add "Request Testnet funds" for LocalHost -
#895
06cc1df3
Thanks @MananTank! - Fix supportedChains not having the activeChain for wallets -
#887
430a5f79
Thanks @MananTank! - export Configurable NetworkSelector -
#918
26644d63
Thanks @MananTank! - Fix Connect Wallet Modal width on tablet size viewport -
#917
09fae984
Thanks @MananTank! - Device Wallet and other Connect Wallet UI improvements -
#920
3010d845
Thanks @MananTank! - Improved autocomplete for imported device wallet -
#910
c2fec930
Thanks @joaquim-verges! - Allow passing any EVMWallet to SafeWallet as personal signer -
#909
d8b54a6f
Thanks @MananTank! - Add back device wallet UI -
Updated dependencies [
abe88599
,49922de9
,4acb2b55
,82bea3fa
,ea04edf4
,77224646
,c9ee9b32
,00f4355f
,a6610f12
,06cc1df3
,29146e00
,77224646
,430a5f79
,664d1cd0
,bfdd8493
,c2fec930
,477324ec
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#859
229a4741
Thanks @MananTank! - Fix Error when connecting to Safe in Vite -
#879
59434aac
Thanks @MananTank! - [react] add style prop on ConnectWallet and Web3Button -
Updated dependencies [
ac8fa0b3
,b616dca7
,2545a440
,b75bcef5
,229a4741
,c9027fce
,0db0cc75
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
b3d57949
,602d8cbc
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
1547d76c
,235eb046
,b5648aee
,1b8f812f
,235eb046
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#851
c5c2d947
Thanks @MananTank! - Fix wallet autoconnect issues- infinite loading spinner on connect wallet button when wallet is locked or connection to app is closed
- network switch popup on page load when wallet is connected to different network than it was previously connected
- removed autoconnect timeout - don't need it anymore
-
#855
2dd192a5
Thanks @MananTank! - Add auth in Connect Wallet button -
Updated dependencies [
c5c2d947
,2dd192a5
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#844
48fe2ce5
Thanks @MananTank! - connect wallet UI and text adjustments -
Updated dependencies [
1137a20d
,1137a20d
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
b7fcae6e
,b7fcae6e
,1f2df55b
,839fce1f
,839fce1f
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
e2581f21
,9b303829
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#584
d01b135d
Thanks @MananTank! - [Wallets, RN, React, ReactCore] New Wallets SDK implementation- Replaced
walletConnectors
withsupportedWallets
in the ThirdwebProvider.
import { coinbaseWallet, metamaskWallet, ThirdwebProvider } from "@thirdweb-dev/react"; const App = () => { - return <ThirdwebProvider walletConnectors={["metamask", "coinbaseWallet"]}>{...}</ThirdwebProvider> + return <ThirdwebProvider supportedWallets={[metamaskWallet(), coinbaseWallet()]}>{...}</ThirdwebProvider> }
-
magicLinkConnector
not yet implemented in this version -
Removed
desiredChainId
, useactiveChain
instead -
DAppMetaData
type now requires theurl
field to be passed in -
Removed
chainRpc
prop from the ThirdwebProvider. You can pass custom rpcs in the Chain object through theactiveChain
andsupportedChains
props. -
Replaced the
useNetwork
hook foruseChain
anduseSwitchChain
-
Updated
ConnectWallet
button in React:
- Removed
accentColor
andcolorMode
- Added a
theme
prop withdark
andlight
values
- Updated the
Web3Button
button in React:
- Removed
accentColor
andcolorMode
- Added a
theme
prop withdark
andlight
values
- You can now pass a
theme
prop to the ThirdwebProvider. Values arelight
anddark
import { ThirdwebProvider } from "@thirdweb-dev/react"; const App = () => { return <ThirdwebProvider theme='light'>{...}</ThirdwebProvider> }
-
New wallet hooks added
- useWallet()
- useConenct()
- useConnectionStatus()
- useSwitchChain()
-
Removed
wagmi
dependency from thereact-native-compat
package and updated shims -
New
ConnectWallet
andWeb3Button
components in React Native -
New wallets package with support for the most common wallets. MetaMask, Coinbase, WalletConnect V1 and V2 and PaperWallet
-
Added
autoSwitch
prop to the ThirdwebProvider to control whether or not to automatically switch to wallet's network to active chain
import { ThirdwebProvider } from "@thirdweb-dev/react"; const App = () => { return <ThirdwebProvider autoSwitch>{...}</ThirdwebProvider> }
- Replaced
-
#757
9ea43969
Thanks @iketw! - switch tothirdwebcdn.com
for default IPFS gateway -
#829
3ff8eecf
Thanks @MananTank! - useauthConfig
provided inuseLogin()
hook -
#825
4bdeefe6
Thanks @iketw! - [Core,React,RN,Wallets] Allow for wallets to be created without props where possibleYou can now create wallets without having to worry about it's params. We provide sensible defaults.
const w = new WalletConnectV1(); w.connect(); const w1 = new WalletConnect(); w1.connect(); const cb = new CoinbaseWallet() w1.connect(); const safe = new SafeWallet(); const device = new DeviceBrowserWallet();
-
#708
aad57a56
Thanks @ThianHooi! - Fix unable to override chain config value in ThirdwebProvider -
#735
ba9f593b
Thanks @jnsdls! -useWatchTransactions()
- watch for transactions on the blockchain (real-time)
Example: Listen to all transactions on USD Coin (USDC) contract address.
import { useWatchTransactions } from "@thirdweb-dev/react"; const MyComponent = () => { const transactions = useWatchTransactions({ network: "ethereum", contractAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", }); if (!transactions.length) { return <div>No transactions, yet.</div>; } return ( <div> {transactions.map((transaction) => ( <div key={transaction.hash}> <div>Hash: {transaction.hash}</div> <div>From: {transaction.from}</div> <div>To: {transaction.to}</div> <div>Value: {transaction.value}</div> </div> ))} </div> ); };
Note
This hook is available in
@thirdweb-dev/react
,@thirdweb-dev/react-native
and@thirdweb-dev/react-core
packages, the usage is the same. (The only difference is the import path.) -
#764
4b77bc9b
Thanks @MananTank! - paper wallet, do not save device wallet password -
#832
e47ceafe
Thanks @MananTank! - - Fixwallet.addListener
"connect", "disconnect" event emit issue- update the paper sdk
-
#786
ddc1c33a
Thanks @MananTank! - Gnosis Safe -
#799
49eceaa0
Thanks @iketw! - [React] update provider props -
Updated dependencies [
d01b135d
,6e9b9dba
,93eca1de
,a6fce0f6
,9ea43969
,3ff8eecf
,2ec28021
,4bdeefe6
,805896c7
,b56511e2
,8ef5a6f2
,4cbbad98
,e3161e59
,d6ae520a
,5f0493d0
,71532e5a
,33d1cc7f
,de7b6196
,6b145d4b
,83e99dbf
,1baed0b1
,52d37f01
,485abd06
,95bcfa6d
,682f1c67
,4d07b4b4
,4d5fdda9
,d8c1c943
,08507611
,e2ec70c4
,ba9f593b
,6b31a9bc
,04775954
,4b77bc9b
,d01b135d
,1baed0b1
,8463a176
,e47ceafe
,4d5fdda9
,6c0c6538
,208d97e6
,ddc1c33a
,49eceaa0
,5c7c0923
,ba9f593b
,2221f97d
,9fa628f8
,5c7c0923
,abf609a4
,9a4a542c
,b2d0ffb0
,bd40bc2e
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies []:
- @thirdweb-dev/[email protected]
- Updated dependencies [
d30e3f4d
,31a252a0
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
9efeba38
]:- @thirdweb-dev/[email protected]
-
#651
1bdb44d3
Thanks @adam-maj! - Fix onError on Web3Bbutton -
#643
85250cf7
Thanks @jnsdls! - invalidate queries forWeb3Button
-
#665
6ef52dc9
Thanks @shift4id! - Fix spelling throughout all packages -
Updated dependencies [
6ae39277
,8f46a2ee
,8d5b418e
,7832041c
,6ef52dc9
,85250cf7
,2676fc01
,e33bd2a8
,e50911bc
,4355518a
,3740a0bf
,91f5a2fd
,23cd88ec
,87a101ad
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
d7deaa4
,b7a5b45
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
a3472a1
,5712650
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#608
3d644fb
Thanks @jnsdls! -<MediaRenderer />
now accepts an optional mime type prop -
Updated dependencies [
3d644fb
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
Updated dependencies [
66cf1fb
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#599
f580b8a
Thanks @joaquim-verges! - Fix readonly chain mismatch -
Updated dependencies [
f0de81d
,f580b8a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
af8cf40
Thanks @joaquim-verges! - ## Now supports Any EVM - Any Contract!- no longer requires
desiredChainId
to be passed toThirdwebProvider
- apps can now pass
activeChain
toThirdwebProvider
to define the chain to connect to (can be a chainId or a fully defined chain object from@thirdweb-dev/chains
) - if no
activeChain
is passed but a wallet is connected the SDK will be initialized with the chain of the connected wallet - (advanced) apps can now define the chains they want to support by passing
supportedChains
toThirdwebProvider
desiredChainId
is now deprecated and will be removed in the next major version. Please useactiveChain
instead.chainRPC
is now deprecated and will be removed in the next major version. Please usesupportedChains
instead.
import { ThirdwebProvider } from "@thirdweb-dev/react"; - import { ChainId } from "@thirdweb-dev/sdk"; const App = () => { - return <ThirdwebProvider desiredChainId={ChainId.Ethereum}>{...}</ThirdwebProvider> + return <ThirdwebProvider>{...}</ThirdwebProvider> }
import { ThirdwebProvider } from "@thirdweb-dev/react"; const App = () => { // Polygon is a default chain, so you can pass the chain name without needing to define "supportedChains" return ( <ThirdwebProvider activeChain="polygon">{/* {...} */}</ThirdwebProvider> ); };
import { Sepolia } from "@thirdweb-dev/chains"; import { ThirdwebProvider } from "@thirdweb-dev/react"; const App = () => { // since there is only one supported chain defined this will automatically default the SDK to Sepolia return ( <ThirdwebProvider activeChain={Sepolia}>{/* {...} */}</ThirdwebProvider> ); };
- no longer requires
-
818048d
Thanks @jnsdls! - enable passing of apiKeys to the provider -
#582
8694d5a
Thanks @adam-maj! - Update with new auth changes -
500a0e6
Thanks @jnsdls! - fix deprecationWarning bug in react & react-core -
#578
f3b96e7
Thanks @jnsdls! - allownumber
andstring
types foractiveChain
prop on<ThirdwebSDKProvider />
and<ThirdwebProvider />
-
#592
37f58b4
Thanks @joaquim-verges! - Fix aligment on web3button -
#583
03e755f
Thanks @nachoiacovino! - No min-width requirement for html types on nft renderer -
Updated dependencies [
6a50719
,af8cf40
,61d41db
,5d25ee1
,818048d
,94b120f
,d0bcd2c
,2b3e94f
,017b0d5
,500a0e6
,f3b96e7
,5d25ee1
,500a0e6
,f6ea971
,bddabe0
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies []:
- @thirdweb-dev/[email protected]
- Updated dependencies []:
- @thirdweb-dev/[email protected]
- Updated dependencies [
440a4ad
]:- @thirdweb-dev/[email protected]
-
#470
b59a31c
Thanks @JustinTime42! - Added support for displaying 3d model NFTs -
Updated dependencies []:
- @thirdweb-dev/[email protected]
- Updated dependencies []:
- @thirdweb-dev/[email protected]
-
#527
bdd9ed2
Thanks @jnsdls! - fix dependency issues with @zag-js/react -
Updated dependencies []:
- @thirdweb-dev/[email protected]
-
#520
8c81ca5
Thanks @adam-maj! - Update auth and react-core dependencies -
Updated dependencies [
8c81ca5
]:- @thirdweb-dev/[email protected]
-
#460
a6c074c
Thanks @adam-maj! - All Auth hooks and configuration have been upgraded along with the major upgrade to Auth. This includes changes in necessaryauthConfig
to theThirdwebProvider
, as well as usage of theuseLogin
,useLogout
, anduseUser
hooks.In order to upgrade your frontend setup to account for these changes, you'll need to make the following changes to your app:
1. Remove
loginRedirect
fromauthConfig
In your
ThirdwebProvider
, you can remove theloginRedirect
option from theauthConfig
object, as thelogin
endpoint no longer uses redirects.export default function MyApp({ Component, pageProps }) { return ( <ThirdwebProvider authConfig={{ domain: "example.com", authUrl: "/api/auth", // No more loginRedirect }} > <Component {...pageProps} /> </ThirdwebProvider> ); }
2. Update
useLogin
anduseLogout
to use object destructuringThe
useLogin
anduseLogout
hooks now return an object with alogin
andlogout
function (as well asisLoading
states), respectively. You'll need to update your usage of these hooks to use object destructuring.import { useLogin, useLogout } from "@thirdweb-dev/react"; export default function Component() { const { login } = useLogin(); const { logout } = useLogout(); return ( <div> <button onClick={login}>Login</button> <button onClick={logout}>Logout</button> </div> ); }
-
#514
48893c7
Thanks @jnsdls! - switch to using the new@thirdweb-dev/react-core
package to power@thirdweb-dev/react
-
#493
f37e86b
Thanks @joaquim-verges! - Move solana dependencies to peer dependencies, please install them separately:npm install @thirdweb-dev/sdk @thirdweb-dev/react @metaplex-foundation/js @project-serum/anchor @solana/wallet-adapter-wallets
-
#512
065c4db
Thanks @ikethirdweb! - Updates useClaimedNFTs to only fetch claimed NFTs -
Updated dependencies [
48893c7
,a6c074c
,62b7388
]:- @thirdweb-dev/[email protected]
- #507
5047686
Thanks @nachoiacovino! - Fix ConnectWallet network selector showing all options three times
-
#422
08d04fe
Thanks @yehia67! - AddbtnTitle
prop to theConnectWallet
component. Now you can set customized string or child component to the connect button.
- #443
8c6cdaa
Thanks @joaquim-verges! - Fix magic link connector not connecting to the right chain
- #405
ccb7db4
Thanks @nachoiacovino! - Add updateAll param to creators and royalty update hooks for Solana
-
#392
846022e
Thanks @nachoiacovino! - Fix unlimited price for useActiveClaimConditionForWallet -
#388
7c0744a
Thanks @adam-maj! - Add support for total supply and pagination on get all
-
#386
612bcdd
Thanks @jnsdls! - [Gnosis Connector] - switch to safe.global hostname & add support for bsc and optimism chains -
#364
7cb8e59
Thanks @joaquim-verges! - Add experimentaluseActiveClaimConditionForWallet()
hook
-
#369
2d3fca5
Thanks @nachoiacovino! - Add useClaimerProofs hook -
#378
32d91ef
Thanks @mykcryptodev! - round borders for buttons and menus on safari
- #356
cc4613b
Thanks @nachoiacovino! - Add Pack and Multiwrap as NFTContract types
- #353
1c24c3c
Thanks @nachoiacovino! - Add useUpdateCreators hook, fix CreatorInput schema
-
#348
7d9a4c6
Thanks @nachoiacovino! - [SOL] - adduseUpdateRoyaltySettings()
hook [SOL] - changeuseRoyalty()
hook ->useRoyaltySettings()
for consistency -
#352
3522917
Thanks @joaquim-verges! - expose useExecuteAuctionSale and useAcceptDirectListingOffer -
#351
aabbb14
Thanks @jnsdls! - [EVM] - fix wallet connection during dev (hot reload)
- #343
72227b2
Thanks @joaquim-verges! - Expose new useOffers and useMakeOffer hooks
-
#327
ef27aad
Thanks @jnsdls! - Gnosis Safe and Magic Link connectors are no longer included in the default export. They are now available as named exports instead.- import { GnosisSafeConnector } from "@thirdweb-dev/react"; + import { GnosisSafeConnector } from "@thirdweb-dev/react/evm/connectors/gnosis-safe";
- import { useGnosis } from "@thirdweb-dev/react"; + import { useGnosis } from "@thirdweb-dev/react/evm/connectors/gnosis-safe";
- import { MagicLink } from "@thirdweb-dev/react"; + import { MagicConnector } from "@thirdweb-dev/react/evm/connectors/magic";
- import { useMagic } from "@thirdweb-dev/react"; + import { useMagic } from "@thirdweb-dev/react/evm/connectors/magic";
- #339
b03a902
Thanks @nachoiacovino! - Fix docs for some functions
-
#316
6ae5266
Thanks @joaquim-verges! - Fix SIWE when using an external signer -
#310
9727502
Thanks @nachoiacovino! - [SOL] - add useMintNFTSupply hook in react and accomodate inputs for it in SDK -
#319
2f8ec89
Thanks @joaquim-verges! - Expose total claimed and unclaimed supply for erc721 drop contracts -
#318
bb1b4e6
Thanks @nachoiacovino! - Add useMinimumNextBid hook and change invariant for other marketplace hooks
- #301
86f0cef
Thanks @joaquim-verges! - Remove useAddress hook for now
- #299
b1218cb
Thanks @joaquim-verges! - Recreate SDK on wallet changes for hook propagation
-
#289
521a49c
Thanks @nachoiacovino! - Standarize useClaimNFT to evm -
#274
ad06c5b
Thanks @adam-maj! - Add solana auth support and plugins for react and auth package -
#269
b2cadf1
Thanks @jnsdls! - [EVM] - remove deprecated chains from support -
#272
2bdf198
Thanks @nachoiacovino! - Add claim conditions hook for Solana -
#291
86f6083
Thanks @jnsdls! - [SOL] - expose.program
onuseProgram()
return type to mirror.contract
on EVM -
#292
492a818
Thanks @jnsdls! - [SOL] exposeuseAddress()
hook that returns the connected wallet address in base58 -
#290
8096c78
Thanks @jnsdls! - [SOL] -useClaimNFT()
allow claiming to connected wallet without passing address explicitly [EVM] -useClaimNFT()
allow claiming to connected wallet without passing address explicitly -
#263
d6bb61b
Thanks @jnsdls! - [EVM] - add chainId getter on contracts -
#282
1f41adb
Thanks @jarrodwatts! - Fix useActiveClaimCondition invariant failing for token ID 0
- #264
f669d3e
Thanks @nachoiacovino! - Standarize data between evm/solana for useLazyMint hook
-
#261
c8261b7
Thanks @jnsdls! - [EVM] - align behavior ofuseContract()
andgetContract()
across react & sdk to both allow passing optional second params of contract types or ABIs -
#236
cac373b
Thanks @jnsdls! - [SOL] - do not require a connection, instead handle a network directly -
#251
ea41231
Thanks @jnsdls! - fix missing Buffer implementation for WalletConnect and CoinbaseWallet connectors -
#253
b6fc298
Thanks @jnsdls! - [EVM] - allow passing contractType as second param touseContract()
-
#258
ac232b5
Thanks @nachoiacovino! - Accept SmartContract instead of erc20 instance -
#245
1972f3e
Thanks @jnsdls! - [SOL] - exposeuseBurnNFT
hook -
#255
9b92697
Thanks @jnsdls! - [EVM] -useContract()
and<Web3Button />
can now accept an optional ABI directly and will return aSmartContract
based on it
- #229
9c8a3fb
Thanks @joaquim-verges! - [SOL] Expose useClaimNFT hook
- #213
e187d21
Thanks @joaquim-verges! - New @thirdweb-dev/react/solana entrypoint
-
#208
7c86bab
Thanks @jnsdls! - add a bunch of initial solana hooks -
#218
1eaedc2
Thanks @jnsdls! - allow bothnull
andundefined
to be passed as aRequiredParam
-
#220
37a707f
Thanks @joaquim-verges! - Fix chakra zag-menu breaking update
-
#209
1bda83b
Thanks @jnsdls! - fix useLayoutEffect during SSR warning -
Updated dependencies [
ce05bfd
]:- @thirdweb-dev/[email protected]
-
#197
f4f05bd
Thanks @jnsdls! - make it obvious when the will trigger a network switch -
Updated dependencies [
5f5ab01
,5f5ab01
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#179
63258bc
Thanks @joaquim-verges! - Expose simple provider and useSDK hooks for Solana -
Updated dependencies [
a80fc97
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#167
4169b94
Thanks @joaquim-verges! - Syntax changes for react native support -
#168
208b038
Thanks @jnsdls! - use internals wherever possible to allow wider usecases with<ThirdwebSDKProvider>
& add invariants to catch improper use of functionality that requires the full<ThirdwebProvider
earlier -
#168
208b038
Thanks @jnsdls! - fix case where<ConnectWallet />
button would get stuck when user cancels connection -
#168
208b038
Thanks @jnsdls! - allow passingclassName
to<ConnectWallet />
and<Web3Button />
for possible style overrides -
Updated dependencies [
4169b94
,3b877ba
,b54f95d
,f8ab477
,772f843
,a9ec190
,208b038
,5345479
]:- @thirdweb-dev/[email protected]
- Updated dependencies []:
- @thirdweb-dev/[email protected]
-
#143
51dde28
Thanks @joaquim-verges! - Fix using external signers with ThirdwebSDKProvider -
Updated dependencies [
51dde28
,9d74a43
,b234c58
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
42c79e9
,fe8751e
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
98dd64a
]:- @thirdweb-dev/[email protected]
-
#19
82627ea
Thanks @joaquim-verges! - 3.0.0 update- 85% reduction in package size!
- Custom contracts are now first class citizens
- Hooks now accept custom contracts direclty and handle the logic internally
before
const { contract } = useContract(...) const { data: nfts } = useNFTs(contract?.nft) const { mutation: claim } = useClaimNFT(contract?.nft)
after
const { contract } = useContract(...) // works with any ERC721/ERC1155 contract const { data: nfts} = useNFTs(contract) const { mutation: claim } = useClaimNFT(contract)
- Custom contract hooks for reading and writing have been renamed:
before
const { contract } = useContract(...) const { data } = useContractData(contract, "myReadFunction", ...args); const { mutate: myFunction } = useContractCall(contract, "myWriteFunction");
after
const { contract } = useContract(...) const { data } = useContractRead(contract, "myReadFunction", ...args); const { mutate: myFunction } = useContractWrite(contract, "myWriteFunction");
- Web3Button benefits from the new Extension detection API:
before
<Web3Button contractAddress={...} action={(contract) => contract.nft?.drop?.claim?.to(...)} > Claim </Web3Button>
after
<Web3Button contractAddress={...} action={(contract) => contract.erc721.claim(...) } > Claim </Web3Button>
-
#109
f7ccc30
Thanks @adam-maj! - Add enabled check to useUser -
#114
1df2dea
Thanks @jnsdls! - only show deprecation method once & add optimism kovan and arbitrum rinkeby to deprecated networks -
#91
2adb8ff
Thanks @kumaryash90! - Add arbitrum and optimism goerli; rename testnets -
Updated dependencies [
a70b590
,a37bc00
,b442c97
,0fa6f3f
,2adb8ff
,5a5bc36
,820a519
,0fa6f3f
,82627ea
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
baa87a1
,f2bdf47
,4079326
,05353fd
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#61
3287c2b
Thanks @jnsdls! - fix versions in dependencies before releasing stable -
Updated dependencies [
3287c2b
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
6ba9cad
]:- @thirdweb-dev/[email protected]
-
Updated dependencies [
5644ccd
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
Updated dependencies [
091f175
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
924247a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#50
c903ca8
Thanks @jnsdls! - apply (sane) sandboxing to<MediaRenderer />
-
Updated dependencies [
e59735b
,2eb7e94
]:- @thirdweb-dev/[email protected]
- #42
46ad691
Thanks @jnsdls! - removefunctionName
+params
option from<Web3Button>
- useaction={...}
instead
-
#45
ed639d6
Thanks @jnsdls! - switch back to preconstruct for building -
#46
349b5c1
Thanks @jnsdls! - imrprove babel & tsconfig settings -
Updated dependencies [
ed639d6
,349b5c1
,46ad691
,5731ac2
,5731ac2
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- 02c2b52: force version
- Updated dependencies [02c2b52]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- 3abe26c: initialze monorepo packages
- Updated dependencies [3abe26c]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- d0a7368: mark old contract hooks as deprecated (use
useContract()
instead) - d4abb09: Add support for Binance chains (BSC)
- 86e3b58: use storage helpers from @thirdweb-dev/storage
- cb439a9: useTotalCount always returns unclaimed and claimed tokens
- 7fa920e:
<Web3Button />
now acceptsaction
instead ofcallable
- Updated dependencies [d4abb09]
- Updated dependencies [274afb5]
- Updated dependencies [86e3b58]
- Updated dependencies [86e3b58]
- Updated dependencies [0c78b16]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]