@stacks/clarinet-sdk 3.23.1 → 3.24.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 (51) hide show
  1. package/dist/cjs/common/src/sdkProxy.d.ts +32 -0
  2. package/dist/cjs/common/src/sdkProxy.js +88 -0
  3. package/dist/cjs/common/src/sdkProxy.js.map +1 -0
  4. package/dist/cjs/common/src/sdkProxyHelpers.d.ts +34 -12
  5. package/dist/cjs/common/src/sdkProxyHelpers.js +40 -8
  6. package/dist/cjs/common/src/sdkProxyHelpers.js.map +1 -1
  7. package/dist/cjs/node/src/debugClient.d.ts +78 -0
  8. package/dist/cjs/node/src/debugClient.js +242 -0
  9. package/dist/cjs/node/src/debugClient.js.map +1 -0
  10. package/dist/cjs/node/src/index.d.ts +3 -1
  11. package/dist/cjs/node/src/index.js +21 -1
  12. package/dist/cjs/node/src/index.js.map +1 -1
  13. package/dist/cjs/node/src/sdkProxy.d.ts +3 -10
  14. package/dist/cjs/node/src/sdkProxy.js +7 -98
  15. package/dist/cjs/node/src/sdkProxy.js.map +1 -1
  16. package/dist/cjs/node/src/syncDebugSimnet.d.ts +46 -0
  17. package/dist/cjs/node/src/syncDebugSimnet.js +180 -0
  18. package/dist/cjs/node/src/syncDebugSimnet.js.map +1 -0
  19. package/dist/cjs/node/src/syncDebugSocket.d.ts +12 -0
  20. package/dist/cjs/node/src/syncDebugSocket.js +281 -0
  21. package/dist/cjs/node/src/syncDebugSocket.js.map +1 -0
  22. package/dist/cjs/node/src/vfs.d.ts +2 -2
  23. package/dist/cjs/node/src/vfs.js.map +1 -1
  24. package/dist/cjs/node/tsconfig.cjs.tsbuildinfo +1 -1
  25. package/dist/esm/common/src/sdkProxy.d.ts +32 -0
  26. package/dist/esm/common/src/sdkProxy.js +85 -0
  27. package/dist/esm/common/src/sdkProxy.js.map +1 -0
  28. package/dist/esm/common/src/sdkProxyHelpers.d.ts +34 -12
  29. package/dist/esm/common/src/sdkProxyHelpers.js +40 -9
  30. package/dist/esm/common/src/sdkProxyHelpers.js.map +1 -1
  31. package/dist/esm/node/src/debugClient.d.ts +78 -0
  32. package/dist/esm/node/src/debugClient.js +204 -0
  33. package/dist/esm/node/src/debugClient.js.map +1 -0
  34. package/dist/esm/node/src/index.d.ts +3 -1
  35. package/dist/esm/node/src/index.js +18 -0
  36. package/dist/esm/node/src/index.js.map +1 -1
  37. package/dist/esm/node/src/sdkProxy.d.ts +3 -10
  38. package/dist/esm/node/src/sdkProxy.js +8 -99
  39. package/dist/esm/node/src/sdkProxy.js.map +1 -1
  40. package/dist/esm/node/src/syncDebugSimnet.d.ts +46 -0
  41. package/dist/esm/node/src/syncDebugSimnet.js +177 -0
  42. package/dist/esm/node/src/syncDebugSimnet.js.map +1 -0
  43. package/dist/esm/node/src/syncDebugSocket.d.ts +12 -0
  44. package/dist/esm/node/src/syncDebugSocket.js +276 -0
  45. package/dist/esm/node/src/syncDebugSocket.js.map +1 -0
  46. package/dist/esm/node/src/vfs.d.ts +2 -2
  47. package/dist/esm/node/src/vitest/index.d.ts +20 -20
  48. package/dist/esm/node/src/vitest/index.js +4 -7
  49. package/dist/esm/node/src/vitest/index.js.map +1 -1
  50. package/dist/esm/node/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +11 -10
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.connectSyncSocket = connectSyncSocket;
4
+ exports.syncSend = syncSend;
5
+ exports.closeSyncSocket = closeSyncSocket;
6
+ /**
7
+ * Synchronous TCP socket client using Worker threads + SharedArrayBuffer +
8
+ * Atomics.wait. Allows the test runner's main thread to make blocking calls to
9
+ * the `clarinet dap` SDK server without async/await, so the existing synchronous
10
+ * Simnet API surface can be fulfilled by a remote debug session.
11
+ *
12
+ * Architecture (mirrors the sync_http.cjs pattern in clarinet-sdk-wasm):
13
+ * - Main thread writes a JSON request into the SAB, signals the worker, then
14
+ * blocks on Atomics.wait until the worker flips the signal back.
15
+ * - Worker thread holds a persistent TCP socket to the debug server. On each
16
+ * wakeup it reads the request, writes it to the socket, reads the newline-
17
+ * delimited JSON response, writes it back into the SAB and signals done.
18
+ */
19
+ const node_worker_threads_1 = require("node:worker_threads");
20
+ // SAB layout (all offsets in bytes, interpreted as Int32 unless noted):
21
+ // 0 signal 0 = idle (response ready), 1 = request pending
22
+ // 4 request_len byte length of the request in the data area
23
+ // 8 response_len byte length of response (negative = error message length)
24
+ // 12 liveness counter bumped by worker timer; main polls for liveness
25
+ // 64+ data area request bytes followed by response bytes (or error message)
26
+ const HEADER_BYTES = 64;
27
+ const OFFSET_SIGNAL = 0; // Int32 index 0
28
+ const OFFSET_REQ_LEN = 1; // Int32 index 1
29
+ const OFFSET_RESP_LEN = 2; // Int32 index 2
30
+ const OFFSET_LIVENESS = 3; // Int32 index 3
31
+ const SIGNAL_IDLE = 0;
32
+ const SIGNAL_PENDING = 1;
33
+ const LIVENESS_INTERVAL_MS = 250;
34
+ const WORKER_HEARTBEAT_MS = 1000;
35
+ const MAX_STALE_HEARTBEATS = 15;
36
+ const DEFAULT_SAB_SIZE = 4 * 1024 * 1024; // 4 MB
37
+ // ---------------------------------------------------------------------------
38
+ // Worker implementation – serialized and spawned with eval:true so this file
39
+ // stays self-contained. No TypeScript types inside: they get stripped by tsc
40
+ // and the string is valid JS. All data comes through workerData.
41
+ // ---------------------------------------------------------------------------
42
+ function debugSocketWorkerMain() {
43
+ /* eslint-disable */
44
+ const { workerData, parentPort } = require("node:worker_threads");
45
+ const net = require("node:net");
46
+ const { sab, port, headerBytes, signalIdle, signalPending, livenessIntervalMs, offsetSignal, offsetReqLen, offsetRespLen, offsetLiveness, } = workerData;
47
+ const dataCapacity = sab.byteLength - headerBytes;
48
+ const signal = new Int32Array(sab, 0, 1);
49
+ const header = new Int32Array(sab, 0, headerBytes / 4);
50
+ const data = new Uint8Array(sab, headerBytes, dataCapacity);
51
+ const encoder = new TextEncoder();
52
+ const decoder = new TextDecoder();
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ let pendingResolve = null;
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ let pendingReject = null;
57
+ let recvBuf = "";
58
+ const socket = net.createConnection({ port, host: "127.0.0.1" });
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ socket.on("data", (chunk) => {
61
+ recvBuf += chunk.toString("utf8");
62
+ const lines = recvBuf.split("\n");
63
+ recvBuf = lines.pop() ?? "";
64
+ for (const line of lines) {
65
+ const trimmed = line.trim();
66
+ if (trimmed && pendingResolve) {
67
+ const res = pendingResolve;
68
+ pendingResolve = null;
69
+ pendingReject = null;
70
+ res(trimmed);
71
+ break;
72
+ }
73
+ }
74
+ });
75
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
+ socket.on("error", (err) => {
77
+ if (pendingReject) {
78
+ const rej = pendingReject;
79
+ pendingResolve = null;
80
+ pendingReject = null;
81
+ rej(err);
82
+ }
83
+ });
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ function writeResponse(jsonStr) {
86
+ const bytes = encoder.encode(jsonStr);
87
+ if (bytes.length > dataCapacity) {
88
+ const msg = encoder.encode("response too large: " + bytes.length);
89
+ data.set(msg);
90
+ Atomics.store(header, offsetRespLen, -msg.length);
91
+ }
92
+ else {
93
+ data.set(bytes);
94
+ Atomics.store(header, offsetRespLen, bytes.length);
95
+ }
96
+ Atomics.store(signal, offsetSignal, signalIdle);
97
+ Atomics.notify(signal, offsetSignal, 1);
98
+ }
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ function writeError(msg) {
101
+ const bytes = encoder.encode(String(msg));
102
+ const truncated = bytes.subarray(0, Math.min(bytes.length, dataCapacity));
103
+ data.set(truncated);
104
+ Atomics.store(header, offsetRespLen, -truncated.length);
105
+ Atomics.store(signal, offsetSignal, signalIdle);
106
+ Atomics.notify(signal, offsetSignal, 1);
107
+ }
108
+ // Liveness beacon so the main thread can detect a dead worker.
109
+ setInterval(() => {
110
+ Atomics.add(header, offsetLiveness, 1);
111
+ }, livenessIntervalMs).unref();
112
+ process.on("unhandledRejection", (err) => writeError("unhandledRejection: " + err));
113
+ process.on("uncaughtException", (err) => writeError("uncaughtException: " + err));
114
+ (async () => {
115
+ // Wait for socket to connect before signalling ready.
116
+ await new Promise((resolve, reject) => {
117
+ socket.once("connect", resolve);
118
+ socket.once("error", reject);
119
+ });
120
+ parentPort.postMessage("ready");
121
+ for (;;) {
122
+ // Block until the main thread signals a pending request.
123
+ while (Atomics.load(signal, offsetSignal) !== signalPending) {
124
+ Atomics.wait(signal, offsetSignal, signalIdle);
125
+ }
126
+ // Yield to let queued microtasks (e.g. orphaned rejections) drain first.
127
+ await new Promise((r) => setImmediate(r));
128
+ const reqLen = Atomics.load(header, offsetReqLen);
129
+ const requestStr = decoder.decode(data.subarray(0, reqLen));
130
+ try {
131
+ const responseStr = await new Promise((resolve, reject) => {
132
+ const timer = setTimeout(() => {
133
+ pendingResolve = null;
134
+ pendingReject = null;
135
+ reject(new Error("debug server request timed out"));
136
+ }, 30_000);
137
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
138
+ pendingResolve = (result) => {
139
+ clearTimeout(timer);
140
+ resolve(result);
141
+ };
142
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
+ pendingReject = (err) => {
144
+ clearTimeout(timer);
145
+ reject(err);
146
+ };
147
+ socket.write(requestStr + "\n");
148
+ });
149
+ writeResponse(responseStr);
150
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
+ }
152
+ catch (e) {
153
+ writeError(e && e.message ? e.message : String(e));
154
+ }
155
+ }
156
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
+ })().catch((err) => {
158
+ // Connection failed during startup; signal main thread.
159
+ writeError("worker startup failed: " + (err && err.message ? err.message : String(err)));
160
+ process.exit(1);
161
+ });
162
+ /* eslint-enable */
163
+ }
164
+ const WORKER_SOURCE = `(${debugSocketWorkerMain.toString()})()`;
165
+ let state = null;
166
+ const encoder = new TextEncoder();
167
+ const decoder = new TextDecoder();
168
+ const DATA_CAPACITY = DEFAULT_SAB_SIZE - HEADER_BYTES;
169
+ /**
170
+ * Spawn the worker and wait for its TCP socket to connect.
171
+ * Must be called (and awaited) before any `syncSend` call.
172
+ */
173
+ async function connectSyncSocket(port) {
174
+ if (state && !state.dead)
175
+ return;
176
+ const sab = new SharedArrayBuffer(DEFAULT_SAB_SIZE);
177
+ const signal = new Int32Array(sab, 0, 1);
178
+ const header = new Int32Array(sab, 0, HEADER_BYTES / 4);
179
+ const data = new Uint8Array(sab, HEADER_BYTES, DATA_CAPACITY);
180
+ const worker = new node_worker_threads_1.Worker(WORKER_SOURCE, {
181
+ eval: true,
182
+ workerData: {
183
+ sab,
184
+ port,
185
+ headerBytes: HEADER_BYTES,
186
+ signalIdle: SIGNAL_IDLE,
187
+ signalPending: SIGNAL_PENDING,
188
+ livenessIntervalMs: LIVENESS_INTERVAL_MS,
189
+ offsetSignal: OFFSET_SIGNAL,
190
+ offsetReqLen: OFFSET_REQ_LEN,
191
+ offsetRespLen: OFFSET_RESP_LEN,
192
+ offsetLiveness: OFFSET_LIVENESS,
193
+ },
194
+ });
195
+ worker.unref();
196
+ const s = { worker, header, signal, data, dead: false, cause: null };
197
+ worker.on("error", (err) => {
198
+ s.dead = true;
199
+ s.cause = err instanceof Error ? err : new Error(String(err));
200
+ });
201
+ worker.on("exit", (code) => {
202
+ s.dead = true;
203
+ if (!s.cause && code !== 0)
204
+ s.cause = new Error(`debug socket worker exited with code ${code}`);
205
+ });
206
+ state = s;
207
+ // Wait for the worker to signal "ready" (TCP socket connected).
208
+ await new Promise((resolve, reject) => {
209
+ const timeout = setTimeout(() => reject(new Error("debug socket worker did not become ready within 15 s")), 15_000);
210
+ worker.once("message", (msg) => {
211
+ clearTimeout(timeout);
212
+ if (msg === "ready")
213
+ resolve();
214
+ else
215
+ reject(new Error(`unexpected worker message: ${msg}`));
216
+ });
217
+ worker.once("error", (err) => {
218
+ clearTimeout(timeout);
219
+ reject(err);
220
+ });
221
+ });
222
+ }
223
+ /**
224
+ * Send a JSON request to the debug server synchronously (blocks via Atomics.wait).
225
+ * Returns the raw JSON response string.
226
+ */
227
+ function syncSend(request) {
228
+ if (!state || state.dead) {
229
+ throw new Error("debug socket not connected" + (state?.cause ? `: ${state.cause.message}` : ""));
230
+ }
231
+ const reqBytes = encoder.encode(JSON.stringify(request));
232
+ if (reqBytes.length > DATA_CAPACITY) {
233
+ throw new Error(`debug request too large: ${reqBytes.length} bytes`);
234
+ }
235
+ state.data.set(reqBytes);
236
+ Atomics.store(state.header, OFFSET_REQ_LEN, reqBytes.length);
237
+ Atomics.store(state.signal, OFFSET_SIGNAL, SIGNAL_PENDING);
238
+ Atomics.notify(state.signal, OFFSET_SIGNAL, 1);
239
+ // Block until the worker finishes, with liveness heartbeating.
240
+ let lastBeat = Atomics.load(state.header, OFFSET_LIVENESS);
241
+ let stale = 0;
242
+ for (;;) {
243
+ const r = Atomics.wait(state.signal, OFFSET_SIGNAL, SIGNAL_PENDING, WORKER_HEARTBEAT_MS);
244
+ if (r === "not-equal" || r === "ok")
245
+ break;
246
+ const beat = Atomics.load(state.header, OFFSET_LIVENESS);
247
+ if (beat !== lastBeat) {
248
+ lastBeat = beat;
249
+ stale = 0;
250
+ continue;
251
+ }
252
+ stale++;
253
+ if (stale >= MAX_STALE_HEARTBEATS) {
254
+ state.dead = true;
255
+ if (!state.cause) {
256
+ state.cause = new Error(`debug socket worker unresponsive for ${stale * WORKER_HEARTBEAT_MS} ms`);
257
+ }
258
+ break;
259
+ }
260
+ }
261
+ if (state.dead) {
262
+ throw new Error("debug socket worker died during request: " + (state.cause?.message ?? "unknown"));
263
+ }
264
+ const respLen = Atomics.load(state.header, OFFSET_RESP_LEN);
265
+ if (respLen < 0) {
266
+ throw new Error(decoder.decode(state.data.subarray(0, -respLen)));
267
+ }
268
+ return decoder.decode(state.data.subarray(0, respLen));
269
+ }
270
+ /** Terminate the worker and release the socket. */
271
+ function closeSyncSocket() {
272
+ const w = state?.worker;
273
+ state = null;
274
+ try {
275
+ w?.terminate();
276
+ }
277
+ catch {
278
+ // ignore
279
+ }
280
+ }
281
+ //# sourceMappingURL=syncDebugSocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncDebugSocket.js","sourceRoot":"","sources":["../../../../src/syncDebugSocket.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;GAYG;AACH,6DAA6C;AAE7C,wEAAwE;AACxE,mEAAmE;AACnE,gEAAgE;AAChE,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC,CAAI,gBAAgB;AAC5C,MAAM,cAAc,GAAG,CAAC,CAAC,CAAG,gBAAgB;AAC5C,MAAM,eAAe,GAAG,CAAC,CAAC,CAAE,gBAAgB;AAC5C,MAAM,eAAe,GAAG,CAAC,CAAC,CAAE,gBAAgB;AAC5C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAEjD,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,iEAAiE;AACjE,8EAA8E;AAC9E,SAAS,qBAAqB;IAC5B,oBAAoB;IACpB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhC,MAAM,EACJ,GAAG,EACH,IAAI,EACJ,WAAW,EACX,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,GACf,GAAG,UAAU,CAAC;IAEf,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,8DAA8D;IAC9D,IAAI,cAAc,GAA8B,IAAI,CAAC;IACrD,8DAA8D;IAC9D,IAAI,aAAa,GAA8B,IAAI,CAAC;IACpD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAEjE,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;QAC/B,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,cAAc,CAAC;gBAC3B,cAAc,GAAG,IAAI,CAAC;gBACtB,aAAa,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,OAAO,CAAC,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;QAC9B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,aAAa,CAAC;YAC1B,cAAc,GAAG,IAAI,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,SAAS,aAAa,CAAC,OAAY;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,8DAA8D;IAC9D,SAAS,UAAU,CAAC,GAAQ;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAElF,CAAC,KAAK,IAAI,EAAE;QACV,sDAAsD;QACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,SAAS,CAAC;YACR,yDAAyD;YACzD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,aAAa,EAAE,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC;YACD,yEAAyE;YACzE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,cAAc,GAAG,IAAI,CAAC;wBACtB,aAAa,GAAG,IAAI,CAAC;wBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;oBACtD,CAAC,EAAE,MAAM,CAAC,CAAC;oBAEX,8DAA8D;oBAC9D,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;wBAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC,CAAC;oBACF,8DAA8D;oBAC9D,aAAa,GAAG,CAAC,GAAQ,EAAE,EAAE;wBAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBAEH,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC7B,8DAA8D;YAC9D,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACH,8DAA8D;IAC9D,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;QACtB,wDAAwD;QACxD,UAAU,CAAC,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,mBAAmB;AACrB,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC;AAWhE,IAAI,KAAK,GAAiB,IAAI,CAAC;AAE/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEtD;;;GAGG;AACI,KAAK,4BAA4B,IAAY;IAClD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO;IAEjC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,IAAI,4BAAM,CAAC,aAAa,EAAE;QACvC,IAAI,EAAE,IAAI;QACV,UAAU,EAAE;YACV,GAAG;YACH,IAAI;YACJ,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,WAAW;YACvB,aAAa,EAAE,cAAc;YAC7B,kBAAkB,EAAE,oBAAoB;YACxC,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,cAAc;YAC5B,aAAa,EAAE,eAAe;YAC9B,cAAc,EAAE,eAAe;SAChC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,CAAC,GAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE5E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC;YACxB,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,KAAK,GAAG,CAAC,CAAC;IAEV,gEAAgE;IAChE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,EAC/E,MAAM,CACP,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,EAAE,CAAC;;gBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,kBAAyB,OAAgC;IACvD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAE/C,+DAA+D;IAC/D,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACR,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,oBAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,CACrB,wCAAwC,KAAK,GAAG,mBAAmB,KAAK,CACzE,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,2CAA2C,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,mDAAmD;AACnD;IACE,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;IACxB,KAAK,GAAG,IAAI,CAAC;IACb,IAAI,CAAC;QACH,CAAC,EAAE,SAAS,EAAE,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare function vfs(action: string, data: unknown): Promise<boolean> | Promise<string> | Promise<{
1
+ export declare function vfs(action: string, data: unknown): Promise<void> | Promise<string> | Promise<{
2
2
  [k: string]: string;
3
- }> | Promise<void>;
3
+ }> | Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../../src/vfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../../src/vfs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,6CAAyB;AACvC,0DAA6B;AAE7B,SAAS,iBAAiB,CAAC,WAAuB;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;SAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACxC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAM;IAC9B,OAAO,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAM;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAM;IAC/B,OAAO,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,KAAc;IAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAc;IACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpE,OAAO,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAU;IACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,MAAM,CACV,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,EACD,EAAwB,CACzB,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAc;IACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,GAAG;QAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,aAAoB,MAAc,EAAE,IAAa;IAC/C,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"root":["../../../src/index.ts","../../../src/sdkProxy.ts","../../../src/vfs.ts","../../../../common/src/sdkProxyHelpers.ts"],"version":"6.0.3"}
1
+ {"version":"7.0.2","root":["../../../src/debugClient.ts","../../../src/index.ts","../../../src/sdkProxy.ts","../../../src/syncDebugSimnet.ts","../../../src/syncDebugSocket.ts","../../../src/vfs.ts","../../../../common/src/sdkProxy.ts","../../../../common/src/sdkProxyHelpers.ts"],"packageJsons":["../../../../../clarinet-sdk-wasm/pkg-node/package.json","../../../../common/package.json","../../../package.json","../../../../../../node_modules/.pnpm/@noble+secp256k1@1.7.1/node_modules/@noble/secp256k1/package.json","../../../../../../node_modules/.pnpm/@stacks+common@7.6.0/node_modules/@stacks/common/package.json","../../../../../../node_modules/.pnpm/@stacks+network@7.6.0/node_modules/@stacks/network/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/package.json","../../../../../../node_modules/.pnpm/events@3.3.0/node_modules/events/package.json","../../../../../../node_modules/.pnpm/undici-types@8.3.0/node_modules/undici-types/package.json"],"missingPackageJsons":["../../../node_modules/@types/child_process/package.json","../../../node_modules/@types/net/package.json","../../../node_modules/child_process/package.json","../../../node_modules/net/package.json","../../../../../../node_modules/.pnpm/@noble+secp256k1@1.7.1/node_modules/@noble/secp256k1/lib/package.json","../../../../../../node_modules/.pnpm/@stacks+common@7.6.0/node_modules/@stacks/common/dist/package.json","../../../../../../node_modules/.pnpm/@stacks+network@7.6.0/node_modules/@stacks/network/dist/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/dist/clarity/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/dist/clarity/values/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/dist/namespaces/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/dist/package.json","../../../../../../node_modules/.pnpm/@stacks+transactions@7.6.0/node_modules/@stacks/transactions/dist/wire/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/assert/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/assert/strict/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/async_hooks/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/buffer/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/child_process/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/cluster/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/console/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/constants/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/crypto/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/dgram/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/diagnostics_channel/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/dns/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/dns/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/domain/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/events/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/fs/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/fs/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/http/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/http2/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/https/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/inspector/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/inspector/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/module/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/net/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/assert/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/dns/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/fs/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/inspector/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/path/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/readline/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/stream/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/test/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/timers/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/util/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/web-globals/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/node/zlib/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/os/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/path/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/path/posix/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/path/win32/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/perf_hooks/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/process/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/punycode/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/querystring/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/readline/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/readline/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/repl/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/stream/consumers/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/stream/iter/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/stream/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/stream/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/stream/web/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/string_decoder/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/timers/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/timers/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/tls/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/trace_events/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/tty/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/url/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/util/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/util/types/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/v8/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/vm/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/wasi/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/worker_threads/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/@types/zlib/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/assert/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/assert/strict/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/async_hooks/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/buffer/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/child_process/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/cluster/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/console/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/constants/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/crypto/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/dgram/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/diagnostics_channel/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/dns/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/dns/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/domain/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/events/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/fs/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/fs/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/http/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/http2/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/https/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/inspector/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/inspector/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/module/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/net/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/os/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/path/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/path/posix/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/path/win32/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/perf_hooks/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/process/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/punycode/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/querystring/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/readline/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/readline/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/repl/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/stream/consumers/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/stream/iter/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/stream/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/stream/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/stream/web/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/string_decoder/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/timers/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/timers/promises/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/tls/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/trace_events/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/tty/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/url/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/util/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/util/types/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/v8/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/vm/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/wasi/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/worker_threads/package.json","../../../../../../node_modules/.pnpm/@types+node@26.4.0/node_modules/zlib/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/assert/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/assert/strict/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/async_hooks/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/buffer/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/child_process/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/cluster/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/console/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/constants/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/crypto/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/dgram/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/diagnostics_channel/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/dns/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/dns/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/domain/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/events/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/fs/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/fs/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/http/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/http2/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/https/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/inspector/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/inspector/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/module/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/net/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/os/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/path/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/path/posix/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/path/win32/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/perf_hooks/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/process/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/punycode/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/querystring/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/readline/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/readline/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/repl/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/stream/consumers/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/stream/iter/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/stream/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/stream/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/stream/web/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/string_decoder/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/timers/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/timers/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/tls/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/trace_events/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/tty/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/url/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/util/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/util/types/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/v8/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/vm/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/wasi/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/worker_threads/package.json","../../../../../../node_modules/.pnpm/node_modules/@types/zlib/package.json","../../../../../../node_modules/.pnpm/node_modules/assert/package.json","../../../../../../node_modules/.pnpm/node_modules/assert/strict/package.json","../../../../../../node_modules/.pnpm/node_modules/async_hooks/package.json","../../../../../../node_modules/.pnpm/node_modules/buffer/package.json","../../../../../../node_modules/.pnpm/node_modules/child_process/package.json","../../../../../../node_modules/.pnpm/node_modules/cluster/package.json","../../../../../../node_modules/.pnpm/node_modules/console/package.json","../../../../../../node_modules/.pnpm/node_modules/constants/package.json","../../../../../../node_modules/.pnpm/node_modules/crypto/package.json","../../../../../../node_modules/.pnpm/node_modules/dgram/package.json","../../../../../../node_modules/.pnpm/node_modules/diagnostics_channel/package.json","../../../../../../node_modules/.pnpm/node_modules/dns/package.json","../../../../../../node_modules/.pnpm/node_modules/dns/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/domain/package.json","../../../../../../node_modules/.pnpm/node_modules/fs/package.json","../../../../../../node_modules/.pnpm/node_modules/fs/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/http/package.json","../../../../../../node_modules/.pnpm/node_modules/http2/package.json","../../../../../../node_modules/.pnpm/node_modules/https/package.json","../../../../../../node_modules/.pnpm/node_modules/inspector/package.json","../../../../../../node_modules/.pnpm/node_modules/inspector/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/module/package.json","../../../../../../node_modules/.pnpm/node_modules/net/package.json","../../../../../../node_modules/.pnpm/node_modules/os/package.json","../../../../../../node_modules/.pnpm/node_modules/path/package.json","../../../../../../node_modules/.pnpm/node_modules/path/posix/package.json","../../../../../../node_modules/.pnpm/node_modules/path/win32/package.json","../../../../../../node_modules/.pnpm/node_modules/perf_hooks/package.json","../../../../../../node_modules/.pnpm/node_modules/process/package.json","../../../../../../node_modules/.pnpm/node_modules/punycode/package.json","../../../../../../node_modules/.pnpm/node_modules/querystring/package.json","../../../../../../node_modules/.pnpm/node_modules/readline/package.json","../../../../../../node_modules/.pnpm/node_modules/readline/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/repl/package.json","../../../../../../node_modules/.pnpm/node_modules/stream/consumers/package.json","../../../../../../node_modules/.pnpm/node_modules/stream/iter/package.json","../../../../../../node_modules/.pnpm/node_modules/stream/package.json","../../../../../../node_modules/.pnpm/node_modules/stream/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/stream/web/package.json","../../../../../../node_modules/.pnpm/node_modules/string_decoder/package.json","../../../../../../node_modules/.pnpm/node_modules/timers/package.json","../../../../../../node_modules/.pnpm/node_modules/timers/promises/package.json","../../../../../../node_modules/.pnpm/node_modules/tls/package.json","../../../../../../node_modules/.pnpm/node_modules/trace_events/package.json","../../../../../../node_modules/.pnpm/node_modules/tty/package.json","../../../../../../node_modules/.pnpm/node_modules/url/package.json","../../../../../../node_modules/.pnpm/node_modules/util/package.json","../../../../../../node_modules/.pnpm/node_modules/util/types/package.json","../../../../../../node_modules/.pnpm/node_modules/v8/package.json","../../../../../../node_modules/.pnpm/node_modules/vm/package.json","../../../../../../node_modules/.pnpm/node_modules/wasi/package.json","../../../../../../node_modules/.pnpm/node_modules/worker_threads/package.json","../../../../../../node_modules/.pnpm/node_modules/zlib/package.json","../../../../../../node_modules/assert/package.json","../../../../../../node_modules/assert/strict/package.json","../../../../../../node_modules/async_hooks/package.json","../../../../../../node_modules/buffer/package.json","../../../../../../node_modules/child_process/package.json","../../../../../../node_modules/cluster/package.json","../../../../../../node_modules/console/package.json","../../../../../../node_modules/constants/package.json","../../../../../../node_modules/crypto/package.json","../../../../../../node_modules/dgram/package.json","../../../../../../node_modules/diagnostics_channel/package.json","../../../../../../node_modules/dns/package.json","../../../../../../node_modules/dns/promises/package.json","../../../../../../node_modules/domain/package.json","../../../../../../node_modules/events/package.json","../../../../../../node_modules/fs/package.json","../../../../../../node_modules/fs/promises/package.json","../../../../../../node_modules/http/package.json","../../../../../../node_modules/http2/package.json","../../../../../../node_modules/https/package.json","../../../../../../node_modules/inspector/package.json","../../../../../../node_modules/inspector/promises/package.json","../../../../../../node_modules/module/package.json","../../../../../../node_modules/net/package.json","../../../../../../node_modules/os/package.json","../../../../../../node_modules/path/package.json","../../../../../../node_modules/path/posix/package.json","../../../../../../node_modules/path/win32/package.json","../../../../../../node_modules/perf_hooks/package.json","../../../../../../node_modules/process/package.json","../../../../../../node_modules/punycode/package.json","../../../../../../node_modules/querystring/package.json","../../../../../../node_modules/readline/package.json","../../../../../../node_modules/readline/promises/package.json","../../../../../../node_modules/repl/package.json","../../../../../../node_modules/stream/consumers/package.json","../../../../../../node_modules/stream/iter/package.json","../../../../../../node_modules/stream/package.json","../../../../../../node_modules/stream/promises/package.json","../../../../../../node_modules/stream/web/package.json","../../../../../../node_modules/string_decoder/package.json","../../../../../../node_modules/timers/package.json","../../../../../../node_modules/timers/promises/package.json","../../../../../../node_modules/tls/package.json","../../../../../../node_modules/trace_events/package.json","../../../../../../node_modules/tty/package.json","../../../../../../node_modules/url/package.json","../../../../../../node_modules/util/package.json","../../../../../../node_modules/util/types/package.json","../../../../../../node_modules/v8/package.json","../../../../../../node_modules/vm/package.json","../../../../../../node_modules/wasi/package.json","../../../../../../node_modules/worker_threads/package.json","../../../../../../node_modules/zlib/package.json"]}
@@ -0,0 +1,32 @@
1
+ import { type CallFn, type CallReadOnlyFn, type DeployContract, type Execute, type GetDataVar, type GetMapEntry, type MineBlock, type TransferSTX } from "./sdkProxyHelpers.js";
2
+ type WasmTransactionRes = {
3
+ result: string;
4
+ events: string;
5
+ costs: string;
6
+ performance?: string;
7
+ };
8
+ type ProxySdk = {
9
+ callReadOnlyFn(args: unknown): WasmTransactionRes;
10
+ callPublicFn(args: unknown): WasmTransactionRes;
11
+ callPrivateFn(args: unknown): WasmTransactionRes;
12
+ deployContract(args: unknown): WasmTransactionRes;
13
+ execute(snippet: string): WasmTransactionRes;
14
+ getDataVar(contract: string, varName: string): string;
15
+ getMapEntry(contract: string, mapName: string, mapKey: Uint8Array): string;
16
+ mineBlock(txs: unknown[]): WasmTransactionRes[];
17
+ runSnippet(snippet: string): string;
18
+ transferSTX(args: unknown): WasmTransactionRes;
19
+ };
20
+ /** @deprecated use `simnet.execute(command)` instead */
21
+ type RunSnippet<S extends ProxySdk> = S["runSnippet"];
22
+ export type ProxiedSimnet<S extends ProxySdk> = {
23
+ [K in keyof S]: K extends "callReadOnlyFn" ? CallReadOnlyFn : K extends "callPublicFn" | "callPrivateFn" ? CallFn : K extends "execute" ? Execute : K extends "runSnippet" ? RunSnippet<S> : K extends "deployContract" ? DeployContract : K extends "transferSTX" ? TransferSTX : K extends "mineBlock" ? MineBlock : K extends "getDataVar" ? GetDataVar : K extends "getMapEntry" ? GetMapEntry : S[K];
24
+ };
25
+ type ProxyBindings<ContractOptions> = {
26
+ CallFnArgs: new (contract: string, method: string, args: Uint8Array[], sender: string, postConditions?: string[], postConditionMode?: string) => unknown;
27
+ ContractOptions: new (clarityVersion?: number) => ContractOptions;
28
+ DeployContractArgs: new (name: string, content: string, options: ContractOptions, sender: string, postConditions?: string[], postConditionMode?: string) => unknown;
29
+ TransferSTXArgs: new (amount: bigint, recipient: string, sender: string, postConditions?: string[], postConditionMode?: string) => unknown;
30
+ };
31
+ export declare function createSessionProxy<S extends ProxySdk, ContractOptions>(bindings: ProxyBindings<ContractOptions>): ProxyHandler<S>;
32
+ export {};
@@ -0,0 +1,85 @@
1
+ import { Cl, serializeCVBytes } from "@stacks/transactions";
2
+ import { parseCosts, parseEvents, serializePostConditions, } from "./sdkProxyHelpers.js";
3
+ function parseTxResponse(response) {
4
+ return {
5
+ result: Cl.deserialize(response.result),
6
+ events: parseEvents(response.events),
7
+ costs: parseCosts(response.costs),
8
+ performance: response.performance,
9
+ };
10
+ }
11
+ export function createSessionProxy(bindings) {
12
+ const { CallFnArgs, ContractOptions, DeployContractArgs, TransferSTXArgs } = bindings;
13
+ return {
14
+ get(session, prop, receiver) {
15
+ const sdk = session;
16
+ if (prop === "callReadOnlyFn" || prop === "callPublicFn" || prop === "callPrivateFn") {
17
+ const callFn = (contract, method, args, sender, options) => {
18
+ const { postConditions, postConditionMode } = serializePostConditions(options);
19
+ const response = sdk[prop](new CallFnArgs(contract, method, args.map(serializeCVBytes), sender, postConditions, postConditionMode));
20
+ return parseTxResponse(response);
21
+ };
22
+ return callFn;
23
+ }
24
+ if (prop === "execute") {
25
+ const execute = (snippet) => parseTxResponse(sdk.execute(snippet));
26
+ return execute;
27
+ }
28
+ if (prop === "deployContract") {
29
+ const deployContract = (name, content, options, sender, postConditionOptions) => {
30
+ const rustOptions = options
31
+ ? new ContractOptions(options.clarityVersion)
32
+ : new ContractOptions();
33
+ const { postConditions, postConditionMode } = serializePostConditions(postConditionOptions);
34
+ return parseTxResponse(sdk.deployContract(new DeployContractArgs(name, content, rustOptions, sender, postConditions, postConditionMode)));
35
+ };
36
+ return deployContract;
37
+ }
38
+ if (prop === "transferSTX") {
39
+ const transferSTX = (amount, recipient, sender, options) => {
40
+ const { postConditions, postConditionMode } = serializePostConditions(options);
41
+ return parseTxResponse(sdk.transferSTX(new TransferSTXArgs(BigInt(amount), recipient, sender, postConditions, postConditionMode)));
42
+ };
43
+ return transferSTX;
44
+ }
45
+ if (prop === "mineBlock") {
46
+ const mineBlock = (txs) => {
47
+ const serializedTxs = txs.map((tx) => {
48
+ if (tx.callPublicFn) {
49
+ return {
50
+ callPublicFn: {
51
+ ...tx.callPublicFn,
52
+ args_maps: tx.callPublicFn.args.map(serializeCVBytes),
53
+ },
54
+ };
55
+ }
56
+ if (tx.callPrivateFn) {
57
+ return {
58
+ callPrivateFn: {
59
+ ...tx.callPrivateFn,
60
+ args_maps: tx.callPrivateFn.args.map(serializeCVBytes),
61
+ },
62
+ };
63
+ }
64
+ if (tx.deployContract) {
65
+ return { deployContract: { ...tx.deployContract } };
66
+ }
67
+ return tx;
68
+ });
69
+ return sdk.mineBlock(serializedTxs).map(parseTxResponse);
70
+ };
71
+ return mineBlock;
72
+ }
73
+ if (prop === "getDataVar") {
74
+ const getDataVar = (...args) => Cl.deserialize(sdk.getDataVar(...args));
75
+ return getDataVar;
76
+ }
77
+ if (prop === "getMapEntry") {
78
+ const getMapEntry = (contract, mapName, mapKey) => Cl.deserialize(sdk.getMapEntry(contract, mapName, serializeCVBytes(mapKey)));
79
+ return getMapEntry;
80
+ }
81
+ return Reflect.get(session, prop, receiver);
82
+ },
83
+ };
84
+ }
85
+ //# sourceMappingURL=sdkProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkProxy.js","sourceRoot":"","sources":["../../../../../common/src/sdkProxy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ClarityValue, ClarityVersion } from "@stacks/transactions";
1
+ import { ClarityValue, ClarityVersion, ContractCallOptions, PostConditionModeName } from "@stacks/transactions";
2
2
  export type ClarityEvent = {
3
3
  event: string;
4
4
  data: {
@@ -26,19 +26,41 @@ export type ParsedTransactionResult = {
26
26
  costs: ClarityCosts | null;
27
27
  performance: string | undefined;
28
28
  };
29
- export type CallFn = (contract: string, method: string, args: ClarityValue[], sender: string) => ParsedTransactionResult;
29
+ /**
30
+ * Post-conditions to enforce on a simnet transaction.
31
+ *
32
+ * Conditions use the same builder, wire, and hex formats as stacks.js. Hex is
33
+ * also the escape hatch for conditions that stacks.js cannot build yet.
34
+ *
35
+ * Passing neither field preserves the SDK's unchecked behavior. Passing either
36
+ * enables enforcement; `postConditionMode` defaults to `"deny"`.
37
+ */
38
+ export type PostConditionOptions = Pick<ContractCallOptions, "postConditions" | "postConditionMode">;
39
+ /** `PostConditionOptions` as the Wasm SDK takes it: conditions already encoded. */
40
+ export type SerializedPostConditions = {
41
+ postConditions?: string[];
42
+ postConditionMode?: PostConditionModeName;
43
+ };
44
+ export declare function serializePostConditions(options?: PostConditionOptions): SerializedPostConditions;
45
+ export type CallFn = (contract: string, method: string, args: ClarityValue[], sender: string, options?: PostConditionOptions) => ParsedTransactionResult;
46
+ /** A read-only call moves no assets, so it takes no post-conditions. */
47
+ export type CallReadOnlyFn = (contract: string, method: string, args: ClarityValue[], sender: string) => ParsedTransactionResult;
30
48
  export type DeployContractOptions = {
31
49
  clarityVersion: ClarityVersion;
32
50
  };
33
- export type DeployContract = (name: string, content: string, options: DeployContractOptions | null, sender: string) => ParsedTransactionResult;
34
- export type TransferSTX = (amount: number | bigint, recipient: string, sender: string) => ParsedTransactionResult;
51
+ export type DeployContract = (name: string, content: string, options: DeployContractOptions | null, sender: string, postConditionOptions?: PostConditionOptions) => ParsedTransactionResult;
52
+ export type TransferSTX = (amount: number | bigint, recipient: string, sender: string, options?: PostConditionOptions) => ParsedTransactionResult;
53
+ /**
54
+ * A transaction in a `mineBlock` batch. Post-conditions are already encoded,
55
+ * because the batch is handed to Wasm as plain JSON.
56
+ */
35
57
  export type Tx = {
36
58
  callPublicFn: {
37
59
  contract: string;
38
60
  method: string;
39
61
  args: ClarityValue[];
40
62
  sender: string;
41
- };
63
+ } & SerializedPostConditions;
42
64
  callPrivateFn?: never;
43
65
  deployContract?: never;
44
66
  transferSTX?: never;
@@ -49,7 +71,7 @@ export type Tx = {
49
71
  method: string;
50
72
  args: ClarityValue[];
51
73
  sender: string;
52
- };
74
+ } & SerializedPostConditions;
53
75
  deployContract?: never;
54
76
  transferSTX?: never;
55
77
  } | {
@@ -60,7 +82,7 @@ export type Tx = {
60
82
  content: string;
61
83
  options: DeployContractOptions | null;
62
84
  sender: string;
63
- };
85
+ } & SerializedPostConditions;
64
86
  transferSTX?: never;
