thirdweb 5.69.0 → 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/pack/createNewPack.js +2 -1
- package/dist/cjs/extensions/pack/createNewPack.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/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.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/version.js.map +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/in-app/web/ecosystem.js +7 -17
- package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +2 -17
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js +17 -16
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js.map +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/pack/createNewPack.js +2 -1
- package/dist/esm/extensions/pack/createNewPack.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/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.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/version.js.map +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/in-app/web/ecosystem.js +7 -17
- package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +2 -17
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -0
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js +18 -17
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js.map +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/pack/createNewPack.d.ts +2 -2
- package/dist/types/extensions/pack/createNewPack.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/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.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/version.d.ts.map +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/in-app/web/ecosystem.d.ts +7 -17
- package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +2 -17
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +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 +2 -2
- 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/pack/createNewPack.ts +8 -3
- 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/ConnectWallet/screens/Buy/BuyScreen.tsx +23 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +43 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +2 -3
- 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/in-app/web/ecosystem.ts +7 -17
- package/src/wallets/in-app/web/in-app.ts +2 -17
- package/src/wallets/in-app/web/lib/auth/index.ts +1 -0
- package/src/wallets/in-app/web/lib/auth/passkeys.ts +24 -23
- 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
@@ -1,76 +0,0 @@
|
|
1
|
-
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
2
|
-
import type { NFT as NFTType } from "../../../../../utils/nft/parseNft.js";
|
3
|
-
import type { MediaRendererProps } from "../../MediaRenderer/types.js";
|
4
|
-
/**
|
5
|
-
* Props for the <NFT> component
|
6
|
-
* @component
|
7
|
-
*/
|
8
|
-
type NFTProviderProps = {
|
9
|
-
/**
|
10
|
-
* The NFT contract address. Accepts both ERC721 and ERC1155 contracts
|
11
|
-
*/
|
12
|
-
contract: ThirdwebContract;
|
13
|
-
/**
|
14
|
-
* The tokenId whose info you want to display
|
15
|
-
*/
|
16
|
-
tokenId: bigint;
|
17
|
-
};
|
18
|
-
/**
|
19
|
-
* @internal
|
20
|
-
*/
|
21
|
-
export declare const NFTProviderContext: import("react").Context<NFTProviderProps | undefined>;
|
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
|
-
* @component
|
30
|
-
* @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
|
31
|
-
*
|
32
|
-
* @example
|
33
|
-
* ```tsx
|
34
|
-
* import { getContract } from "thirdweb";
|
35
|
-
* import { NFT } from "thirdweb/react";
|
36
|
-
*
|
37
|
-
* const contract = getContract({
|
38
|
-
* address: "0x...",
|
39
|
-
* chain: ethereum,
|
40
|
-
* client: yourThirdwebClient,
|
41
|
-
* });
|
42
|
-
*
|
43
|
-
* <NFT contract={contract} tokenId={0n}>
|
44
|
-
* <Suspense fallback={"Loading media..."}>
|
45
|
-
* <NFT.Media />
|
46
|
-
* <NFT.Description />
|
47
|
-
* </Suspense>
|
48
|
-
* </NFT>
|
49
|
-
* ```
|
50
|
-
*/
|
51
|
-
export declare function NFT(props: React.PropsWithChildren<NFTProviderProps>): import("react/jsx-runtime.js").JSX.Element;
|
52
|
-
export declare namespace NFT {
|
53
|
-
var Media: (props: NFTMediaProps) => import("react/jsx-runtime.js").JSX.Element;
|
54
|
-
var Name: (props: {
|
55
|
-
className?: string;
|
56
|
-
style?: React.CSSProperties;
|
57
|
-
}) => import("react/jsx-runtime.js").JSX.Element;
|
58
|
-
var Description: (props: {
|
59
|
-
className: string;
|
60
|
-
style: React.CSSProperties;
|
61
|
-
}) => import("react/jsx-runtime.js").JSX.Element;
|
62
|
-
}
|
63
|
-
/**
|
64
|
-
* @component
|
65
|
-
* The props for the <NFT.Media /> component
|
66
|
-
* It is similar to the [`MediaRendererProps`](https://portal.thirdweb.com/references/typescript/v5/MediaRendererProps)
|
67
|
-
* (excluding `src`, `poster` and `client`) that you can
|
68
|
-
* use to style the NFT.Media
|
69
|
-
*/
|
70
|
-
export type NFTMediaProps = Omit<MediaRendererProps, "src" | "poster" | "client">;
|
71
|
-
/**
|
72
|
-
* @internal
|
73
|
-
*/
|
74
|
-
export declare function getNFTInfo(options: NFTProviderProps): Promise<NFTType>;
|
75
|
-
export {};
|
76
|
-
//# sourceMappingURL=NFT.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"NFT.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/NFT.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,KAAK,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;GAGG;AACH,KAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,uDAEnB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,8CAMnE;yBANe,GAAG;uBAoEC,aAAa;sBAsDd;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;KAAE;6BA4C5C;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B;;AApJD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,kBAAkB,EAClB,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAC5B,CAAC;AAyJF;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB5E"}
|
@@ -1,132 +0,0 @@
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
2
|
-
import {
|
3
|
-
ANVIL_CHAIN,
|
4
|
-
FORKED_ETHEREUM_CHAIN_WITH_MINING,
|
5
|
-
} from "../../../test/src/chains.js";
|
6
|
-
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
7
|
-
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
8
|
-
import { isContractDeployed } from "../../utils/bytecode/is-contract-deployed.js";
|
9
|
-
import { ENTRYPOINT_ADDRESS_v0_6 } from "../../wallets/smart/lib/constants.js";
|
10
|
-
import { deployPublishedContract } from "./deploy-published.js";
|
11
|
-
|
12
|
-
describe.runIf(process.env.TW_SECRET_KEY)(
|
13
|
-
"deployPublished",
|
14
|
-
{
|
15
|
-
timeout: 120000,
|
16
|
-
},
|
17
|
-
() => {
|
18
|
-
it("should deploy a published direct deploy contract", async () => {
|
19
|
-
const address = await deployPublishedContract({
|
20
|
-
client: TEST_CLIENT,
|
21
|
-
chain: ANVIL_CHAIN,
|
22
|
-
account: TEST_ACCOUNT_A,
|
23
|
-
contractId: "AccountFactory",
|
24
|
-
contractParams: {
|
25
|
-
defaultAdmin: TEST_ACCOUNT_A.address,
|
26
|
-
entrypoint: ENTRYPOINT_ADDRESS_v0_6,
|
27
|
-
},
|
28
|
-
});
|
29
|
-
expect(address).toBeDefined();
|
30
|
-
expect(address.length).toBe(42);
|
31
|
-
});
|
32
|
-
|
33
|
-
it("should deploy a published autofactory contract", async () => {
|
34
|
-
const address = await deployPublishedContract({
|
35
|
-
client: TEST_CLIENT,
|
36
|
-
chain: ANVIL_CHAIN,
|
37
|
-
account: TEST_ACCOUNT_A,
|
38
|
-
contractId: "Airdrop",
|
39
|
-
contractParams: {
|
40
|
-
defaultAdmin: TEST_ACCOUNT_A.address,
|
41
|
-
contractURI: "",
|
42
|
-
},
|
43
|
-
});
|
44
|
-
expect(address).toBeDefined();
|
45
|
-
expect(address.length).toBe(42);
|
46
|
-
});
|
47
|
-
|
48
|
-
it("should deploy a published autofactory contract deterministically", async () => {
|
49
|
-
const address = await deployPublishedContract({
|
50
|
-
client: TEST_CLIENT,
|
51
|
-
chain: ANVIL_CHAIN,
|
52
|
-
account: TEST_ACCOUNT_A,
|
53
|
-
contractId: "Airdrop",
|
54
|
-
contractParams: {
|
55
|
-
defaultAdmin: TEST_ACCOUNT_A.address,
|
56
|
-
contractURI: "",
|
57
|
-
},
|
58
|
-
salt: "test",
|
59
|
-
});
|
60
|
-
expect(address).toBe("0x9A18AD1DdCfA00009C2db7dc78a5746d85feF759");
|
61
|
-
const isDeployed = await isContractDeployed({
|
62
|
-
client: TEST_CLIENT,
|
63
|
-
chain: ANVIL_CHAIN,
|
64
|
-
address,
|
65
|
-
});
|
66
|
-
expect(isDeployed).toBe(true);
|
67
|
-
|
68
|
-
// deploy on forked ethereum
|
69
|
-
const ethAddress = await deployPublishedContract({
|
70
|
-
client: TEST_CLIENT,
|
71
|
-
chain: FORKED_ETHEREUM_CHAIN_WITH_MINING,
|
72
|
-
account: TEST_ACCOUNT_A,
|
73
|
-
contractId: "Airdrop",
|
74
|
-
contractParams: {
|
75
|
-
defaultAdmin: TEST_ACCOUNT_A.address,
|
76
|
-
contractURI: "",
|
77
|
-
},
|
78
|
-
salt: "test",
|
79
|
-
});
|
80
|
-
// ensure they are the same address!
|
81
|
-
expect(address).toBe(ethAddress);
|
82
|
-
});
|
83
|
-
|
84
|
-
// TODO: Replace these tests' live contracts with mocks
|
85
|
-
it("should deploy a published contract with no constructor", async () => {
|
86
|
-
const address = await deployPublishedContract({
|
87
|
-
client: TEST_CLIENT,
|
88
|
-
chain: ANVIL_CHAIN,
|
89
|
-
account: TEST_ACCOUNT_A,
|
90
|
-
contractId: "Counter",
|
91
|
-
publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
|
92
|
-
});
|
93
|
-
expect(address).toBeDefined();
|
94
|
-
expect(address.length).toBe(42);
|
95
|
-
});
|
96
|
-
|
97
|
-
it("should deploy a published contract with no deploy type", async () => {
|
98
|
-
const address = await deployPublishedContract({
|
99
|
-
client: TEST_CLIENT,
|
100
|
-
chain: ANVIL_CHAIN,
|
101
|
-
account: TEST_ACCOUNT_A,
|
102
|
-
contractId: "MyToken",
|
103
|
-
publisher: "0xc77e556cd96235A7B72d46EAAf13405d698CB2C0",
|
104
|
-
});
|
105
|
-
expect(address).toBeDefined();
|
106
|
-
expect(address.length).toBe(42);
|
107
|
-
});
|
108
|
-
|
109
|
-
it("should deploy a published contract with no fuzzy params", async () => {
|
110
|
-
const address = await deployPublishedContract({
|
111
|
-
client: TEST_CLIENT,
|
112
|
-
chain: ANVIL_CHAIN,
|
113
|
-
account: TEST_ACCOUNT_A,
|
114
|
-
contractId: "DropERC1155",
|
115
|
-
contractParams: {
|
116
|
-
defaultAdmin: TEST_ACCOUNT_A.address, // defaultAdmin
|
117
|
-
name: "test", // name
|
118
|
-
symbol: "test", // symbol
|
119
|
-
contractURI: "", // contractURI
|
120
|
-
trustedForwarders: [], // trustedForwarders
|
121
|
-
saleRecipient: TEST_ACCOUNT_A.address, // saleRecipient
|
122
|
-
royaltyRecipient: TEST_ACCOUNT_A.address, // royaltyRecipient
|
123
|
-
royaltyBps: 0n, // royaltyBps
|
124
|
-
platformFeeBps: 0n, // platformFeeBps
|
125
|
-
platformFeeRecipient: TEST_ACCOUNT_A.address, // platformFeeRecipient
|
126
|
-
},
|
127
|
-
});
|
128
|
-
expect(address).toBeDefined();
|
129
|
-
expect(address.length).toBe(42);
|
130
|
-
});
|
131
|
-
},
|
132
|
-
);
|
@@ -1,272 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { useSuspenseQuery } from "@tanstack/react-query";
|
4
|
-
import { createContext, useContext } from "react";
|
5
|
-
import type { ThirdwebContract } from "../../../../../contract/contract.js";
|
6
|
-
import { getNFT as getNFT721 } from "../../../../../extensions/erc721/read/getNFT.js";
|
7
|
-
import { getNFT as getNFT1155 } from "../../../../../extensions/erc1155/read/getNFT.js";
|
8
|
-
import type { NFT as NFTType } from "../../../../../utils/nft/parseNft.js";
|
9
|
-
import { MediaRenderer } from "../../MediaRenderer/MediaRenderer.js";
|
10
|
-
import type { MediaRendererProps } from "../../MediaRenderer/types.js";
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Props for the <NFT> component
|
14
|
-
* @component
|
15
|
-
*/
|
16
|
-
type NFTProviderProps = {
|
17
|
-
/**
|
18
|
-
* The NFT contract address. Accepts both ERC721 and ERC1155 contracts
|
19
|
-
*/
|
20
|
-
contract: ThirdwebContract;
|
21
|
-
/**
|
22
|
-
* The tokenId whose info you want to display
|
23
|
-
*/
|
24
|
-
tokenId: bigint;
|
25
|
-
};
|
26
|
-
|
27
|
-
/**
|
28
|
-
* @internal
|
29
|
-
*/
|
30
|
-
export const NFTProviderContext = /* @__PURE__ */ createContext<
|
31
|
-
NFTProviderProps | undefined
|
32
|
-
>(undefined);
|
33
|
-
|
34
|
-
/**
|
35
|
-
* A React context provider component that supplies NFT-related data to its child components.
|
36
|
-
*
|
37
|
-
* This component serves as a wrapper around the `NFTProviderContext.Provider` and passes
|
38
|
-
* the provided NFT data down to all of its child components through the context API.
|
39
|
-
*
|
40
|
-
*
|
41
|
-
* @component
|
42
|
-
* @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
|
43
|
-
*
|
44
|
-
* @example
|
45
|
-
* ```tsx
|
46
|
-
* import { getContract } from "thirdweb";
|
47
|
-
* import { NFT } from "thirdweb/react";
|
48
|
-
*
|
49
|
-
* const contract = getContract({
|
50
|
-
* address: "0x...",
|
51
|
-
* chain: ethereum,
|
52
|
-
* client: yourThirdwebClient,
|
53
|
-
* });
|
54
|
-
*
|
55
|
-
* <NFT contract={contract} tokenId={0n}>
|
56
|
-
* <Suspense fallback={"Loading media..."}>
|
57
|
-
* <NFT.Media />
|
58
|
-
* <NFT.Description />
|
59
|
-
* </Suspense>
|
60
|
-
* </NFT>
|
61
|
-
* ```
|
62
|
-
*/
|
63
|
-
export function NFT(props: React.PropsWithChildren<NFTProviderProps>) {
|
64
|
-
return (
|
65
|
-
<NFTProviderContext.Provider value={props}>
|
66
|
-
{props.children}
|
67
|
-
</NFTProviderContext.Provider>
|
68
|
-
);
|
69
|
-
}
|
70
|
-
|
71
|
-
/**
|
72
|
-
* @internal
|
73
|
-
*/
|
74
|
-
function useNFTContext() {
|
75
|
-
const ctx = useContext(NFTProviderContext);
|
76
|
-
if (!ctx) {
|
77
|
-
throw new Error(
|
78
|
-
"NFTProviderContext not found. Make sure you are using NFT.Media, NFT.Description, etc. inside a <NFT /> component",
|
79
|
-
);
|
80
|
-
}
|
81
|
-
return ctx;
|
82
|
-
}
|
83
|
-
|
84
|
-
/**
|
85
|
-
* @component
|
86
|
-
* The props for the <NFT.Media /> component
|
87
|
-
* It is similar to the [`MediaRendererProps`](https://portal.thirdweb.com/references/typescript/v5/MediaRendererProps)
|
88
|
-
* (excluding `src`, `poster` and `client`) that you can
|
89
|
-
* use to style the NFT.Media
|
90
|
-
*/
|
91
|
-
export type NFTMediaProps = Omit<
|
92
|
-
MediaRendererProps,
|
93
|
-
"src" | "poster" | "client"
|
94
|
-
>;
|
95
|
-
|
96
|
-
/**
|
97
|
-
* This component fetches and displays an NFT's media. It uses thirdweb [`MediaRenderer`](https://portal.thirdweb.com/react/v5/components/MediaRenderer) under the hood
|
98
|
-
* so you can style it just like how you would style a MediaRenderer.
|
99
|
-
* @returns A MediaRenderer component
|
100
|
-
*
|
101
|
-
* Since this component has an internal loading state (for when the NFT media is being fetched),
|
102
|
-
* you must wrap it with React.Suspense to make it work.
|
103
|
-
*
|
104
|
-
* @component
|
105
|
-
* @example
|
106
|
-
* ### Basic usage
|
107
|
-
* ```tsx
|
108
|
-
* import { getContract } from "thirdweb";
|
109
|
-
* import { NFT } from "thirdweb/react";
|
110
|
-
*
|
111
|
-
* const nftContract = getContract({
|
112
|
-
* address: "0x...",
|
113
|
-
* chain: ethereum,
|
114
|
-
* client: yourThirdwebClient,
|
115
|
-
* });
|
116
|
-
*
|
117
|
-
* <NFT contract={nftContract} tokenId={0n}>
|
118
|
-
* This will show the media for tokenId #0 from the `nftContract` collection
|
119
|
-
* <Suspense fallback={"Loading media..."}>
|
120
|
-
* <NFT.Media />
|
121
|
-
* </Suspense>
|
122
|
-
* </NFT>
|
123
|
-
* ```
|
124
|
-
*
|
125
|
-
* ### Basic stylings
|
126
|
-
* You can style NFT.Media with the `style` and `className` props.
|
127
|
-
* ```tsx
|
128
|
-
* <NFT.Media style={{ borderRadius: "8px" }} className="mx-auto" />
|
129
|
-
* ```
|
130
|
-
*/
|
131
|
-
NFT.Media = (props: NFTMediaProps) => {
|
132
|
-
const { contract, tokenId } = useNFTContext();
|
133
|
-
const nftQuery = useSuspenseQuery({
|
134
|
-
queryKey: [
|
135
|
-
"__nft_info_internal__",
|
136
|
-
contract.chain.id,
|
137
|
-
contract.address,
|
138
|
-
tokenId.toString(),
|
139
|
-
],
|
140
|
-
queryFn: () => getNFTInfo({ contract, tokenId }),
|
141
|
-
});
|
142
|
-
const animation_url = nftQuery.data?.metadata.animation_url;
|
143
|
-
const image =
|
144
|
-
nftQuery.data?.metadata.image || nftQuery.data?.metadata.image_url;
|
145
|
-
|
146
|
-
return (
|
147
|
-
<MediaRenderer
|
148
|
-
client={contract.client}
|
149
|
-
src={animation_url || image}
|
150
|
-
poster={image}
|
151
|
-
{...props}
|
152
|
-
/>
|
153
|
-
);
|
154
|
-
};
|
155
|
-
|
156
|
-
/**
|
157
|
-
* This component fetches and displays an NFT's name. It takes in a `className` and `style` props
|
158
|
-
* so you can style it just like how you would style a <span> element.
|
159
|
-
* @returns A <span> element containing the name of the NFT
|
160
|
-
*
|
161
|
-
* Since this component has an internal loading state (for when the NFT media is being fetched),
|
162
|
-
* you must wrap it with React.Suspense to make it work.
|
163
|
-
*
|
164
|
-
* @component
|
165
|
-
* @example
|
166
|
-
* ### Basic usage
|
167
|
-
* ```tsx
|
168
|
-
* import { getContract } from "thirdweb";
|
169
|
-
* import { NFT } from "thirdweb/react";
|
170
|
-
*
|
171
|
-
* const nftContract = getContract({
|
172
|
-
* address: "0x...",
|
173
|
-
* chain: ethereum,
|
174
|
-
* client: yourThirdwebClient,
|
175
|
-
* });
|
176
|
-
*
|
177
|
-
* <NFT contract={nftContract} tokenId={0n}>
|
178
|
-
* This will show the name for tokenId #0 from the `nftContract` collection
|
179
|
-
* <Suspense fallback={"Loading nft name..."}>
|
180
|
-
* <NFT.Name className="mx-auto" style={{ color: "red" }} />
|
181
|
-
* </Suspense>
|
182
|
-
* </NFT>
|
183
|
-
* ```
|
184
|
-
*/
|
185
|
-
NFT.Name = (props: { className?: string; style?: React.CSSProperties }) => {
|
186
|
-
const { contract, tokenId } = useNFTContext();
|
187
|
-
const nftQuery = useSuspenseQuery({
|
188
|
-
queryKey: [
|
189
|
-
"__nft_info_internal__",
|
190
|
-
contract.chain.id,
|
191
|
-
contract.address,
|
192
|
-
tokenId.toString(),
|
193
|
-
],
|
194
|
-
queryFn: () => getNFTInfo({ contract, tokenId }),
|
195
|
-
});
|
196
|
-
const name = nftQuery.data?.metadata.name || "";
|
197
|
-
return <span {...props}>{name}</span>;
|
198
|
-
};
|
199
|
-
|
200
|
-
/**
|
201
|
-
* This component fetches and displays an NFT's description. It takes in a `className` and `style` props
|
202
|
-
* so you can style it just like how you would style a <span> element.
|
203
|
-
* @returns A <span> element containing the description of the NFT
|
204
|
-
*
|
205
|
-
* Since this component has an internal loading state (for when the NFT media is being fetched),
|
206
|
-
* you must wrap it with React.Suspense to make it work.
|
207
|
-
*
|
208
|
-
* @component
|
209
|
-
* @example
|
210
|
-
* ### Basic usage
|
211
|
-
* ```tsx
|
212
|
-
* import { getContract } from "thirdweb";
|
213
|
-
* import { NFT } from "thirdweb/react";
|
214
|
-
*
|
215
|
-
* const nftContract = getContract({
|
216
|
-
* address: "0x...",
|
217
|
-
* chain: ethereum,
|
218
|
-
* client: yourThirdwebClient,
|
219
|
-
* });
|
220
|
-
*
|
221
|
-
* <NFT contract={nftContract} tokenId={0n}>
|
222
|
-
* This will show the description for tokenId #0 from the `nftContract` collection
|
223
|
-
* <Suspense fallback={"Loading description..."}>
|
224
|
-
* <NFT.Description className="mx-auto" style={{ color: "red" }} />
|
225
|
-
* </Suspense>
|
226
|
-
* </NFT>
|
227
|
-
* ```
|
228
|
-
*/
|
229
|
-
NFT.Description = (props: {
|
230
|
-
className: string;
|
231
|
-
style: React.CSSProperties;
|
232
|
-
}) => {
|
233
|
-
const { contract, tokenId } = useNFTContext();
|
234
|
-
const nftQuery = useSuspenseQuery({
|
235
|
-
queryKey: [
|
236
|
-
"__nft_info_internal__",
|
237
|
-
contract.chain.id,
|
238
|
-
contract.address,
|
239
|
-
tokenId.toString(),
|
240
|
-
],
|
241
|
-
queryFn: () => getNFTInfo({ contract, tokenId }),
|
242
|
-
});
|
243
|
-
const description = nftQuery.data?.metadata.description || "";
|
244
|
-
return <span {...props}>{description}</span>;
|
245
|
-
};
|
246
|
-
|
247
|
-
/**
|
248
|
-
* @internal
|
249
|
-
*/
|
250
|
-
export async function getNFTInfo(options: NFTProviderProps): Promise<NFTType> {
|
251
|
-
const nft = await Promise.allSettled([
|
252
|
-
getNFT721(options),
|
253
|
-
getNFT1155(options),
|
254
|
-
]).then(([possibleNFT721, possibleNFT1155]) => {
|
255
|
-
// getNFT extension always return an NFT object
|
256
|
-
// so we need to check if the tokenURI exists
|
257
|
-
if (
|
258
|
-
possibleNFT721.status === "fulfilled" &&
|
259
|
-
possibleNFT721.value.tokenURI
|
260
|
-
) {
|
261
|
-
return possibleNFT721.value;
|
262
|
-
}
|
263
|
-
if (
|
264
|
-
possibleNFT1155.status === "fulfilled" &&
|
265
|
-
possibleNFT1155.value.tokenURI
|
266
|
-
) {
|
267
|
-
return possibleNFT1155.value;
|
268
|
-
}
|
269
|
-
throw new Error("Failed to load NFT metadata");
|
270
|
-
});
|
271
|
-
return nft;
|
272
|
-
}
|