Compare commits

..
Author SHA1 Message Date
Joaquim VergesGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
c1b2e10f34 Version Packages (#7539)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-07 03:29:31 -07:00
Joaquim VergesandGitHub f48d8006bc [SDK] Optimize payment token fetching in payment widgets (#7536) 2025-07-07 02:50:25 -07:00
Joaquim VergesandGitHub 20e323d666 [Dashboard] Fix smart account options validation for non-EIP4337 execution modes (#7537) 2025-07-07 01:20:11 -07:00
Joaquim VergesGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
0ec6142bf8 Version Packages (#7535)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-06 19:21:21 -07:00
0ea25bb9ae [SDK] Update walletconnect provider to universal (#7532)
Co-authored-by: Cursor Agent <[email protected]>
2025-07-06 16:39:46 -07:00
23 changed files with 590 additions and 709 deletions
@@ -231,22 +231,24 @@ export function AuthOptionsForm({
}
let smartAccountOptions: Ecosystem["smartAccountOptions"] | null = null;
if (data.useSmartAccount && data.executionMode === "EIP4337") {
let accountFactoryAddress: string;
switch (data.accountFactoryType) {
case "v0.6":
accountFactoryAddress = DEFAULT_ACCOUNT_FACTORY_V0_6;
break;
case "v0.7":
accountFactoryAddress = DEFAULT_ACCOUNT_FACTORY_V0_7;
break;
case "custom":
if (!data.customAccountFactoryAddress) {
toast.error("Please enter a custom account factory address");
return;
}
accountFactoryAddress = data.customAccountFactoryAddress;
break;
if (data.useSmartAccount) {
let accountFactoryAddress: string | undefined;
if (data.executionMode === "EIP4337") {
switch (data.accountFactoryType) {
case "v0.6":
accountFactoryAddress = DEFAULT_ACCOUNT_FACTORY_V0_6;
break;
case "v0.7":
accountFactoryAddress = DEFAULT_ACCOUNT_FACTORY_V0_7;
break;
case "custom":
if (!data.customAccountFactoryAddress) {
toast.error("Please enter a custom account factory address");
return;
}
accountFactoryAddress = data.customAccountFactoryAddress;
break;
}
}
smartAccountOptions = {
@@ -3,10 +3,15 @@ import { XIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { useEffect, useState } from "react";
import {
abstract,
arbitrum,
arbitrumSepolia,
base,
baseSepolia,
defineChain,
ethereum,
optimism,
optimismSepolia,
polygon,
sepolia,
} from "thirdweb/chains";
import {
@@ -115,7 +120,12 @@ export function RightSection(props: {
auth={connectOptions.enableAuth ? playgroundAuth : undefined}
autoConnect={false}
chains={[
defineChain(578),
base,
ethereum,
polygon,
optimism,
arbitrum,
abstract,
sepolia,
baseSepolia,
optimismSepolia,
@@ -3,9 +3,14 @@
import { useTheme } from "next-themes";
import {
abstract,
arbitrum,
arbitrumSepolia,
base,
baseSepolia,
ethereum,
optimism,
optimismSepolia,
polygon,
polygonAmoy,
sepolia,
} from "thirdweb/chains";
@@ -28,6 +33,11 @@ export function StyledConnectButton(
polygonAmoy,
arbitrumSepolia,
abstract,
base,
ethereum,
polygon,
optimism,
arbitrum,
]}
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "light" : "dark"}
@@ -2,9 +2,15 @@
import { useTheme } from "next-themes";
import {
abstract,
arbitrum,
arbitrumSepolia,
base,
baseSepolia,
ethereum,
optimism,
optimismSepolia,
polygon,
polygonAmoy,
sepolia,
} from "thirdweb/chains";
@@ -30,11 +36,17 @@ export function StyledConnectEmbed(
) : (
<ConnectEmbed
chains={[
base,
ethereum,
polygon,
optimism,
arbitrum,
sepolia,
baseSepolia,
optimismSepolia,
polygonAmoy,
arbitrumSepolia,
abstract,
]}
client={THIRDWEB_CLIENT}
theme={theme === "light" ? "light" : "dark"}
+14
View File
@@ -1,5 +1,19 @@
# @thirdweb-dev/nebula
## 0.2.9
### Patch Changes
- Updated dependencies [[`f48d800`](https://github.com/thirdweb-dev/js/commit/f48d8006bc5845c05f9bfc050a850edfaee7bdb5)]:
- thirdweb@5.105.9
## 0.2.8
### Patch Changes
- Updated dependencies [[`0ea25bb`](https://github.com/thirdweb-dev/js/commit/0ea25bb9ae7b17524b4f883993bba5ebb20ca939)]:
- thirdweb@5.105.8
## 0.2.7
### Patch Changes
+1 -1
View File
@@ -57,5 +57,5 @@
"type": "module",
"types": "./dist/types/exports/thirdweb.d.ts",
"typings": "./dist/types/exports/thirdweb.d.ts",
"version": "0.2.7"
"version": "0.2.9"
}
+12
View File
@@ -1,5 +1,17 @@
# thirdweb
## 5.105.9
### Patch Changes
- [#7536](https://github.com/thirdweb-dev/js/pull/7536) [`f48d800`](https://github.com/thirdweb-dev/js/commit/f48d8006bc5845c05f9bfc050a850edfaee7bdb5) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Optimize fetching payment tokens in payment widgets
## 5.105.8
### Patch Changes
- [#7532](https://github.com/thirdweb-dev/js/pull/7532) [`0ea25bb`](https://github.com/thirdweb-dev/js/commit/0ea25bb9ae7b17524b4f883993bba5ebb20ca939) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Upgrade to wallet connect universal provider
## 5.105.7
### Patch Changes
+2 -2
View File
@@ -25,8 +25,8 @@
"@tanstack/react-query": "5.81.5",
"@thirdweb-dev/engine": "workspace:*",
"@thirdweb-dev/insight": "workspace:*",
"@walletconnect/ethereum-provider": "2.20.1",
"@walletconnect/sign-client": "2.20.1",
"@walletconnect/universal-provider": "2.21.4",
"abitype": "1.0.8",
"cross-spawn": "7.0.6",
"fuse.js": "7.1.0",
@@ -404,5 +404,5 @@
}
},
"typings": "./dist/types/exports/thirdweb.d.ts",
"version": "5.105.7"
"version": "5.105.9"
}
+23 -14
View File
@@ -1,6 +1,7 @@
import type { ThirdwebClient } from "../client/client.js";
import { getThirdwebBaseUrl } from "../utils/domains.js";
import { getClientFetch } from "../utils/fetch.js";
import { withCache } from "../utils/promise/withCache.js";
import type { Chain } from "./types/Chain.js";
import { ApiError } from "./types/Errors.js";
@@ -54,22 +55,30 @@ import { ApiError } from "./types/Errors.js";
export async function chains(options: chains.Options): Promise<chains.Result> {
const { client } = options;
const clientFetch = getClientFetch(client);
const url = new URL(`${getThirdwebBaseUrl("bridge")}/v1/chains`);
return withCache(
async () => {
const clientFetch = getClientFetch(client);
const url = new URL(`${getThirdwebBaseUrl("bridge")}/v1/chains`);
const response = await clientFetch(url.toString());
if (!response.ok) {
const errorJson = await response.json();
throw new ApiError({
code: errorJson.code || "UNKNOWN_ERROR",
correlationId: errorJson.correlationId || undefined,
message: errorJson.message || response.statusText,
statusCode: response.status,
});
}
const response = await clientFetch(url.toString());
if (!response.ok) {
const errorJson = await response.json();
throw new ApiError({
code: errorJson.code || "UNKNOWN_ERROR",
correlationId: errorJson.correlationId || undefined,
message: errorJson.message || response.statusText,
statusCode: response.status,
});
}
const { data }: { data: Chain[] } = await response.json();
return data;
const { data }: { data: Chain[] } = await response.json();
return data;
},
{
cacheKey: "bridge-chains",
cacheTime: 1000 * 60 * 60 * 1, // 1 hours
},
);
}
export declare namespace chains {
-8
View File
@@ -88,14 +88,6 @@ export type ChainMetadata = {
stackType: string;
};
/**
* @chain
*/
export type ChainService = {
service: string;
enabled: boolean;
};
/**
* @chain
*/
+10 -51
View File
@@ -7,7 +7,6 @@ import type {
Chain,
ChainMetadata,
ChainOptions,
ChainService,
LegacyChain,
} from "./types.js";
@@ -323,62 +322,22 @@ export function getChainMetadata(chain: Chain): Promise<ChainMetadata> {
);
}
type FetchChainServiceResponse =
| {
data: {
services: ChainService[];
};
error?: never;
}
| {
data?: never;
error: unknown;
};
/**
* Retrieves a list of services available on a given chain
* @param chain - The chain object containing the chain ID.
* @returns A Promise that resolves to chain services.
* @throws If there is an error fetching the chain services.
* @example
* ```ts
* const chain = defineChain({ id: 1 });
* const chainServices = await getChainServices(chain);
* console.log(chainServices);
* ```
* @chain
*/
export function getChainServices(chain: Chain): Promise<ChainService[]> {
const chainId = chain.id;
export async function getInsightEnabledChainIds(): Promise<number[]> {
return withCache(
async () => {
try {
const res = await fetch(
`https://api.thirdweb.com/v1/chains/${chainId}/services`,
const res = await fetch(
`https://api.thirdweb.com/v1/chains/services?service=insight`,
);
if (!res.ok) {
throw new Error(
`Failed to fetch services. ${res.status} ${res.statusText}`,
);
if (!res.ok) {
throw new Error(
`Failed to fetch services for chainId ${chainId}. ${res.status} ${res.statusText}`,
);
}
const response = (await res.json()) as FetchChainServiceResponse;
if (response.error) {
throw new Error(`Failed to fetch services for chainId ${chainId}`);
}
if (!response.data) {
throw new Error(`Failed to fetch services for chainId ${chainId}`);
}
const services = response.data.services;
return services;
} catch {
throw new Error(`Failed to fetch services for chainId ${chainId}`);
}
const response = (await res.json()) as { data: Record<number, boolean> };
return Object.keys(response.data).map((chainId) => Number(chainId));
},
{
cacheKey: `chain:${chainId}:services`,
cacheKey: `chain:insight-enabled`,
cacheTime: 24 * 60 * 60 * 1000, // 1 day
},
);
+8 -16
View File
@@ -1,29 +1,21 @@
import type { Chain } from "../chains/types.js";
import { getChainServices } from "../chains/utils.js";
import { getInsightEnabledChainIds } from "../chains/utils.js";
export async function assertInsightEnabled(chains: Chain[]) {
const chainData = await Promise.all(
chains.map((chain) =>
isInsightEnabled(chain).then((enabled) => ({
chain,
enabled,
})),
),
);
const insightEnabled = chainData.every((c) => c.enabled);
const chainIds = await getInsightEnabledChainIds();
const insightEnabled = chains.every((c) => chainIds.includes(c.id));
if (!insightEnabled) {
throw new Error(
`Insight is not available for chains ${chainData
.filter((c) => !c.enabled)
.map((c) => c.chain.id)
`Insight is not available for chains ${chains
.filter((c) => !chainIds.includes(c.id))
.map((c) => c.id)
.join(", ")}`,
);
}
}
export async function isInsightEnabled(chain: Chain) {
const chainData = await getChainServices(chain);
return chainData.some((c) => c.service === "insight" && c.enabled);
const chainIds = await getInsightEnabledChainIds();
return chainIds.includes(chain.id);
}
@@ -1,9 +1,12 @@
import { useQuery } from "@tanstack/react-query";
import { chains } from "../../../bridge/Chains.js";
import { routes } from "../../../bridge/Routes.js";
import type { Token } from "../../../bridge/types/Token.js";
import { getCachedChain } from "../../../chains/utils.js";
import {
getCachedChain,
getInsightEnabledChainIds,
} from "../../../chains/utils.js";
import type { ThirdwebClient } from "../../../client/client.js";
import { isInsightEnabled } from "../../../insight/common.js";
import { getOwnedTokens } from "../../../insight/get-tokens.js";
import { toTokens } from "../../../utils/units.js";
import type { Wallet } from "../../../wallets/interfaces/wallet.js";
@@ -56,42 +59,29 @@ export function usePaymentMethods(options: {
if (!wallet) {
throw new Error("No wallet connected");
}
const allRoutes = await routes({
client,
destinationChainId: destinationToken.chainId,
destinationTokenAddress: destinationToken.address,
includePrices: true,
limit: 100,
maxSteps: 3,
sortBy: "popularity", // Get top 100 most popular routes
});
const allOriginTokens = includeDestinationToken
? [destinationToken, ...allRoutes.map((route) => route.originToken)]
: allRoutes.map((route) => route.originToken);
// 1. Get all supported chains
const [allChains, insightEnabledChainIds] = await Promise.all([
chains({ client }),
getInsightEnabledChainIds(),
]);
// 1. Resolve all unique chains in the supported token map
const uniqueChains = Array.from(
new Set(allOriginTokens.map((t) => t.chainId)),
// 2. Check insight availability for all chains
const insightEnabledChains = allChains.filter((c) =>
insightEnabledChainIds.includes(c.chainId),
);
// 2. Check insight availability once per chain
const insightSupport = await Promise.all(
uniqueChains.map(async (c) => ({
chain: getCachedChain(c),
enabled: await isInsightEnabled(getCachedChain(c)),
})),
);
const insightEnabledChains = insightSupport.filter((c) => c.enabled);
// 3. ERC-20 balances for insight-enabled chains (batched 5 chains / call)
let owned: OwnedTokenWithQuote[] = [];
// 3. Get all owned tokens for insight-enabled chains
let allOwnedTokens: Array<{
balance: bigint;
originToken: Token;
}> = [];
let page = 0;
const limit = 100;
const limit = 500;
while (true) {
const batch = await getOwnedTokens({
chains: insightEnabledChains.map((c) => c.chain),
chains: insightEnabledChains.map((c) => getCachedChain(c.chainId)),
client,
ownerAddress: wallet.getAccount()?.address || "",
queryOptions: {
@@ -105,25 +95,85 @@ export function usePaymentMethods(options: {
break;
}
// find matching origin token in allRoutes
// Convert to our format and filter out zero balances
const tokensWithBalance = batch
.filter((b) => b.value > 0n)
.map((b) => ({
balance: b.value,
originAmount: 0n,
originToken: allOriginTokens.find(
(t) =>
t.address.toLowerCase() === b.tokenAddress.toLowerCase() &&
t.chainId === b.chainId,
),
}))
.filter((t) => !!t.originToken) as OwnedTokenWithQuote[];
originToken: {
address: b.tokenAddress,
chainId: b.chainId,
decimals: b.decimals,
iconUri: "",
name: b.name,
priceUsd: 0,
symbol: b.symbol,
} as Token,
}));
owned = [...owned, ...tokensWithBalance];
allOwnedTokens = [...allOwnedTokens, ...tokensWithBalance];
page += 1;
}
// sort by dollar balance descending
owned.sort((a, b) => {
// 4. For each chain where we have owned tokens, fetch possible routes
const chainsWithOwnedTokens = Array.from(
new Set(allOwnedTokens.map((t) => t.originToken.chainId)),
);
const allValidOriginTokens = new Map<string, Token>();
// Add destination token if included
if (includeDestinationToken) {
const tokenKey = `${destinationToken.chainId}-${destinationToken.address.toLowerCase()}`;
allValidOriginTokens.set(tokenKey, destinationToken);
}
// Fetch routes for each chain with owned tokens
await Promise.all(
chainsWithOwnedTokens.map(async (chainId) => {
try {
// TODO (bridge): this is quite inefficient, need to fix the popularity sorting to really capture all users tokens
const routesForChain = await routes({
client,
destinationChainId: destinationToken.chainId,
destinationTokenAddress: destinationToken.address,
includePrices: true,
limit: 100,
maxSteps: 3,
originChainId: chainId,
sortBy: "popularity",
});
// Add all origin tokens from this chain's routes
for (const route of routesForChain) {
const tokenKey = `${route.originToken.chainId}-${route.originToken.address.toLowerCase()}`;
allValidOriginTokens.set(tokenKey, route.originToken);
}
} catch (error) {
// Log error but don't fail the entire operation
console.warn(`Failed to fetch routes for chain ${chainId}:`, error);
}
}),
);
// 5. Filter owned tokens to only include valid origin tokens
const validOwnedTokens: OwnedTokenWithQuote[] = [];
for (const ownedToken of allOwnedTokens) {
const tokenKey = `${ownedToken.originToken.chainId}-${ownedToken.originToken.address.toLowerCase()}`;
const validOriginToken = allValidOriginTokens.get(tokenKey);
if (validOriginToken) {
validOwnedTokens.push({
balance: ownedToken.balance,
originAmount: 0n,
originToken: validOriginToken, // Use the token with pricing info from routes
});
}
}
// Sort by dollar balance descending
validOwnedTokens.sort((a, b) => {
const aDollarBalance =
Number.parseFloat(toTokens(a.balance, a.originToken.decimals)) *
a.originToken.priceUsd;
@@ -135,29 +185,19 @@ export function usePaymentMethods(options: {
const suitableOriginTokens: OwnedTokenWithQuote[] = [];
for (const b of owned) {
if (b.originToken && b.balance > 0n) {
if (
includeDestinationToken &&
b.originToken.address.toLowerCase() ===
destinationToken.address.toLowerCase() &&
b.originToken.chainId === destinationToken.chainId
) {
// add same token to the front of the list
suitableOriginTokens.unshift({
balance: b.balance,
originAmount: 0n,
originToken: b.originToken,
});
continue;
}
suitableOriginTokens.push({
balance: b.balance,
originAmount: 0n,
originToken: b.originToken,
});
for (const token of validOwnedTokens) {
if (
includeDestinationToken &&
token.originToken.address.toLowerCase() ===
destinationToken.address.toLowerCase() &&
token.originToken.chainId === destinationToken.chainId
) {
// Add same token to the front of the list
suitableOriginTokens.unshift(token);
continue;
}
suitableOriginTokens.push(token);
}
const transformedRoutes = [
@@ -282,6 +282,7 @@ export function BuyWidget(props: BuyWidgetProps) {
toChainId: props.chain.id,
toToken: props.tokenAddress,
});
return true;
},
queryKey: ["buy_widget:render"],
});
@@ -265,6 +265,7 @@ export function CheckoutWidget(props: CheckoutWidgetProps) {
toChainId: props.chain.id,
toToken: props.tokenAddress,
});
return true;
},
queryKey: ["checkout_widget:render"],
});
@@ -292,6 +292,7 @@ export function TransactionWidget(props: TransactionWidgetProps) {
event: "ub:ui:transaction_widget:render",
toToken: props.tokenAddress,
});
return true;
},
queryKey: ["transaction_widget:render"],
});
@@ -399,7 +399,14 @@ export function createWallet<const ID extends WalletId>(
getConfig: () => args[1],
id,
subscribe: emitter.subscribe,
switchChain: (c) => handleSwitchChain(c),
switchChain: async (c) => {
try {
await handleSwitchChain(c);
chain = c;
} catch (e) {
console.error("Error switching chain", e);
}
},
};
return wallet;
}
@@ -230,7 +230,14 @@ export function createWallet<const ID extends WalletId>(
getConfig: () => args[1],
id,
subscribe: emitter.subscribe,
switchChain: (c) => handleSwitchChain(c),
switchChain: async (c) => {
try {
await handleSwitchChain(c);
chain = c;
} catch (e) {
console.error("Error switching chain", e);
}
},
};
return wallet;
}
@@ -1,4 +1,4 @@
import type { EthereumProvider } from "@walletconnect/ethereum-provider";
import type { UniversalProvider } from "@walletconnect/universal-provider";
import type { Address } from "abitype";
import {
getTypesForEIP712Domain,
@@ -11,11 +11,7 @@ import {
} from "viem";
import { trackTransaction } from "../../analytics/track/transaction.js";
import type { Chain } from "../../chains/types.js";
import {
getCachedChain,
getChainMetadata,
getRpcUrlForChain,
} from "../../chains/utils.js";
import { getCachedChain, getRpcUrlForChain } from "../../chains/utils.js";
import type { ThirdwebClient } from "../../client/client.js";
import { getAddress } from "../../utils/address.js";
import {
@@ -40,7 +36,6 @@ import type {
Wallet,
} from "../interfaces/wallet.js";
import type { DisconnectFn, SwitchChainFn } from "../types.js";
import { getValidPublicRPCUrl } from "../utils/chains.js";
import { getDefaultAppMetadata } from "../utils/defaultDappMetadata.js";
import { normalizeChainId } from "../utils/normalizeChainId.js";
import type { WalletEmitter } from "../wallet-emitter.js";
@@ -48,7 +43,9 @@ import type { WalletId } from "../wallet-types.js";
import { DEFAULT_PROJECT_ID, NAMESPACE } from "./constants.js";
import type { WCAutoConnectOptions, WCConnectOptions } from "./types.js";
type WCProvider = InstanceType<typeof EthereumProvider>;
type WCProvider = InstanceType<typeof UniversalProvider>;
let cachedProvider: WCProvider | null = null;
type SavedConnectParams = {
optionalChains?: Chain[];
@@ -56,10 +53,6 @@ type SavedConnectParams = {
pairingTopic?: string;
};
const ADD_ETH_CHAIN_METHOD = "wallet_addEthereumChain";
const defaultShowQrModal = true;
const storageKeys = {
lastUsedChainId: "tw.wc.lastUsedChainId",
requestedChains: "tw.wc.requestedChains",
@@ -123,37 +116,56 @@ export async function connectWC(
}
}
const {
rpcMap,
requiredChain,
optionalChains: chainsToRequest,
} = getChainsToRequest({
// For UniversalProvider, we still need chain configuration for session management
const { chains: chainsToRequest, rpcMap } = getChainsToRequest({
chain: chainToRequest,
client: options.client,
optionalChains: optionalChains,
});
if (provider.session) {
if (!provider.session) {
// For UniversalProvider, we need to connect with namespaces
await provider.connect({
...(wcOptions?.pairingTopic
? { pairingTopic: wcOptions?.pairingTopic }
: {}),
chains: requiredChain ? [requiredChain.id] : undefined,
optionalChains: chainsToRequest,
rpcMap: rpcMap,
namespaces: {
[NAMESPACE]: {
chains: chainsToRequest,
events: ["chainChanged", "accountsChanged"],
methods: [
"eth_sendTransaction",
"eth_signTransaction",
"eth_sign",
"personal_sign",
"eth_signTypedData",
"wallet_switchEthereumChain",
"wallet_addEthereumChain",
],
rpcMap,
},
},
});
}
setRequestedChainsIds(chainsToRequest, storage);
// If session exists and chains are authorized, enable provider for required chain
const addresses = await provider.enable();
const address = addresses[0];
setRequestedChainsIds(
chainsToRequest.map((x) => Number(x.split(":")[1])),
storage,
);
const currentChainId = chainsToRequest[0]?.split(":")[1] || 1;
const providerChainId = normalizeChainId(currentChainId);
const accounts: string[] = await provider.request(
{
method: "eth_requestAccounts",
params: [],
},
`eip155:${providerChainId}`,
);
const address = accounts[0];
if (!address) {
throw new Error("No accounts found on provider.");
}
const providerChainId = normalizeChainId(provider.chainId);
const chain =
options.chain && options.chain.id === providerChainId
? options.chain
@@ -209,16 +221,19 @@ export async function autoConnectWC(
},
walletId,
sessionHandler,
true, // is auto connect
);
const address = provider.accounts[0];
// For UniversalProvider, get accounts from enable() method
const addresses = await provider.enable();
const address = addresses[0];
if (!address) {
throw new Error("No accounts found on provider.");
}
const providerChainId = normalizeChainId(provider.chainId);
// For UniversalProvider, get chainId from the session namespaces or use default
const currentChainId = options.chain?.id || 1;
const providerChainId = normalizeChainId(currentChainId);
const chain =
options.chain && options.chain.id === providerChainId
@@ -234,12 +249,15 @@ async function initProvider(
options: WCConnectOptions,
walletId: WCSupportedWalletIds | "walletConnect",
sessionRequestHandler?: (uri: string) => void | Promise<void>,
isAutoConnect = false,
) {
if (cachedProvider) {
return cachedProvider;
}
const walletInfo = await getWalletInfo(walletId);
const wcOptions = options.walletConnect;
const { EthereumProvider, OPTIONAL_EVENTS, OPTIONAL_METHODS } = await import(
"@walletconnect/ethereum-provider"
const { UniversalProvider } = await import(
"@walletconnect/universal-provider"
);
let optionalChains: Chain[] | undefined = wcOptions?.optionalChains;
@@ -253,19 +271,7 @@ async function initProvider(
}
}
const {
rpcMap,
requiredChain,
optionalChains: chainsToRequest,
} = getChainsToRequest({
chain: chainToRequest,
client: options.client,
optionalChains: optionalChains,
});
const provider = await EthereumProvider.init({
chains: requiredChain ? [requiredChain.id] : undefined,
disableProviderPing: true,
const provider = await UniversalProvider.init({
metadata: {
description:
wcOptions?.appMetadata?.description ||
@@ -276,31 +282,11 @@ async function initProvider(
name: wcOptions?.appMetadata?.name || getDefaultAppMetadata().name,
url: wcOptions?.appMetadata?.url || getDefaultAppMetadata().url,
},
optionalChains: chainsToRequest,
optionalEvents: OPTIONAL_EVENTS,
optionalMethods: OPTIONAL_METHODS,
projectId: wcOptions?.projectId || DEFAULT_PROJECT_ID,
qrModalOptions: wcOptions?.qrModalOptions,
rpcMap: rpcMap,
showQrModal:
wcOptions?.showQrModal === undefined
? sessionRequestHandler
? false
: defaultShowQrModal
: wcOptions.showQrModal,
});
provider.events.setMaxListeners(Number.POSITIVE_INFINITY);
// disconnect the provider if chains are stale when (if not auto connecting)
if (!isAutoConnect) {
// const isStale = await isChainsStale(provider, chainsToRequest);
if (provider.session) {
await provider.disconnect();
}
}
if (walletId !== "walletConnect") {
async function handleSessionRequest() {
const walletLinkToOpen =
@@ -314,12 +300,16 @@ async function initProvider(
}
}
provider.signer.client.on("session_request_sent", handleSessionRequest);
// For UniversalProvider, use different event handling
provider.on("session_request_sent", handleSessionRequest);
provider.events.addListener("disconnect", () => {
provider.signer.client.off("session_request_sent", handleSessionRequest);
provider.off("session_request_sent", handleSessionRequest);
cachedProvider = null;
});
}
cachedProvider = provider;
return provider;
}
@@ -327,26 +317,31 @@ function createAccount({
provider,
address,
client,
chain,
}: {
provider: WCProvider;
address: string;
client: ThirdwebClient;
chain: Chain;
}) {
const account: Account = {
address: getAddress(address),
async sendTransaction(tx: SendTransactionOption) {
const transactionHash = (await provider.request({
method: "eth_sendTransaction",
params: [
{
data: tx.data,
from: getAddress(address),
gas: tx.gas ? numberToHex(tx.gas) : undefined,
to: tx.to as Address,
value: tx.value ? numberToHex(tx.value) : undefined,
},
],
})) as Hex;
const transactionHash = (await provider.request(
{
method: "eth_sendTransaction",
params: [
{
data: tx.data,
from: getAddress(address),
gas: tx.gas ? numberToHex(tx.gas) : undefined,
to: tx.to as Address,
value: tx.value ? numberToHex(tx.value) : undefined,
},
],
},
`eip155:${tx.chainId}`,
)) as Hex;
trackTransaction({
chainId: tx.chainId,
@@ -372,10 +367,13 @@ function createAccount({
}
return message.raw;
})();
return provider.request({
method: "personal_sign",
params: [messageToSign, this.address],
});
return provider.request(
{
method: "personal_sign",
params: [messageToSign, this.address],
},
`eip155:${chain.id}`,
);
},
async signTypedData(_data) {
const data = parseTypedData(_data);
@@ -398,10 +396,13 @@ function createAccount({
types,
});
return await provider.request({
method: "eth_signTypedData_v4",
params: [this.address, typedData],
});
return await provider.request(
{
method: "eth_signTypedData_v4",
params: [this.address, typedData],
},
`eip155:${chain.id}`,
);
},
};
@@ -416,13 +417,14 @@ function onConnect(
storage: AsyncStorage,
client: ThirdwebClient,
): [Account, Chain, DisconnectFn, SwitchChainFn] {
const account = createAccount({ address, client, provider });
const account = createAccount({ address, chain, client, provider });
async function disconnect() {
provider.removeListener("accountsChanged", onAccountsChanged);
provider.removeListener("chainChanged", onChainChanged);
provider.removeListener("disconnect", onDisconnect);
await provider.disconnect();
cachedProvider = null;
}
function onDisconnect() {
@@ -436,6 +438,7 @@ function onConnect(
if (accounts[0]) {
const newAccount = createAccount({
address: getAddress(accounts[0]),
chain,
client,
provider,
});
@@ -461,66 +464,14 @@ function onConnect(
account,
chain,
disconnect,
(newChain) => switchChainWC(provider, newChain, storage),
(newChain) => switchChainWC(provider, newChain),
];
}
// Storage utils -----------------------------------------------------------------------------------------------
function getNamespaceMethods(provider: WCProvider) {
return provider.session?.namespaces[NAMESPACE]?.methods || [];
}
function getNamespaceChainsIds(provider: WCProvider): number[] {
const chainIds = provider.session?.namespaces[NAMESPACE]?.chains?.map(
(chain) => Number.parseInt(chain.split(":")[1] || ""),
);
return chainIds ?? [];
}
async function switchChainWC(
provider: WCProvider,
chain: Chain,
storage: AsyncStorage,
) {
async function switchChainWC(provider: WCProvider, chain: Chain) {
const chainId = chain.id;
try {
const namespaceChains = getNamespaceChainsIds(provider);
const namespaceMethods = getNamespaceMethods(provider);
const isChainApproved = namespaceChains.includes(chainId);
if (!isChainApproved && namespaceMethods.includes(ADD_ETH_CHAIN_METHOD)) {
const apiChain = await getChainMetadata(chain);
const blockExplorerUrls = [
...new Set([
...(chain.blockExplorers?.map((x) => x.url) || []),
...(apiChain.explorers?.map((x) => x.url) || []),
]),
];
await provider.request({
method: ADD_ETH_CHAIN_METHOD,
params: [
{
blockExplorerUrls:
blockExplorerUrls.length > 0 ? blockExplorerUrls : undefined,
chainId: numberToHex(apiChain.chainId),
chainName: apiChain.name,
nativeCurrency: apiChain.nativeCurrency, // no clientId on purpose
rpcUrls: getValidPublicRPCUrl(apiChain),
},
],
});
const requestedChains = await getRequestedChainsIds(storage);
requestedChains.push(chainId);
setRequestedChainsIds(requestedChains, storage);
}
await provider.request({
method: "wallet_switchEthereumChain",
params: [{ chainId: numberToHex(chainId) }],
});
provider.setDefaultChain(`eip155:${chainId}`);
} catch (error) {
const message =
typeof error === "string" ? error : (error as ProviderRpcError)?.message;
@@ -543,35 +494,23 @@ function setRequestedChainsIds(
storage?.setItem(storageKeys.requestedChains, stringify(chains));
}
/**
* Get the last requested chains from the storage.
* @internal
*/
async function getRequestedChainsIds(storage: AsyncStorage): Promise<number[]> {
const data = await storage.getItem(storageKeys.requestedChains);
return data ? JSON.parse(data) : [];
}
type ArrayOneOrMore<T> = {
0: T;
} & Array<T>;
function getChainsToRequest(options: {
chain?: Chain;
optionalChains?: Chain[];
client: ThirdwebClient;
}): {
rpcMap: Record<number, string>;
requiredChain: Chain | undefined;
optionalChains: ArrayOneOrMore<number>;
chains: string[];
} {
const rpcMap: Record<number, string> = {};
const chainIds: number[] = [];
if (options.chain) {
rpcMap[options.chain.id] = getRpcUrlForChain({
chain: options.chain,
client: options.client,
});
chainIds.push(options.chain.id);
}
// limit optional chains to 10
@@ -582,18 +521,16 @@ function getChainsToRequest(options: {
chain: chain,
client: options.client,
});
chainIds.push(chain.id);
}
if (!options.chain && optionalChains.length === 0) {
rpcMap[1] = getCachedChain(1).rpc;
chainIds.push(1);
}
return {
optionalChains:
optionalChains.length > 0
? (optionalChains.map((x) => x.id) as ArrayOneOrMore<number>)
: [1],
requiredChain: options.chain ? options.chain : undefined,
chains: chainIds.map((x) => `eip155:${x}`),
rpcMap,
};
}
@@ -1,24 +1,20 @@
import type { EthereumProvider } from "@walletconnect/ethereum-provider";
import type { Chain } from "../../chains/types.js";
import type { ThirdwebClient } from "../../client/client.js";
import type { Prettify } from "../../utils/type-utils.js";
import type { AppMetadata } from "../types.js";
type EthereumProviderOptions = Parameters<(typeof EthereumProvider)["init"]>[0];
type WalletConnectQRCodeModalOptions = Pick<
NonNullable<EthereumProviderOptions["qrModalOptions"]>,
| "themeMode"
| "themeVariables"
| "desktopWallets"
| "enableExplorer"
| "explorerRecommendedWalletIds"
| "explorerExcludedWalletIds"
| "mobileWallets"
| "privacyPolicyUrl"
| "termsOfServiceUrl"
| "walletImages"
>;
type WalletConnectQRCodeModalOptions = {
themeMode?: "light" | "dark";
themeVariables?: Record<string, string>;
desktopWallets?: Record<string, unknown>[];
enableExplorer?: boolean;
explorerRecommendedWalletIds?: string[];
explorerExcludedWalletIds?: string[];
mobileWallets?: Record<string, unknown>[];
privacyPolicyUrl?: string;
termsOfServiceUrl?: string;
walletImages?: Record<string, string>;
};
export type WalletConnectConfig = {
/**
+4
View File
@@ -1,5 +1,9 @@
# @thirdweb-dev/wagmi-adapter
## 0.2.106
## 0.2.105
## 0.2.104
## 0.2.103
+1 -1
View File
@@ -55,5 +55,5 @@
"type": "module",
"types": "./dist/types/exports/thirdweb.d.ts",
"typings": "./dist/types/exports/thirdweb.d.ts",
"version": "0.2.104"
"version": "0.2.106"
}
+227 -352
View File
@@ -1253,12 +1253,12 @@ importers:
'@thirdweb-dev/insight':
specifier: workspace:*
version: link:../insight
'@walletconnect/ethereum-provider':
specifier: 2.20.1
version: 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/sign-client':
specifier: 2.20.1
version: 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/universal-provider':
specifier: 2.21.4
version: 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
abitype:
specifier: 1.0.8
version: 1.0.8([email protected])([email protected])
@@ -5292,18 +5292,12 @@ packages:
'@reown/[email protected]':
resolution: {integrity: sha512-Fho7RFj+xN7uHM9MvCRm4QHf2Oxnl9ZKp9K0lm4MMawKzZZZ8riuUwRJkHOf75++SjNGYx9+Y8bAV6Xf+nlHxg==}
'@reown/[email protected]':
resolution: {integrity: sha512-wKTr6N3z8ly17cc51xBEVkZK4zAd8J1m7RubgsdQ1olFY9YJGe61RYoNv9yFjt6tUVeYT+z7iMUwPhX2PziefQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-FkxpsuEAqn+BKacpj9rz9psUcwPgahd5YhVek478J1fr1GIVfJACIxfqGZRPczTHV2RLd+Z+N+hBUwavTvYRew==}
'@reown/[email protected]':
resolution: {integrity: sha512-aqAcX/nZe0gwqjncyCkVrAk3lEw0qZ9xGrdLOmA207RreO4J0Vxu8OJXCBn4C2AUI2OpBxCPah+vyuKTUJTeHQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA==}
@@ -5316,27 +5310,18 @@ packages:
'@reown/[email protected]':
resolution: {integrity: sha512-LK55M1/JlGPCWnhLhiEof/N5S+bf4rXcAyOXfwTYvjCit8yI3z0SpDaOLJWQZrULLgq/+AYXgjYMiSIR5h1x+A==}
'@reown/[email protected]':
resolution: {integrity: sha512-vQUiAyI7WiNTUV4iNwv27iigdeg8JJTEo6ftUowIrKZ2/gtE2YdMtGpavuztT/qrXhrIlTjDGp5CIyv9WOTu4g==}
'@reown/[email protected]':
resolution: {integrity: sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA==}
'@reown/[email protected]':
resolution: {integrity: sha512-3Rx6i+Qr4O253xigYnTXKeuwJ9vJiYMrlR3E1q6eDghPgBlrTL8kJqbC8Dnrf9Im6H80h+uHS4LIwzbIzmp6Lg==}
'@reown/[email protected]':
resolution: {integrity: sha512-ssB15fcjmoKQ+VfoCo7JIIK66a4SXFpCH8uK1CsMmXmKIKqPN54ohLo291fniV6mKtnJxh5Xm68slGtGrO3bmA==}
'@reown/[email protected]':
resolution: {integrity: sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-DDo+mk4Lx2af3j9QkyLgQdEh0KStDdoVv4R3ob8w+pklpzmxLp8Tr/tfWZQAJn8OZ51IaRQTHO7vzvTOhPKJ8w==}
'@reown/[email protected]':
resolution: {integrity: sha512-zKmFIjLp0X24pF9KtPtSHmdsh/RjEWIvz+faIbPGm4tQbwcxdg9A35HeoP0rMgKYx49SX51LgPwVXne2gYacqQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow==}
@@ -5345,11 +5330,6 @@ packages:
peerDependencies:
valtio: 1.13.2
'@reown/[email protected]':
resolution: {integrity: sha512-8/MNhmfri+2uu8WzBhZ5jm5llofOIa1dyXDXRC/hfrmGmCFJdrQKPpuqOFYoimo2s2g70pK4PYefvOKgZOWzgg==}
peerDependencies:
valtio: 1.13.2
'@reown/[email protected]':
resolution: {integrity: sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw==}
peerDependencies:
@@ -5358,18 +5338,12 @@ packages:
'@reown/[email protected]':
resolution: {integrity: sha512-ChAdX/Et31wsJArHJ4VdaNej9+pdt1G3c7axpNku6oWA3p17Eo0+cR3QGI4ycnepFChxE8LiJCqyv8R9BGJ95w==}
'@reown/[email protected]':
resolution: {integrity: sha512-D0pExd0QUE71ursQPp3pq/0iFrz2oz87tOyFifrPANvH5X0RQCYn/34/kXr+BFVQzNFfCBDlYP+CniNA/S0KiQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A==}
'@reown/[email protected]':
resolution: {integrity: sha512-llNLf6tkY9mwr0IcVWkNmISARn35FU0NAl29mgLr3s/r2o6yid+/M2UuA3dXh0koY2BLpyrjAwiY/DOXN6kgfw==}
'@reown/[email protected]':
resolution: {integrity: sha512-aA/UIwi/dVzxEB62xlw3qxHa3RK1YcPMjNxoGj/fHNCqL2qWmbcOXT7coCUa9RG7/Bh26FZ3vdVT2v71j6hebQ==}
'@reown/[email protected]':
resolution: {integrity: sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==}
@@ -7389,15 +7363,16 @@ packages:
resolution: {integrity: sha512-kMjo5bI6VOsFe/DmxgeTMxCdAIfSzUzG8kCDrpxUXrTnMgaU4H2JBW+tGn7KP/YY1x49+lErZsN5JiQsE5n6Rw==}
engines: {node: '>=18'}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-XtwPUCj3bCNX/2yjYGlQyvcsn32wkzixCjyWOD4pdKFVk7opZPAdF4xr85rmo6nJ7AiBYxjV1IH0bemTPEdE6Q==}
engines: {node: '>=18'}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-NzPzNcjMLqow6ha2nssB1ciMD0cdHZesYcHSQKjCi9waIDMov9Fr2yEJccbiVFE3cxek7f9dCPsoZez2q8ihvg==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-D/T7ctrVHSSCxKGPIRpWR3ICAU4Q5jKsUkYhaW3C8LFeIpgXoCllZHVgjYBmgjicqjT3faixIZ1tgmJmOeuY6g==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-SSlIG6QEVxClgl1s0LMk4xr2wg4eT3Zn/Hb81IocyqNSGfXpjtawWxKxiC5/9Z95f1INyBD6MctJbL/R1oBwIw==}
@@ -7441,6 +7416,7 @@ packages:
'@walletconnect/[email protected]':
resolution: {integrity: sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==}
deprecated: Please follow the migration guide on https://docs.reown.com/appkit/upgrade/wcm
'@walletconnect/[email protected]':
resolution: {integrity: sha512-lHKwXKoB0rdDH1ukxUx7o86xosWbttWIHYMZ8tgAQC1k9VH3CZZCoBcHOAAX8iBzyb0n0UP3/9zRrOcJE5nz7Q==}
@@ -7478,6 +7454,9 @@ packages:
'@walletconnect/[email protected]':
resolution: {integrity: sha512-Z6sTCBrset7u5CNjPWlqQuWxmLL2WlGLZYKoB7g/Nvg8wLWo0VaaNeTtNsuopLfJeqdV9/4nV/qHE4xXs2nMIQ==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-v1OJ9IQCZAqaDEUYGFnGLe2fSp8DN9cv7j8tUYm5ngiFK7h6LjP4Ew3gGCca4AHWzMFkHuIRNQ+6Ypep1K/B7g==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==}
@@ -7496,12 +7475,12 @@ packages:
'@walletconnect/[email protected]':
resolution: {integrity: sha512-4fDchSb6q/YIuUokaIvp+/tpWtmiL+dOWuKUCq0+w81R0unsQzn4Zc57Xh+TkNAlBGSJmZ44ZQPevN4vaTnjwg==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-6O61esDSW8FZNdFezgB4bX2S35HM6tCwBEjGHNB8JeoKCfpXG33hw2raU/SBgBL/jmM57QRW4M1aFH7v1u9z7g==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-LkKg+EjcSUpPUhhvRANgkjPL38wJPIWumAYD8OK/g4OFuJ4W3lS/XTCKthABQfFqmiNbNbVllmywiyE44KdpQg==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-0WfO4Unb+8UMEUr65vrVjd/a/3tF5059KLP7gX2kaDFjXXOma1/cjq/9/STd3hbHB8LKfxpXvOty97vuD8xfWQ==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==}
@@ -7511,6 +7490,9 @@ packages:
'@walletconnect/[email protected]':
resolution: {integrity: sha512-Tlkfbtp5oNvSb9yEUl3Fxs0A1y8kLbGJOq7F3zyjVu2EvG96cMqqmlYlPRsi55VDn3scmw8zr2zN+BMsMAuDPw==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-ZSYU5H7Zi/nEy3L21kw5l3ovMagrbXDRKBG8vjPpGQAkflQocRj6d0SesFOCBEdJS16nt+6dKI2f5blpOGzyTQ==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-VU5CcUF4sZDg8a2/ov29OJzT3KfLuZqJUM0GemW30dlipI5fkpb0VPenZK7TcdLPXc1LN+Q+7eyTqHRoAu/BIA==}
@@ -7526,6 +7508,9 @@ packages:
'@walletconnect/[email protected]':
resolution: {integrity: sha512-LHxYX69vG7aPCQB9YT1F8ibwAfRNYwqCEBMplrmquAX+l4lMHTpXvsFF/a5NWFT23DKzbWZ4VTfQTDZ//XJKpg==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-LuSyBXvRLiDqIu4uMFei5eJ/WPhkIkdW58fmDlRnryatIuBPCho3dlrNSbOjVSdsID+OvxjOlpPLi+5h4oTbaA==}
'@walletconnect/[email protected]':
resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==}
@@ -11468,9 +11453,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
[email protected]:
resolution: {integrity: sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==}
[email protected]:
resolution: {integrity: sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==}
@@ -16102,7 +16084,7 @@ snapshots:
'@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/[email protected])
'@aws-sdk/client-sts': 3.592.0
'@aws-sdk/core': 3.592.0
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected])(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])
'@aws-sdk/middleware-host-header': 3.577.0
'@aws-sdk/middleware-logger': 3.577.0
'@aws-sdk/middleware-recursion-detection': 3.577.0
@@ -16148,7 +16130,7 @@ snapshots:
'@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/[email protected])
'@aws-sdk/client-sts': 3.592.0
'@aws-sdk/core': 3.592.0
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected])(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])
'@aws-sdk/middleware-host-header': 3.577.0
'@aws-sdk/middleware-logger': 3.577.0
'@aws-sdk/middleware-recursion-detection': 3.577.0
@@ -16194,7 +16176,7 @@ snapshots:
'@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/[email protected])
'@aws-sdk/client-sts': 3.592.0
'@aws-sdk/core': 3.592.0
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected])(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])
'@aws-sdk/middleware-host-header': 3.577.0
'@aws-sdk/middleware-logger': 3.577.0
'@aws-sdk/middleware-recursion-detection': 3.577.0
@@ -16537,6 +16519,24 @@ snapshots:
'@smithy/util-stream': 4.2.2
tslib: 2.8.1
'@aws-sdk/[email protected](@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])':
dependencies:
'@aws-sdk/client-sts': 3.592.0
'@aws-sdk/credential-provider-env': 3.587.0
'@aws-sdk/credential-provider-http': 3.587.0
'@aws-sdk/credential-provider-process': 3.587.0
'@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/[email protected])
'@aws-sdk/types': 3.577.0
'@smithy/credential-provider-imds': 3.2.8
'@smithy/property-provider': 3.1.11
'@smithy/shared-ini-file-loader': 3.1.12
'@smithy/types': 3.7.2
tslib: 2.8.1
transitivePeerDependencies:
- '@aws-sdk/client-sso-oidc'
- aws-crt
'@aws-sdk/[email protected](@aws-sdk/[email protected])(@aws-sdk/[email protected])':
dependencies:
'@aws-sdk/client-sts': 3.592.0
@@ -16591,6 +16591,25 @@ snapshots:
transitivePeerDependencies:
- aws-crt
'@aws-sdk/[email protected](@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])':
dependencies:
'@aws-sdk/credential-provider-env': 3.587.0
'@aws-sdk/credential-provider-http': 3.587.0
'@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/[email protected](@aws-sdk/[email protected]))(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-process': 3.587.0
'@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/[email protected])
'@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/[email protected])
'@aws-sdk/types': 3.577.0
'@smithy/credential-provider-imds': 3.2.8
'@smithy/property-provider': 3.1.11
'@smithy/shared-ini-file-loader': 3.1.12
'@smithy/types': 3.7.2
tslib: 2.8.1
transitivePeerDependencies:
- '@aws-sdk/client-sso-oidc'
- '@aws-sdk/client-sts'
- aws-crt
'@aws-sdk/[email protected](@aws-sdk/[email protected])(@aws-sdk/[email protected])':
dependencies:
'@aws-sdk/credential-provider-env': 3.587.0
@@ -21727,28 +21746,6 @@ snapshots:
- utf-8-validate
- zod
'@reown/[email protected]([email protected])([email protected])([email protected])([email protected])':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
viem: 2.28.1([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
'@reown/[email protected]([email protected])([email protected])([email protected])([email protected])':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
viem: 2.28.1([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
'@reown/[email protected]([email protected])([email protected])([email protected])([email protected])':
dependencies:
big.js: 6.2.2
@@ -21805,40 +21802,6 @@ snapshots:
- utf-8-validate
- zod
'@reown/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-wallet': 1.7.3([email protected])([email protected])([email protected])
'@walletconnect/universal-provider': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
valtio: 1.13.2(@types/[email protected])([email protected])
viem: 2.28.1([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- zod
'@reown/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -21947,10 +21910,6 @@ snapshots:
dependencies:
buffer: 6.0.3
'@reown/[email protected]':
dependencies:
buffer: 6.0.3
'@reown/[email protected]':
dependencies:
buffer: 6.0.3
@@ -21991,42 +21950,6 @@ snapshots:
- valtio
- zod
'@reown/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-controllers': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-ui': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-utils': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])
'@reown/appkit-wallet': 1.7.3([email protected])([email protected])([email protected])
lit: 3.1.0
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- valtio
- zod
'@reown/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -22097,40 +22020,6 @@ snapshots:
- utf-8-validate
- zod
'@reown/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-controllers': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-wallet': 1.7.3([email protected])([email protected])([email protected])
lit: 3.1.0
qrcode: 1.5.3
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- zod
'@reown/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -22203,43 +22092,6 @@ snapshots:
- utf-8-validate
- zod
'@reown/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-controllers': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-polyfills': 1.7.3
'@reown/appkit-wallet': 1.7.3([email protected])([email protected])([email protected])
'@walletconnect/logger': 2.1.2
'@walletconnect/universal-provider': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
valtio: 1.13.2(@types/[email protected])([email protected])
viem: 2.28.1([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- zod
'@reown/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -22288,17 +22140,6 @@ snapshots:
- typescript
- utf-8-validate
'@reown/[email protected]([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-polyfills': 1.7.3
'@walletconnect/logger': 2.1.2
zod: 3.22.4
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
'@reown/[email protected]([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -22353,47 +22194,6 @@ snapshots:
- utf-8-validate
- zod
'@reown/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.3([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-controllers': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-polyfills': 1.7.3
'@reown/appkit-scaffold-ui': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])
'@reown/appkit-ui': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@reown/appkit-utils': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected]))([email protected])
'@reown/appkit-wallet': 1.7.3([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/universal-provider': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
bs58: 6.0.0
valtio: 1.13.2(@types/[email protected])([email protected])
viem: 2.28.1([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- zod
'@reown/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit-common': 1.7.8([email protected])([email protected])([email protected])([email protected])
@@ -25659,7 +25459,7 @@ snapshots:
dependencies:
'@wallet-standard/base': 1.1.0
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
'@walletconnect/[email protected]([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
@@ -25672,8 +25472,8 @@ snapshots:
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2([email protected])([email protected])
'@walletconnect/utils': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.33.0
events: 3.3.0
@@ -25874,23 +25674,25 @@ snapshots:
- utf-8-validate
- zod
'@walletconnect/[email protected]':
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
tslib: 1.14.1
'@walletconnect/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/jsonrpc-http-connection': 1.0.8([email protected])
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/jsonrpc-ws-connection': 1.0.16([email protected])([email protected])
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/modal': 2.7.0(@types/[email protected])([email protected])
'@walletconnect/sign-client': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/universal-provider': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/utils': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/logger': 2.1.2
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.39.3
events: 3.3.0
uint8arrays: 3.1.1
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -25903,33 +25705,34 @@ snapshots:
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@types/react'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- react
- typescript
- uploadthing
- utf-8-validate
- zod
'@walletconnect/e[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
'@walletconnect/e[email protected]':
dependencies:
tslib: 1.14.1
'@walletconnect/[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@reown/appkit': 1.7.3(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/jsonrpc-http-connection': 1.0.8([email protected])
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/sign-client': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected].1)
'@walletconnect/universal-provider': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected]1)
'@walletconnect/utils': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/modal': 2.7.0(@types/[email protected])([email protected])
'@walletconnect/sign-client': 2.19.2([email protected])([email protected])([email protected])(types[email protected])([email protected])([email protected]1)
'@walletconnect/types': 2.19.2([email protected])([email protected].1)
'@walletconnect/universal-provider': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/utils': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -26129,16 +25932,16 @@ snapshots:
dependencies:
tslib: 1.14.1
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
'@walletconnect/[email protected]([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/core': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/core': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2([email protected])([email protected])
'@walletconnect/utils': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -26304,11 +26107,46 @@ snapshots:
- utf-8-validate
- zod
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/core': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- ioredis
- typescript
- uploadthing
- utf-8-validate
- zod
'@walletconnect/[email protected]':
dependencies:
tslib: 1.14.1
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])':
'@walletconnect/[email protected]([email protected])([email protected])':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
@@ -26448,19 +26286,13 @@ snapshots:
- ioredis
- uploadthing
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected]1)':
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected].1)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8([email protected])
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/logger': 2.1.2
'@walletconnect/sign-client': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
es-toolkit: 1.33.0
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -26478,16 +26310,11 @@ snapshots:
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- typescript
- uploadthing
- utf-8-validate
- zod
'@walletconnect/universal-provider@2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
'@walletconnect/universal-provider@2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8([email protected])
@@ -26496,9 +26323,9 @@ snapshots:
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/logger': 2.1.2
'@walletconnect/sign-client': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.20.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/sign-client': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.19.2([email protected])([email protected])
'@walletconnect/utils': 2.19.2([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
es-toolkit: 1.33.0
events: 3.3.0
transitivePeerDependencies:
@@ -26643,7 +26470,46 @@ snapshots:
- utf-8-validate
- zod
'@walletconnect/u[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
'@walletconnect/u[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8([email protected])
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/logger': 2.1.2
'@walletconnect/sign-client': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
'@walletconnect/types': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/utils': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
es-toolkit: 1.39.3
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- encoding
- ioredis
- typescript
- uploadthing
- utf-8-validate
- zod
'@walletconnect/[email protected]([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@noble/ciphers': 1.2.1
'@noble/curves': 1.8.1
@@ -26654,7 +26520,7 @@ snapshots:
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.19.2(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/types': 2.19.2([email protected])([email protected])
'@walletconnect/window-getters': 1.0.1
'@walletconnect/window-metadata': 1.0.1
bs58: 6.0.0
@@ -26861,6 +26727,52 @@ snapshots:
- utf-8-validate
- zod
'@walletconnect/[email protected](@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])':
dependencies:
'@msgpack/msgpack': 3.1.2
'@noble/ciphers': 1.3.0
'@noble/curves': 1.9.2
'@noble/hashes': 1.8.0
'@scure/base': 1.2.6
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/relay-api': 1.0.11
'@walletconnect/relay-auth': 1.1.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.4(@react-native-async-storage/[email protected]([email protected](@babel/[email protected])(@babel/[email protected](@babel/[email protected]))(@types/[email protected])([email protected])([email protected])([email protected])))([email protected])([email protected])
'@walletconnect/window-getters': 1.0.1
'@walletconnect/window-metadata': 1.0.1
blakejs: 1.2.1
bs58: 6.0.0
detect-browser: 5.3.0
query-string: 7.1.3
uint8arrays: 3.1.1
viem: 2.31.0([email protected])([email protected])([email protected])([email protected])
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
- '@netlify/blobs'
- '@planetscale/database'
- '@react-native-async-storage/async-storage'
- '@upstash/redis'
- '@vercel/blob'
- '@vercel/kv'
- aws4fetch
- bufferutil
- db0
- ioredis
- typescript
- uploadthing
- utf-8-validate
- zod
'@walletconnect/[email protected]':
dependencies:
tslib: 1.14.1
@@ -29067,8 +28979,8 @@ snapshots:
'@typescript-eslint/parser': 7.14.1([email protected])([email protected])
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1([email protected])([email protected])
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
eslint-import-resolver-typescript: 3.10.1([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected])
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
eslint-plugin-jsx-a11y: 6.10.2([email protected])
eslint-plugin-react: 7.37.5([email protected])
eslint-plugin-react-hooks: 5.2.0([email protected])
@@ -29087,7 +28999,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
[email protected]([email protected])([email protected]):
[email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.1([email protected])
@@ -29098,7 +29010,7 @@ snapshots:
tinyglobby: 0.2.14
unrs-resolver: 1.10.1
optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
transitivePeerDependencies:
- supports-color
@@ -29123,18 +29035,18 @@ snapshots:
- bluebird
- supports-color
[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]([email protected])([email protected]))([email protected]):
[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected]):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.14.1([email protected])([email protected])
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1([email protected])([email protected])
eslint-import-resolver-typescript: 3.10.1([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected])
transitivePeerDependencies:
- supports-color
[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected]):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -29145,7 +29057,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]([email protected])([email protected]))([email protected])
eslint-module-utils: 2.12.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -31513,12 +31425,6 @@ snapshots:
lit-element: 3.3.3
lit-html: 2.8.0
[email protected]:
dependencies:
'@lit/reactive-element': 2.1.0
lit-element: 4.2.0
lit-html: 3.3.0
[email protected]:
dependencies:
'@lit/reactive-element': 2.1.0
@@ -33046,20 +32952,6 @@ snapshots:
transitivePeerDependencies:
- zod
[email protected]([email protected])([email protected]):
dependencies:
'@adraffy/ens-normalize': 1.11.0
'@noble/curves': 1.8.2
'@noble/hashes': 1.7.2
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
abitype: 1.0.8([email protected])([email protected])
eventemitter3: 5.0.1
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- zod
[email protected]([email protected])([email protected]):
dependencies:
'@adraffy/ens-normalize': 1.11.0
@@ -36417,23 +36309,6 @@ snapshots:
- utf-8-validate
- zod
[email protected]([email protected])([email protected])([email protected])([email protected]):
dependencies:
'@noble/curves': 1.8.2
'@noble/hashes': 1.7.2
'@scure/bip32': 1.6.2
'@scure/bip39': 1.5.4
abitype: 1.0.8([email protected])([email protected])
isows: 1.0.6([email protected]([email protected])([email protected]))
ox: 0.6.9([email protected])([email protected])
ws: 8.18.1([email protected])([email protected])
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
[email protected]([email protected])([email protected])([email protected])([email protected]):
dependencies:
'@noble/curves': 1.8.2