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
@@ -0,0 +1,61 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { CLEAN_ANVIL_CHAIN } from "../../../test/src/chains.js";
|
3
|
+
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
4
|
+
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
5
|
+
import { getRequiredTransactionCount } from "./get-required-transactions.js";
|
6
|
+
|
7
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
8
|
+
"getRequiredTransactions",
|
9
|
+
{
|
10
|
+
timeout: 120000,
|
11
|
+
},
|
12
|
+
() => {
|
13
|
+
it("should count transactions for a published direct deploy contract", async () => {
|
14
|
+
const metadata = await fetchPublishedContractMetadata({
|
15
|
+
client: TEST_CLIENT,
|
16
|
+
contractId: "AccountFactory",
|
17
|
+
});
|
18
|
+
const results = await getRequiredTransactionCount({
|
19
|
+
client: TEST_CLIENT,
|
20
|
+
chain: CLEAN_ANVIL_CHAIN,
|
21
|
+
metadata,
|
22
|
+
});
|
23
|
+
expect(results.length).toBe(1);
|
24
|
+
});
|
25
|
+
|
26
|
+
it("should count transactions for a published autofactory contract", async () => {
|
27
|
+
const metadata = await fetchPublishedContractMetadata({
|
28
|
+
client: TEST_CLIENT,
|
29
|
+
contractId: "Airdrop",
|
30
|
+
});
|
31
|
+
const results = await getRequiredTransactionCount({
|
32
|
+
client: TEST_CLIENT,
|
33
|
+
chain: CLEAN_ANVIL_CHAIN,
|
34
|
+
metadata,
|
35
|
+
});
|
36
|
+
expect(results.length).toBe(4);
|
37
|
+
});
|
38
|
+
|
39
|
+
it("should count transactions for a modular contract with modules", async () => {
|
40
|
+
const metadata = await fetchPublishedContractMetadata({
|
41
|
+
client: TEST_CLIENT,
|
42
|
+
contractId: "ERC721CoreInitializable",
|
43
|
+
});
|
44
|
+
const results = await getRequiredTransactionCount({
|
45
|
+
client: TEST_CLIENT,
|
46
|
+
chain: CLEAN_ANVIL_CHAIN,
|
47
|
+
metadata,
|
48
|
+
modules: await Promise.all(
|
49
|
+
["ClaimableERC721", "BatchMetadataERC721", "RoyaltyERC721"].map(
|
50
|
+
(contractId) =>
|
51
|
+
fetchPublishedContractMetadata({
|
52
|
+
client: TEST_CLIENT,
|
53
|
+
contractId,
|
54
|
+
}),
|
55
|
+
),
|
56
|
+
),
|
57
|
+
});
|
58
|
+
expect(results.length).toBe(7);
|
59
|
+
});
|
60
|
+
},
|
61
|
+
);
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import type { Chain } from "../../chains/types.js";
|
2
|
+
import type { ThirdwebClient } from "../../client/client.js";
|
3
|
+
import { getDeployedCreate2Factory } from "../../contract/deployment/utils/create-2-factory.js";
|
4
|
+
import { getDeployedInfraContract } from "../../contract/deployment/utils/infra.js";
|
5
|
+
import { getDeployedInfraContractFromMetadata } from "../../contract/deployment/utils/infra.js";
|
6
|
+
import { computePublishedContractAddress } from "../../utils/any-evm/compute-published-contract-address.js";
|
7
|
+
import type { FetchDeployMetadataResult } from "../../utils/any-evm/deploy-metadata.js";
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export type DeployTransactionType =
|
13
|
+
| "infra"
|
14
|
+
| "implementation"
|
15
|
+
| "module"
|
16
|
+
| "proxy";
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @internal
|
20
|
+
*/
|
21
|
+
export type DeployTransactionResult = {
|
22
|
+
type: DeployTransactionType;
|
23
|
+
contractId: string;
|
24
|
+
};
|
25
|
+
|
26
|
+
/**
|
27
|
+
* @internal
|
28
|
+
*/
|
29
|
+
export async function getRequiredTransactionCount(options: {
|
30
|
+
chain: Chain;
|
31
|
+
client: ThirdwebClient;
|
32
|
+
metadata: FetchDeployMetadataResult;
|
33
|
+
constructorParams?: Record<string, unknown>;
|
34
|
+
implementationConstructorParams?: Record<string, unknown>;
|
35
|
+
modules?: FetchDeployMetadataResult[];
|
36
|
+
}): Promise<DeployTransactionResult[]> {
|
37
|
+
const {
|
38
|
+
chain,
|
39
|
+
client,
|
40
|
+
metadata,
|
41
|
+
implementationConstructorParams,
|
42
|
+
modules = [],
|
43
|
+
} = options;
|
44
|
+
|
45
|
+
if (metadata?.deployType === "autoFactory") {
|
46
|
+
const results: (DeployTransactionResult | null)[] = await Promise.all([
|
47
|
+
getDeployedCreate2Factory({
|
48
|
+
chain,
|
49
|
+
client,
|
50
|
+
}).then((c) =>
|
51
|
+
c ? null : ({ type: "infra", contractId: "Create2Factory" } as const),
|
52
|
+
),
|
53
|
+
getDeployedInfraContract({
|
54
|
+
chain,
|
55
|
+
client,
|
56
|
+
contractId: "Forwarder",
|
57
|
+
}).then((c) =>
|
58
|
+
c ? null : ({ type: "infra", contractId: "Forwarder" } as const),
|
59
|
+
),
|
60
|
+
getDeployedInfraContract({
|
61
|
+
chain,
|
62
|
+
client,
|
63
|
+
contractId: "TWCloneFactory",
|
64
|
+
constructorParams: {
|
65
|
+
_trustedForwarder: await computePublishedContractAddress({
|
66
|
+
chain,
|
67
|
+
client,
|
68
|
+
contractId: "Forwarder",
|
69
|
+
}),
|
70
|
+
},
|
71
|
+
}).then((c) =>
|
72
|
+
c ? null : ({ type: "infra", contractId: "TWCloneFactory" } as const),
|
73
|
+
),
|
74
|
+
// TODO (deploy): add WETH contract check for implementations that need it (check implementation constructor params)
|
75
|
+
getDeployedInfraContract({
|
76
|
+
chain,
|
77
|
+
client,
|
78
|
+
contractId: metadata.name,
|
79
|
+
constructorParams: implementationConstructorParams,
|
80
|
+
publisher: metadata.publisher,
|
81
|
+
version: metadata.version,
|
82
|
+
}).then((c) =>
|
83
|
+
c
|
84
|
+
? null
|
85
|
+
: ({
|
86
|
+
type: "implementation",
|
87
|
+
contractId: metadata.name,
|
88
|
+
} as const),
|
89
|
+
),
|
90
|
+
...modules.map((m) =>
|
91
|
+
getDeployedInfraContractFromMetadata({
|
92
|
+
chain,
|
93
|
+
client,
|
94
|
+
contractMetadata: m,
|
95
|
+
}).then((c) =>
|
96
|
+
c
|
97
|
+
? null
|
98
|
+
: ({
|
99
|
+
type: "module",
|
100
|
+
contractId: m.name,
|
101
|
+
} as const),
|
102
|
+
),
|
103
|
+
),
|
104
|
+
]);
|
105
|
+
results.push({ type: "proxy", contractId: metadata.name });
|
106
|
+
return results.filter((r) => r !== null);
|
107
|
+
}
|
108
|
+
|
109
|
+
return [{ type: "implementation", contractId: metadata.name }];
|
110
|
+
}
|
@@ -19,6 +19,8 @@ export const twitchIconUri =
|
|
19
19
|
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmlld0JveD0iMCAwIDExMS43ODY2NyAxMjcuMzg2NjciCiAgIGhlaWdodD0iMTI3LjM4NjY3IgogICB3aWR0aD0iMTExLjc4NjY3IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzU1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJUd2l0Y2hfbG9nby5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMS4xICgzYmY1YWUwZDI1LCAyMDIxLTA5LTIwKSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcwogICBpZD0iZGVmczI5Ij4KICAgIAogICAgCiAgPC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKICAgaWQ9Im5hbWVkdmlldzI3IgogICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgIHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iNC4xOTkyMjg0IgogICBpbmtzY2FwZTpjeD0iLTUwLjYwNDUzNSIKICAgaW5rc2NhcGU6Y3k9IjE0MC4zODI5MyIKICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzg3IgogICBpbmtzY2FwZTp3aW5kb3cteD0iMTkxMiIKICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzU1IiAvPgogIDxnCiAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywxMDEuMzkzMzMsNjcuNTg5MzMyKSIKICAgaWQ9ImczMzY1Ij4KICAgICAgPHBhdGgKICAgaWQ9InBhdGgzMzY3IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIgogICBkPSJtIDAsMCAtMTMuNjUyLC0xMy42NTEgaCAtMjEuNDQ1IGwgLTExLjY5OSwtMTEuNjk3IHYgMTEuNjk3IEggLTY0LjM0NCBWIDQyLjg5MyBIIDAgWiBtIC03Mi4xNDYsNTAuNjkyIC0zLjg5OSwtMTUuNTk5IHYgLTcwLjE5IGggMTcuNTUgdiAtOS43NTEgaCA5Ljc0NiBsIDkuNzUyLDkuNzUxIGggMTUuNTk2IEwgNy43OTUsLTMuOTA1IHYgNTQuNTk3IHoiIC8+CiAgICA8L2c+PHBhdGgKICAgaWQ9InBhdGgzMzY5IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjMzMzMzIgogICBkPSJtIDQ0LjE5NzMzMSw2Mi4zOTQyNjYgaCAxMC4zOTg2NyBWIDMxLjE5MjkzMyBoIC0xMC4zOTg2NyB6IG0gMjguNTk0NjcsMCBoIDEwLjM5ODY2IFYgMzEuMTkyOTMzIGggLTEwLjM5ODY2IHoiIC8+Cjwvc3ZnPgo=";
|
20
20
|
export const discordIconUri =
|
21
21
|
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBpZD0iZGlzY29yZCI+PHBhdGggZmlsbD0iIzY2NjVkMiIgZD0iTTg1LjIyLDI0Ljk1OGMtMTEuNDU5LTguNTc1LTIyLjQzOC04LjMzNC0yMi40MzgtOC4zMzRsLTEuMTIyLDEuMjgyCgkJCQljMTMuNjIzLDQuMDg3LDE5Ljk1NCwxMC4wOTcsMTkuOTU0LDEwLjA5N2MtMTkuNDkxLTEwLjczMS00NC4zMTctMTAuNjU0LTY0LjU5LDBjMCwwLDYuNTcxLTYuMzMxLDIwLjk5Ni0xMC40MThsLTAuODAxLTAuOTYyCgkJCQljMCwwLTEwLjg5OS0wLjI0LTIyLjQzOCw4LjMzNGMwLDAtMTEuNTQsMjAuNzU1LTExLjU0LDQ2LjMxOWMwLDAsNi43MzIsMTEuNTQsMjQuNDQyLDEyLjEwMWMwLDAsMi45NjUtMy41MjYsNS4zNjktNi41NzEKCQkJCWMtMTAuMTc3LTMuMDQ1LTE0LjAyNC05LjM3Ni0xNC4wMjQtOS4zNzZjNi4zOTQsNC4wMDEsMTIuODU5LDYuNTA1LDIwLjkxNiw4LjA5NGMxMy4xMDgsMi42OTgsMjkuNDEzLTAuMDc2LDQxLjU5MS04LjA5NAoJCQkJYzAsMC00LjAwNyw2LjQ5MS0xNC41MDUsOS40NTZjMi40MDQsMi45NjUsNS4yODksNi40MTEsNS4yODksNi40MTFjMTcuNzEtMC41NjEsMjQuNDQxLTEyLjEwMSwyNC40NDEtMTIuMDIKCQkJCUM5Ni43NTksNDUuNzEzLDg1LjIyLDI0Ljk1OCw4NS4yMiwyNC45NTh6IE0zNS4wNTUsNjMuODI0Yy00LjQ4OCwwLTguMTc0LTMuOTI3LTguMTc0LTguODE1CgkJCQljMC4zMjgtMTEuNzA3LDE2LjEwMi0xMS42NzEsMTYuMzQ4LDBDNDMuMjI5LDU5Ljg5NywzOS42MjIsNjMuODI0LDM1LjA1NSw2My44MjR6IE02NC4zMDQsNjMuODI0CgkJCQljLTQuNDg4LDAtOC4xNzQtMy45MjctOC4xNzQtOC44MTVjMC4zNi0xMS42ODQsMTUuOTM3LTExLjY4OSwxNi4zNDgsMEM3Mi40NzgsNTkuODk3LDY4Ljg3Miw2My44MjQsNjQuMzA0LDYzLjgyNHoiPjwvcGF0aD48L3N2Zz4=";
|
22
|
+
export const lineIconUri =
|
23
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB2aWV3Qm94PSIwIDAgMzIwIDMyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMwNmM3NTU7fS5jbHMtMntmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxnIGlkPSJMSU5FX0xPR08iIGRhdGEtbmFtZT0iTElORSBMT0dPIj48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiByeD0iNzIuMTQiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yNjYuNjYsMTQ0LjkyYzAtNDcuNzQtNDcuODYtODYuNTgtMTA2LjY5LTg2LjU4UzUzLjI4LDk3LjE4LDUzLjI4LDE0NC45MmMwLDQyLjgsMzgsNzguNjUsODkuMjIsODUuNDIsMy40OC43NSw4LjIxLDIuMjksOS40LDUuMjYsMS4wOCwyLjcuNzEsNi45My4zNSw5LjY1LDAsMC0xLjI1LDcuNTMtMS41Miw5LjEzLS40NywyLjctMi4xNSwxMC41NSw5LjI0LDUuNzZzNjEuNDQtMzYuMTgsODMuODItNjEuOTVoMEMyNTkuMjUsMTgxLjI0LDI2Ni42NiwxNjQsMjY2LjY2LDE0NC45MloiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMzEuMTYsMTcyLjQ5aC0zMGEyLDIsMCwwLDEtMi0ydjBoMFYxMjMuOTRoMHYwYTIsMiwwLDAsMSwyLTJoMzBhMiwyLDAsMCwxLDIsMnY3LjU3YTIsMiwwLDAsMS0yLDJIMjEwLjc5djcuODVoMjAuMzdhMiwyLDAsMCwxLDIsMlYxNTFhMiwyLDAsMCwxLTIsMkgyMTAuNzl2Ny44NmgyMC4zN2EyLDIsMCwwLDEsMiwydjcuNTZBMiwyLDAsMCwxLDIzMS4xNiwxNzIuNDlaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIwLjI5LDE3Mi40OWEyLDIsMCwwLDAsMi0ydi03LjU2YTIsMiwwLDAsMC0yLTJIOTkuOTJ2LTM3YTIsMiwwLDAsMC0yLTJIOTAuMzJhMiwyLDAsMCwwLTIsMnY0Ni41M2gwdjBhMiwyLDAsMCwwLDIsMmgzMFoiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjEyOC43MyIgeT0iMTIxLjg1IiB3aWR0aD0iMTEuNjQiIGhlaWdodD0iNTAuNjQiIHJ4PSIyLjA0Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTg5Ljg0LDEyMS44NWgtNy41NmEyLDIsMCwwLDAtMiwydjI3LjY2bC0yMS4zLTI4Ljc3YTEuMiwxLjIsMCwwLDAtLjE3LS4yMXYwbC0uMTItLjEyLDAsMC0uMTEtLjA5LS4wNiwwLS4xMS0uMDgtLjA2LDAtLjExLS4wNi0uMDcsMC0uMTEsMC0uMDcsMC0uMTIsMC0uMDgsMC0uMTIsMGgtLjA4bC0uMTEsMGgtNy43MWEyLDIsMCwwLDAtMiwydjQ2LjU2YTIsMiwwLDAsMCwyLDJoNy41N2EyLDIsMCwwLDAsMi0yVjE0Mi44MWwyMS4zMywyOC44YTIsMiwwLDAsMCwuNTIuNTJoMGwuMTIuMDguMDYsMCwuMS4wNS4xLDAsLjA3LDAsLjE0LDBoMGEyLjQyLDIuNDIsMCwwLDAsLjU0LjA3aDcuNTJhMiwyLDAsMCwwLDItMlYxMjMuODlBMiwyLDAsMCwwLDE4OS44NCwxMjEuODVaIi8+PC9nPjwvZz48L3N2Zz4=";
|
22
24
|
export const farcasterIconUri =
|
23
25
|
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwMCIgaGVpZ2h0PSIxMDAwIiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTAwMCIgaGVpZ2h0PSIxMDAwIiByeD0iMjAwIiBmaWxsPSIjODU1RENEIi8+CjxwYXRoIGQ9Ik0yNTcuNzc4IDE1NS41NTZINzQyLjIyMlY4NDQuNDQ0SDY3MS4xMTFWNTI4Ljg4OUg2NzAuNDE0QzY2Mi41NTQgNDQxLjY3NyA1ODkuMjU4IDM3My4zMzMgNTAwIDM3My4zMzNDNDEwLjc0MiAzNzMuMzMzIDMzNy40NDYgNDQxLjY3NyAzMjkuNTg2IDUyOC44ODlIMzI4Ljg4OVY4NDQuNDQ0SDI1Ny43NzhWMTU1LjU1NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMjguODg5IDI1My4zMzNMMTU3Ljc3OCAzNTEuMTExSDE4Mi4yMjJWNzQ2LjY2N0MxNjkuOTQ5IDc0Ni42NjcgMTYwIDc1Ni42MTYgMTYwIDc2OC44ODlWNzk1LjU1NkgxNTUuNTU2QzE0My4yODMgNzk1LjU1NiAxMzMuMzMzIDgwNS41MDUgMTMzLjMzMyA4MTcuNzc4Vjg0NC40NDRIMzgyLjIyMlY4MTcuNzc4QzM4Mi4yMjIgODA1LjUwNSAzNzIuMjczIDc5NS41NTYgMzYwIDc5NS41NTZIMzU1LjU1NlY3NjguODg5QzM1NS41NTYgNzU2LjYxNiAzNDUuNjA2IDc0Ni42NjcgMzMzLjMzMyA3NDYuNjY3SDMwNi42NjdWMjUzLjMzM0gxMjguODg5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTY3NS41NTYgNzQ2LjY2N0M2NjMuMjgzIDc0Ni42NjcgNjUzLjMzMyA3NTYuNjE2IDY1My4zMzMgNzY4Ljg4OVY3OTUuNTU2SDY0OC44ODlDNjM2LjYxNiA3OTUuNTU2IDYyNi42NjcgODA1LjUwNSA2MjYuNjY3IDgxNy43NzhWODQ0LjQ0NEg4NzUuNTU2VjgxNy43NzhDODc1LjU1NiA4MDUuNTA1IDg2NS42MDYgNzk1LjU1NiA4NTMuMzMzIDc5NS41NTZIODQ4Ljg4OVY3NjguODg5Qzg0OC44ODkgNzU2LjYxNiA4MzguOTQgNzQ2LjY2NyA4MjYuNjY3IDc0Ni42NjdWMzUxLjExMUg4NTEuMTExTDg4MCAyNTMuMzMzSDcwMi4yMjJWNzQ2LjY2N0g2NzUuNTU2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";
|
24
26
|
export const telegramIconUri =
|
@@ -46,6 +48,7 @@ export const socialIcons = {
|
|
46
48
|
apple: appleIconUri,
|
47
49
|
facebook: facebookIconUri,
|
48
50
|
discord: discordIconUri,
|
51
|
+
line: lineIconUri,
|
49
52
|
farcaster: farcasterIconUri,
|
50
53
|
telegram: telegramIconUri,
|
51
54
|
};
|
@@ -67,6 +70,8 @@ export function getWalletIcon(provider: string) {
|
|
67
70
|
return passkeyIcon;
|
68
71
|
case "discord":
|
69
72
|
return discordIconUri;
|
73
|
+
case "line":
|
74
|
+
return lineIconUri;
|
70
75
|
case "farcaster":
|
71
76
|
return farcasterIconUri;
|
72
77
|
case "telegram":
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import Clipboard from "@react-native-clipboard/clipboard";
|
2
1
|
import { useState } from "react";
|
3
|
-
import { StyleSheet, TouchableOpacity } from "react-native";
|
2
|
+
import { Clipboard, StyleSheet, TouchableOpacity } from "react-native";
|
4
3
|
import type { Account } from "../../../../wallets/interfaces/wallet.js";
|
5
4
|
import type { Theme } from "../../../core/design-system/index.js";
|
6
5
|
import { spacing } from "../../design-system/index.js";
|
@@ -20,7 +19,6 @@ export const Address = ({ account, theme, addressOrENS }: AddressProps) => {
|
|
20
19
|
<TouchableOpacity
|
21
20
|
style={styles.addressContainer}
|
22
21
|
onPress={() => {
|
23
|
-
// @ts-ignore - missing native types
|
24
22
|
Clipboard.setString(account.address);
|
25
23
|
setCopySuccess(true);
|
26
24
|
setTimeout(() => {
|
@@ -12,6 +12,7 @@ import {
|
|
12
12
|
FACEBOOK_ICON,
|
13
13
|
FARCASTER_ICON,
|
14
14
|
GOOGLE_ICON,
|
15
|
+
LINE_ICON,
|
15
16
|
PASSKEY_ICON,
|
16
17
|
PHONE_ICON,
|
17
18
|
TELEGRAM_ICON,
|
@@ -81,6 +82,8 @@ export function getAuthProviderImage(authProvider: string | null): string {
|
|
81
82
|
return FACEBOOK_ICON;
|
82
83
|
case "discord":
|
83
84
|
return DISCORD_ICON;
|
85
|
+
case "line":
|
86
|
+
return LINE_ICON;
|
84
87
|
case "farcaster":
|
85
88
|
return FARCASTER_ICON;
|
86
89
|
case "telegram":
|
@@ -34,6 +34,7 @@ import {
|
|
34
34
|
FACEBOOK_ICON,
|
35
35
|
FARCASTER_ICON,
|
36
36
|
GOOGLE_ICON,
|
37
|
+
LINE_ICON,
|
37
38
|
TELEGRAM_ICON,
|
38
39
|
} from "../icons/svgs.js";
|
39
40
|
import type { ModalState } from "./ConnectModal.js";
|
@@ -53,6 +54,7 @@ const socialIcons = {
|
|
53
54
|
facebook: FACEBOOK_ICON,
|
54
55
|
apple: APPLE_ICON,
|
55
56
|
discord: DISCORD_ICON,
|
57
|
+
line: LINE_ICON,
|
56
58
|
farcaster: FARCASTER_ICON,
|
57
59
|
telegram: TELEGRAM_ICON,
|
58
60
|
};
|
@@ -37,6 +37,8 @@ export const DISCORD_ICON = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink
|
|
37
37
|
</g>
|
38
38
|
</svg>`;
|
39
39
|
|
40
|
+
export const LINE_ICON = `<svg xmlns="http://www.w3.org/2000/svg" width="320" height="320" viewBox="0 0 320 320"><defs><style>.cls-1{fill:#06c755;}.cls-2{fill:#fff;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="LINE_LOGO" data-name="LINE LOGO"><rect class="cls-1" width="320" height="320" rx="72.14"/><path class="cls-2" d="M266.66,144.92c0-47.74-47.86-86.58-106.69-86.58S53.28,97.18,53.28,144.92c0,42.8,38,78.65,89.22,85.42,3.48.75,8.21,2.29,9.4,5.26,1.08,2.7.71,6.93.35,9.65,0,0-1.25,7.53-1.52,9.13-.47,2.7-2.15,10.55,9.24,5.76s61.44-36.18,83.82-61.95h0C259.25,181.24,266.66,164,266.66,144.92Z"/><path class="cls-1" d="M231.16,172.49h-30a2,2,0,0,1-2-2v0h0V123.94h0v0a2,2,0,0,1,2-2h30a2,2,0,0,1,2,2v7.57a2,2,0,0,1-2,2H210.79v7.85h20.37a2,2,0,0,1,2,2V151a2,2,0,0,1-2,2H210.79v7.86h20.37a2,2,0,0,1,2,2v7.56A2,2,0,0,1,231.16,172.49Z"/><path class="cls-1" d="M120.29,172.49a2,2,0,0,0,2-2v-7.56a2,2,0,0,0-2-2H99.92v-37a2,2,0,0,0-2-2H90.32a2,2,0,0,0-2,2v46.53h0v0a2,2,0,0,0,2,2h30Z"/><rect class="cls-1" x="128.73" y="121.85" width="11.64" height="50.64" rx="2.04"/><path class="cls-1" d="M189.84,121.85h-7.56a2,2,0,0,0-2,2v27.66l-21.3-28.77a1.2,1.2,0,0,0-.17-.21v0l-.12-.12,0,0-.11-.09-.06,0-.11-.08-.06,0-.11-.06-.07,0-.11,0-.07,0-.12,0-.08,0-.12,0h-.08l-.11,0h-7.71a2,2,0,0,0-2,2v46.56a2,2,0,0,0,2,2h7.57a2,2,0,0,0,2-2V142.81l21.33,28.8a2,2,0,0,0,.52.52h0l.12.08.06,0,.1.05.1,0,.07,0,.14,0h0a2.42,2.42,0,0,0,.54.07h7.52a2,2,0,0,0,2-2V123.89A2,2,0,0,0,189.84,121.85Z"/></g></g></svg>`;
|
41
|
+
|
40
42
|
export const FARCASTER_ICON = `<svg width={width} height={height} viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
41
43
|
<rect width="1000" height="1000" rx="200" fill="#855DCD"/>
|
42
44
|
<path d="M257.778 155.556H742.222V844.444H671.111V528.889H670.414C662.554 441.677 589.258 373.333 500 373.333C410.742 373.333 337.446 441.677 329.586 528.889H328.889V844.444H257.778V155.556Z" fill="white"/>
|
@@ -10,6 +10,7 @@ import {
|
|
10
10
|
} from "@radix-ui/react-icons";
|
11
11
|
import { useQuery } from "@tanstack/react-query";
|
12
12
|
import { useContext, useEffect, useState } from "react";
|
13
|
+
import { trackPayEvent } from "../../../../analytics/track.js";
|
13
14
|
import type { Chain } from "../../../../chains/types.js";
|
14
15
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
15
16
|
import { getContract } from "../../../../contract/contract.js";
|
@@ -568,6 +569,12 @@ function DetailsModal(props: {
|
|
568
569
|
flex: 1,
|
569
570
|
}}
|
570
571
|
onClick={() => {
|
572
|
+
trackPayEvent({
|
573
|
+
event: "details_modal_buy_click",
|
574
|
+
client: client,
|
575
|
+
walletAddress: activeAccount?.address,
|
576
|
+
walletType: activeWallet?.id,
|
577
|
+
});
|
571
578
|
setScreen("buy");
|
572
579
|
}}
|
573
580
|
>
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { IdCardIcon } from "@radix-ui/react-icons";
|
2
2
|
import { useCallback, useMemo, useState } from "react";
|
3
|
+
import { trackPayEvent } from "../../../../../../analytics/track.js";
|
3
4
|
import type { Chain } from "../../../../../../chains/types.js";
|
4
5
|
import type { ThirdwebClient } from "../../../../../../client/client.js";
|
5
6
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../constants/addresses.js";
|
@@ -528,7 +529,13 @@ function BuyScreenContent(props: BuyScreenContentProps) {
|
|
528
529
|
}}
|
529
530
|
>
|
530
531
|
{screen.id === "select-payment-method" && (
|
531
|
-
<PaymentMethodSelection
|
532
|
+
<PaymentMethodSelection
|
533
|
+
mode={payOptions.mode}
|
534
|
+
client={client}
|
535
|
+
walletAddress={payer.account.address}
|
536
|
+
walletType={payer.wallet.id}
|
537
|
+
setScreen={(id) => setScreen({ id })}
|
538
|
+
/>
|
532
539
|
)}
|
533
540
|
|
534
541
|
{screen.id === "select-wallet" && (
|
@@ -891,7 +898,11 @@ function TokenSelectedLayout(props: {
|
|
891
898
|
}
|
892
899
|
|
893
900
|
function PaymentMethodSelection(props: {
|
901
|
+
client: ThirdwebClient;
|
902
|
+
walletAddress: string;
|
903
|
+
walletType: string;
|
894
904
|
setScreen: (screenId: "select-wallet" | "buy-with-fiat") => void;
|
905
|
+
mode?: "transaction" | "direct_payment" | "fund_wallet";
|
895
906
|
}) {
|
896
907
|
return (
|
897
908
|
<Container animate="fadein">
|
@@ -900,7 +911,15 @@ function PaymentMethodSelection(props: {
|
|
900
911
|
<Button
|
901
912
|
variant="outline"
|
902
913
|
bg="tertiaryBg"
|
903
|
-
onClick={() =>
|
914
|
+
onClick={() => {
|
915
|
+
trackPayEvent({
|
916
|
+
event: `pay_with_credit_card_${props.mode || "unknown"}_mode`,
|
917
|
+
client: props.client,
|
918
|
+
walletAddress: props.walletAddress,
|
919
|
+
walletType: props.walletType,
|
920
|
+
});
|
921
|
+
props.setScreen("buy-with-fiat");
|
922
|
+
}}
|
904
923
|
gap="sm"
|
905
924
|
style={{
|
906
925
|
justifyContent: "flex-start",
|
@@ -928,7 +947,16 @@ function PaymentMethodSelection(props: {
|
|
928
947
|
<Button
|
929
948
|
variant="outline"
|
930
949
|
bg="tertiaryBg"
|
931
|
-
onClick={() =>
|
950
|
+
onClick={() => {
|
951
|
+
trackPayEvent({
|
952
|
+
event: `pay_with_crypto_${props.mode || "unknown"}_mode`,
|
953
|
+
client: props.client,
|
954
|
+
walletAddress: props.walletAddress,
|
955
|
+
walletType: props.walletType,
|
956
|
+
});
|
957
|
+
|
958
|
+
props.setScreen("select-wallet");
|
959
|
+
}}
|
932
960
|
style={{
|
933
961
|
justifyContent: "flex-start",
|
934
962
|
}}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
2
|
+
import { trackPayEvent } from "../../../../../../analytics/track.js";
|
2
3
|
import type { Chain } from "../../../../../../chains/types.js";
|
3
4
|
import type { ThirdwebClient } from "../../../../../../client/client.js";
|
4
5
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../constants/addresses.js";
|
@@ -242,6 +243,12 @@ export function DirectPaymentModeScreen(props: {
|
|
242
243
|
variant="accent"
|
243
244
|
fullWidth
|
244
245
|
onClick={() => {
|
246
|
+
trackPayEvent({
|
247
|
+
event: "choose_payment_method_direct_payment_mode",
|
248
|
+
client,
|
249
|
+
walletAddress: payerAccount.address,
|
250
|
+
walletType: activeWallet?.id,
|
251
|
+
});
|
245
252
|
onContinue(totalCost, paymentInfo.chain, token);
|
246
253
|
}}
|
247
254
|
>
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { trackPayEvent } from "../../../../../../analytics/track.js";
|
1
2
|
import type { Chain } from "../../../../../../chains/types.js";
|
2
3
|
import type { ThirdwebClient } from "../../../../../../client/client.js";
|
3
4
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../constants/addresses.js";
|
@@ -225,6 +226,12 @@ export function TransactionModeScreen(props: {
|
|
225
226
|
) {
|
226
227
|
totalCostWei += transactionCostAndData.gasCostWei;
|
227
228
|
}
|
229
|
+
trackPayEvent({
|
230
|
+
event: "choose_payment_method_transaction_mode",
|
231
|
+
client,
|
232
|
+
walletAddress: payerAccount.address,
|
233
|
+
walletType: activeWallet?.id,
|
234
|
+
});
|
228
235
|
onContinue(
|
229
236
|
toTokens(totalCostWei, transactionCostAndData.decimals),
|
230
237
|
payUiOptions.transaction.chain,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { useCallback, useState } from "react";
|
2
|
+
import { trackPayEvent } from "../../../../../../../analytics/track.js";
|
2
3
|
import type { ThirdwebClient } from "../../../../../../../client/client.js";
|
3
4
|
import type { BuyWithFiatQuote } from "../../../../../../../pay/buyWithFiat/getQuote.js";
|
4
5
|
import {
|
@@ -88,6 +89,12 @@ export function FiatFlow(props: {
|
|
88
89
|
step={1}
|
89
90
|
onContinue={() => {
|
90
91
|
const popup = openOnrampPopup(props.quote.onRampLink, props.theme);
|
92
|
+
trackPayEvent({
|
93
|
+
event: "open_onramp_popup",
|
94
|
+
client: props.client,
|
95
|
+
walletAddress: props.payer.account.address,
|
96
|
+
walletType: props.payer.wallet.id,
|
97
|
+
});
|
91
98
|
addPendingTx({
|
92
99
|
type: "fiat",
|
93
100
|
intentId: props.quote.intentId,
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { CrossCircledIcon } from "@radix-ui/react-icons";
|
2
2
|
import { useState } from "react";
|
3
|
+
import { trackPayEvent } from "../../../../../../../analytics/track.js";
|
3
4
|
import type { Chain } from "../../../../../../../chains/types.js";
|
4
5
|
import type { ThirdwebClient } from "../../../../../../../client/client.js";
|
5
6
|
import type { BuyWithCryptoQuote } from "../../../../../../../pay/buyWithCrypto/getQuote.js";
|
@@ -190,6 +191,19 @@ export function SwapConfirmationScreen(props: {
|
|
190
191
|
try {
|
191
192
|
setStatus("pending");
|
192
193
|
|
194
|
+
trackPayEvent({
|
195
|
+
event: "prompt_swap_approval",
|
196
|
+
client: props.client,
|
197
|
+
walletAddress: props.payer.account.address,
|
198
|
+
walletType: props.payer.wallet.id,
|
199
|
+
fromToken: props.quote.swapDetails.fromToken.tokenAddress,
|
200
|
+
fromAmount: props.quote.swapDetails.fromAmountWei,
|
201
|
+
toToken: props.quote.swapDetails.toToken.tokenAddress,
|
202
|
+
toAmount: props.quote.swapDetails.toAmountWei,
|
203
|
+
chainId: props.quote.swapDetails.fromToken.chainId,
|
204
|
+
dstChainId: props.quote.swapDetails.toToken.chainId,
|
205
|
+
});
|
206
|
+
|
193
207
|
const tx = await sendTransaction({
|
194
208
|
account: props.payer.account,
|
195
209
|
transaction: props.quote.approval,
|
@@ -198,6 +212,19 @@ export function SwapConfirmationScreen(props: {
|
|
198
212
|
await waitForReceipt({ ...tx, maxBlocksWaitTime: 50 });
|
199
213
|
// props.onQuoteFinalized(props.quote);
|
200
214
|
|
215
|
+
trackPayEvent({
|
216
|
+
event: "swap_approval_success",
|
217
|
+
client: props.client,
|
218
|
+
walletAddress: props.payer.account.address,
|
219
|
+
walletType: props.payer.wallet.id,
|
220
|
+
fromToken: props.quote.swapDetails.fromToken.tokenAddress,
|
221
|
+
fromAmount: props.quote.swapDetails.fromAmountWei,
|
222
|
+
toToken: props.quote.swapDetails.toToken.tokenAddress,
|
223
|
+
toAmount: props.quote.swapDetails.toAmountWei,
|
224
|
+
chainId: props.quote.swapDetails.fromToken.chainId,
|
225
|
+
dstChainId: props.quote.swapDetails.toToken.chainId,
|
226
|
+
});
|
227
|
+
|
201
228
|
setStep("swap");
|
202
229
|
setStatus("idle");
|
203
230
|
} catch (e) {
|
@@ -223,6 +250,19 @@ export function SwapConfirmationScreen(props: {
|
|
223
250
|
};
|
224
251
|
}
|
225
252
|
|
253
|
+
trackPayEvent({
|
254
|
+
event: "prompt_swap_execution",
|
255
|
+
client: props.client,
|
256
|
+
walletAddress: props.payer.account.address,
|
257
|
+
walletType: props.payer.wallet.id,
|
258
|
+
fromToken: props.quote.swapDetails.fromToken.tokenAddress,
|
259
|
+
fromAmount: props.quote.swapDetails.fromAmountWei,
|
260
|
+
toToken: props.quote.swapDetails.toToken.tokenAddress,
|
261
|
+
toAmount: props.quote.swapDetails.toAmountWei,
|
262
|
+
chainId: props.quote.swapDetails.fromToken.chainId,
|
263
|
+
dstChainId: props.quote.swapDetails.toToken.chainId,
|
264
|
+
});
|
265
|
+
|
226
266
|
const _swapTx = await sendTransaction({
|
227
267
|
account: props.payer.account,
|
228
268
|
transaction: tx,
|
@@ -230,6 +270,19 @@ export function SwapConfirmationScreen(props: {
|
|
230
270
|
|
231
271
|
await waitForReceipt({ ..._swapTx, maxBlocksWaitTime: 50 });
|
232
272
|
|
273
|
+
trackPayEvent({
|
274
|
+
event: "swap_execution_success",
|
275
|
+
client: props.client,
|
276
|
+
walletAddress: props.payer.account.address,
|
277
|
+
walletType: props.payer.wallet.id,
|
278
|
+
fromToken: props.quote.swapDetails.fromToken.tokenAddress,
|
279
|
+
fromAmount: props.quote.swapDetails.fromAmountWei,
|
280
|
+
toToken: props.quote.swapDetails.toToken.tokenAddress,
|
281
|
+
toAmount: props.quote.swapDetails.toAmountWei,
|
282
|
+
chainId: props.quote.swapDetails.toToken.chainId,
|
283
|
+
dstChainId: props.quote.swapDetails.toToken.chainId,
|
284
|
+
});
|
285
|
+
|
233
286
|
// do not add pending tx if the swap is part of fiat flow
|
234
287
|
if (!props.isFiatFlow) {
|
235
288
|
addPendingTx({
|
@@ -1,10 +1,14 @@
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
1
2
|
import { useState } from "react";
|
3
|
+
import { trackPayEvent } from "../../../../analytics/track.js";
|
2
4
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
5
|
import type { WaitForReceiptOptions } from "../../../../transaction/actions/wait-for-tx-receipt.js";
|
4
6
|
import type { PreparedTransaction } from "../../../../transaction/prepare-transaction.js";
|
5
7
|
import { CustomThemeProvider } from "../../../core/design-system/CustomThemeProvider.js";
|
6
8
|
import type { Theme } from "../../../core/design-system/index.js";
|
7
9
|
import type { PayUIOptions } from "../../../core/hooks/connection/ConnectButtonProps.js";
|
10
|
+
import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js";
|
11
|
+
import { useActiveWallet } from "../../../core/hooks/wallets/useActiveWallet.js";
|
8
12
|
import type { SupportedTokens } from "../../../core/utils/defaultTokens.js";
|
9
13
|
import { LoadingScreen } from "../../wallets/shared/LoadingScreen.js";
|
10
14
|
import { useConnectLocale } from "../ConnectWallet/locale/getConnectLocale.js";
|
@@ -27,6 +31,23 @@ export type ModalProps = {
|
|
27
31
|
};
|
28
32
|
|
29
33
|
export function TransactionModal(props: ModalProps) {
|
34
|
+
const account = useActiveAccount();
|
35
|
+
const wallet = useActiveWallet();
|
36
|
+
|
37
|
+
useQuery({
|
38
|
+
queryKey: ["transaction-modal-event"],
|
39
|
+
queryFn: () => {
|
40
|
+
if (!account || !wallet) return;
|
41
|
+
trackPayEvent({
|
42
|
+
client: props.client,
|
43
|
+
walletAddress: account.address,
|
44
|
+
walletType: wallet.id,
|
45
|
+
event: "open_pay_transaction_modal",
|
46
|
+
});
|
47
|
+
},
|
48
|
+
enabled: !!wallet,
|
49
|
+
});
|
50
|
+
|
30
51
|
return (
|
31
52
|
<CustomThemeProvider theme={props.theme}>
|
32
53
|
<Modal
|
package/src/social/profiles.ts
CHANGED
@@ -8,7 +8,7 @@ import type { SocialProfile } from "./types.js";
|
|
8
8
|
* @param args - The arguments to use when fetching the social profiles.
|
9
9
|
* @param args.address - The wallet address to fetch the social profiles for.
|
10
10
|
* @param args.client - The Thirdweb client.
|
11
|
-
* @returns A promise resolving to the
|
11
|
+
* @returns A promise resolving to the array of social profiles for the given address.
|
12
12
|
*
|
13
13
|
* @example
|
14
14
|
* ```ts
|
@@ -18,6 +18,7 @@ import type { SocialProfile } from "./types.js";
|
|
18
18
|
* client,
|
19
19
|
* });
|
20
20
|
* ```
|
21
|
+
* @social
|
21
22
|
* @beta
|
22
23
|
*/
|
23
24
|
export async function getSocialProfiles(args: {
|
@@ -35,19 +35,19 @@ describe("sendEip712Transaction", () => {
|
|
35
35
|
client: TEST_CLIENT,
|
36
36
|
chain: zkSyncSepolia, // TODO make zksync fork chain work
|
37
37
|
account: TEST_ACCOUNT_A,
|
38
|
-
contractId: "
|
39
|
-
contractParams:
|
40
|
-
TEST_ACCOUNT_A.address, // defaultAdmin
|
41
|
-
"test", // name
|
42
|
-
"", // symbol
|
43
|
-
"", // contractURI
|
44
|
-
[], // trustedForwarders
|
45
|
-
TEST_ACCOUNT_A.address, // saleRecipient
|
46
|
-
TEST_ACCOUNT_A.address, // royaltyRecipient
|
47
|
-
0n, // royaltyBps
|
48
|
-
0n, // platformFeeBps
|
49
|
-
TEST_ACCOUNT_A.address, // platformFeeRecipient
|
50
|
-
|
38
|
+
contractId: "DropERC721",
|
39
|
+
contractParams: {
|
40
|
+
defaultAdmin: TEST_ACCOUNT_A.address, // defaultAdmin
|
41
|
+
name: "test", // name
|
42
|
+
symbol: "test", // symbol
|
43
|
+
contractURI: "", // contractURI
|
44
|
+
trustedForwarders: [], // trustedForwarders
|
45
|
+
saleRecipient: TEST_ACCOUNT_A.address, // saleRecipient
|
46
|
+
royaltyRecipient: TEST_ACCOUNT_A.address, // royaltyRecipient
|
47
|
+
royaltyBps: 0n, // royaltyBps
|
48
|
+
platformFeeBps: 0n, // platformFeeBps
|
49
|
+
platformFeeRecipient: TEST_ACCOUNT_A.address, // platformFeeRecipient
|
50
|
+
},
|
51
51
|
});
|
52
52
|
console.log("deployed address", address);
|
53
53
|
expect(address).toBeDefined();
|