thirdweb 5.101.2 → 5.102.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/engine/create-server-wallet.js +46 -0
- package/dist/cjs/engine/create-server-wallet.js.map +1 -0
- package/dist/cjs/engine/get-status.js +0 -54
- package/dist/cjs/engine/get-status.js.map +1 -1
- package/dist/cjs/engine/index.js +9 -2
- package/dist/cjs/engine/index.js.map +1 -1
- package/dist/cjs/engine/list-server-wallets.js +40 -0
- package/dist/cjs/engine/list-server-wallets.js.map +1 -0
- package/dist/cjs/engine/search-transactions.js +115 -0
- package/dist/cjs/engine/search-transactions.js.map +1 -0
- package/dist/cjs/engine/server-wallet.js +97 -17
- package/dist/cjs/engine/server-wallet.js.map +1 -1
- package/dist/cjs/engine/wait-for-tx-hash.js +59 -0
- package/dist/cjs/engine/wait-for-tx-hash.js.map +1 -0
- package/dist/cjs/insight/get-nfts.js +6 -1
- package/dist/cjs/insight/get-nfts.js.map +1 -1
- package/dist/cjs/utils/fetch.js +1 -0
- package/dist/cjs/utils/fetch.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/engine/create-server-wallet.js +43 -0
- package/dist/esm/engine/create-server-wallet.js.map +1 -0
- package/dist/esm/engine/get-status.js +0 -53
- package/dist/esm/engine/get-status.js.map +1 -1
- package/dist/esm/engine/index.js +5 -1
- package/dist/esm/engine/index.js.map +1 -1
- package/dist/esm/engine/list-server-wallets.js +37 -0
- package/dist/esm/engine/list-server-wallets.js.map +1 -0
- package/dist/esm/engine/search-transactions.js +112 -0
- package/dist/esm/engine/search-transactions.js.map +1 -0
- package/dist/esm/engine/server-wallet.js +96 -16
- package/dist/esm/engine/server-wallet.js.map +1 -1
- package/dist/esm/engine/wait-for-tx-hash.js +56 -0
- package/dist/esm/engine/wait-for-tx-hash.js.map +1 -0
- package/dist/esm/insight/get-nfts.js +6 -1
- package/dist/esm/insight/get-nfts.js.map +1 -1
- package/dist/esm/utils/fetch.js +1 -0
- package/dist/esm/utils/fetch.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/engine/create-server-wallet.d.ts +29 -0
- package/dist/types/engine/create-server-wallet.d.ts.map +1 -0
- package/dist/types/engine/get-status.d.ts +0 -23
- package/dist/types/engine/get-status.d.ts.map +1 -1
- package/dist/types/engine/index.d.ts +5 -1
- package/dist/types/engine/index.d.ts.map +1 -1
- package/dist/types/engine/list-server-wallets.d.ts +25 -0
- package/dist/types/engine/list-server-wallets.d.ts.map +1 -0
- package/dist/types/engine/search-transactions.d.ts +127 -0
- package/dist/types/engine/search-transactions.d.ts.map +1 -0
- package/dist/types/engine/server-wallet.d.ts +36 -0
- package/dist/types/engine/server-wallet.d.ts.map +1 -1
- package/dist/types/engine/wait-for-tx-hash.d.ts +25 -0
- package/dist/types/engine/wait-for-tx-hash.d.ts.map +1 -0
- package/dist/types/utils/fetch.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/bridge/Chains.test.ts +1 -1
- package/src/engine/create-server-wallet.ts +57 -0
- package/src/engine/get-status.ts +0 -69
- package/src/engine/index.ts +13 -1
- package/src/engine/list-server-wallets.ts +46 -0
- package/src/engine/search-transactions.ts +132 -0
- package/src/engine/server-wallet.test.ts +54 -0
- package/src/engine/server-wallet.ts +104 -17
- package/src/engine/wait-for-tx-hash.ts +75 -0
- package/src/extensions/erc1155/read/getOwnedNFTs.test.ts +25 -0
- package/src/extensions/erc20/drop20.test.ts +91 -1
- package/src/insight/get-nfts.ts +6 -1
- package/src/utils/fetch.ts +1 -0
- package/src/version.ts +1 -1
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createServerWallet = createServerWallet;
|
4
|
+
const engine_1 = require("@thirdweb-dev/engine");
|
5
|
+
const viem_1 = require("viem");
|
6
|
+
const domains_js_1 = require("../utils/domains.js");
|
7
|
+
const fetch_js_1 = require("../utils/fetch.js");
|
8
|
+
/**
|
9
|
+
* Create a server wallet.
|
10
|
+
* @param params - The parameters for the server wallet.
|
11
|
+
* @param params.client - The thirdweb client to use.
|
12
|
+
* @param params.label - The label for the server wallet.
|
13
|
+
* @returns The server wallet signer address and the predicted smart account address.
|
14
|
+
* @engine
|
15
|
+
* @example
|
16
|
+
* ```ts
|
17
|
+
* import { Engine } from "thirdweb";
|
18
|
+
*
|
19
|
+
* const serverWallet = await Engine.createServerWallet({
|
20
|
+
* client,
|
21
|
+
* label: "My Server Wallet",
|
22
|
+
* });
|
23
|
+
* console.log(serverWallet.address);
|
24
|
+
* console.log(serverWallet.smartAccountAddress);
|
25
|
+
* ```
|
26
|
+
*/
|
27
|
+
async function createServerWallet(params) {
|
28
|
+
const { client, label } = params;
|
29
|
+
const result = await (0, engine_1.createAccount)({
|
30
|
+
baseUrl: (0, domains_js_1.getThirdwebBaseUrl)("engineCloud"),
|
31
|
+
bodySerializer: viem_1.stringify,
|
32
|
+
fetch: (0, fetch_js_1.getClientFetch)(client),
|
33
|
+
body: {
|
34
|
+
label,
|
35
|
+
},
|
36
|
+
});
|
37
|
+
if (result.error) {
|
38
|
+
throw new Error(`Error creating server wallet with label ${label}: ${(0, viem_1.stringify)(result.error)}`);
|
39
|
+
}
|
40
|
+
const data = result.data?.result;
|
41
|
+
if (!data) {
|
42
|
+
throw new Error(`No server wallet created with label ${label}`);
|
43
|
+
}
|
44
|
+
return data;
|
45
|
+
}
|
46
|
+
//# sourceMappingURL=create-server-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-server-wallet.js","sourceRoot":"","sources":["../../../src/engine/create-server-wallet.ts"],"names":[],"mappings":";;AA8BA,gDA0BC;AAxDD,iDAAqD;AACrD,+BAAiC;AAEjC,oDAAyD;AACzD,gDAAmD;AAOnD;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,kBAAkB,CAAC,MAA8B;IACrE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAa,EAAC;QACjC,OAAO,EAAE,IAAA,+BAAkB,EAAC,aAAa,CAAC;QAC1C,cAAc,EAAE,gBAAS;QACzB,KAAK,EAAE,IAAA,yBAAc,EAAC,MAAM,CAAC;QAC7B,IAAI,EAAE;YACJ,KAAK;SACN;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,2CAA2C,KAAK,KAAK,IAAA,gBAAS,EAC5D,MAAM,CAAC,KAAK,CACb,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAEjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.getTransactionStatus = getTransactionStatus;
|
4
|
-
exports.waitForTransactionHash = waitForTransactionHash;
|
5
4
|
const engine_1 = require("@thirdweb-dev/engine");
|
6
5
|
const utils_js_1 = require("../chains/utils.js");
|
7
6
|
const domains_js_1 = require("../utils/domains.js");
|
@@ -58,57 +57,4 @@ async function getTransactionStatus(args) {
|
|
58
57
|
id: data.id,
|
59
58
|
};
|
60
59
|
}
|
61
|
-
/**
|
62
|
-
* Wait for a transaction to be submitted onchain and return the transaction hash.
|
63
|
-
* @param args - The arguments for the transaction.
|
64
|
-
* @param args.client - The thirdweb client to use.
|
65
|
-
* @param args.transactionId - The id of the transaction to wait for.
|
66
|
-
* @param args.timeoutInSeconds - The timeout in seconds.
|
67
|
-
* @engine
|
68
|
-
* @example
|
69
|
-
* ```ts
|
70
|
-
* import { Engine } from "thirdweb";
|
71
|
-
*
|
72
|
-
* const { transactionHash } = await Engine.waitForTransactionHash({
|
73
|
-
* client,
|
74
|
-
* transactionId, // the transaction id returned from enqueueTransaction
|
75
|
-
* });
|
76
|
-
* ```
|
77
|
-
*/
|
78
|
-
async function waitForTransactionHash(args) {
|
79
|
-
const startTime = Date.now();
|
80
|
-
const TIMEOUT_IN_MS = args.timeoutInSeconds
|
81
|
-
? args.timeoutInSeconds * 1000
|
82
|
-
: 5 * 60 * 1000; // 5 minutes in milliseconds
|
83
|
-
while (Date.now() - startTime < TIMEOUT_IN_MS) {
|
84
|
-
const executionResult = await getTransactionStatus(args);
|
85
|
-
const status = executionResult.status;
|
86
|
-
switch (status) {
|
87
|
-
case "FAILED": {
|
88
|
-
throw new Error(`Transaction failed: ${executionResult.error || "Unknown error"}`);
|
89
|
-
}
|
90
|
-
case "CONFIRMED": {
|
91
|
-
const onchainStatus = executionResult && "onchainStatus" in executionResult
|
92
|
-
? executionResult.onchainStatus
|
93
|
-
: null;
|
94
|
-
if (onchainStatus === "REVERTED") {
|
95
|
-
const revertData = "revertData" in executionResult
|
96
|
-
? executionResult.revertData
|
97
|
-
: undefined;
|
98
|
-
throw new Error(`Transaction reverted: ${revertData?.errorName || ""} ${revertData?.errorArgs ? (0, json_js_1.stringify)(revertData.errorArgs) : ""}`);
|
99
|
-
}
|
100
|
-
return {
|
101
|
-
transactionHash: executionResult.transactionHash,
|
102
|
-
client: args.client,
|
103
|
-
chain: executionResult.chain,
|
104
|
-
};
|
105
|
-
}
|
106
|
-
default: {
|
107
|
-
// wait for the transaction to be confirmed
|
108
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
109
|
-
}
|
110
|
-
}
|
111
|
-
}
|
112
|
-
throw new Error(`Transaction timed out after ${TIMEOUT_IN_MS / 1000} seconds`);
|
113
|
-
}
|
114
60
|
//# sourceMappingURL=get-status.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../../src/engine/get-status.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../../src/engine/get-status.ts"],"names":[],"mappings":";;AAyEA,oDA4CC;AArHD,iDAA0D;AAE1D,iDAAoD;AAEpD,oDAAyD;AAEzD,gDAAmD;AACnD,8CAA6C;AAiD7C;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,oBAAoB,CAAC,IAG1C;IACC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC;QAC5C,OAAO,EAAE,IAAA,+BAAkB,EAAC,aAAa,CAAC;QAC1C,cAAc,EAAE,mBAAS;QACzB,KAAK,EAAE,IAAA,yBAAc,EAAC,MAAM,CAAC;QAC7B,IAAI,EAAE;YACJ,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,CAAC,aAAa,CAAC;oBACvB,SAAS,EAAE,IAAI;iBAChB;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,KAAK,IAAA,mBAAS,EAC5D,YAAY,CAAC,KAAK,CACnB,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,eAAe,aAAa,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAgD,CAAC;IAC9E,OAAO;QACL,GAAG,eAAe;QAClB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAA,yBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;QAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/cjs/engine/index.js
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.waitForTransactionHash = exports.getTransactionStatus = exports.serverWallet = void 0;
|
3
|
+
exports.getServerWallets = exports.createServerWallet = exports.searchTransactions = exports.waitForTransactionHash = exports.getTransactionStatus = exports.serverWallet = void 0;
|
4
4
|
var server_wallet_js_1 = require("./server-wallet.js");
|
5
5
|
Object.defineProperty(exports, "serverWallet", { enumerable: true, get: function () { return server_wallet_js_1.serverWallet; } });
|
6
6
|
var get_status_js_1 = require("./get-status.js");
|
7
7
|
Object.defineProperty(exports, "getTransactionStatus", { enumerable: true, get: function () { return get_status_js_1.getTransactionStatus; } });
|
8
|
-
|
8
|
+
var wait_for_tx_hash_js_1 = require("./wait-for-tx-hash.js");
|
9
|
+
Object.defineProperty(exports, "waitForTransactionHash", { enumerable: true, get: function () { return wait_for_tx_hash_js_1.waitForTransactionHash; } });
|
10
|
+
var search_transactions_js_1 = require("./search-transactions.js");
|
11
|
+
Object.defineProperty(exports, "searchTransactions", { enumerable: true, get: function () { return search_transactions_js_1.searchTransactions; } });
|
12
|
+
var create_server_wallet_js_1 = require("./create-server-wallet.js");
|
13
|
+
Object.defineProperty(exports, "createServerWallet", { enumerable: true, get: function () { return create_server_wallet_js_1.createServerWallet; } });
|
14
|
+
var list_server_wallets_js_1 = require("./list-server-wallets.js");
|
15
|
+
Object.defineProperty(exports, "getServerWallets", { enumerable: true, get: function () { return list_server_wallets_js_1.getServerWallets; } });
|
9
16
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/index.ts"],"names":[],"mappings":";;;AAAA,uDAI4B;AAH1B,gHAAA,YAAY,OAAA;AAId,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/index.ts"],"names":[],"mappings":";;;AAAA,uDAI4B;AAH1B,gHAAA,YAAY,OAAA;AAId,iDAIyB;AAHvB,qHAAA,oBAAoB,OAAA;AAItB,6DAA+D;AAAtD,6HAAA,sBAAsB,OAAA;AAC/B,mEAGkC;AAFhC,4HAAA,kBAAkB,OAAA;AAGpB,qEAGmC;AAFjC,6HAAA,kBAAkB,OAAA;AAGpB,mEAGkC;AAFhC,0HAAA,gBAAgB,OAAA"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getServerWallets = getServerWallets;
|
4
|
+
const engine_1 = require("@thirdweb-dev/engine");
|
5
|
+
const viem_1 = require("viem");
|
6
|
+
const domains_js_1 = require("../utils/domains.js");
|
7
|
+
const fetch_js_1 = require("../utils/fetch.js");
|
8
|
+
/**
|
9
|
+
* List all server wallets.
|
10
|
+
* @param params - The parameters for the server wallet.
|
11
|
+
* @param params.client - The thirdweb client to use.
|
12
|
+
* @returns an array of server wallets with their signer address and predicted smart account address.
|
13
|
+
* @engine
|
14
|
+
* @example
|
15
|
+
* ```ts
|
16
|
+
* import { Engine } from "thirdweb";
|
17
|
+
*
|
18
|
+
* const serverWallets = await Engine.getServerWallets({
|
19
|
+
* client,
|
20
|
+
* });
|
21
|
+
* console.log(serverWallets);
|
22
|
+
* ```
|
23
|
+
*/
|
24
|
+
async function getServerWallets(params) {
|
25
|
+
const { client } = params;
|
26
|
+
const result = await (0, engine_1.listAccounts)({
|
27
|
+
baseUrl: (0, domains_js_1.getThirdwebBaseUrl)("engineCloud"),
|
28
|
+
bodySerializer: viem_1.stringify,
|
29
|
+
fetch: (0, fetch_js_1.getClientFetch)(client),
|
30
|
+
});
|
31
|
+
if (result.error) {
|
32
|
+
throw new Error(`Error listing server wallets: ${(0, viem_1.stringify)(result.error)}`);
|
33
|
+
}
|
34
|
+
const data = result.data?.result;
|
35
|
+
if (!data) {
|
36
|
+
throw new Error("No server wallets found");
|
37
|
+
}
|
38
|
+
return data;
|
39
|
+
}
|
40
|
+
//# sourceMappingURL=list-server-wallets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"list-server-wallets.js","sourceRoot":"","sources":["../../../src/engine/list-server-wallets.ts"],"names":[],"mappings":";;AA0BA,4CAmBC;AA7CD,iDAAoD;AACpD,+BAAiC;AAEjC,oDAAyD;AACzD,gDAAmD;AAMnD;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAA4B;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC;QAChC,OAAO,EAAE,IAAA,+BAAkB,EAAC,aAAa,CAAC;QAC1C,cAAc,EAAE,gBAAS;QACzB,KAAK,EAAE,IAAA,yBAAc,EAAC,MAAM,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAA,gBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAEjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.searchTransactions = searchTransactions;
|
4
|
+
const engine_1 = require("@thirdweb-dev/engine");
|
5
|
+
const domains_js_1 = require("../utils/domains.js");
|
6
|
+
const fetch_js_1 = require("../utils/fetch.js");
|
7
|
+
const json_js_1 = require("../utils/json.js");
|
8
|
+
/**
|
9
|
+
* Search for transactions by their ids.
|
10
|
+
* @param args - The arguments for the search.
|
11
|
+
* @param args.client - The thirdweb client to use.
|
12
|
+
* @param args.transactionIds - The ids of the transactions to search for.
|
13
|
+
* @engine
|
14
|
+
* @example
|
15
|
+
* ## Search for transactions by their ids
|
16
|
+
*
|
17
|
+
* ```ts
|
18
|
+
* import { Engine } from "thirdweb";
|
19
|
+
*
|
20
|
+
* const transactions = await Engine.searchTransactions({
|
21
|
+
* client,
|
22
|
+
* filters: [
|
23
|
+
* {
|
24
|
+
* field: "id",
|
25
|
+
* values: ["1", "2", "3"],
|
26
|
+
* },
|
27
|
+
* ],
|
28
|
+
* });
|
29
|
+
* console.log(transactions);
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* ## Search for transactions by chain id
|
33
|
+
*
|
34
|
+
* ```ts
|
35
|
+
* import { Engine } from "thirdweb";
|
36
|
+
*
|
37
|
+
* const transactions = await Engine.searchTransactions({
|
38
|
+
* client,
|
39
|
+
* filters: [
|
40
|
+
* {
|
41
|
+
* field: "chainId",
|
42
|
+
* values: ["1", "137"],
|
43
|
+
* },
|
44
|
+
* ],
|
45
|
+
* });
|
46
|
+
* console.log(transactions);
|
47
|
+
* ```
|
48
|
+
*
|
49
|
+
* ## Search for transactions by sender wallet address
|
50
|
+
*
|
51
|
+
* ```ts
|
52
|
+
* import { Engine } from "thirdweb";
|
53
|
+
*
|
54
|
+
* const transactions = await Engine.searchTransactions({
|
55
|
+
* client,
|
56
|
+
* filters: [
|
57
|
+
* {
|
58
|
+
* field: "from",
|
59
|
+
* values: ["0x1234567890123456789012345678901234567890"],
|
60
|
+
* },
|
61
|
+
* ],
|
62
|
+
* });
|
63
|
+
* console.log(transactions);
|
64
|
+
* ```
|
65
|
+
*
|
66
|
+
* ## Combined search
|
67
|
+
*
|
68
|
+
* ```ts
|
69
|
+
* import { Engine } from "thirdweb";
|
70
|
+
*
|
71
|
+
* const transactions = await Engine.searchTransactions({
|
72
|
+
* client,
|
73
|
+
* filters: [
|
74
|
+
* {
|
75
|
+
* filters: [
|
76
|
+
* {
|
77
|
+
* field: "from",
|
78
|
+
* values: ["0x1234567890123456789012345678901234567890"],
|
79
|
+
* },
|
80
|
+
* {
|
81
|
+
* field: "chainId",
|
82
|
+
* values: ["8453"],
|
83
|
+
* },
|
84
|
+
* ],
|
85
|
+
* operation: "AND",
|
86
|
+
* },
|
87
|
+
* ],
|
88
|
+
* pageSize: 100,
|
89
|
+
* page: 0,
|
90
|
+
* });
|
91
|
+
* console.log(transactions);
|
92
|
+
* ```
|
93
|
+
*/
|
94
|
+
async function searchTransactions(args) {
|
95
|
+
const { client, filters, pageSize = 100, page = 1 } = args;
|
96
|
+
const searchResult = await (0, engine_1.searchTransactions)({
|
97
|
+
baseUrl: (0, domains_js_1.getThirdwebBaseUrl)("engineCloud"),
|
98
|
+
bodySerializer: json_js_1.stringify,
|
99
|
+
fetch: (0, fetch_js_1.getClientFetch)(client),
|
100
|
+
body: {
|
101
|
+
filters,
|
102
|
+
limit: pageSize,
|
103
|
+
page,
|
104
|
+
},
|
105
|
+
});
|
106
|
+
if (searchResult.error) {
|
107
|
+
throw new Error(`Error searching for transaction with filters ${(0, json_js_1.stringify)(filters)}: ${(0, json_js_1.stringify)(searchResult.error)}`);
|
108
|
+
}
|
109
|
+
const data = searchResult.data?.result;
|
110
|
+
if (!data) {
|
111
|
+
throw new Error(`No transactions found with filters ${(0, json_js_1.stringify)(filters)}`);
|
112
|
+
}
|
113
|
+
return data;
|
114
|
+
}
|
115
|
+
//# sourceMappingURL=search-transactions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"search-transactions.js","sourceRoot":"","sources":["../../../src/engine/search-transactions.ts"],"names":[],"mappings":";;AAuGA,gDA4BC;AAnID,iDAI8B;AAE9B,oDAAyD;AACzD,gDAAmD;AACnD,8CAA6C;AAS7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAA4B;IACnE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAwB,EAAC;QAClD,OAAO,EAAE,IAAA,+BAAkB,EAAC,aAAa,CAAC;QAC1C,cAAc,EAAE,mBAAS;QACzB,KAAK,EAAE,IAAA,yBAAc,EAAC,MAAM,CAAC;QAC7B,IAAI,EAAE;YACJ,OAAO;YACP,KAAK,EAAE,QAAQ;YACf,IAAI;SACL;KACF,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,gDAAgD,IAAA,mBAAS,EAAC,OAAO,CAAC,KAAK,IAAA,mBAAS,EAC9E,YAAY,CAAC,KAAK,CACnB,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;IAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAA,mBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
@@ -9,7 +9,7 @@ const hex_js_1 = require("../utils/encoding/hex.js");
|
|
9
9
|
const fetch_js_1 = require("../utils/fetch.js");
|
10
10
|
const json_js_1 = require("../utils/json.js");
|
11
11
|
const resolve_promised_value_js_1 = require("../utils/promise/resolve-promised-value.js");
|
12
|
-
const
|
12
|
+
const wait_for_tx_hash_js_1 = require("./wait-for-tx-hash.js");
|
13
13
|
/**
|
14
14
|
* Create a server wallet for sending transactions and signing messages via engine (v3+).
|
15
15
|
* @param options - The server wallet options.
|
@@ -56,6 +56,37 @@ const get_status_js_1 = require("./get-status.js");
|
|
56
56
|
* console.log("Transaction sent:", transactionHash);
|
57
57
|
* ```
|
58
58
|
*
|
59
|
+
* ### Sending a batch of transactions
|
60
|
+
* ```ts
|
61
|
+
* // prepare the transactions
|
62
|
+
* const transaction1 = claimTo({
|
63
|
+
* contract,
|
64
|
+
* to: firstRecipient,
|
65
|
+
* quantity: 1n,
|
66
|
+
* });
|
67
|
+
* const transaction2 = claimTo({
|
68
|
+
* contract,
|
69
|
+
* to: secondRecipient,
|
70
|
+
* quantity: 1n,
|
71
|
+
* });
|
72
|
+
*
|
73
|
+
*
|
74
|
+
* // enqueue the transactions in a batch
|
75
|
+
* const { transactionId } = await myServerWallet.enqueueBatchTransaction({
|
76
|
+
* transactions: [transaction1, transaction2],
|
77
|
+
* });
|
78
|
+
* ```
|
79
|
+
*
|
80
|
+
* ### Polling for the batch of transactions to be submitted onchain
|
81
|
+
* ```ts
|
82
|
+
* // optionally poll for the transaction to be submitted onchain
|
83
|
+
* const { transactionHash } = await Engine.waitForTransactionHash({
|
84
|
+
* client,
|
85
|
+
* transactionId,
|
86
|
+
* });
|
87
|
+
* console.log("Transaction sent:", transactionHash);
|
88
|
+
* ```
|
89
|
+
*
|
59
90
|
* ### Getting the execution status of a transaction
|
60
91
|
* ```ts
|
61
92
|
* const executionResult = await Engine.getTransactionStatus({
|
@@ -82,15 +113,27 @@ function serverWallet(options) {
|
|
82
113
|
};
|
83
114
|
};
|
84
115
|
const enqueueTx = async (transaction) => {
|
116
|
+
if (transaction.length === 0) {
|
117
|
+
throw new Error("No transactions to enqueue");
|
118
|
+
}
|
119
|
+
const firstTransaction = transaction[0];
|
120
|
+
if (!firstTransaction) {
|
121
|
+
throw new Error("No transactions to enqueue");
|
122
|
+
}
|
123
|
+
const chainId = firstTransaction.chainId;
|
124
|
+
// Validate all transactions are on the same chain
|
125
|
+
for (let i = 1; i < transaction.length; i++) {
|
126
|
+
if (transaction[i]?.chainId !== chainId) {
|
127
|
+
throw new Error(`All transactions in batch must be on the same chain. Expected ${chainId}, got ${transaction[i]?.chainId} at index ${i}`);
|
128
|
+
}
|
129
|
+
}
|
85
130
|
const body = {
|
86
|
-
executionOptions: getExecutionOptions(
|
87
|
-
params:
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
},
|
93
|
-
],
|
131
|
+
executionOptions: getExecutionOptions(chainId),
|
132
|
+
params: transaction.map((t) => ({
|
133
|
+
to: t.to ?? undefined,
|
134
|
+
data: t.data,
|
135
|
+
value: t.value?.toString(),
|
136
|
+
})),
|
94
137
|
};
|
95
138
|
const result = await (0, engine_1.sendTransaction)({
|
96
139
|
baseUrl: (0, domains_js_1.getThirdwebBaseUrl)("engineCloud"),
|
@@ -106,11 +149,7 @@ function serverWallet(options) {
|
|
106
149
|
if (!data) {
|
107
150
|
throw new Error("No data returned from engine");
|
108
151
|
}
|
109
|
-
|
110
|
-
if (!transactionId) {
|
111
|
-
throw new Error("No transactionId returned from engine");
|
112
|
-
}
|
113
|
-
return transactionId;
|
152
|
+
return data.transactions.map((t) => t.id);
|
114
153
|
};
|
115
154
|
return {
|
116
155
|
address,
|
@@ -138,12 +177,53 @@ function serverWallet(options) {
|
|
138
177
|
value: value ?? undefined,
|
139
178
|
};
|
140
179
|
}
|
141
|
-
const
|
180
|
+
const transactionIds = await enqueueTx([serializedTransaction]);
|
181
|
+
const transactionId = transactionIds[0];
|
182
|
+
if (!transactionId) {
|
183
|
+
throw new Error("No transactionId returned from engine");
|
184
|
+
}
|
185
|
+
return { transactionId };
|
186
|
+
},
|
187
|
+
enqueueBatchTransaction: async (args) => {
|
188
|
+
const serializedTransactions = [];
|
189
|
+
for (const transaction of args.transactions) {
|
190
|
+
const [to, data, value] = await Promise.all([
|
191
|
+
transaction.to ? (0, resolve_promised_value_js_1.resolvePromisedValue)(transaction.to) : null,
|
192
|
+
(0, encode_js_1.encode)(transaction),
|
193
|
+
transaction.value ? (0, resolve_promised_value_js_1.resolvePromisedValue)(transaction.value) : null,
|
194
|
+
]);
|
195
|
+
serializedTransactions.push({
|
196
|
+
chainId: transaction.chain.id,
|
197
|
+
data,
|
198
|
+
to: to ?? undefined,
|
199
|
+
value: value ?? undefined,
|
200
|
+
});
|
201
|
+
}
|
202
|
+
const transactionIds = await enqueueTx(serializedTransactions);
|
203
|
+
const transactionId = transactionIds[0];
|
204
|
+
if (!transactionId) {
|
205
|
+
throw new Error("No transactionId returned from engine");
|
206
|
+
}
|
142
207
|
return { transactionId };
|
143
208
|
},
|
144
209
|
sendTransaction: async (transaction) => {
|
145
|
-
const
|
146
|
-
|
210
|
+
const transactionIds = await enqueueTx([transaction]);
|
211
|
+
const transactionId = transactionIds[0];
|
212
|
+
if (!transactionId) {
|
213
|
+
throw new Error("No transactionId returned from engine");
|
214
|
+
}
|
215
|
+
return (0, wait_for_tx_hash_js_1.waitForTransactionHash)({
|
216
|
+
client,
|
217
|
+
transactionId,
|
218
|
+
});
|
219
|
+
},
|
220
|
+
sendBatchTransaction: async (transactions) => {
|
221
|
+
const transactionIds = await enqueueTx(transactions);
|
222
|
+
const transactionId = transactionIds[0];
|
223
|
+
if (!transactionId) {
|
224
|
+
throw new Error("No transactionId returned from engine");
|
225
|
+
}
|
226
|
+
return (0, wait_for_tx_hash_js_1.waitForTransactionHash)({
|
147
227
|
client,
|
148
228
|
transactionId,
|
149
229
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"server-wallet.js","sourceRoot":"","sources":["../../../src/engine/server-wallet.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"server-wallet.js","sourceRoot":"","sources":["../../../src/engine/server-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.waitForTransactionHash = waitForTransactionHash;
|
4
|
+
const viem_1 = require("viem");
|
5
|
+
const get_status_js_1 = require("./get-status.js");
|
6
|
+
/**
|
7
|
+
* Wait for a transaction to be submitted onchain and return the transaction hash.
|
8
|
+
* @param args - The arguments for the transaction.
|
9
|
+
* @param args.client - The thirdweb client to use.
|
10
|
+
* @param args.transactionId - The id of the transaction to wait for.
|
11
|
+
* @param args.timeoutInSeconds - The timeout in seconds.
|
12
|
+
* @engine
|
13
|
+
* @example
|
14
|
+
* ```ts
|
15
|
+
* import { Engine } from "thirdweb";
|
16
|
+
*
|
17
|
+
* const { transactionHash } = await Engine.waitForTransactionHash({
|
18
|
+
* client,
|
19
|
+
* transactionId, // the transaction id returned from enqueueTransaction
|
20
|
+
* });
|
21
|
+
* ```
|
22
|
+
*/
|
23
|
+
async function waitForTransactionHash(args) {
|
24
|
+
const startTime = Date.now();
|
25
|
+
const TIMEOUT_IN_MS = args.timeoutInSeconds
|
26
|
+
? args.timeoutInSeconds * 1000
|
27
|
+
: 5 * 60 * 1000; // 5 minutes in milliseconds
|
28
|
+
while (Date.now() - startTime < TIMEOUT_IN_MS) {
|
29
|
+
const executionResult = await (0, get_status_js_1.getTransactionStatus)(args);
|
30
|
+
const status = executionResult.status;
|
31
|
+
switch (status) {
|
32
|
+
case "FAILED": {
|
33
|
+
throw new Error(`Transaction failed: ${executionResult.error || "Unknown error"}`);
|
34
|
+
}
|
35
|
+
case "CONFIRMED": {
|
36
|
+
const onchainStatus = executionResult && "onchainStatus" in executionResult
|
37
|
+
? executionResult.onchainStatus
|
38
|
+
: null;
|
39
|
+
if (onchainStatus === "REVERTED") {
|
40
|
+
const revertData = "revertData" in executionResult
|
41
|
+
? executionResult.revertData
|
42
|
+
: undefined;
|
43
|
+
throw new Error(`Transaction reverted: ${revertData?.errorName || "unknown error"} ${revertData?.errorArgs ? (0, viem_1.stringify)(revertData.errorArgs) : ""} - ${executionResult.transactionHash ? executionResult.transactionHash : ""}`);
|
44
|
+
}
|
45
|
+
return {
|
46
|
+
transactionHash: executionResult.transactionHash,
|
47
|
+
client: args.client,
|
48
|
+
chain: executionResult.chain,
|
49
|
+
};
|
50
|
+
}
|
51
|
+
default: {
|
52
|
+
// wait for the transaction to be confirmed
|
53
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
throw new Error(`Transaction timed out after ${TIMEOUT_IN_MS / 1000} seconds`);
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=wait-for-tx-hash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wait-for-tx-hash.js","sourceRoot":"","sources":["../../../src/engine/wait-for-tx-hash.ts"],"names":[],"mappings":";;AAyBA,wDAiDC;AA1ED,+BAAiC;AAMjC,mDAAuD;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAI5C;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB;QACzC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC9B,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAE/C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,aAAa,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,uBAAuB,eAAe,CAAC,KAAK,IAAI,eAAe,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,aAAa,GACjB,eAAe,IAAI,eAAe,IAAI,eAAe;oBACnD,CAAC,CAAC,eAAe,CAAC,aAAa;oBAC/B,CAAC,CAAC,IAAI,CAAC;gBACX,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,UAAU,GACd,YAAY,IAAI,eAAe;wBAC7B,CAAC,CAAC,eAAe,CAAC,UAAU;wBAC5B,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,IAAI,KAAK,CACb,yBAAyB,UAAU,EAAE,SAAS,IAAI,eAAe,IAAI,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAChN,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,eAAe,EAAE,eAAe,CAAC,eAAsB;oBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,eAAe,CAAC,KAAK;iBAC7B,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,2CAA2C;gBAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,+BAA+B,aAAa,GAAG,IAAI,UAAU,CAC9D,CAAC;AACJ,CAAC"}
|
@@ -200,7 +200,12 @@ async function transformNFTModel(nfts, client, ownerAddress) {
|
|
200
200
|
chainId: contract?.chain_id ?? 0,
|
201
201
|
});
|
202
202
|
}
|
203
|
-
return
|
203
|
+
return {
|
204
|
+
...parsedNft,
|
205
|
+
...(contract?.type === "erc1155"
|
206
|
+
? { quantityOwned: balance ? BigInt(balance) : undefined }
|
207
|
+
: {}),
|
208
|
+
};
|
204
209
|
}));
|
205
210
|
}
|
206
211
|
// biome-ignore lint/suspicious/noExplicitAny: this should be fixed in the API
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-nfts.js","sourceRoot":"","sources":["../../../src/insight/get-nfts.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"get-nfts.js","sourceRoot":"","sources":["../../../src/insight/get-nfts.ts"],"names":[],"mappings":"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"}
|