@secretkeylabs/stacks-tools 0.3.0 → 0.4.0-13a5f23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +497 -284
- package/dist/index.d.cts +893 -41
- package/dist/index.d.ts +893 -41
- package/dist/index.js +489 -283
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -30,8 +30,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
+
callRateLimitedApi: () => callRateLimitedApi,
|
|
34
|
+
error: () => error,
|
|
33
35
|
queries: () => queries,
|
|
34
|
-
|
|
36
|
+
safeCall: () => safeCall,
|
|
37
|
+
safeCallRateLimitedApi: () => safeCallRateLimitedApi,
|
|
38
|
+
safePromise: () => safePromise,
|
|
39
|
+
stacksApi: () => stacksApi,
|
|
40
|
+
stacksRpcApi: () => stacksRpcApi,
|
|
41
|
+
success: () => success
|
|
35
42
|
});
|
|
36
43
|
module.exports = __toCommonJS(src_exports);
|
|
37
44
|
|
|
@@ -53,6 +60,17 @@ async function safePromise(promise) {
|
|
|
53
60
|
});
|
|
54
61
|
}
|
|
55
62
|
}
|
|
63
|
+
function safeCall(fn) {
|
|
64
|
+
try {
|
|
65
|
+
return success(fn());
|
|
66
|
+
} catch (e) {
|
|
67
|
+
return error({
|
|
68
|
+
name: "SafeCallError",
|
|
69
|
+
message: "Safe call failed.",
|
|
70
|
+
data: e
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
56
74
|
|
|
57
75
|
// src/stacks-api/accounts/balances.ts
|
|
58
76
|
var v = __toESM(require("valibot"), 1);
|
|
@@ -128,42 +146,92 @@ async function balances(opts) {
|
|
|
128
146
|
return success(validationResult.output);
|
|
129
147
|
}
|
|
130
148
|
|
|
149
|
+
// src/stacks-api/accounts/latest-nonce.ts
|
|
150
|
+
var v2 = __toESM(require("valibot"), 1);
|
|
151
|
+
var responseSchema2 = v2.object({
|
|
152
|
+
last_mempool_tx_nonce: v2.nullable(v2.number()),
|
|
153
|
+
last_executed_tx_nonce: v2.nullable(v2.number()),
|
|
154
|
+
possible_next_nonce: v2.number(),
|
|
155
|
+
detected_missing_nonces: v2.array(v2.number()),
|
|
156
|
+
detected_mempool_nonces: v2.array(v2.number())
|
|
157
|
+
});
|
|
158
|
+
async function latestNonce(opts) {
|
|
159
|
+
const init = {};
|
|
160
|
+
if (opts.apiKeyConfig) {
|
|
161
|
+
init.headers = {
|
|
162
|
+
[opts.apiKeyConfig.header]: opts.apiKeyConfig.key
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
const endpoint = `${opts.baseUrl}/extended/v1/address/${opts.principal}/nonces`;
|
|
166
|
+
const res = await fetch(endpoint, init);
|
|
167
|
+
if (!res.ok) {
|
|
168
|
+
return error({
|
|
169
|
+
name: "FetchLatestNonceError",
|
|
170
|
+
message: "Failed to fetch latest nonce.",
|
|
171
|
+
data: {
|
|
172
|
+
endpoint,
|
|
173
|
+
status: res.status,
|
|
174
|
+
statusText: res.statusText,
|
|
175
|
+
bodyParseResult: await safePromise(res.json())
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
const [jsonError, data] = await safePromise(res.json());
|
|
180
|
+
if (jsonError) {
|
|
181
|
+
return error({
|
|
182
|
+
name: "ParseBodyError",
|
|
183
|
+
message: "Failed to parse response body as JSON.",
|
|
184
|
+
data: jsonError
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
const validationResult = v2.safeParse(responseSchema2, data);
|
|
188
|
+
if (!validationResult.success) {
|
|
189
|
+
return error({
|
|
190
|
+
name: "ValidateDataError",
|
|
191
|
+
message: "Failed to validate data.",
|
|
192
|
+
data: validationResult
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
return success(validationResult.output);
|
|
196
|
+
}
|
|
197
|
+
|
|
131
198
|
// src/stacks-api/accounts/index.ts
|
|
132
199
|
var accounts = {
|
|
133
|
-
balances
|
|
200
|
+
balances,
|
|
201
|
+
latestNonce
|
|
134
202
|
};
|
|
135
203
|
|
|
136
204
|
// src/stacks-api/types.ts
|
|
137
|
-
var
|
|
138
|
-
var baseListResponseSchema =
|
|
139
|
-
limit:
|
|
140
|
-
offset:
|
|
141
|
-
total:
|
|
142
|
-
results:
|
|
205
|
+
var v3 = __toESM(require("valibot"), 1);
|
|
206
|
+
var baseListResponseSchema = v3.object({
|
|
207
|
+
limit: v3.number(),
|
|
208
|
+
offset: v3.number(),
|
|
209
|
+
total: v3.number(),
|
|
210
|
+
results: v3.array(v3.unknown())
|
|
143
211
|
});
|
|
144
212
|
|
|
145
213
|
// src/stacks-api/blocks/get-block.ts
|
|
146
|
-
var
|
|
147
|
-
var
|
|
148
|
-
canonical:
|
|
149
|
-
height:
|
|
150
|
-
hash:
|
|
151
|
-
block_time:
|
|
152
|
-
block_time_iso:
|
|
153
|
-
index_block_hash:
|
|
154
|
-
parent_block_hash:
|
|
155
|
-
parent_index_block_hash:
|
|
156
|
-
burn_block_time:
|
|
157
|
-
burn_block_time_iso:
|
|
158
|
-
burn_block_hash:
|
|
159
|
-
burn_block_height:
|
|
160
|
-
miner_txid:
|
|
161
|
-
tx_count:
|
|
162
|
-
execution_cost_read_count:
|
|
163
|
-
execution_cost_read_length:
|
|
164
|
-
execution_cost_runtime:
|
|
165
|
-
execution_cost_write_count:
|
|
166
|
-
execution_cost_write_length:
|
|
214
|
+
var v4 = __toESM(require("valibot"), 1);
|
|
215
|
+
var responseSchema3 = v4.object({
|
|
216
|
+
canonical: v4.boolean(),
|
|
217
|
+
height: v4.number(),
|
|
218
|
+
hash: v4.string(),
|
|
219
|
+
block_time: v4.number(),
|
|
220
|
+
block_time_iso: v4.string(),
|
|
221
|
+
index_block_hash: v4.string(),
|
|
222
|
+
parent_block_hash: v4.string(),
|
|
223
|
+
parent_index_block_hash: v4.string(),
|
|
224
|
+
burn_block_time: v4.number(),
|
|
225
|
+
burn_block_time_iso: v4.string(),
|
|
226
|
+
burn_block_hash: v4.string(),
|
|
227
|
+
burn_block_height: v4.number(),
|
|
228
|
+
miner_txid: v4.string(),
|
|
229
|
+
tx_count: v4.number(),
|
|
230
|
+
execution_cost_read_count: v4.number(),
|
|
231
|
+
execution_cost_read_length: v4.number(),
|
|
232
|
+
execution_cost_runtime: v4.number(),
|
|
233
|
+
execution_cost_write_count: v4.number(),
|
|
234
|
+
execution_cost_write_length: v4.number()
|
|
167
235
|
});
|
|
168
236
|
async function getBlock(opts) {
|
|
169
237
|
const init = {};
|
|
@@ -195,7 +263,7 @@ async function getBlock(opts) {
|
|
|
195
263
|
data: jsonError
|
|
196
264
|
});
|
|
197
265
|
}
|
|
198
|
-
const validationResult =
|
|
266
|
+
const validationResult = v4.safeParse(responseSchema3, data);
|
|
199
267
|
if (!validationResult.success) {
|
|
200
268
|
return error({
|
|
201
269
|
name: "ValidateDataError",
|
|
@@ -211,22 +279,64 @@ var blocks = {
|
|
|
211
279
|
getBlock
|
|
212
280
|
};
|
|
213
281
|
|
|
282
|
+
// src/stacks-api/faucets/stx.ts
|
|
283
|
+
async function stx(opts) {
|
|
284
|
+
const search = new URLSearchParams();
|
|
285
|
+
search.append("address", opts.address);
|
|
286
|
+
if (opts.stacking) search.append("stacking", "true");
|
|
287
|
+
const init = {};
|
|
288
|
+
if (opts.apiKeyConfig) {
|
|
289
|
+
init.headers = {
|
|
290
|
+
[opts.apiKeyConfig.header]: opts.apiKeyConfig.key
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
init.method = "POST";
|
|
294
|
+
const endpoint = `${opts.baseUrl}/extended/v1/faucets/stx?${search}`;
|
|
295
|
+
const res = await fetch(endpoint, init);
|
|
296
|
+
if (!res.ok) {
|
|
297
|
+
return error({
|
|
298
|
+
name: "FetchStxError",
|
|
299
|
+
message: "Failed to fetch STX.",
|
|
300
|
+
data: {
|
|
301
|
+
status: res.status,
|
|
302
|
+
statusText: res.statusText,
|
|
303
|
+
bodyParseResult: await safePromise(res.json())
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
const [jsonError, data] = await safePromise(res.json());
|
|
308
|
+
if (jsonError) {
|
|
309
|
+
return error({
|
|
310
|
+
name: "ParseBodyError",
|
|
311
|
+
message: "Failed to parse response body as JSON.",
|
|
312
|
+
data: jsonError
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
return success(data);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// src/stacks-api/faucets/index.ts
|
|
319
|
+
var faucets = {
|
|
320
|
+
stx
|
|
321
|
+
};
|
|
322
|
+
|
|
214
323
|
// src/stacks-api/info/core-api.ts
|
|
215
|
-
var
|
|
216
|
-
var CoreApiResponseSchema =
|
|
217
|
-
peer_version:
|
|
218
|
-
pox_consensus:
|
|
219
|
-
burn_block_height:
|
|
220
|
-
stable_pox_consensus:
|
|
221
|
-
stable_burn_block_height:
|
|
222
|
-
server_version:
|
|
223
|
-
network_id:
|
|
224
|
-
parent_network_id:
|
|
225
|
-
stacks_tip_height:
|
|
226
|
-
stacks_tip:
|
|
227
|
-
stacks_tip_consensus_hash:
|
|
228
|
-
unanchored_tip:
|
|
229
|
-
|
|
324
|
+
var v5 = __toESM(require("valibot"), 1);
|
|
325
|
+
var CoreApiResponseSchema = v5.object({
|
|
326
|
+
peer_version: v5.number(),
|
|
327
|
+
pox_consensus: v5.string(),
|
|
328
|
+
burn_block_height: v5.number(),
|
|
329
|
+
stable_pox_consensus: v5.string(),
|
|
330
|
+
stable_burn_block_height: v5.number(),
|
|
331
|
+
server_version: v5.string(),
|
|
332
|
+
network_id: v5.number(),
|
|
333
|
+
parent_network_id: v5.number(),
|
|
334
|
+
stacks_tip_height: v5.number(),
|
|
335
|
+
stacks_tip: v5.string(),
|
|
336
|
+
stacks_tip_consensus_hash: v5.string(),
|
|
337
|
+
unanchored_tip: v5.nullable(v5.string()),
|
|
338
|
+
unanchored_seq: v5.nullable(v5.string()),
|
|
339
|
+
exit_at_block_height: v5.nullable(v5.number())
|
|
230
340
|
});
|
|
231
341
|
async function coreApi(apiOpts) {
|
|
232
342
|
const init = {};
|
|
@@ -255,7 +365,7 @@ async function coreApi(apiOpts) {
|
|
|
255
365
|
data: parseBodyError
|
|
256
366
|
});
|
|
257
367
|
}
|
|
258
|
-
const validationResult =
|
|
368
|
+
const validationResult = v5.safeParse(CoreApiResponseSchema, data);
|
|
259
369
|
if (!validationResult.success) {
|
|
260
370
|
return error({
|
|
261
371
|
name: "ValidateDataError",
|
|
@@ -267,60 +377,60 @@ async function coreApi(apiOpts) {
|
|
|
267
377
|
}
|
|
268
378
|
|
|
269
379
|
// src/stacks-api/info/pox-details.ts
|
|
270
|
-
var
|
|
271
|
-
var poxDetailsResponseSchema =
|
|
272
|
-
contract_id:
|
|
273
|
-
pox_activation_threshold_ustx:
|
|
274
|
-
first_burnchain_block_height:
|
|
275
|
-
current_burnchain_block_height:
|
|
276
|
-
prepare_phase_block_length:
|
|
277
|
-
reward_phase_block_length:
|
|
278
|
-
reward_slots:
|
|
279
|
-
rejection_fraction:
|
|
280
|
-
total_liquid_supply_ustx:
|
|
281
|
-
current_cycle:
|
|
282
|
-
id:
|
|
283
|
-
min_threshold_ustx:
|
|
284
|
-
stacked_ustx:
|
|
285
|
-
is_pox_active:
|
|
380
|
+
var v6 = __toESM(require("valibot"), 1);
|
|
381
|
+
var poxDetailsResponseSchema = v6.object({
|
|
382
|
+
contract_id: v6.string(),
|
|
383
|
+
pox_activation_threshold_ustx: v6.number(),
|
|
384
|
+
first_burnchain_block_height: v6.number(),
|
|
385
|
+
current_burnchain_block_height: v6.number(),
|
|
386
|
+
prepare_phase_block_length: v6.number(),
|
|
387
|
+
reward_phase_block_length: v6.number(),
|
|
388
|
+
reward_slots: v6.number(),
|
|
389
|
+
rejection_fraction: v6.null(),
|
|
390
|
+
total_liquid_supply_ustx: v6.number(),
|
|
391
|
+
current_cycle: v6.object({
|
|
392
|
+
id: v6.number(),
|
|
393
|
+
min_threshold_ustx: v6.number(),
|
|
394
|
+
stacked_ustx: v6.number(),
|
|
395
|
+
is_pox_active: v6.boolean()
|
|
286
396
|
}),
|
|
287
|
-
next_cycle:
|
|
288
|
-
id:
|
|
289
|
-
min_threshold_ustx:
|
|
290
|
-
min_increment_ustx:
|
|
291
|
-
stacked_ustx:
|
|
292
|
-
prepare_phase_start_block_height:
|
|
293
|
-
blocks_until_prepare_phase:
|
|
294
|
-
reward_phase_start_block_height:
|
|
295
|
-
blocks_until_reward_phase:
|
|
296
|
-
ustx_until_pox_rejection:
|
|
397
|
+
next_cycle: v6.object({
|
|
398
|
+
id: v6.number(),
|
|
399
|
+
min_threshold_ustx: v6.number(),
|
|
400
|
+
min_increment_ustx: v6.number(),
|
|
401
|
+
stacked_ustx: v6.number(),
|
|
402
|
+
prepare_phase_start_block_height: v6.number(),
|
|
403
|
+
blocks_until_prepare_phase: v6.number(),
|
|
404
|
+
reward_phase_start_block_height: v6.number(),
|
|
405
|
+
blocks_until_reward_phase: v6.number(),
|
|
406
|
+
ustx_until_pox_rejection: v6.null()
|
|
297
407
|
}),
|
|
298
|
-
epochs:
|
|
299
|
-
|
|
300
|
-
epoch_id:
|
|
301
|
-
start_height:
|
|
302
|
-
end_height:
|
|
303
|
-
block_limit:
|
|
304
|
-
write_length:
|
|
305
|
-
write_count:
|
|
306
|
-
read_length:
|
|
307
|
-
read_count:
|
|
308
|
-
runtime:
|
|
408
|
+
epochs: v6.array(
|
|
409
|
+
v6.object({
|
|
410
|
+
epoch_id: v6.string(),
|
|
411
|
+
start_height: v6.number(),
|
|
412
|
+
end_height: v6.number(),
|
|
413
|
+
block_limit: v6.object({
|
|
414
|
+
write_length: v6.number(),
|
|
415
|
+
write_count: v6.number(),
|
|
416
|
+
read_length: v6.number(),
|
|
417
|
+
read_count: v6.number(),
|
|
418
|
+
runtime: v6.number()
|
|
309
419
|
}),
|
|
310
|
-
network_epoch:
|
|
420
|
+
network_epoch: v6.number()
|
|
311
421
|
})
|
|
312
422
|
),
|
|
313
|
-
min_amount_ustx:
|
|
314
|
-
prepare_cycle_length:
|
|
315
|
-
reward_cycle_id:
|
|
316
|
-
reward_cycle_length:
|
|
317
|
-
rejection_votes_left_required:
|
|
318
|
-
next_reward_cycle_in:
|
|
319
|
-
contract_versions:
|
|
320
|
-
|
|
321
|
-
contract_id:
|
|
322
|
-
activation_burnchain_block_height:
|
|
323
|
-
first_reward_cycle_id:
|
|
423
|
+
min_amount_ustx: v6.number(),
|
|
424
|
+
prepare_cycle_length: v6.number(),
|
|
425
|
+
reward_cycle_id: v6.number(),
|
|
426
|
+
reward_cycle_length: v6.number(),
|
|
427
|
+
rejection_votes_left_required: v6.null(),
|
|
428
|
+
next_reward_cycle_in: v6.number(),
|
|
429
|
+
contract_versions: v6.array(
|
|
430
|
+
v6.object({
|
|
431
|
+
contract_id: v6.string(),
|
|
432
|
+
activation_burnchain_block_height: v6.number(),
|
|
433
|
+
first_reward_cycle_id: v6.number()
|
|
324
434
|
})
|
|
325
435
|
)
|
|
326
436
|
});
|
|
@@ -351,7 +461,7 @@ async function poxDetails(args) {
|
|
|
351
461
|
data: jsonParseError
|
|
352
462
|
});
|
|
353
463
|
}
|
|
354
|
-
const validationResult =
|
|
464
|
+
const validationResult = v6.safeParse(poxDetailsResponseSchema, data);
|
|
355
465
|
if (!validationResult.success) {
|
|
356
466
|
return error({
|
|
357
467
|
name: "ValidateDataError",
|
|
@@ -369,14 +479,14 @@ var info = {
|
|
|
369
479
|
};
|
|
370
480
|
|
|
371
481
|
// src/stacks-api/proof-of-transfer/cycle.ts
|
|
372
|
-
var
|
|
373
|
-
var
|
|
374
|
-
block_height:
|
|
375
|
-
index_block_hash:
|
|
376
|
-
cycle_number:
|
|
377
|
-
total_weight:
|
|
378
|
-
total_stacked_amount:
|
|
379
|
-
total_signers:
|
|
482
|
+
var v7 = __toESM(require("valibot"), 1);
|
|
483
|
+
var responseSchema4 = v7.object({
|
|
484
|
+
block_height: v7.number(),
|
|
485
|
+
index_block_hash: v7.string(),
|
|
486
|
+
cycle_number: v7.number(),
|
|
487
|
+
total_weight: v7.number(),
|
|
488
|
+
total_stacked_amount: v7.string(),
|
|
489
|
+
total_signers: v7.number()
|
|
380
490
|
});
|
|
381
491
|
async function cycle(opts) {
|
|
382
492
|
const init = {};
|
|
@@ -407,7 +517,7 @@ async function cycle(opts) {
|
|
|
407
517
|
data: jsonError
|
|
408
518
|
});
|
|
409
519
|
}
|
|
410
|
-
const validationResult =
|
|
520
|
+
const validationResult = v7.safeParse(responseSchema4, data);
|
|
411
521
|
if (!validationResult.success) {
|
|
412
522
|
return error({
|
|
413
523
|
name: "ValidateDataError",
|
|
@@ -419,17 +529,17 @@ async function cycle(opts) {
|
|
|
419
529
|
}
|
|
420
530
|
|
|
421
531
|
// src/stacks-api/proof-of-transfer/cycles.ts
|
|
422
|
-
var
|
|
423
|
-
var cycleInfoSchema =
|
|
424
|
-
block_height:
|
|
425
|
-
index_block_hash:
|
|
426
|
-
cycle_number:
|
|
427
|
-
total_weight:
|
|
428
|
-
total_stacked_amount:
|
|
429
|
-
total_signers:
|
|
532
|
+
var v8 = __toESM(require("valibot"), 1);
|
|
533
|
+
var cycleInfoSchema = v8.object({
|
|
534
|
+
block_height: v8.number(),
|
|
535
|
+
index_block_hash: v8.string(),
|
|
536
|
+
cycle_number: v8.number(),
|
|
537
|
+
total_weight: v8.number(),
|
|
538
|
+
total_stacked_amount: v8.string(),
|
|
539
|
+
total_signers: v8.number()
|
|
430
540
|
});
|
|
431
|
-
var resultsSchema =
|
|
432
|
-
var cyclesResponseSchema =
|
|
541
|
+
var resultsSchema = v8.array(cycleInfoSchema);
|
|
542
|
+
var cyclesResponseSchema = v8.object({
|
|
433
543
|
...baseListResponseSchema.entries,
|
|
434
544
|
results: resultsSchema
|
|
435
545
|
});
|
|
@@ -465,7 +575,7 @@ async function cycles(args) {
|
|
|
465
575
|
data: jsonError
|
|
466
576
|
});
|
|
467
577
|
}
|
|
468
|
-
const validationResult =
|
|
578
|
+
const validationResult = v8.safeParse(cyclesResponseSchema, data);
|
|
469
579
|
if (!validationResult.success) {
|
|
470
580
|
return error({
|
|
471
581
|
name: "ValidateDataError",
|
|
@@ -477,16 +587,16 @@ async function cycles(args) {
|
|
|
477
587
|
}
|
|
478
588
|
|
|
479
589
|
// src/stacks-api/proof-of-transfer/signer-in-cycle.ts
|
|
480
|
-
var
|
|
481
|
-
var signerInCycleResponseSchema =
|
|
482
|
-
signing_key:
|
|
483
|
-
signer_address:
|
|
484
|
-
weight:
|
|
485
|
-
stacked_amount:
|
|
486
|
-
weight_percent:
|
|
487
|
-
stacked_amount_percent:
|
|
488
|
-
solo_stacker_count:
|
|
489
|
-
pooled_stacker_count:
|
|
590
|
+
var v9 = __toESM(require("valibot"), 1);
|
|
591
|
+
var signerInCycleResponseSchema = v9.object({
|
|
592
|
+
signing_key: v9.string(),
|
|
593
|
+
signer_address: v9.string(),
|
|
594
|
+
weight: v9.number(),
|
|
595
|
+
stacked_amount: v9.string(),
|
|
596
|
+
weight_percent: v9.number(),
|
|
597
|
+
stacked_amount_percent: v9.number(),
|
|
598
|
+
solo_stacker_count: v9.number(),
|
|
599
|
+
pooled_stacker_count: v9.number()
|
|
490
600
|
});
|
|
491
601
|
async function signerInCycle(args) {
|
|
492
602
|
const init = {};
|
|
@@ -522,7 +632,7 @@ async function signerInCycle(args) {
|
|
|
522
632
|
}
|
|
523
633
|
});
|
|
524
634
|
}
|
|
525
|
-
const validationResult =
|
|
635
|
+
const validationResult = v9.safeParse(signerInCycleResponseSchema, data);
|
|
526
636
|
if (!validationResult.success) {
|
|
527
637
|
return error({
|
|
528
638
|
name: "ValidateDataError",
|
|
@@ -534,19 +644,19 @@ async function signerInCycle(args) {
|
|
|
534
644
|
}
|
|
535
645
|
|
|
536
646
|
// src/stacks-api/proof-of-transfer/signers-in-cycle.ts
|
|
537
|
-
var
|
|
538
|
-
var signerSchema =
|
|
539
|
-
signing_key:
|
|
540
|
-
signer_address:
|
|
541
|
-
weight:
|
|
542
|
-
stacked_amount:
|
|
543
|
-
weight_percent:
|
|
544
|
-
stacked_amount_percent:
|
|
545
|
-
pooled_stacker_count:
|
|
546
|
-
solo_stacker_count:
|
|
647
|
+
var v10 = __toESM(require("valibot"), 1);
|
|
648
|
+
var signerSchema = v10.object({
|
|
649
|
+
signing_key: v10.string(),
|
|
650
|
+
signer_address: v10.string(),
|
|
651
|
+
weight: v10.number(),
|
|
652
|
+
stacked_amount: v10.string(),
|
|
653
|
+
weight_percent: v10.number(),
|
|
654
|
+
stacked_amount_percent: v10.number(),
|
|
655
|
+
pooled_stacker_count: v10.number(),
|
|
656
|
+
solo_stacker_count: v10.number()
|
|
547
657
|
});
|
|
548
|
-
var resultsSchema2 =
|
|
549
|
-
var signersResponseSchema =
|
|
658
|
+
var resultsSchema2 = v10.array(signerSchema);
|
|
659
|
+
var signersResponseSchema = v10.object({
|
|
550
660
|
...baseListResponseSchema.entries,
|
|
551
661
|
results: resultsSchema2
|
|
552
662
|
});
|
|
@@ -585,7 +695,7 @@ async function signersInCycle(args) {
|
|
|
585
695
|
}
|
|
586
696
|
});
|
|
587
697
|
}
|
|
588
|
-
const validationResult =
|
|
698
|
+
const validationResult = v10.safeParse(signersResponseSchema, data);
|
|
589
699
|
if (!validationResult.success) {
|
|
590
700
|
return error({
|
|
591
701
|
name: "ValidateDataError",
|
|
@@ -597,15 +707,15 @@ async function signersInCycle(args) {
|
|
|
597
707
|
}
|
|
598
708
|
|
|
599
709
|
// src/stacks-api/proof-of-transfer/stackers-for-signer-in-cycle.ts
|
|
600
|
-
var
|
|
601
|
-
var stackerInfoSchema =
|
|
602
|
-
stacker_address:
|
|
603
|
-
stacked_amount:
|
|
604
|
-
pox_address:
|
|
605
|
-
stacker_type:
|
|
710
|
+
var v11 = __toESM(require("valibot"), 1);
|
|
711
|
+
var stackerInfoSchema = v11.object({
|
|
712
|
+
stacker_address: v11.string(),
|
|
713
|
+
stacked_amount: v11.string(),
|
|
714
|
+
pox_address: v11.string(),
|
|
715
|
+
stacker_type: v11.union([v11.literal("pooled"), v11.literal("solo")])
|
|
606
716
|
});
|
|
607
|
-
var resultsSchema3 =
|
|
608
|
-
var stackersForSignerInCycleResponseSchema =
|
|
717
|
+
var resultsSchema3 = v11.array(stackerInfoSchema);
|
|
718
|
+
var stackersForSignerInCycleResponseSchema = v11.object({
|
|
609
719
|
...baseListResponseSchema.entries,
|
|
610
720
|
results: resultsSchema3
|
|
611
721
|
});
|
|
@@ -619,7 +729,8 @@ async function stackersForSignerInCycle(opts) {
|
|
|
619
729
|
[opts.apiKeyConfig.header]: opts.apiKeyConfig.key
|
|
620
730
|
};
|
|
621
731
|
}
|
|
622
|
-
const
|
|
732
|
+
const signerPublicKeyPathParam = opts.signerPublicKey.startsWith("0x") ? opts.signerPublicKey : `0x${opts.signerPublicKey}`;
|
|
733
|
+
const endpoint = `${opts.baseUrl}/extended/v2/pox/cycles/${opts.cycleNumber}/signers/${signerPublicKeyPathParam}/stackers?${search}`;
|
|
623
734
|
const res = await fetch(endpoint, init);
|
|
624
735
|
if (!res.ok) {
|
|
625
736
|
return error({
|
|
@@ -641,7 +752,7 @@ async function stackersForSignerInCycle(opts) {
|
|
|
641
752
|
data: jsonError
|
|
642
753
|
});
|
|
643
754
|
}
|
|
644
|
-
const validationResult =
|
|
755
|
+
const validationResult = v11.safeParse(
|
|
645
756
|
stackersForSignerInCycleResponseSchema,
|
|
646
757
|
data
|
|
647
758
|
);
|
|
@@ -665,28 +776,37 @@ var proofOfTransfer = {
|
|
|
665
776
|
};
|
|
666
777
|
|
|
667
778
|
// src/stacks-api/smart-contracts/read-only.ts
|
|
668
|
-
var
|
|
669
|
-
var readOnlyResponseSchema =
|
|
670
|
-
|
|
671
|
-
okay:
|
|
672
|
-
|
|
779
|
+
var v12 = __toESM(require("valibot"), 1);
|
|
780
|
+
var readOnlyResponseSchema = v12.variant("okay", [
|
|
781
|
+
v12.object({
|
|
782
|
+
okay: v12.literal(true),
|
|
783
|
+
/**
|
|
784
|
+
* A Clarity value as a hex-encoded string.
|
|
785
|
+
*/
|
|
786
|
+
result: v12.string()
|
|
673
787
|
}),
|
|
674
|
-
|
|
675
|
-
okay:
|
|
676
|
-
cause:
|
|
788
|
+
v12.object({
|
|
789
|
+
okay: v12.literal(false),
|
|
790
|
+
cause: v12.unknown()
|
|
677
791
|
})
|
|
678
792
|
]);
|
|
679
|
-
async function readOnly(
|
|
680
|
-
const
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
793
|
+
async function readOnly(args) {
|
|
794
|
+
const headers = {
|
|
795
|
+
"Content-Type": "application/json"
|
|
796
|
+
};
|
|
797
|
+
if (args.apiKeyConfig) {
|
|
798
|
+
headers[args.apiKeyConfig.header] = args.apiKeyConfig.key;
|
|
685
799
|
}
|
|
686
|
-
const
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
800
|
+
const init = {
|
|
801
|
+
method: "POST",
|
|
802
|
+
body: JSON.stringify({
|
|
803
|
+
sender: args.sender,
|
|
804
|
+
arguments: args.arguments
|
|
805
|
+
}),
|
|
806
|
+
headers
|
|
807
|
+
};
|
|
808
|
+
const endpoint = `${args.baseUrl}/v2/contracts/call-read/${args.contractAddress}/${args.contractName}/${args.functionName}`;
|
|
809
|
+
const res = await fetch(endpoint, init);
|
|
690
810
|
if (!res.ok) {
|
|
691
811
|
return error({
|
|
692
812
|
name: "FetchReadOnlyError",
|
|
@@ -706,7 +826,7 @@ async function readOnly(opts, apiOpts) {
|
|
|
706
826
|
data: error
|
|
707
827
|
});
|
|
708
828
|
}
|
|
709
|
-
const validationResult =
|
|
829
|
+
const validationResult = v12.safeParse(readOnlyResponseSchema, data);
|
|
710
830
|
if (!validationResult.success) {
|
|
711
831
|
return error({
|
|
712
832
|
name: "ValidateDataError",
|
|
@@ -723,37 +843,35 @@ var smartContracts = {
|
|
|
723
843
|
};
|
|
724
844
|
|
|
725
845
|
// src/stacks-api/stacking-pool/members.ts
|
|
726
|
-
var
|
|
727
|
-
var memberSchema =
|
|
728
|
-
stacker:
|
|
729
|
-
pox_addr:
|
|
730
|
-
amount_ustx:
|
|
731
|
-
burn_block_unlock_height:
|
|
732
|
-
block_height:
|
|
733
|
-
tx_id:
|
|
846
|
+
var v13 = __toESM(require("valibot"), 1);
|
|
847
|
+
var memberSchema = v13.object({
|
|
848
|
+
stacker: v13.string(),
|
|
849
|
+
pox_addr: v13.optional(v13.string()),
|
|
850
|
+
amount_ustx: v13.string(),
|
|
851
|
+
burn_block_unlock_height: v13.optional(v13.number()),
|
|
852
|
+
block_height: v13.number(),
|
|
853
|
+
tx_id: v13.string()
|
|
734
854
|
});
|
|
735
|
-
var membersResponseSchema =
|
|
736
|
-
limit:
|
|
737
|
-
offset:
|
|
738
|
-
total:
|
|
739
|
-
results:
|
|
855
|
+
var membersResponseSchema = v13.object({
|
|
856
|
+
limit: v13.number(),
|
|
857
|
+
offset: v13.number(),
|
|
858
|
+
total: v13.number(),
|
|
859
|
+
results: v13.array(memberSchema)
|
|
740
860
|
});
|
|
741
|
-
async function members(
|
|
861
|
+
async function members(args) {
|
|
742
862
|
const search = new URLSearchParams();
|
|
743
|
-
if (
|
|
744
|
-
if (
|
|
745
|
-
if (
|
|
746
|
-
if (
|
|
863
|
+
if (args.afterBlock) search.append("after_block", args.afterBlock.toString());
|
|
864
|
+
if (args.unanchored) search.append("unanchored", "true");
|
|
865
|
+
if (args.limit) search.append("limit", args.limit.toString());
|
|
866
|
+
if (args.offset) search.append("offset", args.offset.toString());
|
|
747
867
|
const init = {};
|
|
748
|
-
if (
|
|
868
|
+
if (args.apiKeyConfig) {
|
|
749
869
|
init.headers = {
|
|
750
|
-
[
|
|
870
|
+
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
751
871
|
};
|
|
752
872
|
}
|
|
753
|
-
const
|
|
754
|
-
|
|
755
|
-
init
|
|
756
|
-
);
|
|
873
|
+
const endpoint = `${args.baseUrl}/extended/v1/pox4/${args.poolPrincipal}/delegations?${search}`;
|
|
874
|
+
const res = await fetch(endpoint, init);
|
|
757
875
|
if (!res.ok) {
|
|
758
876
|
return error({
|
|
759
877
|
name: "FetchMembersError",
|
|
@@ -773,7 +891,7 @@ async function members(opts, apiOpts) {
|
|
|
773
891
|
data: jsonParseError
|
|
774
892
|
});
|
|
775
893
|
}
|
|
776
|
-
const validationResult =
|
|
894
|
+
const validationResult = v13.safeParse(membersResponseSchema, data);
|
|
777
895
|
if (!validationResult.success) {
|
|
778
896
|
return error({
|
|
779
897
|
name: "ValidateDataError",
|
|
@@ -790,116 +908,120 @@ var stackingPool = {
|
|
|
790
908
|
};
|
|
791
909
|
|
|
792
910
|
// src/stacks-api/transactions/schemas.ts
|
|
793
|
-
var
|
|
794
|
-
var baseTransactionSchema =
|
|
795
|
-
tx_id:
|
|
796
|
-
nonce:
|
|
797
|
-
fee_rate:
|
|
798
|
-
sender_address:
|
|
799
|
-
sponsored:
|
|
800
|
-
post_condition_mode:
|
|
801
|
-
post_conditions:
|
|
802
|
-
anchor_mode:
|
|
803
|
-
is_unanchored:
|
|
804
|
-
block_hash:
|
|
805
|
-
parent_block_hash:
|
|
806
|
-
block_height:
|
|
807
|
-
block_time:
|
|
808
|
-
block_time_iso:
|
|
809
|
-
burn_block_height:
|
|
810
|
-
burn_block_time:
|
|
811
|
-
burn_block_time_iso:
|
|
812
|
-
parent_burn_block_time:
|
|
813
|
-
parent_burn_block_time_iso:
|
|
814
|
-
canonical:
|
|
815
|
-
tx_index:
|
|
816
|
-
tx_status:
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
911
|
+
var v14 = __toESM(require("valibot"), 1);
|
|
912
|
+
var baseTransactionSchema = v14.object({
|
|
913
|
+
tx_id: v14.string(),
|
|
914
|
+
nonce: v14.number(),
|
|
915
|
+
fee_rate: v14.string(),
|
|
916
|
+
sender_address: v14.string(),
|
|
917
|
+
sponsored: v14.boolean(),
|
|
918
|
+
post_condition_mode: v14.string(),
|
|
919
|
+
post_conditions: v14.array(v14.unknown()),
|
|
920
|
+
anchor_mode: v14.string(),
|
|
921
|
+
is_unanchored: v14.boolean(),
|
|
922
|
+
block_hash: v14.string(),
|
|
923
|
+
parent_block_hash: v14.string(),
|
|
924
|
+
block_height: v14.number(),
|
|
925
|
+
block_time: v14.number(),
|
|
926
|
+
block_time_iso: v14.string(),
|
|
927
|
+
burn_block_height: v14.number(),
|
|
928
|
+
burn_block_time: v14.number(),
|
|
929
|
+
burn_block_time_iso: v14.string(),
|
|
930
|
+
parent_burn_block_time: v14.number(),
|
|
931
|
+
parent_burn_block_time_iso: v14.string(),
|
|
932
|
+
canonical: v14.boolean(),
|
|
933
|
+
tx_index: v14.number(),
|
|
934
|
+
tx_status: v14.union([
|
|
935
|
+
v14.literal("success"),
|
|
936
|
+
v14.literal("abort_by_response"),
|
|
937
|
+
v14.literal("abort_by_post_condition")
|
|
938
|
+
]),
|
|
939
|
+
tx_result: v14.object({
|
|
940
|
+
hex: v14.string(),
|
|
941
|
+
repr: v14.string()
|
|
820
942
|
}),
|
|
821
|
-
microblock_hash:
|
|
822
|
-
microblock_sequence:
|
|
823
|
-
microblock_canonical:
|
|
824
|
-
event_count:
|
|
825
|
-
events:
|
|
826
|
-
execution_cost_read_count:
|
|
827
|
-
execution_cost_read_length:
|
|
828
|
-
execution_cost_runtime:
|
|
829
|
-
execution_cost_write_count:
|
|
830
|
-
execution_cost_write_length:
|
|
943
|
+
microblock_hash: v14.string(),
|
|
944
|
+
microblock_sequence: v14.number(),
|
|
945
|
+
microblock_canonical: v14.boolean(),
|
|
946
|
+
event_count: v14.number(),
|
|
947
|
+
events: v14.array(v14.unknown()),
|
|
948
|
+
execution_cost_read_count: v14.number(),
|
|
949
|
+
execution_cost_read_length: v14.number(),
|
|
950
|
+
execution_cost_runtime: v14.number(),
|
|
951
|
+
execution_cost_write_count: v14.number(),
|
|
952
|
+
execution_cost_write_length: v14.number()
|
|
831
953
|
});
|
|
832
|
-
var contractCallTransactionSchema =
|
|
833
|
-
tx_type:
|
|
834
|
-
contract_call:
|
|
835
|
-
contract_id:
|
|
836
|
-
function_name:
|
|
837
|
-
function_signature:
|
|
838
|
-
function_args:
|
|
839
|
-
|
|
840
|
-
hex:
|
|
841
|
-
repr:
|
|
842
|
-
name:
|
|
843
|
-
type:
|
|
954
|
+
var contractCallTransactionSchema = v14.object({
|
|
955
|
+
tx_type: v14.literal("contract_call"),
|
|
956
|
+
contract_call: v14.object({
|
|
957
|
+
contract_id: v14.string(),
|
|
958
|
+
function_name: v14.string(),
|
|
959
|
+
function_signature: v14.string(),
|
|
960
|
+
function_args: v14.array(
|
|
961
|
+
v14.object({
|
|
962
|
+
hex: v14.string(),
|
|
963
|
+
repr: v14.string(),
|
|
964
|
+
name: v14.string(),
|
|
965
|
+
type: v14.string()
|
|
844
966
|
})
|
|
845
967
|
)
|
|
846
968
|
}),
|
|
847
969
|
...baseTransactionSchema.entries
|
|
848
970
|
});
|
|
849
|
-
var smartContractTransactionSchema =
|
|
850
|
-
tx_type:
|
|
851
|
-
smart_contract:
|
|
971
|
+
var smartContractTransactionSchema = v14.object({
|
|
972
|
+
tx_type: v14.literal("smart_contract"),
|
|
973
|
+
smart_contract: v14.object({
|
|
852
974
|
/**
|
|
853
975
|
* NOTE: The types may be wrong, not sure what type of value is used when
|
|
854
976
|
* the version is not `null`.
|
|
855
977
|
*/
|
|
856
|
-
clarity_version:
|
|
857
|
-
contract_id:
|
|
858
|
-
source_code:
|
|
978
|
+
clarity_version: v14.union([v14.null(), v14.number()]),
|
|
979
|
+
contract_id: v14.string(),
|
|
980
|
+
source_code: v14.string()
|
|
859
981
|
}),
|
|
860
982
|
...baseTransactionSchema.entries
|
|
861
983
|
});
|
|
862
|
-
var tokenTransferSchema =
|
|
863
|
-
tx_type:
|
|
864
|
-
token_transfer:
|
|
865
|
-
recipient_address:
|
|
866
|
-
amount:
|
|
867
|
-
memo:
|
|
984
|
+
var tokenTransferSchema = v14.object({
|
|
985
|
+
tx_type: v14.literal("token_transfer"),
|
|
986
|
+
token_transfer: v14.object({
|
|
987
|
+
recipient_address: v14.string(),
|
|
988
|
+
amount: v14.string(),
|
|
989
|
+
memo: v14.string()
|
|
868
990
|
}),
|
|
869
991
|
...baseTransactionSchema.entries
|
|
870
992
|
});
|
|
871
|
-
var transactionSchema =
|
|
993
|
+
var transactionSchema = v14.variant("tx_type", [
|
|
872
994
|
contractCallTransactionSchema,
|
|
873
995
|
smartContractTransactionSchema,
|
|
874
996
|
tokenTransferSchema
|
|
875
997
|
]);
|
|
876
998
|
|
|
877
999
|
// src/stacks-api/transactions/address-transactions.ts
|
|
878
|
-
var
|
|
879
|
-
var resultSchema =
|
|
1000
|
+
var v15 = __toESM(require("valibot"), 1);
|
|
1001
|
+
var resultSchema = v15.object({
|
|
880
1002
|
tx: transactionSchema,
|
|
881
|
-
stx_sent:
|
|
882
|
-
stx_received:
|
|
883
|
-
events:
|
|
884
|
-
stx:
|
|
885
|
-
transfer:
|
|
886
|
-
mint:
|
|
887
|
-
burn:
|
|
1003
|
+
stx_sent: v15.string(),
|
|
1004
|
+
stx_received: v15.string(),
|
|
1005
|
+
events: v15.object({
|
|
1006
|
+
stx: v15.object({
|
|
1007
|
+
transfer: v15.number(),
|
|
1008
|
+
mint: v15.number(),
|
|
1009
|
+
burn: v15.number()
|
|
888
1010
|
}),
|
|
889
|
-
ft:
|
|
890
|
-
transfer:
|
|
891
|
-
mint:
|
|
892
|
-
burn:
|
|
1011
|
+
ft: v15.object({
|
|
1012
|
+
transfer: v15.number(),
|
|
1013
|
+
mint: v15.number(),
|
|
1014
|
+
burn: v15.number()
|
|
893
1015
|
}),
|
|
894
|
-
nft:
|
|
895
|
-
transfer:
|
|
896
|
-
mint:
|
|
897
|
-
burn:
|
|
1016
|
+
nft: v15.object({
|
|
1017
|
+
transfer: v15.number(),
|
|
1018
|
+
mint: v15.number(),
|
|
1019
|
+
burn: v15.number()
|
|
898
1020
|
})
|
|
899
1021
|
})
|
|
900
1022
|
});
|
|
901
|
-
var resultsSchema4 =
|
|
902
|
-
var addressTransactionsResponseSchema =
|
|
1023
|
+
var resultsSchema4 = v15.array(resultSchema);
|
|
1024
|
+
var addressTransactionsResponseSchema = v15.object({
|
|
903
1025
|
...baseListResponseSchema.entries,
|
|
904
1026
|
results: resultsSchema4
|
|
905
1027
|
});
|
|
@@ -936,7 +1058,7 @@ async function addressTransactions(args) {
|
|
|
936
1058
|
data: jsonParseError
|
|
937
1059
|
});
|
|
938
1060
|
}
|
|
939
|
-
const validationResult =
|
|
1061
|
+
const validationResult = v15.safeParse(addressTransactionsResponseSchema, data);
|
|
940
1062
|
if (!validationResult.success) {
|
|
941
1063
|
return error({
|
|
942
1064
|
name: "ValidateDataError",
|
|
@@ -948,7 +1070,7 @@ async function addressTransactions(args) {
|
|
|
948
1070
|
}
|
|
949
1071
|
|
|
950
1072
|
// src/stacks-api/transactions/get-transaction.ts
|
|
951
|
-
var
|
|
1073
|
+
var v16 = __toESM(require("valibot"), 1);
|
|
952
1074
|
async function getTransaction(args) {
|
|
953
1075
|
const init = {};
|
|
954
1076
|
if (args.apiKeyConfig) {
|
|
@@ -977,7 +1099,7 @@ async function getTransaction(args) {
|
|
|
977
1099
|
error: jsonParseError
|
|
978
1100
|
});
|
|
979
1101
|
}
|
|
980
|
-
const validationResult =
|
|
1102
|
+
const validationResult = v16.safeParse(transactionSchema, data);
|
|
981
1103
|
if (!validationResult.success) {
|
|
982
1104
|
return error({
|
|
983
1105
|
name: "ValidateDataError",
|
|
@@ -998,6 +1120,7 @@ var transactions = {
|
|
|
998
1120
|
var stacksApi = {
|
|
999
1121
|
accounts,
|
|
1000
1122
|
blocks,
|
|
1123
|
+
faucets,
|
|
1001
1124
|
info,
|
|
1002
1125
|
proofOfTransfer,
|
|
1003
1126
|
smartContracts,
|
|
@@ -1005,14 +1128,97 @@ var stacksApi = {
|
|
|
1005
1128
|
transactions
|
|
1006
1129
|
};
|
|
1007
1130
|
|
|
1131
|
+
// src/stacks-rpc-api/smart-contracts/map-entry.ts
|
|
1132
|
+
var v17 = __toESM(require("valibot"), 1);
|
|
1133
|
+
var mapEntryResponseSchema = v17.object({
|
|
1134
|
+
/**
|
|
1135
|
+
* Hex-encoded string of clarity value. It is always an optional tuple.
|
|
1136
|
+
*/
|
|
1137
|
+
data: v17.string(),
|
|
1138
|
+
/**
|
|
1139
|
+
* Hex-encoded string of the MARF proof for the data
|
|
1140
|
+
*/
|
|
1141
|
+
proof: v17.optional(v17.string())
|
|
1142
|
+
});
|
|
1143
|
+
async function mapEntry(args) {
|
|
1144
|
+
const search = new URLSearchParams();
|
|
1145
|
+
if (args.proof === 0) search.append("proof", "0");
|
|
1146
|
+
if (args.tip) search.append("tip", args.tip);
|
|
1147
|
+
const init = {};
|
|
1148
|
+
if (args.apiKeyConfig) {
|
|
1149
|
+
init.headers = {
|
|
1150
|
+
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
1151
|
+
};
|
|
1152
|
+
}
|
|
1153
|
+
init.method = "POST";
|
|
1154
|
+
init.body = args.mapKey;
|
|
1155
|
+
const endpoint = `${args.baseUrl}/v2/map_entry/${args.contractAddress}/${args.contractName}/${args.mapName}?${search}`;
|
|
1156
|
+
const res = await fetch(endpoint, init);
|
|
1157
|
+
if (!res.ok) {
|
|
1158
|
+
return error({
|
|
1159
|
+
name: "FetchMapEntryError",
|
|
1160
|
+
message: "Failed to fetch map entry.",
|
|
1161
|
+
data: {
|
|
1162
|
+
status: res.status,
|
|
1163
|
+
statusText: res.statusText,
|
|
1164
|
+
bodyParseResult: await safePromise(res.json())
|
|
1165
|
+
}
|
|
1166
|
+
});
|
|
1167
|
+
}
|
|
1168
|
+
const [jsonError, data] = await safePromise(res.json());
|
|
1169
|
+
if (jsonError) {
|
|
1170
|
+
return error({
|
|
1171
|
+
name: "ParseBodyError",
|
|
1172
|
+
message: "Failed to parse response body as JSON.",
|
|
1173
|
+
data: jsonError
|
|
1174
|
+
});
|
|
1175
|
+
}
|
|
1176
|
+
const validationResult = v17.safeParse(mapEntryResponseSchema, data);
|
|
1177
|
+
if (!validationResult.success) {
|
|
1178
|
+
return error({
|
|
1179
|
+
name: "ValidateDataError",
|
|
1180
|
+
message: "Failed to validate response data.",
|
|
1181
|
+
data: validationResult
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
return success(validationResult.output);
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
// src/stacks-rpc-api/smart-contracts/index.ts
|
|
1188
|
+
var smartContracts2 = {
|
|
1189
|
+
mapEntry
|
|
1190
|
+
};
|
|
1191
|
+
|
|
1192
|
+
// src/stacks-rpc-api/index.ts
|
|
1193
|
+
var stacksRpcApi = {
|
|
1194
|
+
smartContracts: smartContracts2
|
|
1195
|
+
};
|
|
1196
|
+
|
|
1008
1197
|
// src/utils/call-rate-limited-api.ts
|
|
1009
1198
|
var import_exponential_backoff = require("exponential-backoff");
|
|
1199
|
+
var defaultStartingDelay = 15e3;
|
|
1200
|
+
var defaultNumOfAttempts = 5;
|
|
1201
|
+
function callRateLimitedApi(fn, options) {
|
|
1202
|
+
return (0, import_exponential_backoff.backOff)(fn, {
|
|
1203
|
+
startingDelay: options?.startingDelay ?? defaultStartingDelay,
|
|
1204
|
+
numOfAttempts: options?.numOfAttempts ?? defaultNumOfAttempts
|
|
1205
|
+
});
|
|
1206
|
+
}
|
|
1010
1207
|
async function safeCallRateLimitedApi(fn, options) {
|
|
1011
1208
|
try {
|
|
1012
|
-
return await (0, import_exponential_backoff.backOff)(
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1209
|
+
return await (0, import_exponential_backoff.backOff)(
|
|
1210
|
+
async () => {
|
|
1211
|
+
const [error2, data] = await fn();
|
|
1212
|
+
if (error2) {
|
|
1213
|
+
throw error2;
|
|
1214
|
+
}
|
|
1215
|
+
return success(data);
|
|
1216
|
+
},
|
|
1217
|
+
{
|
|
1218
|
+
startingDelay: options?.startingDelay ?? 15e3,
|
|
1219
|
+
numOfAttempts: options?.numOfAttempts ?? 5
|
|
1220
|
+
}
|
|
1221
|
+
);
|
|
1016
1222
|
} catch (error2) {
|
|
1017
1223
|
return error({
|
|
1018
1224
|
name: "MaxRetriesExceeded",
|
|
@@ -1063,7 +1269,7 @@ async function getSignerStackedAmount(args) {
|
|
|
1063
1269
|
}
|
|
1064
1270
|
}
|
|
1065
1271
|
}
|
|
1066
|
-
offset +=
|
|
1272
|
+
offset += data.results.length;
|
|
1067
1273
|
hasMore = offset < data.total;
|
|
1068
1274
|
}
|
|
1069
1275
|
if (!found) {
|
|
@@ -1085,6 +1291,13 @@ var queries = {
|
|
|
1085
1291
|
};
|
|
1086
1292
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1087
1293
|
0 && (module.exports = {
|
|
1294
|
+
callRateLimitedApi,
|
|
1295
|
+
error,
|
|
1088
1296
|
queries,
|
|
1089
|
-
|
|
1297
|
+
safeCall,
|
|
1298
|
+
safeCallRateLimitedApi,
|
|
1299
|
+
safePromise,
|
|
1300
|
+
stacksApi,
|
|
1301
|
+
stacksRpcApi,
|
|
1302
|
+
success
|
|
1090
1303
|
});
|