Releases: thirdweb-dev/js
@thirdweb-dev/[email protected]
Patch Changes
- #5477
6bd9683
Thanks @arcoraven! - chore: Allow optional includeUsage (default: true)
[email protected]
Minor Changes
-
#5415
7b21f1b
Thanks @gregfromstl! - Adds steam auth -
#5415
7b21f1b
Thanks @gregfromstl! - Adds Steam as an authentication option
Patch Changes
-
#5397
895b4d1
Thanks @MananTank! - Catch localStorage getItem and setItem unhandled errors -
#5440
f01de73
Thanks @joaquim-verges! - Support erc6492 signature verification on zksync
@thirdweb-dev/[email protected]
[email protected]
Minor Changes
-
#5354
a1fc436
Thanks @joaquim-verges! - Adds EIP1193 adapters that allow conversion between Thirdweb wallets and EIP-1193 providers:EIP1193.fromProvider()
: Creates a Thirdweb wallet from any EIP-1193 compatible provider (like MetaMask, WalletConnect)EIP1193.toProvider()
: Converts a Thirdweb wallet into an EIP-1193 provider that can be used with any web3 library
Key features:
- Full EIP-1193 compliance for seamless integration
- Handles account management (connect, disconnect, chain switching)
- Supports all standard Ethereum JSON-RPC methods
- Comprehensive event system for state changes
- Type-safe interfaces with full TypeScript support
Examples:
// Convert MetaMask's provider to a Thirdweb wallet const wallet = EIP1193.fromProvider({ provider: window.ethereum, walletId: "io.metamask", }); // Use like any other Thirdweb wallet const account = await wallet.connect({ client: createThirdwebClient({ clientId: "..." }), }); // Convert a Thirdweb wallet to an EIP-1193 provider const provider = EIP1193.toProvider({ wallet, chain: ethereum, client: createThirdwebClient({ clientId: "..." }), }); // Use with any EIP-1193 compatible library const accounts = await provider.request({ method: "eth_requestAccounts", }); // Listen for events provider.on("accountsChanged", (accounts) => { console.log("Active accounts:", accounts); });
Patch Changes
-
#5335
1e7e32f
Thanks @joaquim-verges! - Added global transaction decorator, better eip712 transaction support -
#5349
46d0b4b
Thanks @joaquim-verges! - Use maxFeePerGas for Pay gas cost estimations in transaction flow -
#5366
ef56304
Thanks @gregfromstl! - Adds ox for internal utilities -
#5390
6771cfe
Thanks @ElasticBottle! - fix enclave transaction signing for transactions with 0 maxPriorityFeePerGas -
#5343
5de5418
Thanks @gregfromstl! - Adds chain ID to tracked analytics
@thirdweb-dev/[email protected]
[email protected]
Minor Changes
-
#5326
f5f5ae6
Thanks @gregfromstl! - Add SiteLink component for creating wallet-aware links between thirdweb-enabled sites. This component automatically adds wallet connection parameters to the target URL when a wallet is connected, enabling seamless wallet state sharing between sites.Example:
import { SiteLink } from "thirdweb/react"; function App() { return ( <SiteLink href="https://thirdweb.com" client={thirdwebClient} ecosystem={{ id: "ecosystem.thirdweb" }} > Visit thirdweb.com with connected wallet </SiteLink> ); }
Patch Changes
- #5341
1db950e
Thanks @joaquim-verges! - Make encryption key optional for in-app and ecosystem wallets custom auth
[email protected]
Minor Changes
-
#5298
5cc5c93
Thanks @gregfromstl! - Added newSiteEmbed
React component for embedding thirdweb-supported sites with seamless wallet connection support.The component allows you to embed other thirdweb-enabled sites while maintaining wallet connection state, supporting both in-app and ecosystem wallets.
Example usage:
import { SiteEmbed } from "thirdweb/react"; <SiteEmbed src="https://thirdweb.com" client={client} ecosystem={ecosystem} />;
Note: Embedded sites must include
<AutoConnect />
and support frame-ancestors in their Content Security Policy.
Patch Changes
-
#5217
b633293
Thanks @joaquim-verges! - Automatically migrate in-app wallets to the new enclave system -
#5315
87e736d
Thanks @ElasticBottle! - fix ecosystem signing with data error
[email protected]
[email protected]
Patch Changes
- #5277
58fb28d
Thanks @joaquim-verges! - Respect bundlerUrl in waitForUserReceipt
[email protected]
Minor Changes
-
#5126
c621c13
Thanks @kien-ngo! - Allow to customize the display order of Asset tabsWhen you click on "View Assets", by default the "Tokens" tab is shown first.
If you want to show the "NFTs" tab first, change the order of the asset tabs to: ["nft", "token"]
Note: If an empty array is passed, the [View Funds] button will be hidden
<ConnectButton client={client} detailsModal={{ assetTabs: ["nft", "token"], }} />
Patch Changes
-
#5253
baf2198
Thanks @joaquim-verges! - Use stringify instead of JSON.stringify in most places to handle bigint serialization -
#5272
e3c0af2
Thanks @gregfromstl! - Tracks transaction chain IDs -
#5250
f40d247
Thanks @joaquim-verges! - Allow smart accounts to switch chains between zk and non zk chains -
#5270
0660416
Thanks @gregfromstl! - Enable configuring the analytics endpoint