thirdweb 5.101.2-nightly-91750eddc6cc3eb20c36b74490d820b92ea5500f-20250529000432 → 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.
Files changed (110) hide show
  1. package/dist/cjs/bridge/Webhook.js +3 -1
  2. package/dist/cjs/bridge/Webhook.js.map +1 -1
  3. package/dist/cjs/cli/commands/stylus/builder.js +39 -12
  4. package/dist/cjs/cli/commands/stylus/builder.js.map +1 -1
  5. package/dist/cjs/cli/commands/stylus/create.js +31 -7
  6. package/dist/cjs/cli/commands/stylus/create.js.map +1 -1
  7. package/dist/cjs/engine/create-server-wallet.js +46 -0
  8. package/dist/cjs/engine/create-server-wallet.js.map +1 -0
  9. package/dist/cjs/engine/get-status.js +0 -54
  10. package/dist/cjs/engine/get-status.js.map +1 -1
  11. package/dist/cjs/engine/index.js +9 -2
  12. package/dist/cjs/engine/index.js.map +1 -1
  13. package/dist/cjs/engine/list-server-wallets.js +40 -0
  14. package/dist/cjs/engine/list-server-wallets.js.map +1 -0
  15. package/dist/cjs/engine/search-transactions.js +115 -0
  16. package/dist/cjs/engine/search-transactions.js.map +1 -0
  17. package/dist/cjs/engine/server-wallet.js +97 -17
  18. package/dist/cjs/engine/server-wallet.js.map +1 -1
  19. package/dist/cjs/engine/wait-for-tx-hash.js +59 -0
  20. package/dist/cjs/engine/wait-for-tx-hash.js.map +1 -0
  21. package/dist/cjs/insight/get-nfts.js +6 -1
  22. package/dist/cjs/insight/get-nfts.js.map +1 -1
  23. package/dist/cjs/pay/buyWithCrypto/getTransfer.js +1 -0
  24. package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
  25. package/dist/cjs/pay/buyWithFiat/getQuote.js +1 -0
  26. package/dist/cjs/pay/buyWithFiat/getQuote.js.map +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +4 -10
  28. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -1
  29. package/dist/cjs/utils/fetch.js +1 -0
  30. package/dist/cjs/utils/fetch.js.map +1 -1
  31. package/dist/cjs/version.js +1 -1
  32. package/dist/cjs/version.js.map +1 -1
  33. package/dist/esm/bridge/Webhook.js +3 -1
  34. package/dist/esm/bridge/Webhook.js.map +1 -1
  35. package/dist/esm/cli/commands/stylus/builder.js +39 -12
  36. package/dist/esm/cli/commands/stylus/builder.js.map +1 -1
  37. package/dist/esm/cli/commands/stylus/create.js +31 -7
  38. package/dist/esm/cli/commands/stylus/create.js.map +1 -1
  39. package/dist/esm/engine/create-server-wallet.js +43 -0
  40. package/dist/esm/engine/create-server-wallet.js.map +1 -0
  41. package/dist/esm/engine/get-status.js +0 -53
  42. package/dist/esm/engine/get-status.js.map +1 -1
  43. package/dist/esm/engine/index.js +5 -1
  44. package/dist/esm/engine/index.js.map +1 -1
  45. package/dist/esm/engine/list-server-wallets.js +37 -0
  46. package/dist/esm/engine/list-server-wallets.js.map +1 -0
  47. package/dist/esm/engine/search-transactions.js +112 -0
  48. package/dist/esm/engine/search-transactions.js.map +1 -0
  49. package/dist/esm/engine/server-wallet.js +96 -16
  50. package/dist/esm/engine/server-wallet.js.map +1 -1
  51. package/dist/esm/engine/wait-for-tx-hash.js +56 -0
  52. package/dist/esm/engine/wait-for-tx-hash.js.map +1 -0
  53. package/dist/esm/insight/get-nfts.js +6 -1
  54. package/dist/esm/insight/get-nfts.js.map +1 -1
  55. package/dist/esm/pay/buyWithCrypto/getTransfer.js +1 -0
  56. package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
  57. package/dist/esm/pay/buyWithFiat/getQuote.js +1 -0
  58. package/dist/esm/pay/buyWithFiat/getQuote.js.map +1 -1
  59. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +4 -10
  60. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -1
  61. package/dist/esm/utils/fetch.js +1 -0
  62. package/dist/esm/utils/fetch.js.map +1 -1
  63. package/dist/esm/version.js +1 -1
  64. package/dist/esm/version.js.map +1 -1
  65. package/dist/types/bridge/Webhook.d.ts +3 -1
  66. package/dist/types/bridge/Webhook.d.ts.map +1 -1
  67. package/dist/types/cli/commands/stylus/builder.d.ts.map +1 -1
  68. package/dist/types/cli/commands/stylus/create.d.ts.map +1 -1
  69. package/dist/types/engine/create-server-wallet.d.ts +29 -0
  70. package/dist/types/engine/create-server-wallet.d.ts.map +1 -0
  71. package/dist/types/engine/get-status.d.ts +0 -23
  72. package/dist/types/engine/get-status.d.ts.map +1 -1
  73. package/dist/types/engine/index.d.ts +5 -1
  74. package/dist/types/engine/index.d.ts.map +1 -1
  75. package/dist/types/engine/list-server-wallets.d.ts +25 -0
  76. package/dist/types/engine/list-server-wallets.d.ts.map +1 -0
  77. package/dist/types/engine/search-transactions.d.ts +127 -0
  78. package/dist/types/engine/search-transactions.d.ts.map +1 -0
  79. package/dist/types/engine/server-wallet.d.ts +36 -0
  80. package/dist/types/engine/server-wallet.d.ts.map +1 -1
  81. package/dist/types/engine/wait-for-tx-hash.d.ts +25 -0
  82. package/dist/types/engine/wait-for-tx-hash.d.ts.map +1 -0
  83. package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
  84. package/dist/types/pay/buyWithFiat/getQuote.d.ts +1 -0
  85. package/dist/types/pay/buyWithFiat/getQuote.d.ts.map +1 -1
  86. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.d.ts.map +1 -1
  87. package/dist/types/utils/fetch.d.ts.map +1 -1
  88. package/dist/types/version.d.ts +1 -1
  89. package/dist/types/version.d.ts.map +1 -1
  90. package/package.json +3 -3
  91. package/src/bridge/Chains.test.ts +1 -1
  92. package/src/bridge/Webhook.ts +3 -1
  93. package/src/cli/commands/stylus/builder.ts +45 -12
  94. package/src/cli/commands/stylus/create.ts +33 -8
  95. package/src/engine/create-server-wallet.ts +57 -0
  96. package/src/engine/get-status.ts +0 -69
  97. package/src/engine/index.ts +13 -1
  98. package/src/engine/list-server-wallets.ts +46 -0
  99. package/src/engine/search-transactions.ts +132 -0
  100. package/src/engine/server-wallet.test.ts +54 -0
  101. package/src/engine/server-wallet.ts +104 -17
  102. package/src/engine/wait-for-tx-hash.ts +75 -0
  103. package/src/extensions/erc1155/read/getOwnedNFTs.test.ts +25 -0
  104. package/src/extensions/erc20/drop20.test.ts +91 -1
  105. package/src/insight/get-nfts.ts +6 -1
  106. package/src/pay/buyWithCrypto/getTransfer.ts +1 -0
  107. package/src/pay/buyWithFiat/getQuote.ts +1 -0
  108. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.tsx +3 -16
  109. package/src/utils/fetch.ts +1 -0
  110. package/src/version.ts +1 -1
