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,29 @@
|
|
1
|
+
import type { AbiConstructor, AbiFunction } from "abitype";
|
2
|
+
|
3
|
+
export function normalizeFunctionParams(
|
4
|
+
abiFunction: AbiFunction | AbiConstructor | undefined,
|
5
|
+
params: Record<string, unknown> = {},
|
6
|
+
): unknown[] {
|
7
|
+
if (!abiFunction) {
|
8
|
+
return [];
|
9
|
+
}
|
10
|
+
if (abiFunction.inputs?.length !== Object.keys(params).length) {
|
11
|
+
throw new Error(
|
12
|
+
`Expected ${abiFunction.inputs?.length || 0} parameters, but got ${Object.keys(params).length}`,
|
13
|
+
);
|
14
|
+
}
|
15
|
+
return abiFunction.inputs.map((input, index) => {
|
16
|
+
const value = input.name;
|
17
|
+
if (value === undefined) {
|
18
|
+
throw new Error(
|
19
|
+
`Missing named parameter for ${"name" in abiFunction ? abiFunction.name : "constructor"} at index ${index}`,
|
20
|
+
);
|
21
|
+
}
|
22
|
+
const valueWithoutUnderscore = value.replace(/^_+/, "");
|
23
|
+
const normalizedValue = params[value] ?? params[valueWithoutUnderscore]; // handle _name, _symbol, etc passed without underscore in the keys
|
24
|
+
if (normalizedValue === undefined) {
|
25
|
+
throw new Error(`Missing value for parameter ${value} at index ${index}`);
|
26
|
+
}
|
27
|
+
return normalizedValue;
|
28
|
+
});
|
29
|
+
}
|
@@ -1,10 +1,8 @@
|
|
1
1
|
import type { Chain } from "../../chains/types.js";
|
2
2
|
import type { ThirdwebClient } from "../../client/client.js";
|
3
|
+
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
3
4
|
import { computeDeploymentAddress } from "./compute-deployment-address.js";
|
4
|
-
import {
|
5
|
-
computeDeploymentInfoFromContractId,
|
6
|
-
computeDeploymentInfoFromMetadata,
|
7
|
-
} from "./compute-published-contract-deploy-info.js";
|
5
|
+
import { computeDeploymentInfoFromMetadata } from "./compute-published-contract-deploy-info.js";
|
8
6
|
import type { FetchDeployMetadataResult } from "./deploy-metadata.js";
|
9
7
|
|
10
8
|
/**
|
@@ -20,10 +18,6 @@ import type { FetchDeployMetadataResult } from "./deploy-metadata.js";
|
|
20
18
|
* ```ts
|
21
19
|
* import { computePublishedContractAddress } from "thirdweb/deploys";
|
22
20
|
*
|
23
|
-
* const contractMetadata = await fetchPublishedContractMetadata({
|
24
|
-
* client,
|
25
|
-
* chain,
|
26
|
-
* });
|
27
21
|
* const address = await computePublishedContractAddress({
|
28
22
|
* client,
|
29
23
|
* chain,
|
@@ -38,13 +32,24 @@ export async function computePublishedContractAddress(args: {
|
|
38
32
|
client: ThirdwebClient;
|
39
33
|
chain: Chain;
|
40
34
|
contractId: string;
|
41
|
-
constructorParams
|
35
|
+
constructorParams?: Record<string, unknown>;
|
42
36
|
publisher?: string;
|
43
37
|
version?: string;
|
44
38
|
salt?: string;
|
45
39
|
}): Promise<string> {
|
46
|
-
const
|
47
|
-
|
40
|
+
const contractMetadata = await fetchPublishedContractMetadata({
|
41
|
+
client: args.client,
|
42
|
+
contractId: args.contractId,
|
43
|
+
publisher: args.publisher,
|
44
|
+
version: args.version,
|
45
|
+
});
|
46
|
+
return computeContractAddress({
|
47
|
+
client: args.client,
|
48
|
+
chain: args.chain,
|
49
|
+
contractMetadata,
|
50
|
+
constructorParams: args.constructorParams,
|
51
|
+
salt: args.salt,
|
52
|
+
});
|
48
53
|
}
|
49
54
|
|
50
55
|
/**
|
@@ -54,7 +59,7 @@ export async function computeContractAddress(args: {
|
|
54
59
|
client: ThirdwebClient;
|
55
60
|
chain: Chain;
|
56
61
|
contractMetadata: FetchDeployMetadataResult;
|
57
|
-
constructorParams
|
62
|
+
constructorParams?: Record<string, unknown>;
|
58
63
|
salt?: string;
|
59
64
|
}): Promise<string> {
|
60
65
|
const info = await computeDeploymentInfoFromMetadata(args);
|
@@ -1,9 +1,12 @@
|
|
1
|
-
import type { AbiConstructor } from "abitype";
|
1
|
+
import type { Abi, AbiConstructor } from "abitype";
|
2
2
|
import type { Chain } from "../../chains/types.js";
|
3
3
|
import type { ThirdwebClient } from "../../client/client.js";
|
4
4
|
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
5
5
|
import { computeCreate2FactoryAddress } from "../../contract/deployment/utils/create-2-factory.js";
|
6
6
|
import { encodeAbiParameters } from "../abi/encodeAbiParameters.js";
|
7
|
+
import { normalizeFunctionParams } from "../abi/normalizeFunctionParams.js";
|
8
|
+
import { ensureBytecodePrefix } from "../bytecode/prefix.js";
|
9
|
+
import type { Hex } from "../encoding/hex.js";
|
7
10
|
import type { FetchDeployMetadataResult } from "./deploy-metadata.js";
|
8
11
|
import { getInitBytecodeWithSalt } from "./get-init-bytecode-with-salt.js";
|
9
12
|
|
@@ -14,7 +17,7 @@ export async function computeDeploymentInfoFromContractId(args: {
|
|
14
17
|
client: ThirdwebClient;
|
15
18
|
chain: Chain;
|
16
19
|
contractId: string;
|
17
|
-
constructorParams
|
20
|
+
constructorParams?: Record<string, unknown>;
|
18
21
|
publisher?: string;
|
19
22
|
version?: string;
|
20
23
|
salt?: string;
|
@@ -42,23 +45,39 @@ export async function computeDeploymentInfoFromMetadata(args: {
|
|
42
45
|
client: ThirdwebClient;
|
43
46
|
chain: Chain;
|
44
47
|
contractMetadata: FetchDeployMetadataResult;
|
45
|
-
constructorParams
|
48
|
+
constructorParams?: Record<string, unknown>;
|
46
49
|
salt?: string;
|
47
50
|
}) {
|
48
|
-
|
49
|
-
|
51
|
+
return computeDeploymentInfoFromBytecode({
|
52
|
+
client: args.client,
|
53
|
+
chain: args.chain,
|
54
|
+
abi: args.contractMetadata.abi,
|
55
|
+
bytecode: args.contractMetadata.bytecode,
|
56
|
+
constructorParams: args.constructorParams,
|
57
|
+
salt: args.salt,
|
58
|
+
});
|
59
|
+
}
|
60
|
+
|
61
|
+
export async function computeDeploymentInfoFromBytecode(args: {
|
62
|
+
client: ThirdwebClient;
|
63
|
+
chain: Chain;
|
64
|
+
abi: Abi;
|
65
|
+
bytecode: Hex;
|
66
|
+
constructorParams?: Record<string, unknown>;
|
67
|
+
salt?: string;
|
68
|
+
}) {
|
69
|
+
const { client, chain, constructorParams, salt } = args;
|
50
70
|
const create2FactoryAddress = await computeCreate2FactoryAddress({
|
51
71
|
client,
|
52
72
|
chain,
|
53
73
|
});
|
54
|
-
const bytecode =
|
55
|
-
const constructorAbi =
|
56
|
-
|
57
|
-
|
58
|
-
) as AbiConstructor) || [];
|
74
|
+
const bytecode = ensureBytecodePrefix(args.bytecode);
|
75
|
+
const constructorAbi = args.abi.find((abi) => abi.type === "constructor") as
|
76
|
+
| AbiConstructor
|
77
|
+
| undefined;
|
59
78
|
const encodedArgs = encodeAbiParameters(
|
60
|
-
constructorAbi
|
61
|
-
constructorParams,
|
79
|
+
constructorAbi?.inputs ?? [],
|
80
|
+
normalizeFunctionParams(constructorAbi, constructorParams),
|
62
81
|
);
|
63
82
|
const initBytecodeWithsalt = getInitBytecodeWithSalt({
|
64
83
|
bytecode,
|
@@ -10,10 +10,8 @@ export type FetchDeployMetadataOptions = {
|
|
10
10
|
client: ThirdwebClient;
|
11
11
|
};
|
12
12
|
|
13
|
-
export type FetchDeployMetadataResult =
|
14
|
-
|
15
|
-
extendedMetadata: ExtendedMetadata | undefined;
|
16
|
-
};
|
13
|
+
export type FetchDeployMetadataResult = Partial<ExtendedMetadata> &
|
14
|
+
CompilerMetadata;
|
17
15
|
|
18
16
|
/**
|
19
17
|
* Fetches the deployment metadata.
|
@@ -24,31 +22,6 @@ export type FetchDeployMetadataResult = {
|
|
24
22
|
export async function fetchDeployMetadata(
|
25
23
|
options: FetchDeployMetadataOptions,
|
26
24
|
): Promise<FetchDeployMetadataResult> {
|
27
|
-
const [compilerMetadata, extendedMetadata] = await Promise.all([
|
28
|
-
fetchCompilerMetadata(options),
|
29
|
-
fetchExtendedMetadata(options).catch(() => undefined),
|
30
|
-
]);
|
31
|
-
return { compilerMetadata, extendedMetadata };
|
32
|
-
}
|
33
|
-
|
34
|
-
// helpers
|
35
|
-
/**
|
36
|
-
* Fetches the published metadata.
|
37
|
-
* @param options - The options for fetching the published metadata.
|
38
|
-
* @internal
|
39
|
-
*/
|
40
|
-
async function fetchExtendedMetadata(
|
41
|
-
options: FetchDeployMetadataOptions,
|
42
|
-
): Promise<ExtendedMetadata> {
|
43
|
-
return download({
|
44
|
-
uri: options.uri,
|
45
|
-
client: options.client,
|
46
|
-
}).then((r) => r.json());
|
47
|
-
}
|
48
|
-
|
49
|
-
async function fetchCompilerMetadata(
|
50
|
-
options: FetchDeployMetadataOptions,
|
51
|
-
): Promise<CompilerMetadata> {
|
52
25
|
const rawMeta: RawCompilerMetadata = await download({
|
53
26
|
uri: options.uri,
|
54
27
|
client: options.client,
|
@@ -144,11 +117,13 @@ export type ExtendedMetadata = {
|
|
144
117
|
publisherAddress: string;
|
145
118
|
}[]
|
146
119
|
| undefined;
|
147
|
-
defaultModules?:
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
120
|
+
defaultModules?:
|
121
|
+
| Array<{
|
122
|
+
moduleName: string;
|
123
|
+
moduleVersion: string;
|
124
|
+
publisherAddress: string;
|
125
|
+
}>
|
126
|
+
| undefined;
|
152
127
|
publisher?: string | undefined;
|
153
128
|
audit?: string | undefined;
|
154
129
|
logo?: string | undefined;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Abi } from "abitype";
|
2
2
|
import { describe, expect, it } from "vitest";
|
3
3
|
import {
|
4
4
|
DUMMY_BYTECODE,
|
@@ -46,8 +46,7 @@ describe("Resolve implementation", async () => {
|
|
46
46
|
chain: ANVIL_CHAIN,
|
47
47
|
account: TEST_ACCOUNT_A,
|
48
48
|
bytecode: DUMMY_BYTECODE,
|
49
|
-
|
50
|
-
constructorParams: [],
|
49
|
+
abi: [],
|
51
50
|
});
|
52
51
|
|
53
52
|
const proxyAddress = await deployContract({
|
@@ -55,8 +54,11 @@ describe("Resolve implementation", async () => {
|
|
55
54
|
chain: ANVIL_CHAIN,
|
56
55
|
account: TEST_ACCOUNT_A,
|
57
56
|
bytecode: ERC1967_PROXY_BYTECODE,
|
58
|
-
|
59
|
-
constructorParams:
|
57
|
+
abi: ERC1967_PROXY_CONSTRUCTOR_ABI as Abi,
|
58
|
+
constructorParams: {
|
59
|
+
logic: implementationAddress,
|
60
|
+
data: "",
|
61
|
+
},
|
60
62
|
});
|
61
63
|
|
62
64
|
const proxy = getContract({
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { expect, test } from "vitest";
|
2
|
+
import { LruMap } from "./lru.js";
|
3
|
+
|
4
|
+
test("default", () => {
|
5
|
+
const cache = new LruMap(5);
|
6
|
+
cache.set("a", 1);
|
7
|
+
cache.set("b", 2);
|
8
|
+
cache.set("c", 3);
|
9
|
+
cache.set("d", 4);
|
10
|
+
cache.set("e", 5);
|
11
|
+
cache.set("f", 6);
|
12
|
+
cache.set("g", 7);
|
13
|
+
expect(cache.size).toBe(5);
|
14
|
+
expect(cache.has("a")).toBe(false);
|
15
|
+
expect(cache.has("b")).toBe(false);
|
16
|
+
expect(cache.get("c")).toBe(3);
|
17
|
+
expect(cache.get("d")).toBe(4);
|
18
|
+
expect(cache.get("e")).toBe(5);
|
19
|
+
expect(cache.get("f")).toBe(6);
|
20
|
+
expect(cache.get("g")).toBe(7);
|
21
|
+
});
|
22
|
+
|
23
|
+
test("update touched keys", () => {
|
24
|
+
const cache = new LruMap(5);
|
25
|
+
cache.set("a", 1);
|
26
|
+
cache.set("b", 2);
|
27
|
+
cache.set("c", 3);
|
28
|
+
cache.set("d", 4);
|
29
|
+
cache.set("e", 5);
|
30
|
+
expect(cache.size).toBe(5);
|
31
|
+
cache.get("a");
|
32
|
+
cache.set("f", 6);
|
33
|
+
cache.set("g", 7);
|
34
|
+
expect(cache.has("a")).toBe(true);
|
35
|
+
expect(cache.has("b")).toBe(false);
|
36
|
+
expect(cache.has("c")).toBe(false);
|
37
|
+
expect(cache.has("d")).toBe(true);
|
38
|
+
});
|
package/src/utils/caching/lru.ts
CHANGED
@@ -1,30 +1,34 @@
|
|
1
1
|
/**
|
2
|
-
*
|
3
|
-
*
|
2
|
+
* Map with a LRU (Least recently used) policy.
|
3
|
+
*
|
4
|
+
* @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
|
4
5
|
*/
|
5
6
|
export class LruMap<value = unknown> extends Map<string, value> {
|
6
7
|
maxSize: number;
|
7
8
|
|
8
|
-
/**
|
9
|
-
*
|
10
|
-
* @param size
|
11
|
-
* @internal
|
12
|
-
*/
|
13
9
|
constructor(size: number) {
|
14
10
|
super();
|
15
11
|
this.maxSize = size;
|
16
12
|
}
|
17
13
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
override get(key: string) {
|
15
|
+
const value = super.get(key);
|
16
|
+
|
17
|
+
if (super.has(key) && value !== undefined) {
|
18
|
+
this.delete(key);
|
19
|
+
super.set(key, value);
|
20
|
+
}
|
21
|
+
|
22
|
+
return value;
|
23
|
+
}
|
24
|
+
|
24
25
|
override set(key: string, value: value) {
|
25
26
|
super.set(key, value);
|
26
27
|
if (this.maxSize && this.size > this.maxSize) {
|
27
|
-
this.
|
28
|
+
const firstKey = this.keys().next().value;
|
29
|
+
if (firstKey) {
|
30
|
+
this.delete(firstKey);
|
31
|
+
}
|
28
32
|
}
|
29
33
|
return this;
|
30
34
|
}
|
package/src/utils/domains.ts
CHANGED
@@ -32,8 +32,8 @@ type DomainOverrides = {
|
|
32
32
|
};
|
33
33
|
|
34
34
|
export const DEFAULT_RPC_URL = "rpc.thirdweb.com";
|
35
|
-
const DEFAULT_IN_APP_WALLET_URL = "embedded-wallet.thirdweb.com";
|
36
35
|
const DEFAULT_SOCIAL_URL = "social.thirdweb.com";
|
36
|
+
const DEFAULT_IN_APP_WALLET_URL = "embedded-wallet.thirdweb.com";
|
37
37
|
const DEFAULT_PAY_URL = "pay.thirdweb.com";
|
38
38
|
const DEFAULT_STORAGE_URL = "storage.thirdweb.com";
|
39
39
|
const DEFAULT_BUNDLER_URL = "bundler.thirdweb.com";
|
package/src/utils/ipfs.ts
CHANGED
@@ -107,7 +107,9 @@ export async function uploadOrExtractURIs<
|
|
107
107
|
* @throws If the batch contains URIs with different base URIs or if no base URI is found.
|
108
108
|
* @internal
|
109
109
|
*/
|
110
|
-
export function getBaseUriFromBatch(uris: string[]): string {
|
110
|
+
export function getBaseUriFromBatch(uris: string | string[]): string {
|
111
|
+
// biome-ignore lint/style/noParameterAssign: lemme do my stuff
|
112
|
+
uris = Array.isArray(uris) ? uris : [uris];
|
111
113
|
const [base, ...rest] = uris.map((uri) => {
|
112
114
|
// remove query parameters
|
113
115
|
// biome-ignore lint/style/noParameterAssign: lemme do my stuff
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.
|
1
|
+
export const version = "5.54.0-nightly-c3800d6c0765a9a0b69ac0a4a390d20cec932419-20240912000413";
|
@@ -3,6 +3,7 @@ import { eth_getTransactionReceipt } from "../../../../rpc/actions/eth_getTransa
|
|
3
3
|
import { getRpcClient } from "../../../../rpc/rpc.js";
|
4
4
|
import { sendAndConfirmTransaction } from "../../../../transaction/actions/send-and-confirm-transaction.js";
|
5
5
|
import { sendBatchTransaction } from "../../../../transaction/actions/send-batch-transaction.js";
|
6
|
+
import { LruMap } from "../../../../utils/caching/lru.js";
|
6
7
|
import type { Hex } from "../../../../utils/encoding/hex.js";
|
7
8
|
import { randomBytesHex } from "../../../../utils/random.js";
|
8
9
|
import type { PreparedSendCall } from "../../../eip5792/send-calls.js";
|
@@ -13,19 +14,7 @@ import type {
|
|
13
14
|
} from "../../../eip5792/types.js";
|
14
15
|
import type { Account, Wallet } from "../../../interfaces/wallet.js";
|
15
16
|
|
16
|
-
const bundlesToTransactions = new
|
17
|
-
const MAX_BUNDLE_ENTRIES = 1000;
|
18
|
-
|
19
|
-
/**
|
20
|
-
* @internal
|
21
|
-
*/
|
22
|
-
function setBundleId(bundleId: Hex, hashes: Hex[]) {
|
23
|
-
if (bundlesToTransactions.size >= MAX_BUNDLE_ENTRIES) {
|
24
|
-
const lru = bundlesToTransactions.keys().next().value;
|
25
|
-
bundlesToTransactions.delete(lru);
|
26
|
-
}
|
27
|
-
bundlesToTransactions.set(bundleId, hashes);
|
28
|
-
}
|
17
|
+
const bundlesToTransactions = new LruMap<Hex[]>(1000);
|
29
18
|
|
30
19
|
/**
|
31
20
|
* @internal
|
@@ -45,7 +34,7 @@ export async function inAppWalletSendCalls(args: {
|
|
45
34
|
transactions: calls,
|
46
35
|
});
|
47
36
|
hashes.push(receipt.transactionHash);
|
48
|
-
|
37
|
+
bundlesToTransactions.set(bundleId, hashes);
|
49
38
|
} else {
|
50
39
|
for (const tx of calls) {
|
51
40
|
const receipt = await sendAndConfirmTransaction({
|
@@ -109,6 +109,7 @@ export class InAppNativeConnector implements InAppConnector {
|
|
109
109
|
case "google":
|
110
110
|
case "facebook":
|
111
111
|
case "discord":
|
112
|
+
case "line":
|
112
113
|
case "apple": {
|
113
114
|
const ExpoLinking = require("expo-linking");
|
114
115
|
const redirectUrl =
|
@@ -144,6 +145,7 @@ export class InAppNativeConnector implements InAppConnector {
|
|
144
145
|
case "google":
|
145
146
|
case "facebook":
|
146
147
|
case "discord":
|
148
|
+
case "line":
|
147
149
|
case "farcaster":
|
148
150
|
case "telegram":
|
149
151
|
case "apple": {
|
@@ -14,6 +14,8 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
|
14
14
|
* - Apple
|
15
15
|
* - Facebook
|
16
16
|
* - Discord
|
17
|
+
* - Telegram
|
18
|
+
* - LINE
|
17
19
|
* - Farcaster
|
18
20
|
*
|
19
21
|
* Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
|
@@ -215,6 +215,7 @@ export class InAppWebConnector implements InAppConnector {
|
|
215
215
|
case "google":
|
216
216
|
case "telegram":
|
217
217
|
case "farcaster":
|
218
|
+
case "line":
|
218
219
|
case "discord": {
|
219
220
|
return loginWithOauth({
|
220
221
|
authOption: strategy,
|
@@ -275,6 +276,7 @@ export class InAppWebConnector implements InAppConnector {
|
|
275
276
|
case "google":
|
276
277
|
case "farcaster":
|
277
278
|
case "telegram":
|
279
|
+
case "line":
|
278
280
|
case "discord": {
|
279
281
|
const authToken = await this.authenticate(args);
|
280
282
|
return this.auth.loginWithAuthToken(authToken);
|