thirdweb 5.53.1-nightly-865c5e3b16af70c3660f30ba8cffc5d6e360a389-20240911000352 → 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 +22 -7
- 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/deploys.js +7 -3
- package/dist/cjs/exports/deploys.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/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 +98 -28
- 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/social/useSocialProfiles.js +2 -0
- package/dist/cjs/react/core/social/useSocialProfiles.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/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/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 -2
- 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 -4
- package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.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/version.js +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/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 +22 -8
- 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/deploys.js +3 -1
- package/dist/esm/exports/deploys.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/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 +99 -28
- 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/social/useSocialProfiles.js +2 -0
- package/dist/esm/react/core/social/useSocialProfiles.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/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/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 -3
- 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 -4
- package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.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/version.js +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/types/analytics/track.d.ts +15 -0
- package/dist/types/analytics/track.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/exports/deploys.d.ts +3 -1
- package/dist/types/exports/deploys.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/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 +37 -6
- 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/social/useSocialProfiles.d.ts +2 -0
- package/dist/types/react/core/social/useSocialProfiles.d.ts.map +1 -1
- package/dist/types/react/native/ui/components/Address.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/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 -2
- 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/caching/lru.d.ts +4 -13
- package/dist/types/utils/caching/lru.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/eip5972/in-app-wallet-calls.d.ts.map +1 -1
- package/package.json +16 -21
- package/src/analytics/track.ts +29 -0
- package/src/chains/chain-definitions/polygon.ts +1 -1
- 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/utils/bootstrap.test.ts +3 -2
- package/src/contract/deployment/utils/bootstrap.ts +35 -11
- 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/exports/deploys.ts +12 -5
- 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/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 +161 -47
- 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/social/useSocialProfiles.ts +2 -0
- package/src/react/native/ui/components/Address.tsx +1 -3
- 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/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 -8
- package/src/utils/any-evm/compute-published-contract-deploy-info.ts +31 -11
- 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/version.ts +1 -1
- package/src/wallets/in-app/core/eip5972/in-app-wallet-calls.ts +3 -14
@@ -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();
|
@@ -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
|
/**
|
@@ -34,13 +32,24 @@ export async function computePublishedContractAddress(args: {
|
|
34
32
|
client: ThirdwebClient;
|
35
33
|
chain: Chain;
|
36
34
|
contractId: string;
|
37
|
-
constructorParams
|
35
|
+
constructorParams?: Record<string, unknown>;
|
38
36
|
publisher?: string;
|
39
37
|
version?: string;
|
40
38
|
salt?: string;
|
41
39
|
}): Promise<string> {
|
42
|
-
const
|
43
|
-
|
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
|
+
});
|
44
53
|
}
|
45
54
|
|
46
55
|
/**
|
@@ -50,7 +59,7 @@ export async function computeContractAddress(args: {
|
|
50
59
|
client: ThirdwebClient;
|
51
60
|
chain: Chain;
|
52
61
|
contractMetadata: FetchDeployMetadataResult;
|
53
|
-
constructorParams
|
62
|
+
constructorParams?: Record<string, unknown>;
|
54
63
|
salt?: string;
|
55
64
|
}): Promise<string> {
|
56
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,22 +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
|
-
|
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;
|
49
70
|
const create2FactoryAddress = await computeCreate2FactoryAddress({
|
50
71
|
client,
|
51
72
|
chain,
|
52
73
|
});
|
53
|
-
const bytecode =
|
54
|
-
const constructorAbi =
|
55
|
-
|
56
|
-
|
57
|
-
) as AbiConstructor) || [];
|
74
|
+
const bytecode = ensureBytecodePrefix(args.bytecode);
|
75
|
+
const constructorAbi = args.abi.find((abi) => abi.type === "constructor") as
|
76
|
+
| AbiConstructor
|
77
|
+
| undefined;
|
58
78
|
const encodedArgs = encodeAbiParameters(
|
59
|
-
constructorAbi
|
60
|
-
constructorParams,
|
79
|
+
constructorAbi?.inputs ?? [],
|
80
|
+
normalizeFunctionParams(constructorAbi, constructorParams),
|
61
81
|
);
|
62
82
|
const initBytecodeWithsalt = getInitBytecodeWithSalt({
|
63
83
|
bytecode,
|
@@ -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/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({
|