thirdweb 5.61.7-nightly-da9f1964e4ae74ed5d33666788e2d16e4d56614d-20241015000333 → 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/version.js.map +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/version.js.map +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/version.d.ts.map +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 +5 -1
- package/src/exports/extensions/erc1155.ts +5 -0
- package/src/extensions/erc1155/write/mintToBatch.test.ts +74 -0
- package/src/extensions/erc1155/write/mintToBatch.ts +117 -0
- 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
@@ -1,18 +1,19 @@
|
|
1
1
|
import type { AsyncStorage } from "../../../../utils/storage/AsyncStorage.js";
|
2
|
-
import type {
|
2
|
+
import type { Ecosystem } from "../wallet/types.js";
|
3
3
|
/**
|
4
4
|
* @internal
|
5
5
|
*/
|
6
6
|
export declare class ClientScopedStorage {
|
7
7
|
protected key: string;
|
8
8
|
protected storage: AsyncStorage | null;
|
9
|
+
ecosystem?: Ecosystem;
|
9
10
|
/**
|
10
11
|
* @internal
|
11
12
|
*/
|
12
|
-
constructor({ storage, clientId,
|
13
|
+
constructor({ storage, clientId, ecosystem, }: {
|
13
14
|
storage: AsyncStorage | null;
|
14
15
|
clientId: string;
|
15
|
-
|
16
|
+
ecosystem?: Ecosystem;
|
16
17
|
});
|
17
18
|
protected getItem(key: string): Promise<string | null>;
|
18
19
|
protected setItem(key: string, value: string): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client-scoped-storage.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/client-scoped-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;
|
1
|
+
{"version":3,"file":"client-scoped-storage.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/client-scoped-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAS9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B;;OAEG;gBACS,EACV,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE;QACD,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB;cAMe,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAO5C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOlD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzD;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxD;;OAEG;IACG,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAItD;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAG7C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1C;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAO9C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ3C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAG/C;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGrD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAGjD;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
|
@@ -22,15 +22,14 @@ export type UserStatus = {
|
|
22
22
|
[key: string]: string;
|
23
23
|
};
|
24
24
|
}[];
|
25
|
-
wallets: [
|
26
|
-
{
|
27
|
-
address: string;
|
28
|
-
createdAt: string;
|
29
|
-
type: "sharded" | "enclave";
|
30
|
-
}
|
31
|
-
] | [];
|
25
|
+
wallets: UserWallet[];
|
32
26
|
id: string;
|
33
27
|
};
|
28
|
+
export type UserWallet = {
|
29
|
+
address: string;
|
30
|
+
createdAt: string;
|
31
|
+
type: "sharded" | "enclave";
|
32
|
+
};
|
34
33
|
export declare class EnclaveWallet implements IWebWallet {
|
35
34
|
private client;
|
36
35
|
private ecosystem?;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"enclave-wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/enclave-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAMnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EACV,OAAO,EAER,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAEV,yBAAyB,EACzB,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EACH;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACxC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACxC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GAC1C;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KAC3C,EAAE,CAAC;IACJ,OAAO,
|
1
|
+
{"version":3,"file":"enclave-wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/enclave-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAMnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EACV,OAAO,EAER,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAEV,yBAAyB,EACzB,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EACH;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACxC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACxC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GAC1C;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KAC3C,EAAE,CAAC;IACJ,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAsB;gBAE9B,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,GACR,EAAE,QAAQ,CAAC;QACV,MAAM,EAAE,cAAc,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,mBAAmB,CAAC;KAC9B,CAAC;IAOF;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IA2C7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAyGrC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fetchers.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/native/helpers/api/fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;
|
1
|
+
{"version":3,"file":"fetchers.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/native/helpers/api/fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAgBhF,wBAAgB,iBAAiB;;;EAQhC;AAED,eAAO,MAAM,cAAc,WAAkB,cAAc;;EAiB1D,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgDpB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB9B;AAED,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,aAAa,EACb,4BAA4B,EAC5B,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B,CAAC,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,EAAE,OAAO,CAAC;KAC5B,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,iBA2BA;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC;CAC9B;gBAuBiB,MAAM;mCACa,MAAM,EAAE;GAO5C;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,gBAkBA"}
|
@@ -8,6 +8,7 @@ export declare const THIRDWEB_SESSION_NONCE_HEADER = "x-session-nonce";
|
|
8
8
|
export declare const COGNITO_IDENTITY_POOL_ID = "us-west-2:2ad7ab1e-f48b-48a6-adfa-ac1090689c26";
|
9
9
|
export declare const GENERATE_RECOVERY_PASSWORD_LAMBDA_FUNCTION_V1 = "arn:aws:lambda:us-west-2:324457261097:function:recovery-share-password-GenerateRecoverySharePassw-bbE5ZbVAToil";
|
10
10
|
export declare const GENERATE_RECOVERY_PASSWORD_LAMBDA_FUNCTION_V2 = "arn:aws:lambda:us-west-2:324457261097:function:lambda-thirdweb-auth-enc-key-prod-ThirdwebAuthEncKeyFunction";
|
11
|
+
export declare const ENCLAVE_KMS_KEY_ARN = "arn:aws:kms:us-west-2:324457261097:key/8b2a8cd5-9b22-4ea0-a6bc-463824a78f20";
|
11
12
|
export declare const ROUTE_EMBEDDED_WALLET_DETAILS: string;
|
12
13
|
export declare const ROUTE_COGNITO_IDENTITY_POOL_URL = "cognito-idp.us-west-2.amazonaws.com/us-west-2_UFwLcZIpq";
|
13
14
|
export declare const ROUTE_STORE_USER_SHARES: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/native/helpers/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAGlD,eAAO,MAAM,kBAAkB,QAAsB,CAAC;AACtD,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AACpE,eAAO,MAAM,4BAA4B,kDACQ,CAAC;AAGlD,eAAO,MAAM,oBAAoB,QAAwB,CAAC;AAE1D,eAAO,MAAM,UAAU,cAAc,CAAC;AAEtC,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,mDACa,CAAC;AACnD,eAAO,MAAM,6CAA6C,mHACwD,CAAC;AACnH,eAAO,MAAM,6CAA6C,gHACqD,CAAC;
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/native/helpers/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAGlD,eAAO,MAAM,kBAAkB,QAAsB,CAAC;AACtD,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AACpE,eAAO,MAAM,4BAA4B,kDACQ,CAAC;AAGlD,eAAO,MAAM,oBAAoB,QAAwB,CAAC;AAE1D,eAAO,MAAM,UAAU,cAAc,CAAC;AAEtC,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,mDACa,CAAC;AACnD,eAAO,MAAM,6CAA6C,mHACwD,CAAC;AACnH,eAAO,MAAM,6CAA6C,gHACqD,CAAC;AAChH,eAAO,MAAM,mBAAmB,gFAC+C,CAAC;AAQhF,eAAO,MAAM,6BAA6B,QAAmF,CAAC;AAC9H,eAAO,MAAM,+BAA+B,4DAAoE,CAAC;AAEjH,eAAO,MAAM,uBAAuB,QAA6E,CAAC;AAClH,eAAO,MAAM,qBAAqB,QAA6E,CAAC;AAChH,eAAO,MAAM,+BAA+B,QAAgF,CAAC;AAC7H,eAAO,MAAM,uBAAuB,QAA0E,CAAC;AAC/G,eAAO,MAAM,4BAA4B,QAAoF,CAAC;AAE9H,eAAO,MAAM,8BAA8B,QAAuE,CAAC;AACnH,eAAO,MAAM,8BAA8B,QAA+D,CAAC"}
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,2BAA2B,EAAE;QAC3B,WAAW,EAAE,mCAAmC,CAAC,aAAa,CAAC,CAAC;QAChE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,yBAAyB,EAAE;QACzB,WAAW,EAAE,mCAAmC,CAAC,aAAa,CAAC,CAAC;KACjE,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,qBAAa,IAAI;IACf,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IACvE,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC5C,SAAS,CAAC,aAAa,EAAE,CACvB,WAAW,EAAE,0BAA0B,KACpC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,OAAO,CAAC,SAAS,CAAY;IAE7B;;;OAGG;gBACS,EACV,MAAM,EACN,OAAO,EACP,aAAa,EACb,SAAS,EACT,OAAO,EACP,YAAY,GACb,EAAE,uBAAuB,GAAG;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,aAAa,EAAE,CACb,WAAW,EAAE,0BAA0B,KACpC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAClC,YAAY,EAAE,mBAAmB,CAAC;KACnC;YAqBa,QAAQ;YAIR,SAAS;IAcjB,kBAAkB,CACtB,SAAS,EAAE,mCAAmC,EAC9C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC;IAgD/B;;;;;;;;;;;;;;OAcG;IACG,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAG9C,qBAAqB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAIlE;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CACnB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO,CAAC,mBAAmB,CAAC;IAGzB,sBAAsB,CAC1B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,0BAA0B,CAAC;IAItC;;OAEG;IACG,kBAAkB,CACtB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAGzB,yBAAyB,CAC7B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,0BAA0B,CAAC;IAItC;;OAEG;IACG,2BAA2B,CAC/B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,mBAAmB,CAAC;IAGzB,kCAAkC,CACtC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,OAAO,CAAC,0BAA0B,CAAC;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,iBAAiB,CAAC,EACtB,KAAK,GACN,EAAE,UAAU,CACX,SAAS,CAAC,mBAAmB,CAAC,CAC/B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMtC;;OAEG;IACG,eAAe,CAAC,EACpB,WAAW,GACZ,EAAE,UAAU,CACX,SAAS,CAAC,iBAAiB,CAAC,CAC7B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMtC;;;;;;;;OAQG;IACG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAIrE,wBAAwB,CAC5B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;IAK5D;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAIjE,sBAAsB,CAC1B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IAK1D;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAe1C"}
|
@@ -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"
|
@@ -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,6 +290,7 @@
|
|
287
290
|
"node": ">=18"
|
288
291
|
},
|
289
292
|
"devDependencies": {
|
293
|
+
"@aws-sdk/client-kms": "3.670.0",
|
290
294
|
"@aws-sdk/client-lambda": "3.670.0",
|
291
295
|
"@aws-sdk/credential-providers": "3.670.0",
|
292
296
|
"@biomejs/biome": "1.9.3",
|
@@ -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,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
|
+
}
|
@@ -1,97 +1,92 @@
|
|
1
|
-
import {
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
3
|
+
import { TEST_ACCOUNT_D } from "~test/test-wallets.js";
|
2
4
|
import { ANVIL_CHAIN } from "../../../../../test/src/chains.js";
|
3
5
|
import { TEST_CLIENT } from "../../../../../test/src/test-clients.js";
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
} from "
|
8
|
-
import type { Hex } from "../../../../utils/encoding/hex.js";
|
6
|
+
import { getContract } from "../../../../contract/contract.js";
|
7
|
+
import { deployERC721Contract } from "../../../../extensions/prebuilts/deploy-erc721.js";
|
8
|
+
import { sendAndConfirmTransaction } from "../../../../transaction/actions/send-and-confirm-transaction.js";
|
9
|
+
import { getNFT } from "../../read/getNFT.js";
|
9
10
|
import { createDelayedRevealBatch } from "./createDelayedRevealBatch.js";
|
11
|
+
import { reveal } from "./reveal.js";
|
10
12
|
|
11
|
-
const
|
12
|
-
getBaseUriFromBatch: vi.fn(),
|
13
|
-
getBaseURICount: vi.fn(),
|
14
|
-
encryptDecrypt: vi.fn(),
|
15
|
-
lazyMint: vi.fn(),
|
16
|
-
upload: vi.fn(),
|
17
|
-
}));
|
18
|
-
|
19
|
-
vi.mock("../../../../utils/ipfs.js", () => ({
|
20
|
-
getBaseUriFromBatch: mocks.getBaseUriFromBatch,
|
21
|
-
}));
|
22
|
-
|
23
|
-
vi.mock(
|
24
|
-
"../../__generated__/IBatchMintMetadata/read/getBaseURICount.js",
|
25
|
-
() => ({
|
26
|
-
getBaseURICount: mocks.getBaseURICount,
|
27
|
-
}),
|
28
|
-
);
|
29
|
-
|
30
|
-
vi.mock("../../__generated__/IDelayedReveal/read/encryptDecrypt.js", () => ({
|
31
|
-
encryptDecrypt: mocks.encryptDecrypt,
|
32
|
-
}));
|
33
|
-
|
34
|
-
vi.mock("../../../../storage/upload.js", () => ({
|
35
|
-
upload: mocks.upload,
|
36
|
-
}));
|
37
|
-
|
38
|
-
const placeholderNFT = {
|
13
|
+
const placeholderMetadata = {
|
39
14
|
name: "Hidden NFT",
|
40
15
|
description: "Will be revealed next week!",
|
41
16
|
};
|
17
|
+
const account = TEST_ACCOUNT_D;
|
18
|
+
const chain = ANVIL_CHAIN;
|
19
|
+
const client = TEST_CLIENT;
|
20
|
+
const password = "1234";
|
42
21
|
|
43
|
-
|
44
|
-
{
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
22
|
+
describe.runIf(process.env.TW_SECRET_KEY)("createDelayedRevealedBatch", () => {
|
23
|
+
it("should create delayed-reveal batches properly", async () => {
|
24
|
+
const contract = getContract({
|
25
|
+
address: await deployERC721Contract({
|
26
|
+
account,
|
27
|
+
chain,
|
28
|
+
client,
|
29
|
+
type: "DropERC721",
|
30
|
+
params: {
|
31
|
+
name: "nftdrop",
|
32
|
+
contractURI: TEST_CONTRACT_URI,
|
33
|
+
},
|
34
|
+
}),
|
35
|
+
chain,
|
36
|
+
client,
|
37
|
+
});
|
53
38
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
39
|
+
// Create batch #0
|
40
|
+
await sendAndConfirmTransaction({
|
41
|
+
account,
|
42
|
+
transaction: createDelayedRevealBatch({
|
43
|
+
contract,
|
44
|
+
placeholderMetadata,
|
45
|
+
password: "1234",
|
46
|
+
metadata: [{ name: "token 0" }, { name: "token 1" }],
|
47
|
+
}),
|
62
48
|
});
|
63
|
-
});
|
64
49
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
"0x8967ae24bd1c6439791bc1c8ca3b3499537283b71af366693792a707eb99e80bc0058c90c1f92f18ec716e4760fdf9279241d442b5b5",
|
76
|
-
);
|
50
|
+
// Create batch #1
|
51
|
+
await sendAndConfirmTransaction({
|
52
|
+
account,
|
53
|
+
transaction: createDelayedRevealBatch({
|
54
|
+
contract,
|
55
|
+
placeholderMetadata,
|
56
|
+
password,
|
57
|
+
metadata: [{ name: "token 2" }, { name: "token 3" }],
|
58
|
+
}),
|
59
|
+
});
|
77
60
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
61
|
+
// Reveal batch #0
|
62
|
+
await sendAndConfirmTransaction({
|
63
|
+
account,
|
64
|
+
transaction: reveal({ contract, batchId: 0n, password }),
|
65
|
+
});
|
66
|
+
// Reveal batch #1
|
67
|
+
await sendAndConfirmTransaction({
|
68
|
+
account,
|
69
|
+
transaction: reveal({ contract, batchId: 1n, password }),
|
83
70
|
});
|
84
71
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
72
|
+
/**
|
73
|
+
* The token URIs of batch 0 should end with "/0" and "/1"
|
74
|
+
* while the token URIs of batch 1 should end with "/2" and "/3"
|
75
|
+
*/
|
76
|
+
const [token0, token1, token2, token3] = await Promise.all([
|
77
|
+
getNFT({ contract, tokenId: 0n }),
|
78
|
+
getNFT({ contract, tokenId: 1n }),
|
79
|
+
getNFT({ contract, tokenId: 2n }),
|
80
|
+
getNFT({ contract, tokenId: 3n }),
|
81
|
+
]);
|
91
82
|
|
92
|
-
expect(
|
93
|
-
|
94
|
-
);
|
95
|
-
expect(
|
83
|
+
expect(token0.tokenURI.endsWith("/0")).toBe(true);
|
84
|
+
expect(token0.metadata.name).toBe("token 0");
|
85
|
+
expect(token1.tokenURI.endsWith("/1")).toBe(true);
|
86
|
+
expect(token1.metadata.name).toBe("token 1");
|
87
|
+
expect(token2.tokenURI.endsWith("/2")).toBe(true);
|
88
|
+
expect(token2.metadata.name).toBe("token 2");
|
89
|
+
expect(token3.tokenURI.endsWith("/3")).toBe(true);
|
90
|
+
expect(token3.metadata.name).toBe("token 3");
|
96
91
|
});
|
97
92
|
});
|