thirdweb 5.76.0 → 5.77.0-nightly-a0fabb205916a7b06938fafbea5d80d9506d342e-20241212000351
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/contract/deployment/deploy-with-abi.js +1 -1
- package/dist/cjs/contract/deployment/deploy-with-abi.js.map +1 -1
- package/dist/cjs/exports/react.js +4 -1
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-published.js +25 -6
- package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/process-ref-deployments.js +117 -0
- package/dist/cjs/extensions/prebuilts/process-ref-deployments.js.map +1 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js +1 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAddConnectedWallet.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAddConnectedWallet.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/core/utils/storage.js +4 -3
- package/dist/cjs/react/core/utils/storage.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +2 -1
- package/dist/cjs/react/core/utils/wallet.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useLinkProfile.js +14 -4
- package/dist/cjs/react/native/hooks/wallets/useLinkProfile.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js +15 -6
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useLinkProfile.js +14 -4
- package/dist/cjs/react/web/hooks/wallets/useLinkProfile.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js +15 -6
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/br.js +120 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/br.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/getConnectLocale.js +3 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/getConnectLocale.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +6 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +6 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js +6 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js +13 -1
- package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Chain/name.js +30 -13
- package/dist/cjs/react/web/ui/prebuilt/Chain/name.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js +2 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js +3 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js +3 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js +14 -1
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js +57 -26
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js +57 -26
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js.map +1 -1
- package/dist/cjs/react/web/utils/storage.js +26 -0
- package/dist/cjs/react/web/utils/storage.js.map +1 -0
- package/dist/cjs/react/web/wallets/injected/locale/br.js +27 -0
- package/dist/cjs/react/web/wallets/injected/locale/br.js.map +1 -0
- package/dist/cjs/react/web/wallets/injected/locale/getInjectedWalletLocale.js +3 -0
- package/dist/cjs/react/web/wallets/injected/locale/getInjectedWalletLocale.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/locale/br.js +59 -0
- package/dist/cjs/react/web/wallets/shared/locale/br.js.map +1 -0
- package/dist/cjs/react/web/wallets/shared/locale/getConnectLocale.js +3 -0
- package/dist/cjs/react/web/wallets/shared/locale/getConnectLocale.js.map +1 -1
- package/dist/cjs/react/web/wallets/smartWallet/locale/br.js +13 -0
- package/dist/cjs/react/web/wallets/smartWallet/locale/br.js.map +1 -0
- package/dist/cjs/react/web/wallets/smartWallet/locale/getSmartWalletLocale.js +3 -0
- package/dist/cjs/react/web/wallets/smartWallet/locale/getSmartWalletLocale.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +3 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/esm/contract/deployment/deploy-with-abi.js +1 -1
- package/dist/esm/contract/deployment/deploy-with-abi.js.map +1 -1
- package/dist/esm/exports/react.js +2 -0
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-published.js +25 -6
- package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/esm/extensions/prebuilts/process-ref-deployments.js +114 -0
- package/dist/esm/extensions/prebuilts/process-ref-deployments.js.map +1 -0
- package/dist/esm/extensions/thirdweb/write/publish.js +1 -0
- package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAddConnectedWallet.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useAddConnectedWallet.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/core/utils/storage.js +1 -1
- package/dist/esm/react/core/utils/storage.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +2 -1
- package/dist/esm/react/core/utils/wallet.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useLinkProfile.js +15 -5
- package/dist/esm/react/native/hooks/wallets/useLinkProfile.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useProfiles.js +15 -6
- package/dist/esm/react/native/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useLinkProfile.js +15 -5
- package/dist/esm/react/web/hooks/wallets/useLinkProfile.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useProfiles.js +15 -6
- package/dist/esm/react/web/hooks/wallets/useProfiles.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/br.js +118 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/br.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/getConnectLocale.js +3 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/getConnectLocale.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +6 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +6 -1
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/name.js +6 -1
- package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Chain/icon.js +13 -1
- package/dist/esm/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Chain/name.js +29 -13
- package/dist/esm/react/web/ui/prebuilt/Chain/name.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js +2 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js +3 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js +3 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js +14 -1
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Token/name.js +55 -26
- package/dist/esm/react/web/ui/prebuilt/Token/name.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js +55 -26
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js.map +1 -1
- package/dist/esm/react/web/utils/storage.js +23 -0
- package/dist/esm/react/web/utils/storage.js.map +1 -0
- package/dist/esm/react/web/wallets/injected/locale/br.js +25 -0
- package/dist/esm/react/web/wallets/injected/locale/br.js.map +1 -0
- package/dist/esm/react/web/wallets/injected/locale/getInjectedWalletLocale.js +3 -0
- package/dist/esm/react/web/wallets/injected/locale/getInjectedWalletLocale.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/locale/br.js +57 -0
- package/dist/esm/react/web/wallets/shared/locale/br.js.map +1 -0
- package/dist/esm/react/web/wallets/shared/locale/getConnectLocale.js +3 -0
- package/dist/esm/react/web/wallets/shared/locale/getConnectLocale.js.map +1 -1
- package/dist/esm/react/web/wallets/smartWallet/locale/br.js +11 -0
- package/dist/esm/react/web/wallets/smartWallet/locale/br.js.map +1 -0
- package/dist/esm/react/web/wallets/smartWallet/locale/getSmartWalletLocale.js +3 -0
- package/dist/esm/react/web/wallets/smartWallet/locale/getSmartWalletLocale.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +3 -2
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/types/exports/react.d.ts +1 -0
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/process-ref-deployments.d.ts +17 -0
- package/dist/types/extensions/prebuilts/process-ref-deployments.d.ts.map +1 -0
- package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAddConnectedWallet.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useAddConnectedWallet.d.ts.map +1 -1
- package/dist/types/react/core/utils/storage.d.ts +1 -0
- package/dist/types/react/core/utils/storage.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useLinkProfile.d.ts +1 -1
- package/dist/types/react/native/hooks/wallets/useLinkProfile.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useProfiles.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useLinkProfile.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useProfiles.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/MenuButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/br.d.ts +4 -0
- package/dist/types/react/web/ui/ConnectWallet/locale/br.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/locale/getConnectLocale.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Drawer.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/FadeIn.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Modal.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Overlay.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/basic.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/buttons.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/formElements.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/modalElements.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/text.d.ts.map +1 -1
- package/dist/types/react/web/ui/design-system/animations.d.ts +18 -3
- package/dist/types/react/web/ui/design-system/animations.d.ts.map +1 -1
- package/dist/types/react/web/ui/design-system/elements.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Chain/icon.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Chain/name.d.ts +8 -0
- package/dist/types/react/web/ui/prebuilt/Chain/name.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts +21 -0
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts +21 -0
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts.map +1 -1
- package/dist/types/react/web/ui/types.d.ts +1 -1
- package/dist/types/react/web/ui/types.d.ts.map +1 -1
- package/dist/types/react/web/utils/storage.d.ts +19 -0
- package/dist/types/react/web/utils/storage.d.ts.map +1 -0
- package/dist/types/react/web/wallets/injected/locale/br.d.ts +7 -0
- package/dist/types/react/web/wallets/injected/locale/br.d.ts.map +1 -0
- package/dist/types/react/web/wallets/injected/locale/getInjectedWalletLocale.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/locale/br.d.ts +58 -0
- package/dist/types/react/web/wallets/shared/locale/br.d.ts.map +1 -0
- package/dist/types/react/web/wallets/shared/locale/getConnectLocale.d.ts.map +1 -1
- package/dist/types/react/web/wallets/smartWallet/locale/br.d.ts +4 -0
- package/dist/types/react/web/wallets/smartWallet/locale/br.d.ts.map +1 -0
- package/dist/types/react/web/wallets/smartWallet/locale/getSmartWalletLocale.d.ts.map +1 -1
- package/dist/types/utils/any-evm/deploy-metadata.d.ts +19 -0
- package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/contract/deployment/deploy-with-abi.ts +1 -1
- package/src/exports/react.ts +3 -0
- package/src/extensions/prebuilts/deploy-published.ts +36 -6
- package/src/extensions/prebuilts/process-ref-deployments.test.ts +196 -0
- package/src/extensions/prebuilts/process-ref-deployments.ts +167 -0
- package/src/extensions/thirdweb/write/publish.ts +1 -0
- package/src/react/core/hooks/wallets/useAddConnectedWallet.ts +1 -1
- package/src/react/core/hooks/wallets/useAutoConnect.ts +1 -1
- package/src/react/core/utils/storage.ts +1 -1
- package/src/react/core/utils/wallet.test.ts +77 -0
- package/src/react/core/utils/wallet.ts +2 -1
- package/src/react/native/hooks/wallets/useLinkProfile.ts +17 -8
- package/src/react/native/hooks/wallets/useProfiles.ts +17 -8
- package/src/react/web/hooks/wallets/useLinkProfile.ts +16 -7
- package/src/react/web/hooks/wallets/useProfiles.ts +17 -8
- package/src/react/web/ui/ConnectWallet/locale/br.ts +124 -0
- package/src/react/web/ui/ConnectWallet/locale/getConnectLocale.ts +3 -0
- package/src/react/web/ui/ConnectWallet/screens/LinkProfileScreen.tsx +6 -2
- package/src/react/web/ui/prebuilt/Account/avatar.tsx +6 -1
- package/src/react/web/ui/prebuilt/Account/blobbie.tsx +2 -0
- package/src/react/web/ui/prebuilt/Account/name.tsx +7 -2
- package/src/react/web/ui/prebuilt/Account/provider.tsx +1 -0
- package/src/react/web/ui/prebuilt/Chain/icon.tsx +15 -1
- package/src/react/web/ui/prebuilt/Chain/name.test.tsx +36 -9
- package/src/react/web/ui/prebuilt/Chain/name.tsx +35 -13
- package/src/react/web/ui/prebuilt/NFT/description.tsx +2 -1
- package/src/react/web/ui/prebuilt/NFT/media.tsx +4 -1
- package/src/react/web/ui/prebuilt/NFT/name.tsx +4 -1
- package/src/react/web/ui/prebuilt/NFT/provider.tsx +2 -0
- package/src/react/web/ui/prebuilt/Token/icon.tsx +16 -1
- package/src/react/web/ui/prebuilt/Token/name.test.tsx +148 -0
- package/src/react/web/ui/prebuilt/Token/name.tsx +73 -29
- package/src/react/web/ui/prebuilt/Token/provider.test.tsx +11 -0
- package/src/react/web/ui/prebuilt/Token/symbol.test.tsx +138 -20
- package/src/react/web/ui/prebuilt/Token/symbol.tsx +73 -32
- package/src/react/web/ui/types.ts +2 -1
- package/src/react/web/utils/storage.test.ts +34 -0
- package/src/react/web/utils/storage.ts +23 -0
- package/src/react/web/wallets/injected/locale/br.ts +27 -0
- package/src/react/web/wallets/injected/locale/getInjectedWalletLocale.ts +3 -0
- package/src/react/web/wallets/shared/locale/br.ts +62 -0
- package/src/react/web/wallets/shared/locale/getConnectLocale.ts +3 -0
- package/src/react/web/wallets/smartWallet/locale/br.ts +13 -0
- package/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.ts +3 -0
- package/src/utils/any-evm/deploy-metadata.ts +29 -0
- package/src/version.ts +1 -1
- package/src/wallets/manager/index.ts +6 -2
@@ -3,11 +3,14 @@
|
|
3
3
|
import { type UseQueryOptions, useQuery } from "@tanstack/react-query";
|
4
4
|
import type React from "react";
|
5
5
|
import type { JSX } from "react";
|
6
|
+
import type { Chain } from "../../../../../chains/types.js";
|
6
7
|
import { getChainMetadata } from "../../../../../chains/utils.js";
|
8
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
7
9
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../constants/addresses.js";
|
8
10
|
import { getContract } from "../../../../../contract/contract.js";
|
9
11
|
import { getContractMetadata } from "../../../../../extensions/common/read/getContractMetadata.js";
|
10
12
|
import { symbol } from "../../../../../extensions/common/read/symbol.js";
|
13
|
+
import { getFunctionId } from "../../../../../utils/function-id.js";
|
11
14
|
import { useTokenContext } from "./provider.js";
|
12
15
|
|
13
16
|
/**
|
@@ -154,36 +157,9 @@ export function TokenSymbol({
|
|
154
157
|
}: TokenSymbolProps) {
|
155
158
|
const { address, client, chain } = useTokenContext();
|
156
159
|
const symbolQuery = useQuery({
|
157
|
-
queryKey:
|
158
|
-
queryFn: async () =>
|
159
|
-
|
160
|
-
return symbolResolver;
|
161
|
-
}
|
162
|
-
if (typeof symbolResolver === "function") {
|
163
|
-
return symbolResolver();
|
164
|
-
}
|
165
|
-
if (address.toLowerCase() === NATIVE_TOKEN_ADDRESS.toLowerCase()) {
|
166
|
-
// Don't wanna use `getChainSymbol` because it has some side effect (it catches error and defaults to "ETH")
|
167
|
-
return getChainMetadata(chain).then(
|
168
|
-
(data) => data.nativeCurrency.symbol,
|
169
|
-
);
|
170
|
-
}
|
171
|
-
|
172
|
-
// Try to fetch the symbol from both the `symbol` function and the contract metadata
|
173
|
-
// then prioritize the `symbol()`
|
174
|
-
const contract = getContract({ address, client, chain });
|
175
|
-
const [_symbol, contractMetadata] = await Promise.all([
|
176
|
-
symbol({ contract }),
|
177
|
-
getContractMetadata({ contract }),
|
178
|
-
]);
|
179
|
-
if (!_symbol && !contractMetadata.symbol) {
|
180
|
-
throw new Error(
|
181
|
-
"Failed to resolve symbol from both symbol() and contract metadata",
|
182
|
-
);
|
183
|
-
}
|
184
|
-
|
185
|
-
return _symbol || contractMetadata.symbol;
|
186
|
-
},
|
160
|
+
queryKey: getQueryKeys({ chainId: chain.id, address, symbolResolver }),
|
161
|
+
queryFn: async () =>
|
162
|
+
fetchTokenSymbol({ symbolResolver, address, chain, client }),
|
187
163
|
...queryOptions,
|
188
164
|
});
|
189
165
|
|
@@ -195,7 +171,72 @@ export function TokenSymbol({
|
|
195
171
|
return fallbackComponent || null;
|
196
172
|
}
|
197
173
|
|
198
|
-
|
174
|
+
if (formatFn && typeof formatFn === "function") {
|
175
|
+
return <span {...restProps}>{formatFn(symbolQuery.data)}</span>;
|
176
|
+
}
|
177
|
+
|
178
|
+
return <span {...restProps}>{symbolQuery.data}</span>;
|
179
|
+
}
|
199
180
|
|
200
|
-
|
181
|
+
/**
|
182
|
+
* @internal Exported for tests only
|
183
|
+
*/
|
184
|
+
export async function fetchTokenSymbol(props: {
|
185
|
+
address: string;
|
186
|
+
client: ThirdwebClient;
|
187
|
+
chain: Chain;
|
188
|
+
symbolResolver?: string | (() => string) | (() => Promise<string>);
|
189
|
+
}): Promise<string> {
|
190
|
+
const { symbolResolver, address, client, chain } = props;
|
191
|
+
if (typeof symbolResolver === "string") {
|
192
|
+
return symbolResolver;
|
193
|
+
}
|
194
|
+
if (typeof symbolResolver === "function") {
|
195
|
+
return symbolResolver();
|
196
|
+
}
|
197
|
+
if (address.toLowerCase() === NATIVE_TOKEN_ADDRESS.toLowerCase()) {
|
198
|
+
// Don't wanna use `getChainSymbol` because it has some side effect (it catches error and defaults to "ETH")
|
199
|
+
return getChainMetadata(chain).then((data) => data.nativeCurrency.symbol);
|
200
|
+
}
|
201
|
+
|
202
|
+
// Try to fetch the symbol from both the `symbol` function and the contract metadata
|
203
|
+
// then prioritize its result
|
204
|
+
const contract = getContract({ address, client, chain });
|
205
|
+
const [_symbol, contractMetadata] = await Promise.all([
|
206
|
+
symbol({ contract }).catch(() => undefined),
|
207
|
+
getContractMetadata({ contract }).catch(() => undefined),
|
208
|
+
]);
|
209
|
+
if (typeof _symbol === "string") {
|
210
|
+
return _symbol;
|
211
|
+
}
|
212
|
+
if (typeof contractMetadata?.symbol === "string") {
|
213
|
+
return contractMetadata.symbol;
|
214
|
+
}
|
215
|
+
throw new Error(
|
216
|
+
"Failed to resolve symbol from both symbol() and contract metadata",
|
217
|
+
);
|
218
|
+
}
|
219
|
+
|
220
|
+
/**
|
221
|
+
* @internal
|
222
|
+
*/
|
223
|
+
export function getQueryKeys(props: {
|
224
|
+
chainId: number;
|
225
|
+
address: string;
|
226
|
+
symbolResolver?: string | (() => string) | (() => Promise<string>);
|
227
|
+
}) {
|
228
|
+
const { chainId, address, symbolResolver } = props;
|
229
|
+
return [
|
230
|
+
"_internal_token_symbol_",
|
231
|
+
chainId,
|
232
|
+
address,
|
233
|
+
{
|
234
|
+
resolver:
|
235
|
+
typeof symbolResolver === "string"
|
236
|
+
? symbolResolver
|
237
|
+
: typeof symbolResolver === "function"
|
238
|
+
? getFunctionId(symbolResolver)
|
239
|
+
: undefined,
|
240
|
+
},
|
241
|
+
] as const;
|
201
242
|
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
2
|
+
import { webLocalStorage } from "../../../utils/storage/webStorage.js";
|
3
|
+
import { LAST_AUTH_PROVIDER_STORAGE_KEY } from "../../core/utils/storage.js";
|
4
|
+
import { getLastAuthProvider } from "./storage.js";
|
5
|
+
|
6
|
+
vi.mock("../../../utils/storage/webStorage.js", () => ({
|
7
|
+
webLocalStorage: {
|
8
|
+
getItem: vi.fn().mockResolvedValueOnce("mockStrategy"),
|
9
|
+
},
|
10
|
+
}));
|
11
|
+
|
12
|
+
describe("getLastAuthProvider", () => {
|
13
|
+
it("should return the last authentication provider strategy if it exists", async () => {
|
14
|
+
const mockStrategy = "mockStrategy";
|
15
|
+
webLocalStorage.getItem = vi.fn().mockResolvedValueOnce(mockStrategy);
|
16
|
+
|
17
|
+
const result = await getLastAuthProvider();
|
18
|
+
expect(result).toBe(mockStrategy);
|
19
|
+
});
|
20
|
+
|
21
|
+
it("should return null if no authentication provider strategy is found", async () => {
|
22
|
+
webLocalStorage.getItem = vi.fn().mockResolvedValueOnce(null);
|
23
|
+
|
24
|
+
const result = await getLastAuthProvider();
|
25
|
+
expect(result).toBeNull();
|
26
|
+
});
|
27
|
+
|
28
|
+
it("should call webLocalStorage.getItem with the correct key", async () => {
|
29
|
+
await getLastAuthProvider();
|
30
|
+
expect(webLocalStorage.getItem).toHaveBeenCalledWith(
|
31
|
+
LAST_AUTH_PROVIDER_STORAGE_KEY,
|
32
|
+
);
|
33
|
+
});
|
34
|
+
});
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { webLocalStorage } from "../../../utils/storage/webStorage.js";
|
2
|
+
import { getLastAuthProvider as getLastAuthProviderCore } from "../../core/utils/storage.js";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Retrieves the last authentication provider used from local storage.
|
6
|
+
*
|
7
|
+
* This function is designed to work only in a browser environment.
|
8
|
+
*
|
9
|
+
* @returns {Promise<AuthArgsType["strategy"] | null>} A promise that resolves to the last
|
10
|
+
* authentication provider strategy used, or `null` if none is found.
|
11
|
+
*
|
12
|
+
* @example
|
13
|
+
* ```typescript
|
14
|
+
* import { getLastAuthProvider } from "thirdweb/react";
|
15
|
+
*
|
16
|
+
* const lastAuthProvider = await getLastAuthProvider();
|
17
|
+
* ```
|
18
|
+
*
|
19
|
+
* @utils
|
20
|
+
*/
|
21
|
+
export async function getLastAuthProvider() {
|
22
|
+
return getLastAuthProviderCore(webLocalStorage);
|
23
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import type { InjectedWalletLocale } from "./types.js";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @internal
|
5
|
+
*/
|
6
|
+
const injectedWalletLocalePtBr = (wallet: string): InjectedWalletLocale => ({
|
7
|
+
connectionScreen: {
|
8
|
+
inProgress: "Aguardando Confirmação",
|
9
|
+
failed: "Falha na conexão",
|
10
|
+
instruction: `Aceite a solicitação de conexão no ${wallet}`,
|
11
|
+
retry: "Tentar novamente",
|
12
|
+
},
|
13
|
+
getStartedScreen: {
|
14
|
+
instruction: `Escaneie o código QR para baixar o aplicativo ${wallet}`,
|
15
|
+
},
|
16
|
+
scanScreen: {
|
17
|
+
instruction: `Escaneie o código QR com o aplicativo ${wallet} para conectar`,
|
18
|
+
},
|
19
|
+
getStartedLink: `Não tem o ${wallet}?`,
|
20
|
+
download: {
|
21
|
+
chrome: "Baixar extensão para Chrome",
|
22
|
+
android: "Baixar no Google Play",
|
23
|
+
iOS: "Baixar na App Store",
|
24
|
+
},
|
25
|
+
});
|
26
|
+
|
27
|
+
export default injectedWalletLocalePtBr;
|
@@ -22,6 +22,9 @@ export async function getInjectedWalletLocale(
|
|
22
22
|
return (await import("./kr.js")).default;
|
23
23
|
case "fr_FR":
|
24
24
|
return (await import("./fr.js")).default;
|
25
|
+
case "pt_BR": {
|
26
|
+
return (await import("./br.js")).default;
|
27
|
+
}
|
25
28
|
default:
|
26
29
|
return (await import("./en.js")).default;
|
27
30
|
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import type { InAppWalletLocale } from "./types.js";
|
2
|
+
|
3
|
+
export default {
|
4
|
+
signInWithGoogle: "Google",
|
5
|
+
signInWithFacebook: "Facebook",
|
6
|
+
signInWithApple: "Apple",
|
7
|
+
signInWithDiscord: "Discord",
|
8
|
+
emailPlaceholder: "Endereço de e-mail",
|
9
|
+
submitEmail: "Continuar",
|
10
|
+
signIn: "Entrar",
|
11
|
+
or: "ou",
|
12
|
+
emailRequired: "Endereço de e-mail é obrigatório",
|
13
|
+
invalidEmail: "Endereço de e-mail inválido",
|
14
|
+
maxAccountsExceeded:
|
15
|
+
"Número máximo de contas excedido. Por favor, notifique o desenvolvedor do aplicativo.",
|
16
|
+
socialLoginScreen: {
|
17
|
+
title: "Entrar",
|
18
|
+
instruction: "Faça login na sua conta no pop-up",
|
19
|
+
failed: "Falha ao entrar",
|
20
|
+
retry: "Tentar novamente",
|
21
|
+
},
|
22
|
+
emailLoginScreen: {
|
23
|
+
title: "Entrar",
|
24
|
+
enterCodeSendTo: "Digite o código de verificação enviado para",
|
25
|
+
newDeviceDetected: "Novo dispositivo detectado",
|
26
|
+
enterRecoveryCode:
|
27
|
+
"Digite o código de recuperação enviado por e-mail quando você se cadastrou",
|
28
|
+
invalidCode: "Código de verificação inválido",
|
29
|
+
invalidCodeOrRecoveryCode:
|
30
|
+
"Código de verificação ou código de recuperação inválido",
|
31
|
+
verify: "Verificar",
|
32
|
+
failedToSendCode: "Falha ao enviar código de verificação",
|
33
|
+
sendingCode: "Enviando código de verificação",
|
34
|
+
resendCode: "Reenviar código de verificação",
|
35
|
+
},
|
36
|
+
createPassword: {
|
37
|
+
title: "Criar senha",
|
38
|
+
instruction:
|
39
|
+
"Defina uma senha para sua conta. Você precisará dessa senha ao conectar-se de um novo dispositivo.",
|
40
|
+
saveInstruction: "Certifique-se de salvá-la",
|
41
|
+
inputPlaceholder: "Digite sua senha",
|
42
|
+
confirmation: "Eu salvei minha senha",
|
43
|
+
submitButton: "Definir senha",
|
44
|
+
failedToSetPassword: "Falha ao definir senha",
|
45
|
+
},
|
46
|
+
enterPassword: {
|
47
|
+
title: "Digite a senha",
|
48
|
+
instruction: "Digite a senha da sua conta",
|
49
|
+
inputPlaceholder: "Digite sua senha",
|
50
|
+
submitButton: "Verificar",
|
51
|
+
wrongPassword: "Senha incorreta",
|
52
|
+
},
|
53
|
+
signInWithEmail: "Entrar com e-mail",
|
54
|
+
invalidPhone: "Número de telefone inválido",
|
55
|
+
phonePlaceholder: "Número de telefone",
|
56
|
+
signInWithPhone: "Entrar com número de telefone",
|
57
|
+
phoneRequired: "Número de telefone é obrigatório",
|
58
|
+
passkey: "Chave de acesso",
|
59
|
+
signInWithWallet: "Entrar com carteira",
|
60
|
+
linkWallet: "Vincular uma carteira",
|
61
|
+
loginAsGuest: "Continuar como convidado",
|
62
|
+
} satisfies InAppWalletLocale;
|
@@ -22,6 +22,9 @@ export async function getInAppWalletLocale(
|
|
22
22
|
return (await import("./kr.js")).default;
|
23
23
|
case "fr_FR":
|
24
24
|
return (await import("./fr.js")).default;
|
25
|
+
case "pt_BR": {
|
26
|
+
return (await import("./br.js")).default;
|
27
|
+
}
|
25
28
|
default:
|
26
29
|
return (await import("./en.js")).default;
|
27
30
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { SmartWalletLocale } from "./types.js";
|
2
|
+
|
3
|
+
const smartWalletLocalePtBr: SmartWalletLocale = {
|
4
|
+
connecting: "Conectando à Conta Inteligente",
|
5
|
+
failedToConnect: "Falha ao conectar à Conta Inteligente",
|
6
|
+
wrongNetworkScreen: {
|
7
|
+
title: "Rede Incorreta",
|
8
|
+
subtitle: "Sua carteira não está conectada à rede requerida",
|
9
|
+
failedToSwitch: "Falha ao mudar de rede",
|
10
|
+
},
|
11
|
+
};
|
12
|
+
|
13
|
+
export default smartWalletLocalePtBr;
|
@@ -22,6 +22,9 @@ export async function getSmartWalletLocale(
|
|
22
22
|
return (await import("./kr.js")).default;
|
23
23
|
case "fr_FR":
|
24
24
|
return (await import("./fr.js")).default;
|
25
|
+
case "pt_BR": {
|
26
|
+
return (await import("./br.js")).default;
|
27
|
+
}
|
25
28
|
default:
|
26
29
|
return (await import("./en.js")).default;
|
27
30
|
}
|
@@ -159,6 +159,27 @@ type ParsedCompilerMetadata = {
|
|
159
159
|
zk_version?: string;
|
160
160
|
};
|
161
161
|
|
162
|
+
export type DynamicParams = {
|
163
|
+
type: "address" | "address[]" | "bytes" | "bytes[]";
|
164
|
+
|
165
|
+
// use for address types
|
166
|
+
refContracts?: Array<{
|
167
|
+
contractId: string;
|
168
|
+
publisherAddress: string;
|
169
|
+
version: string;
|
170
|
+
salt?: string;
|
171
|
+
}>;
|
172
|
+
|
173
|
+
// use for bytes
|
174
|
+
paramsToEncode?: Array<
|
175
|
+
Array<{
|
176
|
+
type: string;
|
177
|
+
defaultValue?: string;
|
178
|
+
dynamicValue?: DynamicParams; // can have address type which may need ref
|
179
|
+
}>
|
180
|
+
>;
|
181
|
+
};
|
182
|
+
|
162
183
|
export type CompilerMetadata = Prettify<
|
163
184
|
RawCompilerMetadata & ParsedCompilerMetadata
|
164
185
|
>;
|
@@ -220,6 +241,14 @@ export type ExtendedMetadata = {
|
|
220
241
|
description?: string;
|
221
242
|
defaultValue?: string;
|
222
243
|
hidden?: boolean;
|
244
|
+
dynamicValue?: DynamicParams;
|
245
|
+
}
|
246
|
+
>;
|
247
|
+
implConstructorParams?: Record<
|
248
|
+
string,
|
249
|
+
{
|
250
|
+
defaultValue?: string;
|
251
|
+
dynamicValue?: DynamicParams;
|
223
252
|
}
|
224
253
|
>;
|
225
254
|
compositeAbi?: Abi;
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.
|
1
|
+
export const version = "5.77.0-nightly-a0fabb205916a7b06938fafbea5d80d9506d342e-20241212000351";
|
@@ -230,11 +230,15 @@ export function createConnectionManager(storage: AsyncStorage) {
|
|
230
230
|
|
231
231
|
// save last connected wallet ids to storage
|
232
232
|
effect(
|
233
|
-
() => {
|
233
|
+
async () => {
|
234
|
+
const prevAccounts = (await getStoredConnectedWalletIds(storage)) || [];
|
234
235
|
const accounts = connectedWallets.getValue();
|
235
236
|
const ids = accounts.map((acc) => acc?.id).filter((c) => !!c) as string[];
|
236
237
|
|
237
|
-
storage.setItem(
|
238
|
+
storage.setItem(
|
239
|
+
CONNECTED_WALLET_IDS,
|
240
|
+
stringify(Array.from(new Set([...prevAccounts, ...ids]))),
|
241
|
+
);
|
238
242
|
},
|
239
243
|
[connectedWallets],
|
240
244
|
false,
|