@@ -55,11 +55,13 @@ const webhookSchema = v4_mini_1.z.union([
55
55
  }),
56
56
  ]);
57
57
  /**
58
- * Parses an incoming webhook from thirdweb.
58
+ * Parses an incoming Universal Bridge webhook payload.
59
59
  *
60
60
  * @param payload - The raw text body received from thirdweb.
61
61
  * @param headers - The webhook headers received from thirdweb.
62
62
  * @param secret - The webhook secret to verify the payload with.
63
+ * @beta
64
+ * @bridge Webhook
63
65
  */
64
66
  async function parse(
65
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/bridge/Webhook.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const node_fs_1 = require("node:fs");
7
7
  const node_path_1 = require("node:path");
8
8
  const open_1 = require("open");
9
9
  const ora_1 = require("ora");
10
+ const prompts_1 = require("prompts");
10
11
  const toml_1 = require("toml");
11
12
  const client_js_1 = require("../../../client/client.js");
12
13
  const upload_js_1 = require("../../../storage/upload.js");
@@ -80,14 +81,42 @@ async function buildStylus(spinner, secretKey) {
80
81
  }
81
82
  spinner.succeed("ABI generated.");
82
83
  // Step 4: Process the output
83
- const contractName = extractContractNameFromExportAbi(abiContent);
84
- if (!contractName) {
84
+ const parts = abiContent.split(/======= <stdin>:/g).filter(Boolean);
85
+ const contractNames = extractContractNamesFromExportAbi(abiContent);
86
+ let selectedContractName;
87
+ let selectedAbiContent;
88
+ if (contractNames.length === 1) {
89
+ selectedContractName = contractNames[0]?.replace(/^I/, "");
90
+ selectedAbiContent = parts[0];
91
+ }
92
+ else {
93
+ const response = await (0, prompts_1.default)({
94
+ type: "select",
95
+ name: "contract",
96
+ message: "Select entrypoint:",
97
+ choices: contractNames.map((name, idx) => ({
98
+ title: name,
99
+ value: idx,
100
+ })),
101
+ });
102
+ const selectedIndex = response.contract;
103
+ if (typeof selectedIndex !== "number") {
104
+ spinner.fail("No contract selected.");
105
+ process.exit(1);
106
+ }
107
+ selectedContractName = contractNames[selectedIndex]?.replace(/^I/, "");
108
+ selectedAbiContent = parts[selectedIndex];
109
+ }
110
+ if (!selectedAbiContent) {
111
+ throw new Error("Entrypoint not found");
112
+ }
113
+ if (!selectedContractName) {
85
114
  spinner.fail("Error: Could not determine contract name from ABI output.");
86
115
  process.exit(1);
87
116
  }
88
117
  let cleanedAbi = "";
89
118
  try {
90
- const jsonMatch = abiContent.match(/\[.*\]/s);
119
+ const jsonMatch = selectedAbiContent.match(/\[.*\]/s);
91
120
  if (jsonMatch) {
92
121
  cleanedAbi = jsonMatch[0];
93
122
  }
@@ -110,7 +139,7 @@ async function buildStylus(spinner, secretKey) {
110
139
  },
111
140
  settings: {
112
141
  compilationTarget: {
113
- "src/main.rs": contractName,
142
+ "src/main.rs": selectedContractName,
114
143
  },
115
144
  },
116
145
  sources: {},
@@ -133,12 +162,12 @@ async function buildStylus(spinner, secretKey) {
133
162
  client,
134
163
  files: [
135
164
  {
136
- name: contractName,
165
+ name: selectedContractName,
137
166
  metadataUri,
138
167
  bytecodeUri,
139
168
  analytics: {
140
169
  command: "publish-stylus",
141
- contract_name: contractName,
170
+ contract_name: selectedContractName,
142
171
  cli_version: "",
143
172
  project_type: "stylus",
144
173
  },
@@ -158,12 +187,10 @@ async function buildStylus(spinner, secretKey) {
158
187
  process.exit(1);
159
188
  }
160
189
  }
161
- function extractContractNameFromExportAbi(abiRawOutput) {
162
- const match = abiRawOutput.match(/<stdin>:(I[A-Za-z0-9_]+)/);
163
- if (match?.[1]) {
164
- return match[1].replace(/^I/, "");
165
- }
166
- return null;
190
+ function extractContractNamesFromExportAbi(abiRawOutput) {
191
+ return [...abiRawOutput.matchAll(/<stdin>:(I?[A-Za-z0-9_]+)/g)]
192
+ .map((m) => m[1])
193
+ .filter((name) => typeof name === "string");
167
194
  }
168
195
  function getUrl(hash, command) {
169
196
  const url = new URL(`${THIRDWEB_URL}/contracts/${command}/${encodeURIComponent(hash.replace("ipfs://", ""))}`);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../src/cli/commands/stylus/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../src/cli/commands/stylus/builder.ts"],"names":[],"mappings":";;AAYA,sCAOC;AAED,oCAOC;AA5BD,2DAA+C;AAC/C,qCAAmD;AACnD,yCAAiC;AACjC,+BAAwB;AACxB,6BAAoC;AACpC,qCAA8B;AAC9B,+BAA6B;AAC7B,yDAAiE;AACjE,0DAAoD;AAEpD,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAErC,KAAK,UAAU,aAAa,CAAC,SAAkB;IACpD,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,SAAkB;IACnD,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,OAAO,CAAC,OAAO,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAY,EAAE,SAAkB;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,sBAAY,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAA,YAAK,EAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CACV,6DAA6D,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,kDAAkD;QAClD,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;YACpE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEvC,6CAA6C;QAC7C,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE;YACvE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAElC,6BAA6B;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC;QAEpE,IAAI,oBAAwC,CAAC;QAC7C,IAAI,kBAAsC,CAAC;QAE3C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC;gBAC7B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;aACJ,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAExC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,SAAS,EAAE,CAAC;gBACd,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC3B,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE;gBACR,iBAAiB,EAAE;oBACjB,aAAa,EAAE,oBAAoB;iBACpC;aACF;YACD,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAE1D,yBAAyB;QACzB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAA,gCAAoB,EAAC;YAClC,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAM,EAAC;YAC/B,MAAM;YACN,KAAK,EAAE,CAAC,QAAQ,CAAC;SAClB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAM,EAAC;YAC/B,MAAM;YACN,KAAK,EAAE,CAAC,QAAQ,CAAC;SAClB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAM,EAAC;YACvB,MAAM;YACN,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW;oBACX,WAAW;oBACX,SAAS,EAAE;wBACT,OAAO,EAAE,gBAAgB;wBACzB,aAAa,EAAE,oBAAoB;wBACnC,WAAW,EAAE,EAAE;wBACf,YAAY,EAAE,QAAQ;qBACvB;oBACD,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE;yBAClE;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEnC,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,YAAoB;IAC7D,OAAO,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,OAAe;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,YAAY,cAAc,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAC1F,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -35,15 +35,39 @@ async function createStylusProject() {
35
35
  message: "Project name:",
36
36
  initial: "my-stylus-project",
37
37
  });
38
- spinner.start(`Creating new Stylus project: ${projectName}...`);
39
- const newProject = (0, node_child_process_1.spawnSync)("cargo", ["stylus", "new", projectName], {
40
- stdio: "inherit",
38
+ // Step 4: Select project type
39
+ const { projectType } = await (0, prompts_1.default)({
40
+ type: "select",
41
+ name: "projectType",
42
+ message: "Select a template:",
43
+ choices: [
44
+ { title: "Default", value: "default" },
45
+ { title: "ERC20", value: "erc20" },
46
+ ],
41
47
  });
42
- if (newProject.status !== 0) {
43
- spinner.fail("Failed to create Stylus project.");
44
- process.exit(1);
48
+ // Step 5: Create the project
49
+ if (projectType === "default") {
50
+ spinner.start(`Creating new Stylus project: ${projectName}...`);
51
+ const newProject = (0, node_child_process_1.spawnSync)("cargo", ["stylus", "new", projectName], {
52
+ stdio: "inherit",
53
+ });
54
+ if (newProject.status !== 0) {
55
+ spinner.fail("Failed to create Stylus project.");
56
+ process.exit(1);
57
+ }
58
+ }
59
+ else if (projectType === "erc20") {
60
+ const repoUrl = "git@github.com:thirdweb-example/stylus-erc20-template.git";
61
+ spinner.start(`Creating new ERC20 Stylus project: ${projectName}...`);
62
+ const clone = (0, node_child_process_1.spawnSync)("git", ["clone", repoUrl, projectName], {
63
+ stdio: "inherit",
64
+ });
65
+ if (clone.status !== 0) {
66
+ spinner.fail("Failed to create Stylus project.");
67
+ process.exit(1);
68
+ }
45
69
  }
46
70
  spinner.succeed("Project created successfully.");
47
- console.log(`\n✅ Done! cd into your project: ${projectName}`);
71
+ console.log(`\n✅ cd into your project: ${projectName}`);
48
72
  }
49
73
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/cli/commands/stylus/create.ts"],"names":[],"mappings":";;AAIA,kDA8CC;AAlDD,2DAA+C;AAC/C,6BAAsB;AACtB,qCAA8B;AAEvB,KAAK,UAAU,mBAAmB;IACvC,MAAM,OAAO,GAAG,IAAA,aAAG,GAAE,CAAC;IAEtB,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE;QACzE,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAErC,IAAA,8BAAS,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QACvC,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAA,8BAAS,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,wBAAwB,CAAC,EAAE;QAC/D,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QACpC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,CAAC,gCAAgC,WAAW,KAAK,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE;QACpE,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEjD,OAAO,CAAC,GAAG,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/cli/commands/stylus/create.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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"}
@@ -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
- Object.defineProperty(exports, "waitForTransactionHash", { enumerable: true, get: function () { return get_status_js_1.waitForTransactionHash; } });
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,iDAKyB;AAJvB,qHAAA,oBAAoB,OAAA;AACpB,uHAAA,sBAAsB,OAAA"}
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"}