65
87
  } | {
66
88
  callPublicFn?: never;
@@ -70,13 +92,13 @@ export type Tx = {
70
92
  amount: number;
71
93
  recipient: string;
72
94
  sender: string;
73
- };
95
+ } & SerializedPostConditions;
74
96
  };
75
97
  export declare const tx: {
76
- callPublicFn: (contract: string, method: string, args: ClarityValue[], sender: string) => Tx;
77
- callPrivateFn: (contract: string, method: string, args: ClarityValue[], sender: string) => Tx;
78
- deployContract: (name: string, content: string, options: DeployContractOptions | null, sender: string) => Tx;
79
- transferSTX: (amount: number, recipient: string, sender: string) => Tx;
98
+ callPublicFn: (contract: string, method: string, args: ClarityValue[], sender: string, options?: PostConditionOptions) => Tx;
99
+ callPrivateFn: (contract: string, method: string, args: ClarityValue[], sender: string, options?: PostConditionOptions) => Tx;
100
+ deployContract: (name: string, content: string, options: DeployContractOptions | null, sender: string, postConditionOptions?: PostConditionOptions) => Tx;
101
+ transferSTX: (amount: number, recipient: string, sender: string, options?: PostConditionOptions) => Tx;
80
102
  };
81
103
  export declare function parseEvents(events: string): ClarityEvent[];
82
104
  export declare function parseCosts(costs: string): ClarityCosts | null;