thirdweb 5.101.1-nightly-5277eddb70b3cf7b3dccbb4570c677f49b8dc854-20250524000345 → 5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403
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/extensions/erc721/drops/write/updateMetadata.js +18 -4
- package/dist/cjs/extensions/erc721/drops/write/updateMetadata.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/core/actions/get-enclave-user-status.js +0 -1
- package/dist/cjs/wallets/in-app/core/actions/get-enclave-user-status.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/guest.js +4 -2
- package/dist/cjs/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/updateMetadata.js +18 -4
- package/dist/esm/extensions/erc721/drops/write/updateMetadata.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/core/actions/get-enclave-user-status.js +0 -1
- package/dist/esm/wallets/in-app/core/actions/get-enclave-user-status.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/guest.js +4 -2
- package/dist/esm/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/types/extensions/erc721/drops/write/updateMetadata.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/actions/get-enclave-user-status.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/guest.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/extensions/erc721/drops/write/updateMetadata.test.ts +43 -0
- package/src/extensions/erc721/drops/write/updateMetadata.ts +23 -10
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/actions/get-enclave-user-status.ts +0 -1
- package/src/wallets/in-app/core/authentication/guest.ts +6 -1
- package/src/wallets/in-app/core/eip7702/minimal-account.test.ts +43 -0
@@ -31,10 +31,24 @@ async function getUpdateMetadataParams(options) {
|
|
31
31
|
startTokenId = endTokenId;
|
32
32
|
}
|
33
33
|
const range = Array.from({ length: Number(endTokenId - startTokenId) }, (_, k) => BigInt(k) + startTokenId);
|
34
|
-
const
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
const BATCH_SIZE = 50;
|
35
|
+
const currentMetadatas = [];
|
36
|
+
for (let i = 0; i < range.length; i += BATCH_SIZE) {
|
37
|
+
const chunk = range.slice(i, i + BATCH_SIZE);
|
38
|
+
const chunkResults = await Promise.all(chunk.map((id) => GetNFT.getNFT({
|
39
|
+
contract,
|
40
|
+
tokenId: id,
|
41
|
+
includeOwner: false,
|
42
|
+
useIndexer: false,
|
43
|
+
})));
|
44
|
+
currentMetadatas.push(...chunkResults);
|
45
|
+
if (i + BATCH_SIZE < range.length) {
|
46
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
47
|
+
}
|
48
|
+
// Abort if any of the items failed to load
|
49
|
+
if (currentMetadatas.some((item) => item === undefined || !item.tokenURI)) {
|
50
|
+
throw new Error(`Failed to load all ${range.length} items from batchIndex: ${batchIndex}`);
|
51
|
+
}
|
38
52
|
}
|
39
53
|
const newMetadatas = [];
|
40
54
|
for (let i = 0; i < currentMetadatas.length; i++) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateMetadata.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"updateMetadata.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.version = void 0;
|
4
|
-
exports.version = "5.101.
|
4
|
+
exports.version = "5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403";
|
5
5
|
//# sourceMappingURL=version.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-enclave-user-status.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":";;AAWA,
|
1
|
+
{"version":3,"file":"get-enclave-user-status.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":";;AAWA,sCA6BC;AAvCD,6DAAkE;AAClE,yDAA4D;AAI5D;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,SAAS,GAKV;IACC,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,IAAA,+BAAkB,EAAC,aAAa,CAAC,0BAA0B,EAC9D;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,gCAAgC,SAAS,EAAE;SAC3D;KACF,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9C,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAC;AAC/C,CAAC"}
|
@@ -36,8 +36,10 @@ async function guestAuthenticate(args) {
|
|
36
36
|
sessionId,
|
37
37
|
}),
|
38
38
|
});
|
39
|
-
if (!res.ok)
|
40
|
-
|
39
|
+
if (!res.ok) {
|
40
|
+
const error = await res.text();
|
41
|
+
throw new Error(`Failed to generate guest account: ${res.status} ${res.statusText} ${error}`);
|
42
|
+
}
|
41
43
|
return (await res.json());
|
42
44
|
}
|
43
45
|
//# sourceMappingURL=guest.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":";;AAcA,
|
1
|
+
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":";;AAcA,8CAyCC;AAtDD,yDAA4D;AAC5D,uDAAsD;AACtD,2DAA6D;AAG7D,yEAAiE;AACjE,uDAAwD;AAGxD;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAIvC;IACC,MAAM,OAAO,GAAG,IAAI,8CAAmB,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,qCAAmB,EAAC;QAC/B,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAA,mBAAS,EAAC;YACd,SAAS;SACV,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+C,CAAC;AAC1E,CAAC"}
|
@@ -27,10 +27,24 @@ async function getUpdateMetadataParams(options) {
|
|
27
27
|
startTokenId = endTokenId;
|
28
28
|
}
|
29
29
|
const range = Array.from({ length: Number(endTokenId - startTokenId) }, (_, k) => BigInt(k) + startTokenId);
|
30
|
-
const
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
const BATCH_SIZE = 50;
|
31
|
+
const currentMetadatas = [];
|
32
|
+
for (let i = 0; i < range.length; i += BATCH_SIZE) {
|
33
|
+
const chunk = range.slice(i, i + BATCH_SIZE);
|
34
|
+
const chunkResults = await Promise.all(chunk.map((id) => GetNFT.getNFT({
|
35
|
+
contract,
|
36
|
+
tokenId: id,
|
37
|
+
includeOwner: false,
|
38
|
+
useIndexer: false,
|
39
|
+
})));
|
40
|
+
currentMetadatas.push(...chunkResults);
|
41
|
+
if (i + BATCH_SIZE < range.length) {
|
42
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
43
|
+
}
|
44
|
+
// Abort if any of the items failed to load
|
45
|
+
if (currentMetadatas.some((item) => item === undefined || !item.tokenURI)) {
|
46
|
+
throw new Error(`Failed to load all ${range.length} items from batchIndex: ${batchIndex}`);
|
47
|
+
}
|
34
48
|
}
|
35
49
|
const newMetadatas = [];
|
36
50
|
for (let i = 0; i < currentMetadatas.length; i++) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateMetadata.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,4DAA4D,CAAC;AAC3F,OAAO,KAAK,YAAY,MAAM,gEAAgE,CAAC;AAC/F,OAAO,KAAK,YAAY,MAAM,kEAAkE,CAAC;AACjG,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAU/C;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,OAAqD;IAErD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QACzC,UAAU,GAAG,CAAC,CAAC;QACf,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC;YAChD,QAAQ;YACR,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QACH,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM;QACR,CAAC;QACD,YAAY,GAAG,UAAU,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,EAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CACnC,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,
|
1
|
+
{"version":3,"file":"updateMetadata.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.101.
|
1
|
+
export const version = "5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403";
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -11,7 +11,6 @@ export async function getUserStatus({ authToken, client, ecosystem, }) {
|
|
11
11
|
method: "GET",
|
12
12
|
headers: {
|
13
13
|
"Content-Type": "application/json",
|
14
|
-
"x-thirdweb-client-id": client.clientId,
|
15
14
|
Authorization: `Bearer embedded-wallet-token:${authToken}`,
|
16
15
|
},
|
17
16
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-enclave-user-status.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,SAAS,GAKV;IACC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,kBAAkB,CAAC,aAAa,CAAC,0BAA0B,EAC9D;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,
|
1
|
+
{"version":3,"file":"get-enclave-user-status.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,SAAS,GAKV;IACC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,kBAAkB,CAAC,aAAa,CAAC,0BAA0B,EAC9D;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,gCAAgC,SAAS,EAAE;SAC3D;KACF,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9C,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAC;AAC/C,CAAC"}
|
@@ -33,8 +33,10 @@ export async function guestAuthenticate(args) {
|
|
33
33
|
sessionId,
|
34
34
|
}),
|
35
35
|
});
|
36
|
-
if (!res.ok)
|
37
|
-
|
36
|
+
if (!res.ok) {
|
37
|
+
const error = await res.text();
|
38
|
+
throw new Error(`Failed to generate guest account: ${res.status} ${res.statusText} ${error}`);
|
39
|
+
}
|
38
40
|
return (await res.json());
|
39
41
|
}
|
40
42
|
//# sourceMappingURL=guest.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAIvC;IACC,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,SAAS,CAAC;YACd,SAAS;SACV,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAIvC;IACC,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,IAAI,EAAE,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,SAAS,CAAC;YACd,SAAS;SACV,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+C,CAAC;AAC1E,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateMetadata.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAO,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMvE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;CACvB,CAAC;
|
1
|
+
{"version":3,"file":"updateMetadata.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/erc721/drops/write/updateMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAO,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMvE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;CACvB,CAAC;AA6FF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,wMAOtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAOrE"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.101.
|
1
|
+
export declare const version = "5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-enclave-user-status.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,
|
1
|
+
{"version":3,"file":"get-enclave-user-status.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/actions/get-enclave-user-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBtB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,mCAAmC,CAAC,
|
1
|
+
{"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/guest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAqC/C"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.101.
|
3
|
+
"version": "5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -251,8 +251,8 @@
|
|
251
251
|
"uqr": "0.1.2",
|
252
252
|
"viem": "2.28.1",
|
253
253
|
"zod": "3.25.24",
|
254
|
-
"@thirdweb-dev/engine": "3.0.
|
255
|
-
"@thirdweb-dev/insight": "1.0.
|
254
|
+
"@thirdweb-dev/engine": "3.0.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403",
|
255
|
+
"@thirdweb-dev/insight": "1.0.1-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403"
|
256
256
|
},
|
257
257
|
"peerDependencies": {
|
258
258
|
"@aws-sdk/client-lambda": "^3",
|
@@ -80,4 +80,47 @@ describe.runIf(process.env.TW_SECRET_KEY)("updateMetadata ERC721", () => {
|
|
80
80
|
"No base URI set. Please set a base URI before updating metadata",
|
81
81
|
);
|
82
82
|
});
|
83
|
+
|
84
|
+
it(
|
85
|
+
"should handle very large batch",
|
86
|
+
{
|
87
|
+
timeout: 600000,
|
88
|
+
},
|
89
|
+
async () => {
|
90
|
+
const address = await deployERC721Contract({
|
91
|
+
client,
|
92
|
+
chain,
|
93
|
+
account,
|
94
|
+
type: "DropERC721",
|
95
|
+
params: {
|
96
|
+
name: "NFT Drop",
|
97
|
+
contractURI: TEST_CONTRACT_URI,
|
98
|
+
},
|
99
|
+
});
|
100
|
+
const contract = getContract({
|
101
|
+
address,
|
102
|
+
client,
|
103
|
+
chain,
|
104
|
+
});
|
105
|
+
const lazyMintTx = lazyMint({
|
106
|
+
contract,
|
107
|
+
nfts: Array.from({ length: 1000 }, (_, i) => ({
|
108
|
+
name: `token ${i}`,
|
109
|
+
})),
|
110
|
+
});
|
111
|
+
await sendAndConfirmTransaction({ transaction: lazyMintTx, account });
|
112
|
+
const updateTx = updateMetadata({
|
113
|
+
contract,
|
114
|
+
targetTokenId: 1n,
|
115
|
+
newMetadata: { name: "token 1 - updated" },
|
116
|
+
});
|
117
|
+
await sendAndConfirmTransaction({ transaction: updateTx, account });
|
118
|
+
const nfts = await getNFTs({ contract });
|
119
|
+
|
120
|
+
expect(nfts.length).toBe(100); // first page
|
121
|
+
expect(nfts[0]?.metadata.name).toBe("token 0");
|
122
|
+
expect(nfts[1]?.metadata.name).toBe("token 1 - updated");
|
123
|
+
expect(nfts[2]?.metadata.name).toBe("token 2");
|
124
|
+
},
|
125
|
+
);
|
83
126
|
});
|
@@ -48,17 +48,30 @@ async function getUpdateMetadataParams(
|
|
48
48
|
(_, k) => BigInt(k) + startTokenId,
|
49
49
|
);
|
50
50
|
|
51
|
-
const
|
52
|
-
|
53
|
-
|
54
|
-
)
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
51
|
+
const BATCH_SIZE = 50;
|
52
|
+
const currentMetadatas = [];
|
53
|
+
for (let i = 0; i < range.length; i += BATCH_SIZE) {
|
54
|
+
const chunk = range.slice(i, i + BATCH_SIZE);
|
55
|
+
const chunkResults = await Promise.all(
|
56
|
+
chunk.map((id) =>
|
57
|
+
GetNFT.getNFT({
|
58
|
+
contract,
|
59
|
+
tokenId: id,
|
60
|
+
includeOwner: false,
|
61
|
+
useIndexer: false,
|
62
|
+
}),
|
63
|
+
),
|
61
64
|
);
|
65
|
+
currentMetadatas.push(...chunkResults);
|
66
|
+
if (i + BATCH_SIZE < range.length) {
|
67
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
68
|
+
}
|
69
|
+
// Abort if any of the items failed to load
|
70
|
+
if (currentMetadatas.some((item) => item === undefined || !item.tokenURI)) {
|
71
|
+
throw new Error(
|
72
|
+
`Failed to load all ${range.length} items from batchIndex: ${batchIndex}`,
|
73
|
+
);
|
74
|
+
}
|
62
75
|
}
|
63
76
|
|
64
77
|
const newMetadatas: NFTInput[] = [];
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.101.
|
1
|
+
export const version = "5.101.2-nightly-ec7bc2bb1e58f1a45d01eec0f308bc0f86479050-20250527000403";
|
@@ -45,7 +45,12 @@ export async function guestAuthenticate(args: {
|
|
45
45
|
}),
|
46
46
|
});
|
47
47
|
|
48
|
-
if (!res.ok)
|
48
|
+
if (!res.ok) {
|
49
|
+
const error = await res.text();
|
50
|
+
throw new Error(
|
51
|
+
`Failed to generate guest account: ${res.status} ${res.statusText} ${error}`,
|
52
|
+
);
|
53
|
+
}
|
49
54
|
|
50
55
|
return (await res.json()) satisfies AuthStoredTokenWithCookieReturnType;
|
51
56
|
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
2
|
+
import { TEST_CLIENT } from "../../../../../test/src/test-clients.js";
|
3
|
+
import { baseSepolia } from "../../../../chains/chain-definitions/base-sepolia.js";
|
4
|
+
import { sendBatchTransaction } from "../../../../transaction/actions/send-batch-transaction.js";
|
5
|
+
import { prepareTransaction } from "../../../../transaction/prepare-transaction.js";
|
6
|
+
import { generateAccount } from "../../../utils/generateAccount.js";
|
7
|
+
import { inAppWallet } from "../../web/in-app.js";
|
8
|
+
|
9
|
+
const client = TEST_CLIENT;
|
10
|
+
const chain = baseSepolia;
|
11
|
+
|
12
|
+
describe.runIf(process.env.TW_SECRET_KEY)("7702 Minimal Account", () => {
|
13
|
+
it("should batch transactions", async () => {
|
14
|
+
const iaw = inAppWallet({
|
15
|
+
executionMode: {
|
16
|
+
mode: "EIP7702",
|
17
|
+
sponsorGas: true,
|
18
|
+
},
|
19
|
+
});
|
20
|
+
const account = await iaw.connect({
|
21
|
+
client,
|
22
|
+
strategy: "guest",
|
23
|
+
chain,
|
24
|
+
});
|
25
|
+
const tx1 = prepareTransaction({
|
26
|
+
client,
|
27
|
+
chain,
|
28
|
+
to: (await generateAccount({ client })).address,
|
29
|
+
value: 0n,
|
30
|
+
});
|
31
|
+
const tx2 = prepareTransaction({
|
32
|
+
client,
|
33
|
+
chain,
|
34
|
+
to: (await generateAccount({ client })).address,
|
35
|
+
value: 0n,
|
36
|
+
});
|
37
|
+
const result = await sendBatchTransaction({
|
38
|
+
account,
|
39
|
+
transactions: [tx1, tx2],
|
40
|
+
});
|
41
|
+
expect(result.transactionHash).toBeDefined();
|
42
|
+
});
|
43
|
+
});
|