thirdweb 5.69.1-nightly-f368793375d099eec53569330af7a083e558e483-20241120000334 → 5.70.0-nightly-ecaa304a812188da3c81888bb52ca6064093c139-20241121000332
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/client/client.js +1 -0
- package/dist/cjs/client/client.js.map +1 -1
- package/dist/cjs/exports/react.js +32 -3
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js +5 -0
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-pack.js +1 -0
- package/dist/cjs/extensions/prebuilts/deploy-pack.js.map +1 -1
- package/dist/cjs/extensions/thirdweb/write/publish.js +4 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/cjs/react/core/hooks/others/useChainQuery.js +3 -3
- package/dist/cjs/react/core/hooks/rpc/useBlockNumber.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useCapabilities.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useSendCalls.js +3 -3
- package/dist/cjs/react/core/providers/connection-manager.js +3 -0
- package/dist/cjs/react/core/providers/connection-manager.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/core/utils/walletIcon.js +2 -0
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js +1 -1
- package/dist/cjs/react/native/providers/thirdweb-provider.js +1 -0
- package/dist/cjs/react/native/providers/thirdweb-provider.js.map +1 -1
- package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectModal.js +1 -0
- package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/cjs/react/native/ui/transaction/TransactionButton.js +1 -0
- package/dist/cjs/react/native/ui/transaction/TransactionButton.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js +1 -1
- package/dist/cjs/react/web/providers/thirdweb-provider.js +1 -0
- package/dist/cjs/react/web/providers/thirdweb-provider.js.map +1 -1
- package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +19 -4
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +18 -13
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/PayEmbed.js +1 -0
- package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/SiteEmbed.js +3 -2
- package/dist/cjs/react/web/ui/SiteEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/SiteLink.js +2 -1
- package/dist/cjs/react/web/ui/SiteLink.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/index.js +1 -0
- package/dist/cjs/react/web/ui/TransactionButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js +49 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +144 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +122 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +16 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js +106 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js +43 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js +69 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js +45 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js +82 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js +68 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js +55 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js +113 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js +137 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/provider.js +54 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js +134 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
- package/dist/cjs/storage/unpin.js +1 -1
- package/dist/cjs/storage/upload.js +1 -0
- package/dist/cjs/storage/upload.js.map +1 -1
- package/dist/cjs/transaction/actions/to-serializable-transaction.js +1 -1
- package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +5 -0
- package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +5 -0
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/cjs/utils/config.js +9 -0
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/json.js +7 -4
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/eip5792/get-calls-status.js +1 -1
- package/dist/cjs/wallets/eip5792/get-capabilities.js +1 -1
- package/dist/cjs/wallets/eip5792/send-calls.js +2 -2
- package/dist/cjs/wallets/eip5792/wait-for-bundle.js +1 -1
- package/dist/cjs/wallets/in-app/core/users/getUser.js +1 -1
- package/dist/cjs/wallets/smart/smart-wallet.js +1 -0
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/esm/client/client.js +1 -0
- package/dist/esm/client/client.js.map +1 -1
- package/dist/esm/exports/react.js +17 -1
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js +5 -0
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-pack.js +1 -0
- package/dist/esm/extensions/prebuilts/deploy-pack.js.map +1 -1
- package/dist/esm/extensions/thirdweb/write/publish.js +4 -0
- package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/esm/react/core/hooks/others/useChainQuery.js +3 -3
- package/dist/esm/react/core/hooks/rpc/useBlockNumber.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useCapabilities.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useSendCalls.js +3 -3
- package/dist/esm/react/core/providers/connection-manager.js +3 -0
- package/dist/esm/react/core/providers/connection-manager.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/core/utils/walletIcon.js +2 -0
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useProfiles.js +1 -1
- package/dist/esm/react/native/providers/thirdweb-provider.js +1 -0
- package/dist/esm/react/native/providers/thirdweb-provider.js.map +1 -1
- package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectModal.js +1 -0
- package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/esm/react/native/ui/transaction/TransactionButton.js +1 -0
- package/dist/esm/react/native/ui/transaction/TransactionButton.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useProfiles.js +1 -1
- package/dist/esm/react/web/providers/thirdweb-provider.js +1 -0
- package/dist/esm/react/web/providers/thirdweb-provider.js.map +1 -1
- package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +19 -4
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +19 -14
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/PayEmbed.js +1 -0
- package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/SiteEmbed.js +3 -2
- package/dist/esm/react/web/ui/SiteEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/SiteLink.js +2 -1
- package/dist/esm/react/web/ui/SiteLink.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/index.js +1 -0
- package/dist/esm/react/web/ui/TransactionButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/address.js +46 -0
- package/dist/esm/react/web/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +141 -0
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js +119 -0
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +13 -0
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/name.js +103 -0
- package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js +39 -0
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js +66 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js +41 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js +79 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js +65 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js +50 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js +110 -0
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/name.js +134 -0
- package/dist/esm/react/web/ui/prebuilt/Token/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/provider.js +50 -0
- package/dist/esm/react/web/ui/prebuilt/Token/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js +131 -0
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
- package/dist/esm/storage/unpin.js +1 -1
- package/dist/esm/storage/upload.js +1 -0
- package/dist/esm/storage/upload.js.map +1 -1
- package/dist/esm/transaction/actions/to-serializable-transaction.js +1 -1
- package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +5 -0
- package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +5 -0
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/esm/utils/config.js +9 -0
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/json.js +6 -2
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/eip5792/get-calls-status.js +1 -1
- package/dist/esm/wallets/eip5792/get-capabilities.js +1 -1
- package/dist/esm/wallets/eip5792/send-calls.js +2 -2
- package/dist/esm/wallets/eip5792/wait-for-bundle.js +1 -1
- package/dist/esm/wallets/in-app/core/users/getUser.js +1 -1
- package/dist/esm/wallets/smart/smart-wallet.js +1 -0
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/types/client/client.d.ts +1 -0
- package/dist/types/client/client.d.ts.map +1 -1
- package/dist/types/exports/react.d.ts +14 -1
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts +5 -0
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-pack.d.ts +1 -0
- package/dist/types/extensions/prebuilts/deploy-pack.d.ts.map +1 -1
- package/dist/types/extensions/thirdweb/write/publish.d.ts +4 -0
- package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -1
- package/dist/types/react/core/hooks/others/useChainQuery.d.ts +3 -3
- package/dist/types/react/core/hooks/rpc/useBlockNumber.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useCapabilities.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useSendCalls.d.ts +3 -3
- package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
- package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts +2 -1
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/core/utils/walletIcon.d.ts +2 -0
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useProfiles.d.ts +1 -1
- package/dist/types/react/native/providers/thirdweb-provider.d.ts +1 -0
- package/dist/types/react/native/providers/thirdweb-provider.d.ts.map +1 -1
- package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -0
- package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -0
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
- package/dist/types/react/native/ui/transaction/TransactionButton.d.ts +1 -0
- package/dist/types/react/native/ui/transaction/TransactionButton.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useProfiles.d.ts +1 -1
- package/dist/types/react/web/providers/thirdweb-provider.d.ts +1 -0
- package/dist/types/react/web/providers/thirdweb-provider.d.ts.map +1 -1
- package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -0
- package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +22 -5
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/PayEmbed.d.ts +2 -2
- package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -2
- package/dist/types/react/web/ui/SiteEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/SiteLink.d.ts +2 -1
- package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/TransactionButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/address.d.ts +52 -0
- package/dist/types/react/web/ui/prebuilt/Account/address.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts +142 -0
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts +137 -0
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts +8 -0
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts +119 -0
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts +45 -0
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts +59 -0
- package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts +14 -0
- package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts +75 -0
- package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts +59 -0
- package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts +55 -0
- package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts +95 -0
- package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts +140 -0
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts +61 -0
- package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts +137 -0
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts.map +1 -1
- package/dist/types/storage/unpin.d.ts +1 -1
- package/dist/types/storage/upload.d.ts +1 -0
- package/dist/types/storage/upload.d.ts.map +1 -1
- package/dist/types/transaction/actions/to-serializable-transaction.d.ts +1 -1
- package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts +5 -0
- package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +5 -0
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +9 -0
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/json.d.ts +1 -1
- package/dist/types/utils/json.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/eip5792/get-calls-status.d.ts +1 -1
- package/dist/types/wallets/eip5792/get-capabilities.d.ts +1 -1
- package/dist/types/wallets/eip5792/send-calls.d.ts +2 -2
- package/dist/types/wallets/eip5792/wait-for-bundle.d.ts +1 -1
- package/dist/types/wallets/in-app/core/users/getUser.d.ts +1 -1
- package/dist/types/wallets/smart/smart-wallet.d.ts +1 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/client.ts +1 -0
- package/src/exports/react.ts +56 -2
- package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +1 -1
- package/src/extensions/modules/common/checkModulesCompatibility.ts +5 -0
- package/src/extensions/prebuilts/deploy-pack.ts +1 -0
- package/src/extensions/thirdweb/write/publish.ts +4 -0
- package/src/react/core/hooks/others/useChainQuery.ts +3 -3
- package/src/react/core/hooks/rpc/useBlockNumber.ts +1 -1
- package/src/react/core/hooks/wallets/useCapabilities.ts +1 -1
- package/src/react/core/hooks/wallets/useSendCalls.ts +3 -3
- package/src/react/core/providers/connection-manager.tsx +3 -0
- package/src/react/core/utils/wallet.ts +2 -1
- package/src/react/core/utils/walletIcon.ts +2 -0
- package/src/react/native/hooks/wallets/useProfiles.ts +1 -1
- package/src/react/native/providers/thirdweb-provider.tsx +1 -0
- package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -0
- package/src/react/native/ui/connect/ConnectModal.tsx +1 -0
- package/src/react/native/ui/transaction/TransactionButton.tsx +1 -0
- package/src/react/web/hooks/wallets/useProfiles.ts +1 -1
- package/src/react/web/providers/thirdweb-provider.tsx +1 -0
- package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -0
- package/src/react/web/ui/ConnectWallet/Blobbie.tsx +31 -4
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +36 -32
- package/src/react/web/ui/ConnectWallet/Details.tsx +91 -58
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +1 -0
- package/src/react/web/ui/PayEmbed.tsx +2 -2
- package/src/react/web/ui/SiteEmbed.tsx +3 -2
- package/src/react/web/ui/SiteLink.tsx +2 -1
- package/src/react/web/ui/TransactionButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/Account/address.test.tsx +28 -0
- package/src/react/web/ui/prebuilt/Account/address.tsx +64 -0
- package/src/react/web/ui/prebuilt/Account/avatar.test.tsx +48 -0
- package/src/react/web/ui/prebuilt/Account/avatar.tsx +221 -0
- package/src/react/web/ui/prebuilt/Account/balance.test.tsx +54 -0
- package/src/react/web/ui/prebuilt/Account/balance.tsx +202 -0
- package/src/react/web/ui/prebuilt/Account/blobbie.tsx +12 -0
- package/src/react/web/ui/prebuilt/Account/name.test.tsx +62 -0
- package/src/react/web/ui/prebuilt/Account/name.tsx +175 -0
- package/src/react/web/ui/prebuilt/Account/provider.test.tsx +38 -0
- package/src/react/web/ui/prebuilt/Account/provider.tsx +69 -0
- package/src/react/web/ui/prebuilt/NFT/NFT.test.tsx +17 -14
- package/src/react/web/ui/prebuilt/NFT/description.tsx +87 -0
- package/src/react/web/ui/prebuilt/NFT/hooks.tsx +53 -0
- package/src/react/web/ui/prebuilt/NFT/media.tsx +119 -0
- package/src/react/web/ui/prebuilt/NFT/name.tsx +85 -0
- package/src/react/web/ui/prebuilt/NFT/provider.tsx +75 -0
- package/src/react/web/ui/prebuilt/Token/icon.tsx +164 -0
- package/src/react/web/ui/prebuilt/Token/name.tsx +201 -0
- package/src/react/web/ui/prebuilt/Token/provider.tsx +86 -0
- package/src/react/web/ui/prebuilt/Token/symbol.tsx +201 -0
- package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.tsx +1 -0
- package/src/storage/unpin.ts +1 -1
- package/src/storage/upload.ts +1 -0
- package/src/transaction/actions/to-serializable-transaction.ts +1 -1
- package/src/transaction/actions/zksync/send-eip712-transaction.ts +5 -0
- package/src/utils/any-evm/zksync/isZkSyncChain.ts +5 -0
- package/src/utils/config.ts +9 -0
- package/src/utils/json.ts +8 -2
- package/src/version.ts +1 -1
- package/src/wallets/eip5792/get-calls-status.ts +1 -1
- package/src/wallets/eip5792/get-capabilities.ts +1 -1
- package/src/wallets/eip5792/send-calls.ts +2 -2
- package/src/wallets/eip5792/wait-for-bundle.ts +1 -1
- package/src/wallets/in-app/core/users/getUser.ts +1 -1
- package/src/wallets/smart/smart-wallet.ts +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js +0 -217
- package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js +0 -212
- package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
- package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts +0 -76
- package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts.map +0 -1
- package/src/extensions/prebuilts/deploy-published.test.ts +0 -132
- package/src/react/web/ui/prebuilt/NFT/NFT.tsx +0 -272
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +0 -270
- package/src/wallets/smart/smart-wallet-integration.test.ts +0 -375
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.NFTName = NFTName;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const hooks_js_1 = require("./hooks.js");
|
6
|
+
const provider_js_1 = require("./provider.js");
|
7
|
+
/**
|
8
|
+
* This component fetches and displays an NFT's name. It takes in a `className` and `style` props
|
9
|
+
* so you can style it just like how you would style a <span> element.
|
10
|
+
* @returns A <span> element containing the name of the NFT
|
11
|
+
*
|
12
|
+
* @component
|
13
|
+
* @example
|
14
|
+
* ### Basic usage
|
15
|
+
* ```tsx
|
16
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
17
|
+
*
|
18
|
+
* <NFTProvider>
|
19
|
+
* <NFTName />
|
20
|
+
* </NFTProvider>
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* ### Show a loading sign while the name is being fetched
|
24
|
+
* ```tsx
|
25
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
26
|
+
*
|
27
|
+
* <NFTProvider>
|
28
|
+
* <NFTName loadingComponent={<YourLoadingSign />} />
|
29
|
+
* </NFTProvider>
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* ### Show something in case the name failed to resolve
|
33
|
+
* ```tsx
|
34
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
35
|
+
*
|
36
|
+
* <NFTProvider>
|
37
|
+
* <NFTName fallbackComponent={<span>Failed to load name</span>} />
|
38
|
+
* </NFTProvider>
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
* ### Custom query options for useQuery (tanstack-query)
|
42
|
+
* ```tsx
|
43
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
44
|
+
*
|
45
|
+
* <NFTProvider>
|
46
|
+
* <NFTName queryOptions={{ retry: 3, enabled: false, }} />
|
47
|
+
* </NFTProvider>
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* @nft
|
51
|
+
* @beta
|
52
|
+
*/
|
53
|
+
function NFTName({ loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
54
|
+
const { contract, tokenId } = (0, provider_js_1.useNFTContext)();
|
55
|
+
const nftQuery = (0, hooks_js_1.useNftInfo)({
|
56
|
+
contract,
|
57
|
+
tokenId,
|
58
|
+
queryOptions,
|
59
|
+
});
|
60
|
+
if (nftQuery.isLoading) {
|
61
|
+
return loadingComponent || null;
|
62
|
+
}
|
63
|
+
if (!nftQuery.data?.metadata?.name) {
|
64
|
+
return fallbackComponent || null;
|
65
|
+
}
|
66
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: nftQuery.data.metadata.name });
|
67
|
+
}
|
68
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/name.tsx"],"names":[],"mappings":";;AA8DA,0BAsBC;;AAjFD,yCAAwC;AACxC,+CAA8C;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,SAAgB,OAAO,CAAC,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACC;IACb,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAa,GAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAA,qBAAU,EAAC;QAC1B,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,oCAAU,SAAS,YAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAQ,CAAC;AACnE,CAAC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.NFTProviderContext = void 0;
|
4
|
+
exports.useNFTContext = useNFTContext;
|
5
|
+
exports.NFTProvider = NFTProvider;
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const react_1 = require("react");
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
exports.NFTProviderContext = (0, react_1.createContext)(undefined);
|
12
|
+
/**
|
13
|
+
* @internal
|
14
|
+
*/
|
15
|
+
function useNFTContext() {
|
16
|
+
const ctx = (0, react_1.useContext)(exports.NFTProviderContext);
|
17
|
+
if (!ctx) {
|
18
|
+
throw new Error("NFTProviderContext not found. Make sure you are using NFTMedia, NFTDescription, etc. inside a <NFTProvider /> component");
|
19
|
+
}
|
20
|
+
return ctx;
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* A React context provider component that supplies NFT-related data to its child components.
|
24
|
+
*
|
25
|
+
* This component serves as a wrapper around the `NFTProviderContext.Provider` and passes
|
26
|
+
* the provided NFT data down to all of its child components through the context API.
|
27
|
+
*
|
28
|
+
*
|
29
|
+
* @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
|
30
|
+
*
|
31
|
+
* @example
|
32
|
+
* ```tsx
|
33
|
+
* import { getContract } from "thirdweb";
|
34
|
+
* import { NFTProvider, NFTMedia, NFTDescription, NFTName } from "thirdweb/react";
|
35
|
+
*
|
36
|
+
* const contract = getContract({
|
37
|
+
* address: "0x...",
|
38
|
+
* chain: ethereum,
|
39
|
+
* client: yourThirdwebClient,
|
40
|
+
* });
|
41
|
+
*
|
42
|
+
* <NFTProvider contract={contract} tokenId={0n}>
|
43
|
+
* <NFTMedia />
|
44
|
+
* <NFTDescription />
|
45
|
+
* <NFTName />
|
46
|
+
* </NFTProvider>
|
47
|
+
* ```
|
48
|
+
* @component
|
49
|
+
* @nft
|
50
|
+
* @beta
|
51
|
+
*/
|
52
|
+
function NFTProvider(props) {
|
53
|
+
return ((0, jsx_runtime_1.jsx)(exports.NFTProviderContext.Provider, { value: props, children: props.children }));
|
54
|
+
}
|
55
|
+
//# sourceMappingURL=provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/provider.tsx"],"names":[],"mappings":";;;AA4BA,sCAQC;AAgCD,kCAMC;;AA1ED,iCAAkD;AAkBlD;;GAEG;AACU,QAAA,kBAAkB,GAAmB,IAAA,qBAAa,EAE7D,SAAS,CAAC,CAAC;AAEb;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,WAAW,CAAC,KAAgD;IAC1E,OAAO,CACL,uBAAC,0BAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAK,CAAC,QAAQ,GACa,CAC/B,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TokenIcon = TokenIcon;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const react_query_1 = require("@tanstack/react-query");
|
6
|
+
const utils_js_1 = require("../../../../../chains/utils.js");
|
7
|
+
const addresses_js_1 = require("../../../../../constants/addresses.js");
|
8
|
+
const contract_js_1 = require("../../../../../contract/contract.js");
|
9
|
+
const getContractMetadata_js_1 = require("../../../../../extensions/common/read/getContractMetadata.js");
|
10
|
+
const ipfs_js_1 = require("../../../../../utils/ipfs.js");
|
11
|
+
const provider_js_1 = require("./provider.js");
|
12
|
+
/**
|
13
|
+
* This component tries to resolve the icon of a given token, then return an image.
|
14
|
+
* @returns an <img /> with the src of the token icon
|
15
|
+
*
|
16
|
+
* @example
|
17
|
+
* ### Basic usage
|
18
|
+
* ```tsx
|
19
|
+
* import { TokenProvider, TokenIcon } from "thirdweb/react";
|
20
|
+
*
|
21
|
+
* <TokenProvider address="0x-token-address" chain={chain} client={client}>
|
22
|
+
* <TokenIcon />
|
23
|
+
* </TokenProvider>
|
24
|
+
* ```
|
25
|
+
*
|
26
|
+
* Result: An <img /> component with the src of the icon
|
27
|
+
* ```html
|
28
|
+
* <img src="token-icon.png" />
|
29
|
+
* ```
|
30
|
+
*
|
31
|
+
* ### Override the icon with the `iconResolver` prop
|
32
|
+
* If you already have the icon url, you can skip the network requests and pass it directly to the TokenIcon
|
33
|
+
* ```tsx
|
34
|
+
* <TokenIcon iconResolver="/usdc.png" />
|
35
|
+
* ```
|
36
|
+
*
|
37
|
+
* You can also pass in your own custom (async) function that retrieves the icon url
|
38
|
+
* ```tsx
|
39
|
+
* const getIcon = async () => {
|
40
|
+
* const icon = getIconFromCoinMarketCap(tokenAddress, etc);
|
41
|
+
* return icon;
|
42
|
+
* };
|
43
|
+
*
|
44
|
+
* <TokenIcon iconResolver={getIcon} />
|
45
|
+
* ```
|
46
|
+
*
|
47
|
+
* ### Show a loading sign while the icon is being loaded
|
48
|
+
* ```tsx
|
49
|
+
* <TokenIcon loadingComponent={<Spinner />} />
|
50
|
+
* ```
|
51
|
+
*
|
52
|
+
* ### Fallback to a dummy image if the token icon fails to resolve
|
53
|
+
* ```tsx
|
54
|
+
* <TokenIcon fallbackComponent={<img src="blank-image.png" />} />
|
55
|
+
* ```
|
56
|
+
*
|
57
|
+
* ### Usage with queryOptions
|
58
|
+
* TokenIcon uses useQuery() from tanstack query internally.
|
59
|
+
* It allows you to pass a custom queryOptions of your choice for more control of the internal fetching logic
|
60
|
+
* ```tsx
|
61
|
+
* <TokenIcon queryOptions={{ enabled: someLogic, retry: 3, }} />
|
62
|
+
* ```
|
63
|
+
*
|
64
|
+
* @component
|
65
|
+
* @token
|
66
|
+
* @beta
|
67
|
+
*/
|
68
|
+
function TokenIcon({ iconResolver, loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
69
|
+
const { address, client, chain } = (0, provider_js_1.useTokenContext)();
|
70
|
+
const iconQuery = (0, react_query_1.useQuery)({
|
71
|
+
queryKey: ["_internal_token_icon_", chain.id, address],
|
72
|
+
queryFn: async () => {
|
73
|
+
if (typeof iconResolver === "string") {
|
74
|
+
return iconResolver;
|
75
|
+
}
|
76
|
+
if (typeof iconResolver === "function") {
|
77
|
+
return iconResolver();
|
78
|
+
}
|
79
|
+
if (address.toLowerCase() === addresses_js_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
|
80
|
+
const possibleUrl = await (0, utils_js_1.getChainMetadata)(chain).then((data) => data.icon?.url);
|
81
|
+
if (!possibleUrl) {
|
82
|
+
throw new Error("Failed to resolve icon for native token");
|
83
|
+
}
|
84
|
+
return (0, ipfs_js_1.resolveScheme)({ uri: possibleUrl, client });
|
85
|
+
}
|
86
|
+
// Try to get the icon from the contractURI
|
87
|
+
const contractMetadata = await (0, getContractMetadata_js_1.getContractMetadata)({
|
88
|
+
contract: (0, contract_js_1.getContract)({
|
89
|
+
address,
|
90
|
+
chain,
|
91
|
+
client,
|
92
|
+
}),
|
93
|
+
});
|
94
|
+
if (!contractMetadata.image ||
|
95
|
+
typeof contractMetadata.image !== "string") {
|
96
|
+
throw new Error("Failed to resolve token icon from contract metadata");
|
97
|
+
}
|
98
|
+
return (0, ipfs_js_1.resolveScheme)({
|
99
|
+
uri: contractMetadata.image,
|
100
|
+
client,
|
101
|
+
});
|
102
|
+
},
|
103
|
+
...queryOptions,
|
104
|
+
});
|
105
|
+
if (iconQuery.isLoading) {
|
106
|
+
return loadingComponent || null;
|
107
|
+
}
|
108
|
+
if (!iconQuery.data) {
|
109
|
+
return fallbackComponent || null;
|
110
|
+
}
|
111
|
+
return (0, jsx_runtime_1.jsx)("img", { src: iconQuery.data, alt: restProps.alt });
|
112
|
+
}
|
113
|
+
//# sourceMappingURL=icon.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Token/icon.tsx"],"names":[],"mappings":";;AAuGA,8BA4DC;;AAnKD,uDAAuE;AAEvE,6DAAkE;AAClE,wEAA6E;AAC7E,qEAAkE;AAClE,yGAAmG;AACnG,0DAA6D;AAC7D,+CAAgD;AAwChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,SAAgB,SAAS,CAAC,EACxB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACG;IACf,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,6BAAe,GAAE,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,sBAAQ,EAAC;QACzB,QAAQ,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAU;QAC/D,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,YAAY,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,mCAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjE,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CACzB,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAA,uBAAa,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,2CAA2C;YAC3C,MAAM,gBAAgB,GAAG,MAAM,IAAA,4CAAmB,EAAC;gBACjD,QAAQ,EAAE,IAAA,yBAAW,EAAC;oBACpB,OAAO;oBACP,KAAK;oBACL,MAAM;iBACP,CAAC;aACH,CAAC,CAAC;YAEH,IACE,CAAC,gBAAgB,CAAC,KAAK;gBACvB,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ,EAC1C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,IAAA,uBAAa,EAAC;gBACnB,GAAG,EAAE,gBAAgB,CAAC,KAAK;gBAC3B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,gCAAK,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,GAAI,CAAC;AAC1D,CAAC"}
|
@@ -0,0 +1,137 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.TokenName = TokenName;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const utils_js_1 = require("../../../../../chains/utils.js");
|
8
|
+
const addresses_js_1 = require("../../../../../constants/addresses.js");
|
9
|
+
const contract_js_1 = require("../../../../../contract/contract.js");
|
10
|
+
const getContractMetadata_js_1 = require("../../../../../extensions/common/read/getContractMetadata.js");
|
11
|
+
const name_js_1 = require("../../../../../extensions/common/read/name.js");
|
12
|
+
const provider_js_1 = require("./provider.js");
|
13
|
+
/**
|
14
|
+
* This component fetches then shows the name of a token. For ERC20 tokens, it calls the `name` function in the ERC20 contract.
|
15
|
+
* It inherits all the attributes of a HTML <span> component, hence you can style it just like how you would style a normal <span>
|
16
|
+
*
|
17
|
+
*
|
18
|
+
* @example
|
19
|
+
* ### Basic usage
|
20
|
+
* ```tsx
|
21
|
+
* import { TokenProvider, TokenName } from "thirdweb/react";
|
22
|
+
* import { ethereum } from "thirdweb/chains";
|
23
|
+
*
|
24
|
+
* <TokenProvider {...props}>
|
25
|
+
* <TokenName />
|
26
|
+
* </TokenProvider>
|
27
|
+
* ```
|
28
|
+
* Result:
|
29
|
+
* ```html
|
30
|
+
* <span>Ether</span>
|
31
|
+
* ```
|
32
|
+
*
|
33
|
+
* ### Custom name resolver
|
34
|
+
* By default TokenName will call the `name` method of the token contract.
|
35
|
+
* However if you have a different way to fetch the name, you can pass the function to the `nameResolver` prop.
|
36
|
+
* Note: nameResolver should either be a string or a function (async) that returns a string.
|
37
|
+
* ```tsx
|
38
|
+
* async function fetchNameMethod() {
|
39
|
+
* // your own fetching logic
|
40
|
+
* return "the token name";
|
41
|
+
* }
|
42
|
+
*
|
43
|
+
* <TokenName nameResolver={fetchNameMethod} />
|
44
|
+
* ```
|
45
|
+
*
|
46
|
+
* Alternatively you can also pass in a string directly:
|
47
|
+
* ```tsx
|
48
|
+
* <TokenName nameResolver="USD Coin Circle" />
|
49
|
+
* ```
|
50
|
+
*
|
51
|
+
*
|
52
|
+
* ### Format the name (capitalize, truncate, etc.)
|
53
|
+
* The TokenName component accepts a `formatFn` which takes in a string and outputs a string
|
54
|
+
* The function is used to modify the name of the token
|
55
|
+
*
|
56
|
+
* ```tsx
|
57
|
+
* const concatStr = (str: string):string => str + "Token"
|
58
|
+
*
|
59
|
+
* <TokenName formatFn={concatStr} />
|
60
|
+
* ```
|
61
|
+
*
|
62
|
+
* Result:
|
63
|
+
* ```html
|
64
|
+
* <span>Ether Token</span>
|
65
|
+
* ```
|
66
|
+
*
|
67
|
+
* ### Show a loading sign when the name is being fetched
|
68
|
+
* ```tsx
|
69
|
+
* import { TokenProvider, TokenName } from "thirdweb/react";
|
70
|
+
*
|
71
|
+
* <TokenProvider address="0x...">
|
72
|
+
* <TokenName loadingComponent={<Spinner />} />
|
73
|
+
* </TokenProvider>
|
74
|
+
* ```
|
75
|
+
*
|
76
|
+
* ### Fallback to something when the name fails to resolve
|
77
|
+
* ```tsx
|
78
|
+
* <TokenProvider address="0x...">
|
79
|
+
* <TokenName fallbackComponent={"Failed to load"} />
|
80
|
+
* </TokenProvider>
|
81
|
+
* ```
|
82
|
+
*
|
83
|
+
* ### Custom query options for useQuery
|
84
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
85
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
86
|
+
* ```tsx
|
87
|
+
* <TokenName
|
88
|
+
* queryOptions={{
|
89
|
+
* enabled: isEnabled,
|
90
|
+
* retry: 4,
|
91
|
+
* }}
|
92
|
+
* />
|
93
|
+
* ```
|
94
|
+
*
|
95
|
+
* @component
|
96
|
+
* @token
|
97
|
+
* @beta
|
98
|
+
*/
|
99
|
+
function TokenName({ nameResolver, formatFn, loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
100
|
+
const { address, client, chain } = (0, provider_js_1.useTokenContext)();
|
101
|
+
const nameQuery = (0, react_query_1.useQuery)({
|
102
|
+
queryKey: ["_internal_token_name_", chain.id, address],
|
103
|
+
queryFn: async () => {
|
104
|
+
if (typeof nameResolver === "string") {
|
105
|
+
return nameResolver;
|
106
|
+
}
|
107
|
+
if (typeof nameResolver === "function") {
|
108
|
+
return nameResolver();
|
109
|
+
}
|
110
|
+
if (address.toLowerCase() === addresses_js_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
|
111
|
+
// Don't wanna use `getChainNativeCurrencyName` because it has some side effect (it catches error and defaults to "ETH")
|
112
|
+
return (0, utils_js_1.getChainMetadata)(chain).then((data) => data.nativeCurrency.name);
|
113
|
+
}
|
114
|
+
// Try to fetch the name from both the `name()` function and the contract metadata
|
115
|
+
// then prioritize the `name()`
|
116
|
+
const contract = (0, contract_js_1.getContract)({ address, client, chain });
|
117
|
+
const [_name, contractMetadata] = await Promise.all([
|
118
|
+
(0, name_js_1.name)({ contract }),
|
119
|
+
(0, getContractMetadata_js_1.getContractMetadata)({ contract }),
|
120
|
+
]);
|
121
|
+
if (!_name && !contractMetadata.name) {
|
122
|
+
throw new Error("Failed to resolve name from both name() and contract metadata");
|
123
|
+
}
|
124
|
+
return _name || contractMetadata.name;
|
125
|
+
},
|
126
|
+
...queryOptions,
|
127
|
+
});
|
128
|
+
if (nameQuery.isLoading) {
|
129
|
+
return loadingComponent || null;
|
130
|
+
}
|
131
|
+
if (!nameQuery.data) {
|
132
|
+
return fallbackComponent || null;
|
133
|
+
}
|
134
|
+
const displayValue = formatFn ? formatFn(nameQuery.data) : nameQuery.data;
|
135
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: displayValue });
|
136
|
+
}
|
137
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Token/name.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAqJb,8BAmDC;;AAtMD,uDAAuE;AAGvE,6DAAkE;AAClE,wEAA6E;AAC7E,qEAAkE;AAClE,yGAAmG;AACnG,2EAAqE;AACrE,+CAAgD;AAqDhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,SAAgB,SAAS,CAAC,EACxB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACG;IACf,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,6BAAe,GAAE,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,sBAAQ,EAAC;QACzB,QAAQ,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAU;QAC/D,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,YAAY,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,mCAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjE,wHAAwH;gBACxH,OAAO,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,kFAAkF;YAClF,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClD,IAAA,cAAI,EAAC,EAAE,QAAQ,EAAE,CAAC;gBAClB,IAAA,4CAAmB,EAAC,EAAE,QAAQ,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,OAAO,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC;QACxC,CAAC;QACD,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;IAE1E,OAAO,oCAAU,SAAS,YAAG,YAAY,GAAQ,CAAC;AACpD,CAAC"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.TokenProvider = TokenProvider;
|
5
|
+
exports.useTokenContext = useTokenContext;
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const react_1 = require("react");
|
8
|
+
const TokenProviderContext = /* @__PURE__ */ (0, react_1.createContext)(undefined);
|
9
|
+
/**
|
10
|
+
* A React context provider component that supplies Token-related data to its child components.
|
11
|
+
*
|
12
|
+
* This component serves as a wrapper around the `TokenProviderContext.Provider` and passes
|
13
|
+
* the provided token data down to all of its child components through the context API.
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ### Basic usage
|
17
|
+
* ```tsx
|
18
|
+
* import { TokenProvider, TokenIcon, TokenName } from "thirdweb/react";
|
19
|
+
* import { ethereum } from "thirdweb/chains";
|
20
|
+
*
|
21
|
+
* <TokenProvider address="0x..." client={...} chain={ethereum}>
|
22
|
+
* <TokenIcon />
|
23
|
+
* <TokenName />
|
24
|
+
* </TokenProvider>
|
25
|
+
* ```
|
26
|
+
*
|
27
|
+
* ### This component also works with native token!
|
28
|
+
* ```tsx
|
29
|
+
* import { NATIVE_TOKEN_ADDRESS} from "thirdweb";
|
30
|
+
* import { ethereum } from "thirdweb/chains";
|
31
|
+
*
|
32
|
+
* <TokenProvider address={NATIVE_TOKEN_ADDRESS} chain={ethereum} client={client}>
|
33
|
+
* <TokenSymbol /> // "ETH"
|
34
|
+
* </TokenProvider>
|
35
|
+
* ```
|
36
|
+
*
|
37
|
+
* @component
|
38
|
+
* @token
|
39
|
+
* @beta
|
40
|
+
*/
|
41
|
+
function TokenProvider(props) {
|
42
|
+
return ((0, jsx_runtime_1.jsx)(TokenProviderContext.Provider, { value: props, children: props.children }));
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* @internal
|
46
|
+
*/
|
47
|
+
function useTokenContext() {
|
48
|
+
const ctx = (0, react_1.useContext)(TokenProviderContext);
|
49
|
+
if (!ctx) {
|
50
|
+
throw new Error("TokenProviderContext not found. Make sure you are using TokenName, TokenIcon, TokenSymbol etc. inside a <TokenProvider /> component");
|
51
|
+
}
|
52
|
+
return ctx;
|
53
|
+
}
|
54
|
+
//# sourceMappingURL=provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Token/provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgEb,sCAQC;AAKD,0CAQC;;AAjFD,iCAAkD;AAwBlD,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAA,qBAAa,EAExD,SAAS,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,aAAa,CAC3B,KAAkD;IAElD,OAAO,CACL,uBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACxC,KAAK,CAAC,QAAQ,GACe,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,qIAAqI,CACtI,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
@@ -0,0 +1,134 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.TokenSymbol = TokenSymbol;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const utils_js_1 = require("../../../../../chains/utils.js");
|
8
|
+
const addresses_js_1 = require("../../../../../constants/addresses.js");
|
9
|
+
const contract_js_1 = require("../../../../../contract/contract.js");
|
10
|
+
const getContractMetadata_js_1 = require("../../../../../extensions/common/read/getContractMetadata.js");
|
11
|
+
const symbol_js_1 = require("../../../../../extensions/common/read/symbol.js");
|
12
|
+
const provider_js_1 = require("./provider.js");
|
13
|
+
/**
|
14
|
+
* This component fetches then shows the symbol of a token. For ERC20 tokens, it calls the `symbol` function in the ERC20 contract.
|
15
|
+
* It inherits all the attributes of a HTML <span> component, hence you can style it just like how you would style a normal <span>
|
16
|
+
*
|
17
|
+
*
|
18
|
+
* @example
|
19
|
+
* ### Basic usage
|
20
|
+
* ```tsx
|
21
|
+
* import { TokenProvider, TokenSymbol } from "thirdweb/react";
|
22
|
+
* import { ethereum } from "thirdweb/chains";
|
23
|
+
*
|
24
|
+
* <TokenProvider {...props}>
|
25
|
+
* <TokenSymbol />
|
26
|
+
* </TokenProvider>
|
27
|
+
* ```
|
28
|
+
* Result:
|
29
|
+
* ```html
|
30
|
+
* <span>ETH</span>
|
31
|
+
* ```
|
32
|
+
*
|
33
|
+
* ### Custom symbol resolver
|
34
|
+
* By default, TokenSymbol calls the `symbol` function of your contract,
|
35
|
+
* however, if your token as an unconventional way to fetch the symbol, you can pass the custom logic to the `symbolResolver` prop.
|
36
|
+
* It can either be a string or a function (async) that returns or resolves to a string.
|
37
|
+
* ```tsx
|
38
|
+
* async function getSymbol() {
|
39
|
+
* // your own fetching logic
|
40
|
+
* return "the symbol";
|
41
|
+
* }
|
42
|
+
*
|
43
|
+
* <TokenSymbol symbolResolver={getSymbol} />
|
44
|
+
* ```
|
45
|
+
* Alternatively, you can pass in a string directly:
|
46
|
+
* ```tsx
|
47
|
+
* <TokenSymbol symbolResolver="USDC.e" />
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* ### Format the symbol (capitalize, truncate, etc.)
|
51
|
+
* The TokenSymbol component accepts a `formatFn` which takes in a string and outputs a string
|
52
|
+
* The function is used to modify the symbol of the token
|
53
|
+
*
|
54
|
+
* ```tsx
|
55
|
+
* const concatStr = (str: string):string => str + "Token"
|
56
|
+
*
|
57
|
+
* <TokenSymbol formatFn={concatStr} />
|
58
|
+
* ```
|
59
|
+
*
|
60
|
+
* Result:
|
61
|
+
* ```html
|
62
|
+
* <span>Ether Token</span>
|
63
|
+
* ```
|
64
|
+
*
|
65
|
+
* ### Show a loading sign when the symbol is being fetched
|
66
|
+
* ```tsx
|
67
|
+
* import { TokenProvider, TokenSymbol } from "thirdweb/react";
|
68
|
+
*
|
69
|
+
* <TokenProvider address="0x...">
|
70
|
+
* <TokenSymbol loadingComponent={<Spinner />} />
|
71
|
+
* </TokenProvider>
|
72
|
+
* ```
|
73
|
+
*
|
74
|
+
* ### Fallback to something when the symbol fails to resolve
|
75
|
+
* ```tsx
|
76
|
+
* <TokenProvider address="0x...">
|
77
|
+
* <TokenSymbol fallbackComponent={"Failed to load"} />
|
78
|
+
* </TokenProvider>
|
79
|
+
* ```
|
80
|
+
*
|
81
|
+
* ### Custom query options for useQuery
|
82
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
83
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
84
|
+
* ```tsx
|
85
|
+
* <TokenSymbol queryOptions={{
|
86
|
+
* enabled: isEnabled,
|
87
|
+
* retry: 4,
|
88
|
+
* }}
|
89
|
+
* />
|
90
|
+
* ```
|
91
|
+
*
|
92
|
+
* @component
|
93
|
+
* @token
|
94
|
+
* @beta
|
95
|
+
*/
|
96
|
+
function TokenSymbol({ symbolResolver, formatFn, loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
97
|
+
const { address, client, chain } = (0, provider_js_1.useTokenContext)();
|
98
|
+
const symbolQuery = (0, react_query_1.useQuery)({
|
99
|
+
queryKey: ["_internal_token_symbol_", chain.id, address],
|
100
|
+
queryFn: async () => {
|
101
|
+
if (typeof symbolResolver === "string") {
|
102
|
+
return symbolResolver;
|
103
|
+
}
|
104
|
+
if (typeof symbolResolver === "function") {
|
105
|
+
return symbolResolver();
|
106
|
+
}
|
107
|
+
if (address.toLowerCase() === addresses_js_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
|
108
|
+
// Don't wanna use `getChainSymbol` because it has some side effect (it catches error and defaults to "ETH")
|
109
|
+
return (0, utils_js_1.getChainMetadata)(chain).then((data) => data.nativeCurrency.symbol);
|
110
|
+
}
|
111
|
+
// Try to fetch the symbol from both the `symbol` function and the contract metadata
|
112
|
+
// then prioritize the `symbol()`
|
113
|
+
const contract = (0, contract_js_1.getContract)({ address, client, chain });
|
114
|
+
const [_symbol, contractMetadata] = await Promise.all([
|
115
|
+
(0, symbol_js_1.symbol)({ contract }),
|
116
|
+
(0, getContractMetadata_js_1.getContractMetadata)({ contract }),
|
117
|
+
]);
|
118
|
+
if (!_symbol && !contractMetadata.symbol) {
|
119
|
+
throw new Error("Failed to resolve symbol from both symbol() and contract metadata");
|
120
|
+
}
|
121
|
+
return _symbol || contractMetadata.symbol;
|
122
|
+
},
|
123
|
+
...queryOptions,
|
124
|
+
});
|
125
|
+
if (symbolQuery.isLoading) {
|
126
|
+
return loadingComponent || null;
|
127
|
+
}
|
128
|
+
if (!symbolQuery.data) {
|
129
|
+
return fallbackComponent || null;
|
130
|
+
}
|
131
|
+
const displayValue = formatFn ? formatFn(symbolQuery.data) : symbolQuery.data;
|
132
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: displayValue });
|
133
|
+
}
|
134
|
+
//# sourceMappingURL=symbol.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Token/symbol.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAkJb,kCAsDC;;AAtMD,uDAAuE;AAGvE,6DAAkE;AAClE,wEAA6E;AAC7E,qEAAkE;AAClE,yGAAmG;AACnG,+EAAyE;AACzE,+CAAgD;AAqDhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,SAAgB,WAAW,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACK;IACjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,6BAAe,GAAE,CAAC;IACrD,MAAM,WAAW,GAAG,IAAA,sBAAQ,EAAC;QAC3B,QAAQ,EAAE,CAAC,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAU;QACjE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;gBACzC,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,mCAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjE,4GAA4G;gBAC5G,OAAO,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CACrC,CAAC;YACJ,CAAC;YAED,oFAAoF;YACpF,iCAAiC;YACjC,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpD,IAAA,kBAAM,EAAC,EAAE,QAAQ,EAAE,CAAC;gBACpB,IAAA,4CAAmB,EAAC,EAAE,QAAQ,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAC5C,CAAC;QACD,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IAE9E,OAAO,oCAAU,SAAS,YAAG,YAAY,GAAQ,CAAC;AACpD,CAAC"}
|
@@ -41,6 +41,7 @@ const index_js_1 = require("../../../TransactionButton/index.js");
|
|
41
41
|
* For error handling & callbacks on transaction-sent and transaction-confirmed,
|
42
42
|
* please refer to the TransactionButton docs.
|
43
43
|
* @component
|
44
|
+
* @transaction
|
44
45
|
*/
|
45
46
|
function BuyDirectListingButton(props) {
|
46
47
|
const { contractAddress, listingId, children, chain, client, quantity, payModal, } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx"],"names":[],"mappings":"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"}
|
@@ -98,6 +98,7 @@ const index_js_1 = require("../../../TransactionButton/index.js");
|
|
98
98
|
*
|
99
99
|
* For error handling & callbacks on transaction-sent and transaction-confirmed,
|
100
100
|
* please refer to the TransactionButton docs.
|
101
|
+
* @transaction
|
101
102
|
*/
|
102
103
|
function ClaimButton(props) {
|
103
104
|
const { children, contractAddress, client, chain, claimParams, payModal } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA8Gb,kCAqDC;AAyDD,4CAmBC;AAKD,8CAoBC;AAKD,0CAgCC;;AA3SD,wEAGgD;AAChD,4GAAsG;AACtG,mFAA6E;AAI7E,8FAAwF;AACxF,2HAAqH;AACrH,+FAAyF;AACzF,kEAAwE;AASxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,SAAgB,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GACvE,KAAK,CAAC;IACR,MAAM,uBAAuB,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC;QAC3B,OAAO,EAAE,eAAe;QACxB,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAe,EAAC,cAAc,EAAE;QAC5D,QAAQ;QACR,OAAO,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACzE,YAAY,EAAE;YACZ,OAAO,EAAE,CAAC,uBAAuB;SAClC;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,sCAAgB,GAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,8DAA4B,GAAE,CAAC;IACvD,OAAO,CACL,uBAAC,4BAAiB,IAChB,QAAQ,EAAE;YACR,QAAQ,EAAE,uBAAuB,IAAI,WAAW;YAChD,GAAG,QAAQ;SACZ,EACD,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,EAAE,yBAAyB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjE,mBAAmB,CAAC;oBAClB,QAAQ;oBACR,OAAO;oBACP,WAAW;iBACZ,CAAC;qDAEA,uEAAuE;aAE1E,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAChD,WAAW,EAAE,OAAO;gBACpB,OAAO;aACR,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,KACG,KAAK,YAER,QAAQ,GACS,CACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAC3B,OAAqD;IAErD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,IAAA,4CAAmB,EAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,IAAA,kBAAM,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACpD,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK;YAC3B,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,gBAAgB,EAAE,KAAK;QAC9B,IAAI,EAAE,gBAAgB,EAAE,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,EACjC,QAAQ,EACR,OAAO,EACP,WAAW,GAKZ;IACC,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,KAAK,SAAS;YACZ,OAAO,MAAM,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,MAAM,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,EACrC,QAAQ,EACR,OAAO,EACP,WAAW,GAKZ;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,2CAClB,4DAA4D,EAC7D,CAAC;IAEF,OAAO,OAAO,CAAC;QACb,QAAQ;QACR,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE;QAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,EACtC,QAAQ,EACR,OAAO,EACP,WAAW,GAKZ;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,2CAClB,6DAA6D,EAC9D,CAAC;IAEF,OAAO,OAAO,CAAC;QACb,QAAQ;QACR,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE;QAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,WAAW,GAKZ;IACC,mEAAmE;IACnE,wEAAwE;IACxE,MAAM,EAAE,OAAO,EAAE,GAAG,2CAClB,2DAA2D,EAC5D,CAAC;IAEF,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;YACb,QAAQ;YACR,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE;YAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,IAAI,WAAW,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;YACb,QAAQ;YACR,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE;YAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACvD,CAAC"}
|
@@ -40,6 +40,7 @@ const index_js_1 = require("../../../TransactionButton/index.js");
|
|
40
40
|
* For error handling & callbacks on transaction-sent and transaction-confirmed,
|
41
41
|
* please refer to the TransactionButton docs.
|
42
42
|
* @component
|
43
|
+
* @transaction
|
43
44
|
*/
|
44
45
|
function CreateDirectListingButton(props) {
|
45
46
|
const { contractAddress, chain, client, children, payModal, assetContractAddress, tokenId, } = props;
|