thirdweb 5.61.6 → 5.62.0
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/exports/extensions/erc1155.js +3 -1
- package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/mintToBatch.js +79 -0
- package/dist/cjs/extensions/erc1155/write/mintToBatch.js.map +1 -0
- package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +15 -4
- package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
- package/dist/cjs/react/native/ui/components/WalletImage.js +3 -2
- package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectModal.js +6 -6
- package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectedButton.js +2 -2
- package/dist/cjs/react/native/ui/connect/ConnectedButton.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js +3 -3
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ReceiveScreen.js +2 -2
- package/dist/cjs/react/native/ui/connect/ReceiveScreen.js.map +1 -1
- package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +8 -0
- package/dist/cjs/react/web/wallets/in-app/WalletAuth.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/OTPLoginUI.js +11 -16
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +7 -0
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js +9 -12
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/{web/lib → core}/actions/generate-wallet.enclave.js +2 -2
- package/dist/cjs/wallets/in-app/core/actions/generate-wallet.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/{web/lib → core}/actions/get-enclave-user-status.js +2 -2
- package/dist/cjs/wallets/in-app/core/actions/get-enclave-user-status.js.map +1 -0
- package/dist/cjs/wallets/in-app/{web/lib → core}/actions/sign-message.enclave.js +6 -5
- package/dist/cjs/wallets/in-app/core/actions/sign-message.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/{web/lib → core}/actions/sign-transaction.enclave.js +6 -5
- package/dist/cjs/wallets/in-app/core/actions/sign-transaction.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/{web/lib → core}/actions/sign-typed-data.enclave.js +6 -5
- package/dist/cjs/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/client-scoped-storage.js +9 -2
- package/dist/cjs/wallets/in-app/core/authentication/client-scoped-storage.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/guest.js +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js +4 -8
- package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/auth/passkeys.js +1 -1
- package/dist/cjs/wallets/in-app/native/auth/passkeys.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js +14 -0
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +3 -2
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/constants.js +2 -1
- package/dist/cjs/wallets/in-app/native/helpers/constants.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/wallet/migration.js +133 -0
- package/dist/cjs/wallets/in-app/native/helpers/wallet/migration.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js +2 -0
- package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +50 -28
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +2 -2
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +13 -13
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/InAppWalletIframeCommunicator.js +1 -1
- package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/InAppWalletIframeCommunicator.js.map +1 -1
- package/dist/esm/exports/extensions/erc1155.js +1 -0
- package/dist/esm/exports/extensions/erc1155.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/mintToBatch.js +76 -0
- package/dist/esm/extensions/erc1155/write/mintToBatch.js.map +1 -0
- package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +15 -4
- package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
- package/dist/esm/react/native/ui/components/WalletImage.js +3 -2
- package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectModal.js +6 -6
- package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectedButton.js +2 -2
- package/dist/esm/react/native/ui/connect/ConnectedButton.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectedModal.js +3 -3
- package/dist/esm/react/native/ui/connect/ConnectedModal.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ReceiveScreen.js +2 -2
- package/dist/esm/react/native/ui/connect/ReceiveScreen.js.map +1 -1
- package/dist/esm/react/web/wallets/in-app/WalletAuth.js +8 -0
- package/dist/esm/react/web/wallets/in-app/WalletAuth.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/OTPLoginUI.js +12 -17
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +7 -0
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js +9 -12
- package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/{web/lib → core}/actions/generate-wallet.enclave.js +2 -2
- package/dist/esm/wallets/in-app/core/actions/generate-wallet.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/{web/lib → core}/actions/get-enclave-user-status.js +2 -2
- package/dist/esm/wallets/in-app/core/actions/get-enclave-user-status.js.map +1 -0
- package/dist/esm/wallets/in-app/{web/lib → core}/actions/sign-message.enclave.js +6 -5
- package/dist/esm/wallets/in-app/core/actions/sign-message.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/{web/lib → core}/actions/sign-transaction.enclave.js +6 -5
- package/dist/esm/wallets/in-app/core/actions/sign-transaction.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/{web/lib → core}/actions/sign-typed-data.enclave.js +6 -5
- package/dist/esm/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/core/authentication/client-scoped-storage.js +9 -2
- package/dist/esm/wallets/in-app/core/authentication/client-scoped-storage.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/guest.js +1 -1
- package/dist/esm/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js +4 -8
- package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/native/auth/passkeys.js +1 -1
- package/dist/esm/wallets/in-app/native/auth/passkeys.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js +14 -0
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +3 -2
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/constants.js +1 -0
- package/dist/esm/wallets/in-app/native/helpers/constants.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/wallet/migration.js +130 -0
- package/dist/esm/wallets/in-app/native/helpers/wallet/migration.js.map +1 -0
- package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js +2 -2
- package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +50 -28
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +2 -2
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +13 -13
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/InAppWalletIframeCommunicator.js +1 -1
- package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/InAppWalletIframeCommunicator.js.map +1 -1
- package/dist/types/exports/extensions/erc1155.d.ts +1 -0
- package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/mintToBatch.d.ts +72 -0
- package/dist/types/extensions/erc1155/write/mintToBatch.d.ts.map +1 -0
- package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts.map +1 -1
- package/dist/types/react/native/ui/components/WalletImage.d.ts +2 -0
- package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectedButton.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectedModal.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ReceiveScreen.d.ts +2 -0
- package/dist/types/react/native/ui/connect/ReceiveScreen.d.ts.map +1 -1
- package/dist/types/react/web/wallets/in-app/WalletAuth.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/OTPLoginUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/actions/generate-wallet.enclave.d.ts +13 -0
- package/dist/types/wallets/in-app/core/actions/generate-wallet.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/actions/get-enclave-user-status.d.ts +14 -0
- package/dist/types/wallets/in-app/core/actions/get-enclave-user-status.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/actions/sign-message.enclave.d.ts +17 -0
- package/dist/types/wallets/in-app/core/actions/sign-message.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/actions/sign-transaction.enclave.d.ts +9 -0
- package/dist/types/wallets/in-app/core/actions/sign-transaction.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/{web/lib → core}/actions/sign-typed-data.enclave.d.ts +3 -5
- package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/authentication/client-scoped-storage.d.ts +4 -3
- package/dist/types/wallets/in-app/core/authentication/client-scoped-storage.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/enclave-wallet.d.ts +6 -7
- package/dist/types/wallets/in-app/core/wallet/enclave-wallet.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/constants.d.ts +1 -0
- package/dist/types/wallets/in-app/native/helpers/constants.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/migration.d.ts +17 -0
- package/dist/types/wallets/in-app/native/helpers/wallet/migration.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +27 -0
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/native-connector.d.ts +2 -2
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/package.json +32 -28
- package/src/exports/extensions/erc1155.ts +5 -0
- package/src/extensions/erc1155/read/getNFTs.test.ts +44 -0
- package/src/extensions/erc1155/write/lazyMint.test.ts +35 -0
- package/src/extensions/erc1155/write/mintAdditionalSupplyTo.test.ts +38 -0
- package/src/extensions/erc1155/write/mintTo.test.ts +43 -0
- package/src/extensions/erc1155/write/mintToBatch.test.ts +74 -0
- package/src/extensions/erc1155/write/mintToBatch.ts +117 -0
- package/src/extensions/erc20/read/isERC20.test.ts +1 -1
- package/src/extensions/erc20/write/transferBatch.test.ts +1 -1
- package/src/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.test.ts +75 -80
- package/src/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.ts +18 -4
- package/src/react/native/ui/components/WalletImage.tsx +5 -2
- package/src/react/native/ui/connect/ConnectModal.tsx +19 -2
- package/src/react/native/ui/connect/ConnectedButton.tsx +8 -2
- package/src/react/native/ui/connect/ConnectedModal.tsx +9 -2
- package/src/react/native/ui/connect/ReceiveScreen.tsx +5 -2
- package/src/react/web/wallets/in-app/WalletAuth.tsx +8 -0
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -0
- package/src/react/web/wallets/shared/OTPLoginUI.tsx +12 -18
- package/src/react/web/wallets/shared/PassKeyLogin.tsx +7 -0
- package/src/react/web/wallets/shared/SocialLogin.tsx +9 -12
- package/src/version.ts +1 -1
- package/src/wallets/in-app/{web/lib → core}/actions/generate-wallet.enclave.ts +6 -8
- package/src/wallets/in-app/{web/lib → core}/actions/get-enclave-user-status.ts +5 -5
- package/src/wallets/in-app/{web/lib → core}/actions/sign-message.enclave.ts +7 -9
- package/src/wallets/in-app/{web/lib → core}/actions/sign-transaction.enclave.ts +8 -10
- package/src/wallets/in-app/{web/lib → core}/actions/sign-typed-data.enclave.ts +7 -9
- package/src/wallets/in-app/core/authentication/client-scoped-storage.ts +6 -4
- package/src/wallets/in-app/core/authentication/guest.ts +1 -1
- package/src/wallets/in-app/core/wallet/enclave-wallet.ts +11 -17
- package/src/wallets/in-app/native/auth/passkeys.ts +1 -1
- package/src/wallets/in-app/native/helpers/api/fetchers.ts +14 -0
- package/src/wallets/in-app/native/helpers/auth/middleware.ts +3 -2
- package/src/wallets/in-app/native/helpers/constants.ts +2 -0
- package/src/wallets/in-app/native/helpers/wallet/migration.ts +185 -0
- package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +2 -2
- package/src/wallets/in-app/native/native-connector.ts +62 -28
- package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +2 -2
- package/src/wallets/in-app/web/lib/auth/passkeys.ts +1 -1
- package/src/wallets/in-app/web/lib/web-connector.ts +13 -13
- package/src/wallets/in-app/web/utils/iFrameCommunication/InAppWalletIframeCommunicator.ts +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +0 -1
- package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts +0 -15
- package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +0 -14
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +0 -19
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +0 -11
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +0 -1
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
2
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
3
|
+
import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/types.js";
|
4
|
+
import type { UserWallet } from "../../../core/wallet/enclave-wallet.js";
|
5
|
+
/**
|
6
|
+
* Migrate a sharded wallet to an enclave wallet.
|
7
|
+
*
|
8
|
+
* @param args - The arguments for the migration process.
|
9
|
+
* @returns The migrated user wallet.
|
10
|
+
*/
|
11
|
+
export declare function migrateToEnclaveWallet(args: {
|
12
|
+
client: ThirdwebClient;
|
13
|
+
storage: ClientScopedStorage;
|
14
|
+
storedToken: AuthStoredTokenWithCookieReturnType["storedToken"];
|
15
|
+
encryptionKey?: string;
|
16
|
+
}): Promise<UserWallet>;
|
17
|
+
//# sourceMappingURL=migration.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/native/helpers/wallet/migration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAStE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAUzE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,WAAW,EAAE,mCAAmC,CAAC,aAAa,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoHtB"}
|
@@ -10,6 +10,33 @@ export declare function getExistingUserAccount(args: {
|
|
10
10
|
client: ThirdwebClient;
|
11
11
|
storage: ClientScopedStorage;
|
12
12
|
}): Promise<Account>;
|
13
|
+
export declare function getWalletPrivateKeyFromShares(shares: string[]): Promise<string>;
|
14
|
+
/**
|
15
|
+
*
|
16
|
+
* @param deviceShare - retrieves the current share associated with the user's device.
|
17
|
+
* @returns The requested shares
|
18
|
+
* @throws if attempting to get deviceShare when it's not present
|
19
|
+
*/
|
20
|
+
export declare function getShares<A extends boolean, D extends boolean, R extends boolean>({ client, authShare, deviceShare, recoveryShare, storage, }: {
|
21
|
+
client: ThirdwebClient;
|
22
|
+
authShare: {
|
23
|
+
toRetrieve: A;
|
24
|
+
};
|
25
|
+
recoveryShare: R extends true ? {
|
26
|
+
toRetrieve: R;
|
27
|
+
recoveryCode: string;
|
28
|
+
} : {
|
29
|
+
toRetrieve: R;
|
30
|
+
};
|
31
|
+
deviceShare: {
|
32
|
+
toRetrieve: D;
|
33
|
+
};
|
34
|
+
storage: ClientScopedStorage;
|
35
|
+
}): Promise<{
|
36
|
+
authShare: A extends true ? string : undefined;
|
37
|
+
recoveryShare: R extends true ? string : undefined;
|
38
|
+
deviceShare: D extends true ? string : undefined;
|
39
|
+
}>;
|
13
40
|
export declare function setUpShareForNewDevice({ recoveryCode, client, storage, }: {
|
14
41
|
recoveryCode: string;
|
15
42
|
client: ThirdwebClient;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/native/helpers/wallet/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAWtF;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,oBAaA;
|
1
|
+
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/native/helpers/wallet/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAWtF;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,oBAaA;AAED,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,mBAYnE;AA4BD;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,EACA,MAAM,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE;QAAE,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC;IAC7B,aAAa,EAAE,CAAC,SAAS,IAAI,GACzB;QACE,UAAU,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACtB,GACD;QACE,UAAU,EAAE,CAAC,CAAC;KACf,CAAC;IACN,WAAW,EAAE;QAAE,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC;IAC/B,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC;IACV,SAAS,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,WAAW,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;CAClD,CAAC,CA6ED;AAUD,wBAAsB,sBAAsB,CAAC,EAC3C,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8BpC"}
|
@@ -11,11 +11,11 @@ type NativeConnectorOptions = {
|
|
11
11
|
export declare class InAppNativeConnector implements InAppConnector {
|
12
12
|
private client;
|
13
13
|
private ecosystem?;
|
14
|
+
private storage;
|
14
15
|
private passkeyDomain?;
|
15
|
-
private localStorage;
|
16
16
|
private wallet?;
|
17
17
|
constructor(options: NativeConnectorOptions);
|
18
|
-
initializeWallet(
|
18
|
+
initializeWallet(authResult?: AuthStoredTokenWithCookieReturnType, encryptionKey?: string): Promise<void>;
|
19
19
|
getUser(): Promise<GetUser>;
|
20
20
|
getAccount(): Promise<Account>;
|
21
21
|
preAuthenticate(args: MultiStepAuthProviderType): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"native-connector.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/native/native-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAe1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,OAAO,EAAE,sBAAsB;IAWrC,gBAAgB,CACpB,UAAU,CAAC,EAAE,mCAAmC,EAChD,aAAa,CAAC,EAAE,MAAM;IAiElB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mCAAmC,CAAC;IAwDzC,OAAO,CACX,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,GACrD,OAAO,CAAC,mBAAmB,CAAC;YA+BjB,WAAW;IAgEnB,mBAAmB;IAOzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO7B,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"iframe-auth.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/iframe-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
1
|
+
{"version":3,"file":"iframe-auth.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/iframe-auth.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;
|
1
|
+
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAa7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IA4FvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAwCzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CAAC,UAAU,EAAE,mCAAmC;IAIxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IAwE/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAiDzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;IAgCnB,WAAW,CAAC,IAAI,EAAE,YAAY;IAU9B,WAAW;CAOlB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.62.0",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -203,22 +203,22 @@
|
|
203
203
|
"@emotion/react": "11.13.3",
|
204
204
|
"@emotion/styled": "11.13.0",
|
205
205
|
"@google/model-viewer": "2.1.1",
|
206
|
-
"@noble/curves": "1.
|
207
|
-
"@noble/hashes": "1.
|
206
|
+
"@noble/curves": "1.6.0",
|
207
|
+
"@noble/hashes": "1.5.0",
|
208
208
|
"@passwordless-id/webauthn": "^1.6.1",
|
209
|
-
"@radix-ui/react-dialog": "1.1.
|
209
|
+
"@radix-ui/react-dialog": "1.1.2",
|
210
210
|
"@radix-ui/react-focus-scope": "1.1.0",
|
211
211
|
"@radix-ui/react-icons": "1.3.0",
|
212
|
-
"@radix-ui/react-tooltip": "1.1.
|
213
|
-
"@tanstack/react-query": "5.
|
214
|
-
"@walletconnect/ethereum-provider": "2.
|
215
|
-
"@walletconnect/sign-client": "2.
|
216
|
-
"abitype": "1.0.
|
212
|
+
"@radix-ui/react-tooltip": "1.1.3",
|
213
|
+
"@tanstack/react-query": "5.59.13",
|
214
|
+
"@walletconnect/ethereum-provider": "2.17.1",
|
215
|
+
"@walletconnect/sign-client": "2.17.1",
|
216
|
+
"abitype": "1.0.6",
|
217
217
|
"fuse.js": "7.0.0",
|
218
218
|
"input-otp": "^1.2.4",
|
219
219
|
"mipd": "0.0.7",
|
220
220
|
"uqr": "0.1.2",
|
221
|
-
"viem": "2.21.
|
221
|
+
"viem": "2.21.25"
|
222
222
|
},
|
223
223
|
"peerDependencies": {
|
224
224
|
"@aws-sdk/client-lambda": "^3",
|
@@ -270,6 +270,9 @@
|
|
270
270
|
"@aws-sdk/client-lambda": {
|
271
271
|
"optional": true
|
272
272
|
},
|
273
|
+
"@aws-sdk/client-kms": {
|
274
|
+
"optional": true
|
275
|
+
},
|
273
276
|
"@aws-sdk/credential-providers": {
|
274
277
|
"optional": true
|
275
278
|
},
|
@@ -287,31 +290,32 @@
|
|
287
290
|
"node": ">=18"
|
288
291
|
},
|
289
292
|
"devDependencies": {
|
290
|
-
"@aws-sdk/client-
|
291
|
-
"@aws-sdk/
|
292
|
-
"@
|
293
|
+
"@aws-sdk/client-kms": "3.670.0",
|
294
|
+
"@aws-sdk/client-lambda": "3.670.0",
|
295
|
+
"@aws-sdk/credential-providers": "3.670.0",
|
296
|
+
"@biomejs/biome": "1.9.3",
|
293
297
|
"@chromatic-com/storybook": "2.0.2",
|
294
298
|
"@codspeed/vitest-plugin": "3.1.1",
|
295
299
|
"@coinbase/wallet-mobile-sdk": "1.1.2",
|
296
300
|
"@mobile-wallet-protocol/client": "0.0.3",
|
297
301
|
"@react-native-async-storage/async-storage": "1.24.0",
|
298
302
|
"@size-limit/preset-big-lib": "11.1.6",
|
299
|
-
"@storybook/addon-essentials": "8.3.
|
303
|
+
"@storybook/addon-essentials": "8.3.5",
|
300
304
|
"@storybook/addon-interactions": "8.3.5",
|
301
|
-
"@storybook/addon-links": "8.3.
|
302
|
-
"@storybook/addon-onboarding": "8.3.
|
303
|
-
"@storybook/react": "8.3.
|
304
|
-
"@storybook/react-vite": "8.3.
|
305
|
+
"@storybook/addon-links": "8.3.5",
|
306
|
+
"@storybook/addon-onboarding": "8.3.5",
|
307
|
+
"@storybook/react": "8.3.5",
|
308
|
+
"@storybook/react-vite": "8.3.5",
|
305
309
|
"@storybook/test": "8.3.5",
|
306
310
|
"@testing-library/jest-dom": "^6.4.7",
|
307
311
|
"@testing-library/react": "^16.0.0",
|
308
312
|
"@testing-library/user-event": "^14.5.2",
|
309
313
|
"@types/cross-spawn": "^6.0.6",
|
310
|
-
"@types/react": "^18.3.
|
314
|
+
"@types/react": "^18.3.11",
|
311
315
|
"@viem/anvil": "0.0.10",
|
312
316
|
"@vitejs/plugin-react": "^4.3.2",
|
313
|
-
"@vitest/coverage-v8": "2.1.
|
314
|
-
"@vitest/ui": "2.1.
|
317
|
+
"@vitest/coverage-v8": "2.1.3",
|
318
|
+
"@vitest/ui": "2.1.3",
|
315
319
|
"cross-spawn": "7.0.3",
|
316
320
|
"dotenv-mono": "^1.3.14",
|
317
321
|
"ethers5": "npm:ethers@5",
|
@@ -319,8 +323,8 @@
|
|
319
323
|
"expo-linking": "6.3.1",
|
320
324
|
"expo-web-browser": "13.0.3",
|
321
325
|
"happy-dom": "^15.7.4",
|
322
|
-
"knip": "^5.
|
323
|
-
"msw": "^2.4.
|
326
|
+
"knip": "^5.33.3",
|
327
|
+
"msw": "^2.4.11",
|
324
328
|
"prettier": "^3.3.2",
|
325
329
|
"react": "18.3.1",
|
326
330
|
"react-native": "0.75.3",
|
@@ -331,11 +335,11 @@
|
|
331
335
|
"rimraf": "6.0.1",
|
332
336
|
"sharp": "^0.33.5",
|
333
337
|
"size-limit": "11.1.6",
|
334
|
-
"storybook": "8.3.
|
335
|
-
"typedoc": "0.26.
|
336
|
-
"typescript": "5.6.
|
337
|
-
"vite": "5.4.
|
338
|
-
"vitest": "2.1.
|
338
|
+
"storybook": "8.3.5",
|
339
|
+
"typedoc": "0.26.9",
|
340
|
+
"typescript": "5.6.3",
|
341
|
+
"vite": "5.4.9",
|
342
|
+
"vitest": "2.1.3"
|
339
343
|
},
|
340
344
|
"scripts": {
|
341
345
|
"bench:compare": "bun run ./benchmarks/run.ts",
|
@@ -198,3 +198,8 @@ export {
|
|
198
198
|
|
199
199
|
// Zora 1155 contract
|
200
200
|
export { nextTokenId } from "../../extensions/erc1155/__generated__/Zora1155/read/nextTokenId.js";
|
201
|
+
|
202
|
+
export {
|
203
|
+
mintToBatch,
|
204
|
+
type MintToBatchParams,
|
205
|
+
} from "../../extensions/erc1155/write/mintToBatch.js";
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { type Abi, toFunctionSelector } from "viem";
|
2
|
+
import { describe, expect, it } from "vitest";
|
3
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
4
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
5
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
6
|
+
import { DROP1155_CONTRACT } from "~test/test-contracts.js";
|
7
|
+
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
8
|
+
import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js";
|
9
|
+
import { getContract } from "../../../contract/contract.js";
|
10
|
+
import { deployERC1155Contract } from "../../../extensions/prebuilts/deploy-erc1155.js";
|
11
|
+
import { isGetNFTsSupported } from "./getNFTs.js";
|
12
|
+
|
13
|
+
describe.runIf(process.env.TW_SECRET_KEY)("ERC1155 getNFTs", () => {
|
14
|
+
it("isGetNFTsSupported should work with our Edition Drop contracts", async () => {
|
15
|
+
const abi = await resolveContractAbi<Abi>(DROP1155_CONTRACT);
|
16
|
+
const selectors = abi
|
17
|
+
.filter((f) => f.type === "function")
|
18
|
+
.map((f) => toFunctionSelector(f));
|
19
|
+
expect(isGetNFTsSupported(selectors)).toBe(true);
|
20
|
+
});
|
21
|
+
|
22
|
+
it("isGetNFTsSupported should work with our Edition contracts", async () => {
|
23
|
+
const contract = getContract({
|
24
|
+
address: await deployERC1155Contract({
|
25
|
+
chain: ANVIL_CHAIN,
|
26
|
+
client: TEST_CLIENT,
|
27
|
+
params: {
|
28
|
+
name: "",
|
29
|
+
contractURI: TEST_CONTRACT_URI,
|
30
|
+
},
|
31
|
+
type: "TokenERC1155",
|
32
|
+
account: TEST_ACCOUNT_C,
|
33
|
+
}),
|
34
|
+
chain: ANVIL_CHAIN,
|
35
|
+
client: TEST_CLIENT,
|
36
|
+
});
|
37
|
+
|
38
|
+
const abi = await resolveContractAbi<Abi>(contract);
|
39
|
+
const selectors = abi
|
40
|
+
.filter((f) => f.type === "function")
|
41
|
+
.map((f) => toFunctionSelector(f));
|
42
|
+
expect(isGetNFTsSupported(selectors)).toBe(true);
|
43
|
+
});
|
44
|
+
});
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { type Abi, toFunctionSelector } from "viem";
|
2
|
+
import { describe, expect, it } from "vitest";
|
3
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
4
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
5
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
6
|
+
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
7
|
+
import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js";
|
8
|
+
import { getContract } from "../../../contract/contract.js";
|
9
|
+
import { deployERC1155Contract } from "../../../extensions/prebuilts/deploy-erc1155.js";
|
10
|
+
import { isLazyMintSupported } from "./lazyMint.js";
|
11
|
+
|
12
|
+
describe.runIf(process.env.TW_SECRET_KEY)("erc1155: lazyMint", () => {
|
13
|
+
it("`isLazyMintSupported` should work with our Edition Drop contracts", async () => {
|
14
|
+
const contract = getContract({
|
15
|
+
address: await deployERC1155Contract({
|
16
|
+
chain: ANVIL_CHAIN,
|
17
|
+
client: TEST_CLIENT,
|
18
|
+
params: {
|
19
|
+
name: "",
|
20
|
+
contractURI: TEST_CONTRACT_URI,
|
21
|
+
},
|
22
|
+
type: "DropERC1155",
|
23
|
+
account: TEST_ACCOUNT_C,
|
24
|
+
}),
|
25
|
+
chain: ANVIL_CHAIN,
|
26
|
+
client: TEST_CLIENT,
|
27
|
+
});
|
28
|
+
|
29
|
+
const abi = await resolveContractAbi<Abi>(contract);
|
30
|
+
const selectors = abi
|
31
|
+
.filter((f) => f.type === "function")
|
32
|
+
.map((f) => toFunctionSelector(f));
|
33
|
+
expect(isLazyMintSupported(selectors)).toBe(true);
|
34
|
+
});
|
35
|
+
});
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { type Abi, toFunctionSelector } from "viem";
|
2
|
+
import { describe, expect, it } from "vitest";
|
3
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
4
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
5
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
6
|
+
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
7
|
+
import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js";
|
8
|
+
import { getContract } from "../../../contract/contract.js";
|
9
|
+
import { deployERC1155Contract } from "../../../extensions/prebuilts/deploy-erc1155.js";
|
10
|
+
import { isMintAdditionalSupplyToSupported } from "./mintAdditionalSupplyTo.js";
|
11
|
+
|
12
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
13
|
+
"erc1155: mintAdditionalSupplyTo",
|
14
|
+
() => {
|
15
|
+
it("`isMintAdditionalSupplyToSupported` should work with our Edition contracts", async () => {
|
16
|
+
const contract = getContract({
|
17
|
+
address: await deployERC1155Contract({
|
18
|
+
chain: ANVIL_CHAIN,
|
19
|
+
client: TEST_CLIENT,
|
20
|
+
params: {
|
21
|
+
name: "",
|
22
|
+
contractURI: TEST_CONTRACT_URI,
|
23
|
+
},
|
24
|
+
type: "TokenERC1155",
|
25
|
+
account: TEST_ACCOUNT_C,
|
26
|
+
}),
|
27
|
+
chain: ANVIL_CHAIN,
|
28
|
+
client: TEST_CLIENT,
|
29
|
+
});
|
30
|
+
|
31
|
+
const abi = await resolveContractAbi<Abi>(contract);
|
32
|
+
const selectors = abi
|
33
|
+
.filter((f) => f.type === "function")
|
34
|
+
.map((f) => toFunctionSelector(f));
|
35
|
+
expect(isMintAdditionalSupplyToSupported(selectors)).toBe(true);
|
36
|
+
});
|
37
|
+
},
|
38
|
+
);
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import {} from "viem";
|
2
|
+
import { describe, expect, it } from "vitest";
|
3
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
4
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
5
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
6
|
+
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
7
|
+
import { getContract } from "../../../contract/contract.js";
|
8
|
+
import { deployERC1155Contract } from "../../../extensions/prebuilts/deploy-erc1155.js";
|
9
|
+
import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
|
10
|
+
import { uri } from "../__generated__/IERC1155/read/uri.js";
|
11
|
+
import { mintTo } from "./mintTo.js";
|
12
|
+
|
13
|
+
describe.runIf(process.env.TW_SECRET_KEY)("erc1155: mintTo", () => {
|
14
|
+
it("should mint with `nft` being declared as a string", async () => {
|
15
|
+
const contract = getContract({
|
16
|
+
address: await deployERC1155Contract({
|
17
|
+
chain: ANVIL_CHAIN,
|
18
|
+
client: TEST_CLIENT,
|
19
|
+
params: {
|
20
|
+
name: "",
|
21
|
+
contractURI: TEST_CONTRACT_URI,
|
22
|
+
},
|
23
|
+
type: "TokenERC1155",
|
24
|
+
account: TEST_ACCOUNT_C,
|
25
|
+
}),
|
26
|
+
chain: ANVIL_CHAIN,
|
27
|
+
client: TEST_CLIENT,
|
28
|
+
});
|
29
|
+
|
30
|
+
await sendAndConfirmTransaction({
|
31
|
+
transaction: mintTo({
|
32
|
+
contract,
|
33
|
+
nft: TEST_CONTRACT_URI,
|
34
|
+
to: TEST_ACCOUNT_C.address,
|
35
|
+
supply: 1n,
|
36
|
+
}),
|
37
|
+
account: TEST_ACCOUNT_C,
|
38
|
+
});
|
39
|
+
|
40
|
+
const tokenUri = await uri({ contract, tokenId: 0n });
|
41
|
+
expect(tokenUri).toBe(TEST_CONTRACT_URI);
|
42
|
+
});
|
43
|
+
});
|
@@ -0,0 +1,74 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { ANVIL_CHAIN } from "~test/chains.js";
|
3
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
4
|
+
import { TEST_CLIENT } from "~test/test-clients.js";
|
5
|
+
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
6
|
+
import { getContract } from "../../../contract/contract.js";
|
7
|
+
import { deployERC1155Contract } from "../../../extensions/prebuilts/deploy-erc1155.js";
|
8
|
+
import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
|
9
|
+
import { getNFTs } from "../read/getNFTs.js";
|
10
|
+
import { mintToBatch } from "./mintToBatch.js";
|
11
|
+
|
12
|
+
const chain = ANVIL_CHAIN;
|
13
|
+
const client = TEST_CLIENT;
|
14
|
+
const account = TEST_ACCOUNT_C;
|
15
|
+
|
16
|
+
describe("ERC1155 Edition: mintToBatch", () => {
|
17
|
+
it("should mint multiple tokens in one tx", async () => {
|
18
|
+
const contract = getContract({
|
19
|
+
chain,
|
20
|
+
client,
|
21
|
+
address: await deployERC1155Contract({
|
22
|
+
chain,
|
23
|
+
client,
|
24
|
+
account,
|
25
|
+
type: "TokenERC1155",
|
26
|
+
params: {
|
27
|
+
name: "edition",
|
28
|
+
contractURI: TEST_CONTRACT_URI,
|
29
|
+
},
|
30
|
+
}),
|
31
|
+
});
|
32
|
+
|
33
|
+
await sendAndConfirmTransaction({
|
34
|
+
account,
|
35
|
+
transaction: mintToBatch({
|
36
|
+
contract,
|
37
|
+
to: account.address,
|
38
|
+
nfts: [
|
39
|
+
{ metadata: { name: "token 0" }, supply: 1n },
|
40
|
+
{ metadata: { name: "token 1" }, supply: 2n },
|
41
|
+
{ metadata: { name: "token 2" }, supply: 3n },
|
42
|
+
],
|
43
|
+
}),
|
44
|
+
});
|
45
|
+
|
46
|
+
const nfts = await getNFTs({ contract });
|
47
|
+
expect(nfts).toStrictEqual([
|
48
|
+
{
|
49
|
+
metadata: { name: "token 0" },
|
50
|
+
owner: null,
|
51
|
+
id: 0n,
|
52
|
+
tokenURI: "ipfs://QmPZ6LpGqMuFbHKTXrNW1NRNLHf1nrxS4dtoFqdZZTKvPX/0",
|
53
|
+
type: "ERC1155",
|
54
|
+
supply: 1n,
|
55
|
+
},
|
56
|
+
{
|
57
|
+
metadata: { name: "token 1" },
|
58
|
+
owner: null,
|
59
|
+
id: 1n,
|
60
|
+
tokenURI: "ipfs://QmRFPyc3yEYxR4pQxwyTQWTine51TxWCoD6nzJWR3eX45b/0",
|
61
|
+
type: "ERC1155",
|
62
|
+
supply: 2n,
|
63
|
+
},
|
64
|
+
{
|
65
|
+
metadata: { name: "token 2" },
|
66
|
+
owner: null,
|
67
|
+
id: 2n,
|
68
|
+
tokenURI: "ipfs://QmesQiRLHCgqWZM2GFCs7Nb7rr2S72hU1BVQc7xiTyKZtT/0",
|
69
|
+
type: "ERC1155",
|
70
|
+
supply: 3n,
|
71
|
+
},
|
72
|
+
]);
|
73
|
+
});
|
74
|
+
});
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import { maxUint256 } from "viem";
|
2
|
+
import { multicall } from "../../../extensions/common/__generated__/IMulticall/write/multicall.js";
|
3
|
+
import { upload } from "../../../storage/upload.js";
|
4
|
+
import type {
|
5
|
+
BaseTransactionOptions,
|
6
|
+
WithOverrides,
|
7
|
+
} from "../../../transaction/types.js";
|
8
|
+
import type { NFTInput } from "../../../utils/nft/parseNft.js";
|
9
|
+
import { encodeMintTo } from "../__generated__/IMintableERC1155/write/mintTo.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @extension ERC1155
|
13
|
+
*/
|
14
|
+
export type MintToBatchParams = WithOverrides<{
|
15
|
+
/**
|
16
|
+
* The wallet that the NFTs will be minted to
|
17
|
+
*/
|
18
|
+
to: string;
|
19
|
+
/**
|
20
|
+
* An array of NFT metadata & supply to mint
|
21
|
+
* @example
|
22
|
+
* ```ts
|
23
|
+
* const nfts = [
|
24
|
+
* {
|
25
|
+
* metadata: { name: "token 0" },
|
26
|
+
* supply: 1n,
|
27
|
+
* },
|
28
|
+
* {
|
29
|
+
* metadata: { name: "token 1" },
|
30
|
+
* supply: 10n,
|
31
|
+
* },
|
32
|
+
* ]
|
33
|
+
* ```
|
34
|
+
*/
|
35
|
+
nfts: Array<{
|
36
|
+
supply: bigint;
|
37
|
+
metadata: NFTInput | string;
|
38
|
+
}>;
|
39
|
+
}>;
|
40
|
+
|
41
|
+
/**
|
42
|
+
* This extension batches multiple `mintTo` extensions into one single multicall.
|
43
|
+
* Keep in mind that there is a limit of how many NFTs you can mint per transaction.
|
44
|
+
* This limit varies depends on the network that you are transacting on.
|
45
|
+
*
|
46
|
+
* You are recommended to experiment with the number to figure out the best number for your chain of choice.
|
47
|
+
* @param options - the transaction options
|
48
|
+
* @returns A promise that resolves to the transaction result.
|
49
|
+
* @extension ERC1155
|
50
|
+
* @example
|
51
|
+
* ```ts
|
52
|
+
* import { mintBatchTo } from "thirdweb/extension/erc1155";
|
53
|
+
*
|
54
|
+
* const transaction = mintToBatch({
|
55
|
+
* contract: editionContract,
|
56
|
+
* to: "0x...",
|
57
|
+
* nfts: [
|
58
|
+
* {
|
59
|
+
* metadata: {
|
60
|
+
* name: "Token #0",
|
61
|
+
* image: "...",
|
62
|
+
* attributes: [],
|
63
|
+
* },
|
64
|
+
* supply: 100n,
|
65
|
+
* },
|
66
|
+
* {
|
67
|
+
* metadata: {
|
68
|
+
* name: "Token #1",
|
69
|
+
* image: "...",
|
70
|
+
* attributes: [],
|
71
|
+
* },
|
72
|
+
* supply: 111n,
|
73
|
+
* },
|
74
|
+
* ],
|
75
|
+
* });
|
76
|
+
*
|
77
|
+
* await sendTransaction({ transaction, account });
|
78
|
+
* ```
|
79
|
+
*/
|
80
|
+
export function mintToBatch(
|
81
|
+
options: BaseTransactionOptions<MintToBatchParams>,
|
82
|
+
) {
|
83
|
+
return multicall({
|
84
|
+
contract: options.contract,
|
85
|
+
asyncParams: async () => {
|
86
|
+
const uris = await Promise.all(
|
87
|
+
options.nfts.map((item) => {
|
88
|
+
if (typeof item.metadata === "string") {
|
89
|
+
return item.metadata;
|
90
|
+
}
|
91
|
+
return upload({
|
92
|
+
client: options.contract.client,
|
93
|
+
files: [item.metadata],
|
94
|
+
});
|
95
|
+
}),
|
96
|
+
);
|
97
|
+
|
98
|
+
const data = uris.map((uri, index) => {
|
99
|
+
const item = options.nfts[index];
|
100
|
+
if (!item) {
|
101
|
+
// Should not happen
|
102
|
+
throw new Error("Index mismatch");
|
103
|
+
}
|
104
|
+
return encodeMintTo({
|
105
|
+
to: options.to,
|
106
|
+
// maxUint256 is used to indicate that this is a NEW token!
|
107
|
+
tokenId: maxUint256,
|
108
|
+
uri,
|
109
|
+
amount: item.supply,
|
110
|
+
});
|
111
|
+
});
|
112
|
+
|
113
|
+
return { data };
|
114
|
+
},
|
115
|
+
overrides: options.overrides,
|
116
|
+
});
|
117
|
+
}
|
@@ -8,7 +8,7 @@ import {
|
|
8
8
|
import { resolveContractAbi } from "../../../contract/actions/resolve-abi.js";
|
9
9
|
import { isERC20 } from "./isERC20.js";
|
10
10
|
|
11
|
-
describe("isERC20", () => {
|
11
|
+
describe.runIf(process.env.TW_SECRET_KEY)("isERC20", () => {
|
12
12
|
it("should detect USDT as a valid erc20 contract", async () => {
|
13
13
|
const abi = await resolveContractAbi<Abi>(USDT_CONTRACT);
|
14
14
|
const selectors = abi
|
@@ -19,7 +19,7 @@ const chain = ANVIL_CHAIN;
|
|
19
19
|
const client = TEST_CLIENT;
|
20
20
|
const account = TEST_ACCOUNT_A;
|
21
21
|
|
22
|
-
describe("erc20: transferBatch", () => {
|
22
|
+
describe.runIf(process.env.TW_SECRET_KEY)("erc20: transferBatch", () => {
|
23
23
|
it("should transfer tokens to multiple recipients", async () => {
|
24
24
|
const address = await deployERC20Contract({
|
25
25
|
type: "TokenERC20",
|