thirdweb 5.53.0 → 5.54.0-nightly-c3800d6c0765a9a0b69ac0a4a390d20cec932419-20240912000413
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/analytics/track.js +18 -0
- package/dist/cjs/analytics/track.js.map +1 -1
- package/dist/cjs/chains/chain-definitions/polygon.js +1 -1
- package/dist/cjs/chains/chain-definitions/polygon.js.map +1 -1
- package/dist/cjs/contract/deployment/deploy-deterministic.js +19 -0
- package/dist/cjs/contract/deployment/deploy-deterministic.js.map +1 -1
- package/dist/cjs/contract/deployment/deploy-via-autofactory.js +3 -1
- package/dist/cjs/contract/deployment/deploy-via-autofactory.js.map +1 -1
- package/dist/cjs/contract/deployment/deploy-with-abi.js +50 -6
- package/dist/cjs/contract/deployment/deploy-with-abi.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/bootstrap.js +23 -8
- package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/clone-factory.js +1 -2
- package/dist/cjs/contract/deployment/utils/clone-factory.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/infra.js +38 -2
- package/dist/cjs/contract/deployment/utils/infra.js.map +1 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +7 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js +5 -4
- package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
- package/dist/cjs/exports/contract.js +4 -1
- package/dist/cjs/exports/contract.js.map +1 -1
- package/dist/cjs/exports/deploys.js +8 -3
- package/dist/cjs/exports/deploys.js.map +1 -1
- package/dist/cjs/exports/extensions/erc721.js +4 -2
- package/dist/cjs/exports/extensions/erc721.js.map +1 -1
- package/dist/cjs/exports/utils.js +3 -1
- package/dist/cjs/exports/utils.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +14 -16
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +19 -0
- package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/write/reveal.js +3 -20
- package/dist/cjs/extensions/erc721/lazyMinting/write/reveal.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/updateTokenURI.js +3 -0
- package/dist/cjs/extensions/erc721/write/updateTokenURI.js.map +1 -1
- package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js +0 -1
- package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
- package/dist/cjs/extensions/modules/common/getOrDeployModule.js +2 -4
- package/dist/cjs/extensions/modules/common/getOrDeployModule.js.map +1 -1
- package/dist/cjs/extensions/modules/common/installPublishedModule.js +1 -1
- package/dist/cjs/extensions/modules/common/installPublishedModule.js.map +1 -1
- package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js +1 -2
- package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc1155.js +0 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc1155.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc20.js +0 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc20.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc721.js +0 -1
- package/dist/cjs/extensions/prebuilts/deploy-erc721.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-marketplace.js +5 -7
- package/dist/cjs/extensions/prebuilts/deploy-marketplace.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-modular.js +32 -27
- package/dist/cjs/extensions/prebuilts/deploy-modular.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-published.js +121 -35
- package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-split.js +0 -1
- package/dist/cjs/extensions/prebuilts/deploy-split.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-vote.js +0 -1
- package/dist/cjs/extensions/prebuilts/deploy-vote.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/get-required-transactions.js +66 -0
- package/dist/cjs/extensions/prebuilts/get-required-transactions.js.map +1 -0
- package/dist/cjs/react/core/hooks/others/useProfiles.js +1 -1
- package/dist/cjs/react/core/social/useSocialProfiles.js +2 -0
- package/dist/cjs/react/core/social/useSocialProfiles.js.map +1 -1
- package/dist/cjs/react/core/utils/walletIcon.js +5 -1
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
- package/dist/cjs/react/native/ui/components/Address.js +1 -3
- package/dist/cjs/react/native/ui/components/Address.js.map +1 -1
- package/dist/cjs/react/native/ui/components/WalletImage.js +2 -0
- package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
- package/dist/cjs/react/native/ui/icons/svgs.js +2 -1
- package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +7 -0
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +20 -0
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -0
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/cjs/social/profiles.js +2 -1
- package/dist/cjs/social/profiles.js.map +1 -1
- package/dist/cjs/utils/abi/normalizeFunctionParams.js +24 -0
- package/dist/cjs/utils/abi/normalizeFunctionParams.js.map +1 -0
- package/dist/cjs/utils/any-evm/compute-published-contract-address.js +14 -6
- package/dist/cjs/utils/any-evm/compute-published-contract-address.js.map +1 -1
- package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js +17 -5
- package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
- package/dist/cjs/utils/any-evm/deploy-metadata.js +0 -19
- package/dist/cjs/utils/any-evm/deploy-metadata.js.map +1 -1
- package/dist/cjs/utils/caching/lru.js +15 -14
- package/dist/cjs/utils/caching/lru.js.map +1 -1
- package/dist/cjs/utils/domains.js +1 -1
- package/dist/cjs/utils/domains.js.map +1 -1
- package/dist/cjs/utils/ipfs.js +2 -0
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/types.js +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
- package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +2 -0
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +2 -0
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +2 -0
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/types.js +1 -0
- package/dist/cjs/wallets/types.js.map +1 -1
- package/dist/esm/analytics/track.js +17 -0
- package/dist/esm/analytics/track.js.map +1 -1
- package/dist/esm/chains/chain-definitions/polygon.js +1 -1
- package/dist/esm/chains/chain-definitions/polygon.js.map +1 -1
- package/dist/esm/contract/deployment/deploy-deterministic.js +19 -1
- package/dist/esm/contract/deployment/deploy-deterministic.js.map +1 -1
- package/dist/esm/contract/deployment/deploy-via-autofactory.js +3 -1
- package/dist/esm/contract/deployment/deploy-via-autofactory.js.map +1 -1
- package/dist/esm/contract/deployment/deploy-with-abi.js +50 -6
- package/dist/esm/contract/deployment/deploy-with-abi.js.map +1 -1
- package/dist/esm/contract/deployment/utils/bootstrap.js +23 -9
- package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
- package/dist/esm/contract/deployment/utils/clone-factory.js +1 -2
- package/dist/esm/contract/deployment/utils/clone-factory.js.map +1 -1
- package/dist/esm/contract/deployment/utils/infra.js +38 -4
- package/dist/esm/contract/deployment/utils/infra.js.map +1 -1
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js +7 -1
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -1
- package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
- package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
- package/dist/esm/contract/deployment/zksync/zkDeployProxy.js +5 -4
- package/dist/esm/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
- package/dist/esm/exports/contract.js +2 -0
- package/dist/esm/exports/contract.js.map +1 -1
- package/dist/esm/exports/deploys.js +4 -2
- package/dist/esm/exports/deploys.js.map +1 -1
- package/dist/esm/exports/extensions/erc721.js +3 -3
- package/dist/esm/exports/extensions/erc721.js.map +1 -1
- package/dist/esm/exports/utils.js +1 -0
- package/dist/esm/exports/utils.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +13 -15
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +21 -3
- package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/write/reveal.js +1 -20
- package/dist/esm/extensions/erc721/lazyMinting/write/reveal.js.map +1 -1
- package/dist/esm/extensions/erc721/write/updateTokenURI.js +3 -0
- package/dist/esm/extensions/erc721/write/updateTokenURI.js.map +1 -1
- package/dist/esm/extensions/marketplace/offers/write/makeOffer.js +0 -1
- package/dist/esm/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
- package/dist/esm/extensions/modules/common/getOrDeployModule.js +2 -4
- package/dist/esm/extensions/modules/common/getOrDeployModule.js.map +1 -1
- package/dist/esm/extensions/modules/common/installPublishedModule.js +1 -1
- package/dist/esm/extensions/modules/common/installPublishedModule.js.map +1 -1
- package/dist/esm/extensions/modules/common/uninstallPublishedModule.js +1 -2
- package/dist/esm/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-erc1155.js +0 -1
- package/dist/esm/extensions/prebuilts/deploy-erc1155.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-erc20.js +0 -1
- package/dist/esm/extensions/prebuilts/deploy-erc20.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-erc721.js +0 -1
- package/dist/esm/extensions/prebuilts/deploy-erc721.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-marketplace.js +5 -7
- package/dist/esm/extensions/prebuilts/deploy-marketplace.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-modular.js +33 -28
- package/dist/esm/extensions/prebuilts/deploy-modular.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-published.js +121 -35
- package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-split.js +0 -1
- package/dist/esm/extensions/prebuilts/deploy-split.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-vote.js +0 -1
- package/dist/esm/extensions/prebuilts/deploy-vote.js.map +1 -1
- package/dist/esm/extensions/prebuilts/get-required-transactions.js +63 -0
- package/dist/esm/extensions/prebuilts/get-required-transactions.js.map +1 -0
- package/dist/esm/react/core/hooks/others/useProfiles.js +1 -1
- package/dist/esm/react/core/social/useSocialProfiles.js +2 -0
- package/dist/esm/react/core/social/useSocialProfiles.js.map +1 -1
- package/dist/esm/react/core/utils/walletIcon.js +4 -0
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
- package/dist/esm/react/native/ui/components/Address.js +1 -3
- package/dist/esm/react/native/ui/components/Address.js.map +1 -1
- package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
- package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
- package/dist/esm/react/native/ui/icons/svgs.js +1 -0
- package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +7 -0
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +20 -0
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js +1 -0
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/esm/social/profiles.js +2 -1
- package/dist/esm/social/profiles.js.map +1 -1
- package/dist/esm/utils/abi/normalizeFunctionParams.js +21 -0
- package/dist/esm/utils/abi/normalizeFunctionParams.js.map +1 -0
- package/dist/esm/utils/any-evm/compute-published-contract-address.js +15 -7
- package/dist/esm/utils/any-evm/compute-published-contract-address.js.map +1 -1
- package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js +16 -5
- package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
- package/dist/esm/utils/any-evm/deploy-metadata.js +0 -19
- package/dist/esm/utils/any-evm/deploy-metadata.js.map +1 -1
- package/dist/esm/utils/caching/lru.js +15 -14
- package/dist/esm/utils/caching/lru.js.map +1 -1
- package/dist/esm/utils/domains.js +1 -1
- package/dist/esm/utils/domains.js.map +1 -1
- package/dist/esm/utils/ipfs.js +2 -0
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/types.js +1 -0
- package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
- package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +2 -0
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +2 -0
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +2 -0
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/types.js +1 -0
- package/dist/esm/wallets/types.js.map +1 -1
- package/dist/types/analytics/track.d.ts +15 -0
- package/dist/types/analytics/track.d.ts.map +1 -1
- package/dist/types/contract/actions/compiler-metadata.d.ts +2 -2
- package/dist/types/contract/actions/compiler-metadata.d.ts.map +1 -1
- package/dist/types/contract/actions/get-compiler-metadata.d.ts +1 -1
- package/dist/types/contract/actions/get-compiler-metadata.d.ts.map +1 -1
- package/dist/types/contract/deployment/deploy-deterministic.d.ts +12 -1
- package/dist/types/contract/deployment/deploy-deterministic.d.ts.map +1 -1
- package/dist/types/contract/deployment/deploy-via-autofactory.d.ts.map +1 -1
- package/dist/types/contract/deployment/deploy-with-abi.d.ts +33 -10
- package/dist/types/contract/deployment/deploy-with-abi.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/bootstrap.d.ts +8 -3
- package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/clone-factory.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/infra.d.ts +24 -1
- package/dist/types/contract/deployment/utils/infra.d.ts.map +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts +2 -1
- package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts.map +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts.map +1 -1
- package/dist/types/contract/verification/source-files.d.ts +2 -2
- package/dist/types/contract/verification/source-files.d.ts.map +1 -1
- package/dist/types/exports/contract.d.ts +1 -0
- package/dist/types/exports/contract.d.ts.map +1 -1
- package/dist/types/exports/deploys.d.ts +4 -2
- package/dist/types/exports/deploys.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc721.d.ts +3 -3
- package/dist/types/exports/extensions/erc721.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +1 -0
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts +12 -0
- package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/write/reveal.d.ts +1 -0
- package/dist/types/extensions/erc721/lazyMinting/write/reveal.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/updateTokenURI.d.ts +3 -0
- package/dist/types/extensions/erc721/write/updateTokenURI.d.ts.map +1 -1
- package/dist/types/extensions/marketplace/offers/write/makeOffer.d.ts.map +1 -1
- package/dist/types/extensions/modules/common/getOrDeployModule.d.ts +0 -2
- package/dist/types/extensions/modules/common/getOrDeployModule.d.ts.map +1 -1
- package/dist/types/extensions/modules/common/installPublishedModule.d.ts +1 -1
- package/dist/types/extensions/modules/common/installPublishedModule.d.ts.map +1 -1
- package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts +0 -1
- package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-erc1155.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-erc20.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-erc721.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-marketplace.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-modular.d.ts +1 -0
- package/dist/types/extensions/prebuilts/deploy-modular.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-published.d.ts +50 -3
- package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-split.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-vote.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/get-required-transactions.d.ts +26 -0
- package/dist/types/extensions/prebuilts/get-required-transactions.d.ts.map +1 -0
- package/dist/types/react/core/hooks/others/useProfiles.d.ts +1 -1
- package/dist/types/react/core/social/useSocialProfiles.d.ts +2 -0
- package/dist/types/react/core/social/useSocialProfiles.d.ts.map +1 -1
- package/dist/types/react/core/utils/storage.d.ts +1 -1
- package/dist/types/react/core/utils/storage.d.ts.map +1 -1
- package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
- package/dist/types/react/native/ui/components/Address.d.ts.map +1 -1
- package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
- package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
- package/dist/types/react/native/ui/icons/svgs.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/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.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/fiat/FiatFlow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
- package/dist/types/social/profiles.d.ts +2 -1
- package/dist/types/social/profiles.d.ts.map +1 -1
- package/dist/types/utils/abi/normalizeFunctionParams.d.ts +3 -0
- package/dist/types/utils/abi/normalizeFunctionParams.d.ts.map +1 -0
- package/dist/types/utils/any-evm/compute-published-contract-address.d.ts +2 -6
- package/dist/types/utils/any-evm/compute-published-contract-address.d.ts.map +1 -1
- package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts +17 -2
- package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts.map +1 -1
- package/dist/types/utils/any-evm/deploy-metadata.d.ts +3 -6
- package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
- package/dist/types/utils/caching/lru.d.ts +4 -13
- package/dist/types/utils/caching/lru.d.ts.map +1 -1
- package/dist/types/utils/ipfs.d.ts +1 -1
- package/dist/types/utils/ipfs.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/in-app/core/authentication/types.d.ts +1 -0
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/eip5972/in-app-wallet-calls.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +2 -0
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/types.d.ts +2 -2
- package/dist/types/wallets/types.d.ts.map +1 -1
- package/package.json +17 -22
- package/src/analytics/track.ts +29 -0
- package/src/chains/chain-definitions/polygon.ts +1 -1
- package/src/contract/actions/compiler-metadata.ts +2 -2
- package/src/contract/deployment/deploy-deterministic.test.ts +16 -5
- package/src/contract/deployment/deploy-deterministic.ts +35 -2
- package/src/contract/deployment/deploy-via-autofactory.test.ts +0 -2
- package/src/contract/deployment/deploy-via-autofactory.ts +3 -0
- package/src/contract/deployment/deploy-with-abi.ts +63 -24
- package/src/contract/deployment/publisher.test.ts +2 -2
- package/src/contract/deployment/utils/bootstrap.test.ts +3 -2
- package/src/contract/deployment/utils/bootstrap.ts +36 -12
- package/src/contract/deployment/utils/clone-factory.ts +1 -2
- package/src/contract/deployment/utils/infra.ts +61 -5
- package/src/contract/deployment/zksync/zkDeployContract.ts +13 -2
- package/src/contract/deployment/zksync/zkDeployDeterministic.ts +4 -3
- package/src/contract/deployment/zksync/zkDeployProxy.ts +5 -4
- package/src/contract/verification/source-files.ts +2 -2
- package/src/exports/contract.ts +6 -0
- package/src/exports/deploys.ts +14 -5
- package/src/exports/extensions/erc721.ts +3 -1
- package/src/exports/utils.ts +2 -0
- package/src/extensions/airdrop/write/airdropERC1155WithSignature.test.ts +4 -1
- package/src/extensions/airdrop/write/airdropERC20WithSignature.test.ts +4 -1
- package/src/extensions/airdrop/write/airdropERC721WithSignature.test.ts +4 -1
- package/src/extensions/airdrop/write/claimERC1155.test.ts +4 -1
- package/src/extensions/airdrop/write/claimERC20.test.ts +4 -1
- package/src/extensions/airdrop/write/claimERC721.test.ts +4 -1
- package/src/extensions/erc1155/write/updateTokenURI.test.ts +54 -0
- package/src/extensions/erc20/write/getApprovalForTransaction.test.ts +112 -0
- package/src/extensions/erc20/write/transferFrom.test.ts +104 -0
- package/src/extensions/erc4337/account/permissions.test.ts +4 -1
- package/src/extensions/erc721/drops/write/updateMetadata.test.ts +29 -0
- package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +15 -15
- package/src/extensions/erc721/lazyMinting/write/createAndReveal.test.ts +84 -0
- package/src/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.ts +33 -3
- package/src/extensions/erc721/lazyMinting/write/reveal.test.ts +1 -45
- package/src/extensions/erc721/lazyMinting/write/reveal.ts +2 -23
- package/src/extensions/erc721/write/updateTokenURI.test.ts +56 -0
- package/src/extensions/erc721/write/updateTokenURI.ts +3 -0
- package/src/extensions/marketplace/offers/offers.test.ts +0 -1
- package/src/extensions/marketplace/offers/write/makeOffer.ts +0 -1
- package/src/extensions/modules/common/getOrDeployModule.ts +2 -7
- package/src/extensions/modules/common/installPublishedModule.ts +2 -2
- package/src/extensions/modules/common/uninstallPublishedModule.ts +1 -9
- package/src/extensions/prebuilts/deploy-erc1155.ts +0 -1
- package/src/extensions/prebuilts/deploy-erc20.ts +0 -1
- package/src/extensions/prebuilts/deploy-erc721.ts +0 -1
- package/src/extensions/prebuilts/deploy-marketplace.ts +6 -8
- package/src/extensions/prebuilts/deploy-modular-core.test.ts +63 -2
- package/src/extensions/prebuilts/deploy-modular.ts +50 -38
- package/src/extensions/prebuilts/deploy-published.test.ts +61 -4
- package/src/extensions/prebuilts/deploy-published.ts +208 -55
- package/src/extensions/prebuilts/deploy-split.ts +0 -1
- package/src/extensions/prebuilts/deploy-vote.ts +0 -1
- package/src/extensions/prebuilts/get-required-transactions.test.ts +61 -0
- package/src/extensions/prebuilts/get-required-transactions.ts +110 -0
- package/src/react/core/hooks/others/useProfiles.ts +1 -1
- package/src/react/core/social/useSocialProfiles.ts +2 -0
- package/src/react/core/utils/walletIcon.ts +5 -0
- package/src/react/native/ui/components/Address.tsx +1 -3
- package/src/react/native/ui/components/WalletImage.tsx +3 -0
- package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
- package/src/react/native/ui/icons/svgs.ts +2 -0
- package/src/react/web/ui/ConnectWallet/Details.tsx +7 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +31 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +7 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +7 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +7 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +53 -0
- package/src/react/web/ui/TransactionButton/TransactionModal.tsx +21 -0
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -0
- package/src/react/web/wallets/shared/oauthSignIn.ts +1 -0
- package/src/social/profiles.ts +2 -1
- package/src/transaction/actions/zksync/send-eip712-transaction.test.ts +13 -13
- package/src/utils/abi/normalizeFunctionParams.ts +29 -0
- package/src/utils/any-evm/compute-published-contract-address.ts +17 -12
- package/src/utils/any-evm/compute-published-contract-deploy-info.ts +31 -12
- package/src/utils/any-evm/deploy-metadata.ts +9 -34
- package/src/utils/bytecode/resolveImplementation.test.ts +7 -5
- package/src/utils/caching/lru.test.ts +38 -0
- package/src/utils/caching/lru.ts +18 -14
- package/src/utils/domains.ts +1 -1
- package/src/utils/ipfs.ts +3 -1
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/authentication/types.ts +1 -0
- package/src/wallets/in-app/core/eip5972/in-app-wallet-calls.ts +3 -14
- package/src/wallets/in-app/native/native-connector.ts +2 -0
- package/src/wallets/in-app/web/in-app.ts +2 -0
- package/src/wallets/in-app/web/lib/web-connector.ts +2 -0
- package/src/wallets/types.ts +1 -0
@@ -49,23 +49,23 @@ export async function getBatchesToReveal(
|
|
49
49
|
const countRangeArray = Array.from(Array(Number(count)).keys());
|
50
50
|
const uriIndices = await Promise.all(
|
51
51
|
countRangeArray.map(async (batchId) => {
|
52
|
-
|
53
|
-
|
52
|
+
const promiseAll = await Promise.allSettled([
|
53
|
+
GetBatchIdAtIndex.getBatchIdAtIndex({
|
54
54
|
contract: options.contract,
|
55
55
|
index: BigInt(batchId),
|
56
|
-
})
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
}
|
56
|
+
}),
|
57
|
+
BaseURIIndicies.baseURIIndices({
|
58
|
+
contract: options.contract,
|
59
|
+
index: BigInt(batchId),
|
60
|
+
}),
|
61
|
+
]);
|
62
|
+
const result = promiseAll.find((result) => result.status === "fulfilled");
|
63
|
+
if (!result) {
|
64
|
+
throw new Error(
|
65
|
+
"Contract does not have `getBatchIdAtIndex` or `baseURIIndices`, which are required for `getBatchesToReveal`",
|
66
|
+
);
|
68
67
|
}
|
68
|
+
return result.value;
|
69
69
|
}),
|
70
70
|
);
|
71
71
|
|
@@ -131,7 +131,7 @@ export async function getBatchesToReveal(
|
|
131
131
|
* const supported = isGetBatchesToRevealSupported(["0x..."]);
|
132
132
|
* ```
|
133
133
|
*/
|
134
|
-
export function
|
134
|
+
export function isGetBatchesToRevealSupported(availableSelectors: string[]) {
|
135
135
|
return [
|
136
136
|
GetBaseURICount.isGetBaseURICountSupported(availableSelectors),
|
137
137
|
GetBatchIdAtIndex.isGetBatchIdAtIndexSupported(availableSelectors),
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import { beforeAll, describe, it } from "vitest";
|
2
|
+
import { expect } from "vitest";
|
3
|
+
import { ANVIL_CHAIN } from "../../../../../test/src/chains.js";
|
4
|
+
import { TEST_CLIENT } from "../../../../../test/src/test-clients.js";
|
5
|
+
import { TEST_ACCOUNT_A } from "../../../../../test/src/test-wallets.js";
|
6
|
+
import {
|
7
|
+
type ThirdwebContract,
|
8
|
+
getContract,
|
9
|
+
} from "../../../../contract/contract.js";
|
10
|
+
import { sendAndConfirmTransaction } from "../../../../transaction/actions/send-and-confirm-transaction.js";
|
11
|
+
import { deployERC721Contract } from "../../../prebuilts/deploy-erc721.js";
|
12
|
+
import { getNFT } from "../../read/getNFT.js";
|
13
|
+
import { createDelayedRevealBatch } from "./createDelayedRevealBatch.js";
|
14
|
+
import { reveal } from "./reveal.js";
|
15
|
+
|
16
|
+
const placeholderNFT = {
|
17
|
+
name: "Hidden NFT",
|
18
|
+
description: "Will be revealed next week!",
|
19
|
+
};
|
20
|
+
|
21
|
+
const realNFTs = [
|
22
|
+
{
|
23
|
+
name: "Common NFT #1",
|
24
|
+
description: "Common NFT, one of many.",
|
25
|
+
},
|
26
|
+
{
|
27
|
+
name: "Super Rare NFT #2",
|
28
|
+
description: "You got a Super Rare NFT!",
|
29
|
+
},
|
30
|
+
];
|
31
|
+
|
32
|
+
describe("createAndReveal", () => {
|
33
|
+
let contract: ThirdwebContract;
|
34
|
+
beforeAll(async () => {
|
35
|
+
const address = await deployERC721Contract({
|
36
|
+
client: TEST_CLIENT,
|
37
|
+
chain: ANVIL_CHAIN,
|
38
|
+
account: TEST_ACCOUNT_A,
|
39
|
+
type: "DropERC721",
|
40
|
+
params: {
|
41
|
+
name: "Test NFT",
|
42
|
+
description: "Test NFT Description",
|
43
|
+
contractURI: "",
|
44
|
+
},
|
45
|
+
});
|
46
|
+
contract = getContract({
|
47
|
+
chain: ANVIL_CHAIN,
|
48
|
+
address,
|
49
|
+
client: TEST_CLIENT,
|
50
|
+
});
|
51
|
+
});
|
52
|
+
|
53
|
+
it("should create and reveal a batch", async () => {
|
54
|
+
const tx = createDelayedRevealBatch({
|
55
|
+
contract,
|
56
|
+
metadata: realNFTs,
|
57
|
+
password: "password",
|
58
|
+
placeholderMetadata: placeholderNFT,
|
59
|
+
});
|
60
|
+
await sendAndConfirmTransaction({
|
61
|
+
transaction: tx,
|
62
|
+
account: TEST_ACCOUNT_A,
|
63
|
+
});
|
64
|
+
const nft = await getNFT({
|
65
|
+
contract,
|
66
|
+
tokenId: 0n,
|
67
|
+
});
|
68
|
+
expect(nft.metadata.name).toBe(placeholderNFT.name);
|
69
|
+
const revealTx = reveal({
|
70
|
+
contract,
|
71
|
+
batchId: 0n,
|
72
|
+
password: "password",
|
73
|
+
});
|
74
|
+
await sendAndConfirmTransaction({
|
75
|
+
transaction: revealTx,
|
76
|
+
account: TEST_ACCOUNT_A,
|
77
|
+
});
|
78
|
+
const nftAfterReveal = await getNFT({
|
79
|
+
contract,
|
80
|
+
tokenId: 0n,
|
81
|
+
});
|
82
|
+
expect(nftAfterReveal.metadata.name).toBe(realNFTs[0]?.name);
|
83
|
+
});
|
84
|
+
});
|
@@ -6,9 +6,18 @@ import { toHex } from "../../../../utils/encoding/hex.js";
|
|
6
6
|
import { keccak256 } from "../../../../utils/hashing/keccak256.js";
|
7
7
|
import { getBaseUriFromBatch } from "../../../../utils/ipfs.js";
|
8
8
|
import type { NFTInput } from "../../../../utils/nft/parseNft.js";
|
9
|
-
import {
|
10
|
-
|
11
|
-
|
9
|
+
import {
|
10
|
+
getBaseURICount,
|
11
|
+
isGetBaseURICountSupported,
|
12
|
+
} from "../../__generated__/IBatchMintMetadata/read/getBaseURICount.js";
|
13
|
+
import {
|
14
|
+
encryptDecrypt,
|
15
|
+
isEncryptDecryptSupported,
|
16
|
+
} from "../../__generated__/IDelayedReveal/read/encryptDecrypt.js";
|
17
|
+
import {
|
18
|
+
lazyMint as generatedLazyMint,
|
19
|
+
isLazyMintSupported,
|
20
|
+
} from "../../__generated__/ILazyMint/write/lazyMint.js";
|
12
21
|
import { hashDelayedRevealPassword } from "../helpers/hashDelayedRevealBatch.js";
|
13
22
|
|
14
23
|
/**
|
@@ -123,3 +132,24 @@ export function createDelayedRevealBatch(
|
|
123
132
|
},
|
124
133
|
});
|
125
134
|
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Checks if the `createDelayedRevealBatch` method is supported by the given contract.
|
138
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
139
|
+
* @returns A boolean indicating if the `createDelayedRevealBatch` method is supported.
|
140
|
+
* @extension ERC721
|
141
|
+
* @example
|
142
|
+
* ```ts
|
143
|
+
* import { isCreateDelayedRevealBatchSupported } from "thirdweb/extensions/erc721";
|
144
|
+
* const supported = isCreateDelayedRevealBatchSupported(["0x..."]);
|
145
|
+
* ```
|
146
|
+
*/
|
147
|
+
export function isCreateDelayedRevealBatchSupported(
|
148
|
+
availableSelectors: string[],
|
149
|
+
) {
|
150
|
+
return [
|
151
|
+
isGetBaseURICountSupported(availableSelectors),
|
152
|
+
isEncryptDecryptSupported(availableSelectors),
|
153
|
+
isLazyMintSupported(availableSelectors),
|
154
|
+
].every(Boolean);
|
155
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { beforeAll, describe, expect, it
|
1
|
+
import { beforeAll, describe, expect, it } from "vitest";
|
2
2
|
import { ANVIL_CHAIN } from "../../../../../test/src/chains.js";
|
3
3
|
import { TEST_CLIENT } from "../../../../../test/src/test-clients.js";
|
4
4
|
import {
|
@@ -7,14 +7,6 @@ import {
|
|
7
7
|
} from "../../../../contract/contract.js";
|
8
8
|
import { reveal } from "./reveal.js";
|
9
9
|
|
10
|
-
const mocks = vi.hoisted(() => ({
|
11
|
-
simulateTransaction: vi.fn(),
|
12
|
-
}));
|
13
|
-
|
14
|
-
vi.mock("../../../../transaction/actions/simulate.js", () => ({
|
15
|
-
simulateTransaction: mocks.simulateTransaction,
|
16
|
-
}));
|
17
|
-
|
18
10
|
describe("reveal", () => {
|
19
11
|
let contract: ThirdwebContract;
|
20
12
|
beforeAll(() => {
|
@@ -34,40 +26,4 @@ describe("reveal", () => {
|
|
34
26
|
|
35
27
|
expect(() => reveal(options)).toThrowError("Password is required");
|
36
28
|
});
|
37
|
-
|
38
|
-
it("should successfully prepare a reveal transaction", async () => {
|
39
|
-
const options = {
|
40
|
-
contract,
|
41
|
-
batchId: 1n,
|
42
|
-
password: "securepassword",
|
43
|
-
};
|
44
|
-
|
45
|
-
mocks.simulateTransaction.mockResolvedValue(
|
46
|
-
"ipfs://correctly_decrypted_uri/",
|
47
|
-
);
|
48
|
-
|
49
|
-
const tx = reveal(options);
|
50
|
-
if (typeof tx.data === "function") {
|
51
|
-
await tx.data();
|
52
|
-
}
|
53
|
-
|
54
|
-
expect(mocks.simulateTransaction).toHaveBeenCalled();
|
55
|
-
});
|
56
|
-
|
57
|
-
it("should throw an error if the decrypted URI is invalid", async () => {
|
58
|
-
const options = {
|
59
|
-
contract,
|
60
|
-
batchId: 1n,
|
61
|
-
password: "securepassword",
|
62
|
-
};
|
63
|
-
|
64
|
-
mocks.simulateTransaction.mockResolvedValue("invalid_uri");
|
65
|
-
|
66
|
-
const tx = reveal(options);
|
67
|
-
if (typeof tx.data === "function") {
|
68
|
-
expect(tx.data()).rejects.toThrow("Invalid reveal password");
|
69
|
-
} else {
|
70
|
-
throw new Error("Something went wrong");
|
71
|
-
}
|
72
|
-
});
|
73
29
|
});
|
@@ -1,8 +1,9 @@
|
|
1
|
-
import { simulateTransaction } from "../../../../transaction/actions/simulate.js";
|
2
1
|
import type { BaseTransactionOptions } from "../../../../transaction/types.js";
|
3
2
|
import { reveal as generatedReveal } from "../../__generated__/IDelayedReveal/write/reveal.js";
|
4
3
|
import { hashDelayedRevealPassword } from "../helpers/hashDelayedRevealBatch.js";
|
5
4
|
|
5
|
+
export { isRevealSupported } from "../../__generated__/IDelayedReveal/write/reveal.js";
|
6
|
+
|
6
7
|
/**
|
7
8
|
* @extension ERC721
|
8
9
|
*/
|
@@ -44,28 +45,6 @@ export function reveal(options: BaseTransactionOptions<RevealParams>) {
|
|
44
45
|
options.password,
|
45
46
|
options.contract,
|
46
47
|
);
|
47
|
-
|
48
|
-
const transaction = generatedReveal({
|
49
|
-
contract: options.contract,
|
50
|
-
asyncParams: async () => ({
|
51
|
-
identifier: options.batchId,
|
52
|
-
key,
|
53
|
-
}),
|
54
|
-
});
|
55
|
-
|
56
|
-
let decryptedUri: string;
|
57
|
-
try {
|
58
|
-
decryptedUri = await simulateTransaction({
|
59
|
-
transaction,
|
60
|
-
});
|
61
|
-
} catch (error) {
|
62
|
-
throw new Error("Reveal failed", { cause: error });
|
63
|
-
}
|
64
|
-
|
65
|
-
if (!decryptedUri.includes("://") || decryptedUri.slice(-1) !== "/") {
|
66
|
-
throw new Error("Invalid reveal password");
|
67
|
-
}
|
68
|
-
|
69
48
|
return {
|
70
49
|
identifier: options.batchId,
|
71
50
|
key,
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
3
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
4
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
5
|
+
import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
|
6
|
+
import { getContract } from "../../../contract/contract.js";
|
7
|
+
import { deployERC721Contract } from "../../../extensions/prebuilts/deploy-erc721.js";
|
8
|
+
import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
|
9
|
+
import { getNFT } from "../read/getNFT.js";
|
10
|
+
import { mintTo } from "./mintTo.js";
|
11
|
+
import { updateTokenURI } from "./updateTokenURI.js";
|
12
|
+
|
13
|
+
const client = TEST_CLIENT;
|
14
|
+
const chain = ANVIL_CHAIN;
|
15
|
+
const account = TEST_ACCOUNT_A;
|
16
|
+
|
17
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
18
|
+
"NFTCollection: Update token uri",
|
19
|
+
() => {
|
20
|
+
it("should update token uri", async () => {
|
21
|
+
const address = await deployERC721Contract({
|
22
|
+
client,
|
23
|
+
chain,
|
24
|
+
account,
|
25
|
+
type: "TokenERC721",
|
26
|
+
params: {
|
27
|
+
name: "NFT collection",
|
28
|
+
contractURI: TEST_CONTRACT_URI,
|
29
|
+
},
|
30
|
+
});
|
31
|
+
const contract = getContract({
|
32
|
+
address,
|
33
|
+
client,
|
34
|
+
chain,
|
35
|
+
});
|
36
|
+
await sendAndConfirmTransaction({
|
37
|
+
transaction: mintTo({
|
38
|
+
contract,
|
39
|
+
nft: { name: "Test1" },
|
40
|
+
to: account.address,
|
41
|
+
}),
|
42
|
+
account,
|
43
|
+
});
|
44
|
+
await sendAndConfirmTransaction({
|
45
|
+
transaction: updateTokenURI({
|
46
|
+
contract,
|
47
|
+
newMetadata: { name: "Test1 Updated" },
|
48
|
+
tokenId: 0n,
|
49
|
+
}),
|
50
|
+
account,
|
51
|
+
});
|
52
|
+
const nft = await getNFT({ contract, tokenId: 0n });
|
53
|
+
expect(nft.metadata.name).toBe("Test1 Updated");
|
54
|
+
});
|
55
|
+
},
|
56
|
+
);
|
@@ -103,7 +103,6 @@ export function makeOffer(options: BaseTransactionOptions<MakeOfferParams>) {
|
|
103
103
|
const WETH9 = await getDeployedInfraContract({
|
104
104
|
chain: options.contract.chain,
|
105
105
|
client: options.contract.client,
|
106
|
-
constructorParams: [],
|
107
106
|
contractId: "WETH9",
|
108
107
|
});
|
109
108
|
|
@@ -10,17 +10,14 @@ export const getOrDeployModule = async (options: {
|
|
10
10
|
account: Account;
|
11
11
|
contractId: string;
|
12
12
|
publisher?: string;
|
13
|
-
constructorParams?: unknown[];
|
14
13
|
}) => {
|
15
|
-
const { client, chain, account, contractId, publisher
|
16
|
-
options;
|
14
|
+
const { client, chain, account, contractId, publisher } = options;
|
17
15
|
const contract = await getOrDeployInfraContract({
|
18
16
|
client,
|
19
17
|
chain,
|
20
18
|
account,
|
21
19
|
contractId,
|
22
20
|
publisher,
|
23
|
-
constructorParams: constructorParams ?? [],
|
24
21
|
});
|
25
22
|
return contract;
|
26
23
|
};
|
@@ -30,14 +27,12 @@ export const getDeployedModule = (options: {
|
|
30
27
|
chain: Chain;
|
31
28
|
contractId: string;
|
32
29
|
publisher?: string;
|
33
|
-
constructorParams?: unknown[];
|
34
30
|
}) => {
|
35
|
-
const { client, chain, contractId, publisher
|
31
|
+
const { client, chain, contractId, publisher } = options;
|
36
32
|
return getDeployedInfraContract({
|
37
33
|
client,
|
38
34
|
chain,
|
39
35
|
contractId,
|
40
36
|
publisher,
|
41
|
-
constructorParams: constructorParams ?? [],
|
42
37
|
});
|
43
38
|
};
|
@@ -12,7 +12,7 @@ export type InstallPublishedModuleOptions = {
|
|
12
12
|
moduleName: string;
|
13
13
|
publisher?: string;
|
14
14
|
version?: string;
|
15
|
-
constructorParams?: unknown
|
15
|
+
constructorParams?: Record<string, unknown>;
|
16
16
|
moduleData?: `0x${string}`;
|
17
17
|
};
|
18
18
|
|
@@ -53,7 +53,7 @@ export function installPublishedModule(options: InstallPublishedModuleOptions) {
|
|
53
53
|
client: contract.client,
|
54
54
|
account,
|
55
55
|
contractId: moduleName,
|
56
|
-
constructorParams
|
56
|
+
constructorParams,
|
57
57
|
publisher,
|
58
58
|
});
|
59
59
|
return {
|
@@ -10,7 +10,6 @@ export type UninstallPublishedModuleOptions = {
|
|
10
10
|
moduleName: string;
|
11
11
|
publisherAddress?: string;
|
12
12
|
version?: string;
|
13
|
-
constructorParams?: unknown[];
|
14
13
|
moduleData?: `0x${string}`;
|
15
14
|
};
|
16
15
|
|
@@ -35,13 +34,7 @@ export type UninstallPublishedModuleOptions = {
|
|
35
34
|
export function uninstallPublishedModule(
|
36
35
|
options: UninstallPublishedModuleOptions,
|
37
36
|
) {
|
38
|
-
const {
|
39
|
-
contract,
|
40
|
-
moduleName,
|
41
|
-
publisherAddress,
|
42
|
-
constructorParams,
|
43
|
-
moduleData,
|
44
|
-
} = options;
|
37
|
+
const { contract, moduleName, publisherAddress, moduleData } = options;
|
45
38
|
|
46
39
|
return uninstallModule({
|
47
40
|
contract,
|
@@ -50,7 +43,6 @@ export function uninstallPublishedModule(
|
|
50
43
|
chain: contract.chain,
|
51
44
|
client: contract.client,
|
52
45
|
contractId: moduleName,
|
53
|
-
constructorParams: constructorParams || [],
|
54
46
|
publisher: publisherAddress,
|
55
47
|
});
|
56
48
|
return {
|
@@ -51,14 +51,13 @@ export async function deployMarketplaceContract(
|
|
51
51
|
client,
|
52
52
|
account,
|
53
53
|
contractId: "WETH9",
|
54
|
-
constructorParams: [],
|
55
54
|
});
|
56
55
|
const direct = await getOrDeployInfraForPublishedContract({
|
57
56
|
chain,
|
58
57
|
client,
|
59
58
|
account,
|
60
59
|
contractId: "DirectListingsLogic",
|
61
|
-
constructorParams:
|
60
|
+
constructorParams: { _nativeTokenWrapper: WETH.address },
|
62
61
|
});
|
63
62
|
|
64
63
|
const english = await getOrDeployInfraForPublishedContract({
|
@@ -66,7 +65,7 @@ export async function deployMarketplaceContract(
|
|
66
65
|
client,
|
67
66
|
account,
|
68
67
|
contractId: "EnglishAuctionsLogic",
|
69
|
-
constructorParams:
|
68
|
+
constructorParams: { _nativeTokenWrapper: WETH.address },
|
70
69
|
});
|
71
70
|
|
72
71
|
const offers = await getOrDeployInfraForPublishedContract({
|
@@ -74,7 +73,6 @@ export async function deployMarketplaceContract(
|
|
74
73
|
client,
|
75
74
|
account,
|
76
75
|
contractId: "OffersLogic",
|
77
|
-
constructorParams: [],
|
78
76
|
});
|
79
77
|
|
80
78
|
const [directFunctions, englishFunctions, offersFunctions] =
|
@@ -96,8 +94,8 @@ export async function deployMarketplaceContract(
|
|
96
94
|
client,
|
97
95
|
account,
|
98
96
|
contractId: "MarketplaceV3",
|
99
|
-
constructorParams:
|
100
|
-
{
|
97
|
+
constructorParams: {
|
98
|
+
_marketplaceV3Params: {
|
101
99
|
extensions: [
|
102
100
|
{
|
103
101
|
metadata: {
|
@@ -126,8 +124,8 @@ export async function deployMarketplaceContract(
|
|
126
124
|
],
|
127
125
|
royaltyEngineAddress: getRoyaltyEngineV1ByChainId(chain.id),
|
128
126
|
nativeTokenWrapper: WETH.address,
|
129
|
-
},
|
130
|
-
|
127
|
+
} as MarketplaceConstructorParams[number],
|
128
|
+
},
|
131
129
|
});
|
132
130
|
|
133
131
|
const initializeTransaction = await getInitializeTransaction({
|
@@ -4,6 +4,7 @@ import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
|
4
4
|
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
5
5
|
import { ZERO_ADDRESS } from "../../constants/addresses.js";
|
6
6
|
import { getContract } from "../../contract/contract.js";
|
7
|
+
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
7
8
|
import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
|
8
9
|
import * as ERC20Claimable from "../modules/ClaimableERC20/index.js";
|
9
10
|
import { getInstalledModules } from "../modules/__generated__/IModularCore/read/getInstalledModules.js";
|
@@ -11,7 +12,10 @@ import { installPublishedModule } from "../modules/common/installPublishedModule
|
|
11
12
|
import { uninstallModuleByProxy } from "../modules/common/uninstallModuleByProxy.js";
|
12
13
|
import { uninstallPublishedModule } from "../modules/common/uninstallPublishedModule.js";
|
13
14
|
import { deployModularContract } from "./deploy-modular.js";
|
14
|
-
import {
|
15
|
+
import {
|
16
|
+
deployContractfromDeployMetadata,
|
17
|
+
deployPublishedContract,
|
18
|
+
} from "./deploy-published.js";
|
15
19
|
|
16
20
|
describe.runIf(process.env.TW_SECRET_KEY)(
|
17
21
|
"deployModularCore",
|
@@ -27,7 +31,9 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
27
31
|
chain: ANVIL_CHAIN,
|
28
32
|
account: TEST_ACCOUNT_A,
|
29
33
|
contractId: "DemoCore",
|
30
|
-
contractParams:
|
34
|
+
contractParams: {
|
35
|
+
_owner: TEST_ACCOUNT_A.address,
|
36
|
+
},
|
31
37
|
publisher: "0xFD78F7E2dF2B8c3D5bff0413c96f3237500898B3",
|
32
38
|
});
|
33
39
|
}, 120000);
|
@@ -161,5 +167,60 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
161
167
|
});
|
162
168
|
expect(installedModules.length).toBe(1);
|
163
169
|
});
|
170
|
+
|
171
|
+
it("should deploy a modular contract with dynamic modules", async () => {
|
172
|
+
const modules = await Promise.all([
|
173
|
+
fetchPublishedContractMetadata({
|
174
|
+
client: TEST_CLIENT,
|
175
|
+
contractId: "ClaimableERC721",
|
176
|
+
}).then((m) => ({
|
177
|
+
deployMetadata: m,
|
178
|
+
initializeParams: {
|
179
|
+
primarySaleRecipient: TEST_ACCOUNT_A.address,
|
180
|
+
},
|
181
|
+
})),
|
182
|
+
fetchPublishedContractMetadata({
|
183
|
+
client: TEST_CLIENT,
|
184
|
+
contractId: "BatchMetadataERC721",
|
185
|
+
}).then((m) => ({
|
186
|
+
deployMetadata: m,
|
187
|
+
})),
|
188
|
+
fetchPublishedContractMetadata({
|
189
|
+
client: TEST_CLIENT,
|
190
|
+
contractId: "RoyaltyERC721",
|
191
|
+
}).then((m) => ({
|
192
|
+
deployMetadata: m,
|
193
|
+
initializeParams: {
|
194
|
+
royaltyRecipient: TEST_ACCOUNT_A.address,
|
195
|
+
royaltyBps: 10000,
|
196
|
+
transferValidator: ZERO_ADDRESS,
|
197
|
+
},
|
198
|
+
})),
|
199
|
+
]);
|
200
|
+
const address = await deployContractfromDeployMetadata({
|
201
|
+
chain: ANVIL_CHAIN,
|
202
|
+
client: TEST_CLIENT,
|
203
|
+
account: TEST_ACCOUNT_A,
|
204
|
+
deployMetadata: await fetchPublishedContractMetadata({
|
205
|
+
client: TEST_CLIENT,
|
206
|
+
contractId: "ERC721CoreInitializable",
|
207
|
+
}),
|
208
|
+
initializeParams: {
|
209
|
+
owner: TEST_ACCOUNT_A.address,
|
210
|
+
name: "TestModularDynamic",
|
211
|
+
symbol: "TT",
|
212
|
+
contractURI: "",
|
213
|
+
},
|
214
|
+
modules,
|
215
|
+
});
|
216
|
+
const installedModules = await getInstalledModules({
|
217
|
+
contract: getContract({
|
218
|
+
client: TEST_CLIENT,
|
219
|
+
chain: ANVIL_CHAIN,
|
220
|
+
address,
|
221
|
+
}),
|
222
|
+
});
|
223
|
+
expect(installedModules.length).toBe(3);
|
224
|
+
});
|
164
225
|
},
|
165
226
|
);
|