@secretkeylabs/stacks-tools 0.8.0 → 0.9.0-3bdb7d7
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 +108 -101
- package/dist/index.d.cts +73 -113
- package/dist/index.d.ts +73 -113
- package/dist/index.js +108 -101
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -223,28 +223,6 @@ var baseListResponseSchema = v2.object({
|
|
|
223
223
|
});
|
|
224
224
|
|
|
225
225
|
// src/stacks-api/blocks/get-block.ts
|
|
226
|
-
var v3 = __toESM(require("valibot"), 1);
|
|
227
|
-
var responseSchema2 = v3.object({
|
|
228
|
-
canonical: v3.boolean(),
|
|
229
|
-
height: v3.number(),
|
|
230
|
-
hash: v3.string(),
|
|
231
|
-
block_time: v3.number(),
|
|
232
|
-
block_time_iso: v3.string(),
|
|
233
|
-
index_block_hash: v3.string(),
|
|
234
|
-
parent_block_hash: v3.string(),
|
|
235
|
-
parent_index_block_hash: v3.string(),
|
|
236
|
-
burn_block_time: v3.number(),
|
|
237
|
-
burn_block_time_iso: v3.string(),
|
|
238
|
-
burn_block_hash: v3.string(),
|
|
239
|
-
burn_block_height: v3.number(),
|
|
240
|
-
miner_txid: v3.string(),
|
|
241
|
-
tx_count: v3.number(),
|
|
242
|
-
execution_cost_read_count: v3.number(),
|
|
243
|
-
execution_cost_read_length: v3.number(),
|
|
244
|
-
execution_cost_runtime: v3.number(),
|
|
245
|
-
execution_cost_write_count: v3.number(),
|
|
246
|
-
execution_cost_write_length: v3.number()
|
|
247
|
-
});
|
|
248
226
|
async function getBlock(opts) {
|
|
249
227
|
const init = {};
|
|
250
228
|
if (opts.apiKeyConfig) {
|
|
@@ -252,10 +230,8 @@ async function getBlock(opts) {
|
|
|
252
230
|
[opts.apiKeyConfig.header]: opts.apiKeyConfig.key
|
|
253
231
|
};
|
|
254
232
|
}
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
init
|
|
258
|
-
);
|
|
233
|
+
const endpoint = `${opts.baseUrl}/extended/v2/blocks/${opts.heightOrHash}`;
|
|
234
|
+
const res = await fetch(endpoint, init);
|
|
259
235
|
if (!res.ok) {
|
|
260
236
|
return error({
|
|
261
237
|
name: "FetchBlockError",
|
|
@@ -275,15 +251,7 @@ async function getBlock(opts) {
|
|
|
275
251
|
data: jsonError
|
|
276
252
|
});
|
|
277
253
|
}
|
|
278
|
-
|
|
279
|
-
if (!validationResult.success) {
|
|
280
|
-
return error({
|
|
281
|
-
name: "ValidateDataError",
|
|
282
|
-
message: "Failed to validate data.",
|
|
283
|
-
data: validationResult
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
return success(validationResult.output);
|
|
254
|
+
return success(data);
|
|
287
255
|
}
|
|
288
256
|
|
|
289
257
|
// src/stacks-api/blocks/index.ts
|
|
@@ -291,6 +259,44 @@ var blocks = {
|
|
|
291
259
|
getBlock
|
|
292
260
|
};
|
|
293
261
|
|
|
262
|
+
// src/stacks-api/burn-blocks/get-burn-block.ts
|
|
263
|
+
async function getBurnBlock(args) {
|
|
264
|
+
const init = {};
|
|
265
|
+
if (args.apiKeyConfig) {
|
|
266
|
+
init.headers = {
|
|
267
|
+
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
const endpoint = `${args.baseUrl}/extended/v2/burn-blocks/${args.heightOrHash}`;
|
|
271
|
+
const res = await fetch(endpoint, init);
|
|
272
|
+
if (!res.ok) {
|
|
273
|
+
return error({
|
|
274
|
+
name: "BurnBlockGetError",
|
|
275
|
+
message: "Failed to get burn block.",
|
|
276
|
+
data: {
|
|
277
|
+
heightOrHash: args.heightOrHash,
|
|
278
|
+
status: res.status,
|
|
279
|
+
statusText: res.statusText,
|
|
280
|
+
body: await safeExtractResponseBody(res)
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
const [jsonParseError, data] = await safePromise(res.json());
|
|
285
|
+
if (jsonParseError) {
|
|
286
|
+
return error({
|
|
287
|
+
name: "ParseBodyError",
|
|
288
|
+
message: "Failed to parse response body as JSON.",
|
|
289
|
+
data: jsonParseError
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
return success(data);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// src/stacks-api/burn-blocks/index.ts
|
|
296
|
+
var burnBlocks = {
|
|
297
|
+
getBurnBlock
|
|
298
|
+
};
|
|
299
|
+
|
|
294
300
|
// src/stacks-api/faucets/stx.ts
|
|
295
301
|
async function stx(opts) {
|
|
296
302
|
const search = new URLSearchParams();
|
|
@@ -333,22 +339,22 @@ var faucets = {
|
|
|
333
339
|
};
|
|
334
340
|
|
|
335
341
|
// src/stacks-api/info/core-api.ts
|
|
336
|
-
var
|
|
337
|
-
var CoreApiResponseSchema =
|
|
338
|
-
peer_version:
|
|
339
|
-
pox_consensus:
|
|
340
|
-
burn_block_height:
|
|
341
|
-
stable_pox_consensus:
|
|
342
|
-
stable_burn_block_height:
|
|
343
|
-
server_version:
|
|
344
|
-
network_id:
|
|
345
|
-
parent_network_id:
|
|
346
|
-
stacks_tip_height:
|
|
347
|
-
stacks_tip:
|
|
348
|
-
stacks_tip_consensus_hash:
|
|
349
|
-
unanchored_tip:
|
|
350
|
-
unanchored_seq:
|
|
351
|
-
exit_at_block_height:
|
|
342
|
+
var v3 = __toESM(require("valibot"), 1);
|
|
343
|
+
var CoreApiResponseSchema = v3.object({
|
|
344
|
+
peer_version: v3.number(),
|
|
345
|
+
pox_consensus: v3.string(),
|
|
346
|
+
burn_block_height: v3.number(),
|
|
347
|
+
stable_pox_consensus: v3.string(),
|
|
348
|
+
stable_burn_block_height: v3.number(),
|
|
349
|
+
server_version: v3.string(),
|
|
350
|
+
network_id: v3.number(),
|
|
351
|
+
parent_network_id: v3.number(),
|
|
352
|
+
stacks_tip_height: v3.number(),
|
|
353
|
+
stacks_tip: v3.string(),
|
|
354
|
+
stacks_tip_consensus_hash: v3.string(),
|
|
355
|
+
unanchored_tip: v3.nullable(v3.string()),
|
|
356
|
+
unanchored_seq: v3.nullable(v3.string()),
|
|
357
|
+
exit_at_block_height: v3.nullable(v3.number())
|
|
352
358
|
});
|
|
353
359
|
async function coreApi(apiOpts) {
|
|
354
360
|
const init = {};
|
|
@@ -377,7 +383,7 @@ async function coreApi(apiOpts) {
|
|
|
377
383
|
data: parseBodyError
|
|
378
384
|
});
|
|
379
385
|
}
|
|
380
|
-
const validationResult =
|
|
386
|
+
const validationResult = v3.safeParse(CoreApiResponseSchema, data);
|
|
381
387
|
if (!validationResult.success) {
|
|
382
388
|
return error({
|
|
383
389
|
name: "ValidateDataError",
|
|
@@ -394,14 +400,14 @@ var info = {
|
|
|
394
400
|
};
|
|
395
401
|
|
|
396
402
|
// src/stacks-api/proof-of-transfer/cycle.ts
|
|
397
|
-
var
|
|
398
|
-
var
|
|
399
|
-
block_height:
|
|
400
|
-
index_block_hash:
|
|
401
|
-
cycle_number:
|
|
402
|
-
total_weight:
|
|
403
|
-
total_stacked_amount:
|
|
404
|
-
total_signers:
|
|
403
|
+
var v4 = __toESM(require("valibot"), 1);
|
|
404
|
+
var responseSchema2 = v4.object({
|
|
405
|
+
block_height: v4.number(),
|
|
406
|
+
index_block_hash: v4.string(),
|
|
407
|
+
cycle_number: v4.number(),
|
|
408
|
+
total_weight: v4.number(),
|
|
409
|
+
total_stacked_amount: v4.string(),
|
|
410
|
+
total_signers: v4.number()
|
|
405
411
|
});
|
|
406
412
|
async function cycle(opts) {
|
|
407
413
|
const init = {};
|
|
@@ -432,7 +438,7 @@ async function cycle(opts) {
|
|
|
432
438
|
data: jsonError
|
|
433
439
|
});
|
|
434
440
|
}
|
|
435
|
-
const validationResult =
|
|
441
|
+
const validationResult = v4.safeParse(responseSchema2, data);
|
|
436
442
|
if (!validationResult.success) {
|
|
437
443
|
return error({
|
|
438
444
|
name: "ValidateDataError",
|
|
@@ -444,17 +450,17 @@ async function cycle(opts) {
|
|
|
444
450
|
}
|
|
445
451
|
|
|
446
452
|
// src/stacks-api/proof-of-transfer/cycles.ts
|
|
447
|
-
var
|
|
448
|
-
var cycleInfoSchema =
|
|
449
|
-
block_height:
|
|
450
|
-
index_block_hash:
|
|
451
|
-
cycle_number:
|
|
452
|
-
total_weight:
|
|
453
|
-
total_stacked_amount:
|
|
454
|
-
total_signers:
|
|
453
|
+
var v5 = __toESM(require("valibot"), 1);
|
|
454
|
+
var cycleInfoSchema = v5.object({
|
|
455
|
+
block_height: v5.number(),
|
|
456
|
+
index_block_hash: v5.string(),
|
|
457
|
+
cycle_number: v5.number(),
|
|
458
|
+
total_weight: v5.number(),
|
|
459
|
+
total_stacked_amount: v5.string(),
|
|
460
|
+
total_signers: v5.number()
|
|
455
461
|
});
|
|
456
|
-
var resultsSchema =
|
|
457
|
-
var cyclesResponseSchema =
|
|
462
|
+
var resultsSchema = v5.array(cycleInfoSchema);
|
|
463
|
+
var cyclesResponseSchema = v5.object({
|
|
458
464
|
...baseListResponseSchema.entries,
|
|
459
465
|
results: resultsSchema
|
|
460
466
|
});
|
|
@@ -490,7 +496,7 @@ async function cycles(args) {
|
|
|
490
496
|
data: jsonError
|
|
491
497
|
});
|
|
492
498
|
}
|
|
493
|
-
const validationResult =
|
|
499
|
+
const validationResult = v5.safeParse(cyclesResponseSchema, data);
|
|
494
500
|
if (!validationResult.success) {
|
|
495
501
|
return error({
|
|
496
502
|
name: "ValidateDataError",
|
|
@@ -502,16 +508,16 @@ async function cycles(args) {
|
|
|
502
508
|
}
|
|
503
509
|
|
|
504
510
|
// src/stacks-api/proof-of-transfer/signer-in-cycle.ts
|
|
505
|
-
var
|
|
506
|
-
var signerInCycleResponseSchema =
|
|
507
|
-
signing_key:
|
|
508
|
-
signer_address:
|
|
509
|
-
weight:
|
|
510
|
-
stacked_amount:
|
|
511
|
-
weight_percent:
|
|
512
|
-
stacked_amount_percent:
|
|
513
|
-
solo_stacker_count:
|
|
514
|
-
pooled_stacker_count:
|
|
511
|
+
var v6 = __toESM(require("valibot"), 1);
|
|
512
|
+
var signerInCycleResponseSchema = v6.object({
|
|
513
|
+
signing_key: v6.string(),
|
|
514
|
+
signer_address: v6.string(),
|
|
515
|
+
weight: v6.number(),
|
|
516
|
+
stacked_amount: v6.string(),
|
|
517
|
+
weight_percent: v6.number(),
|
|
518
|
+
stacked_amount_percent: v6.number(),
|
|
519
|
+
solo_stacker_count: v6.number(),
|
|
520
|
+
pooled_stacker_count: v6.number()
|
|
515
521
|
});
|
|
516
522
|
async function signerInCycle(args) {
|
|
517
523
|
const init = {};
|
|
@@ -547,7 +553,7 @@ async function signerInCycle(args) {
|
|
|
547
553
|
}
|
|
548
554
|
});
|
|
549
555
|
}
|
|
550
|
-
const validationResult =
|
|
556
|
+
const validationResult = v6.safeParse(signerInCycleResponseSchema, data);
|
|
551
557
|
if (!validationResult.success) {
|
|
552
558
|
return error({
|
|
553
559
|
name: "ValidateDataError",
|
|
@@ -559,19 +565,19 @@ async function signerInCycle(args) {
|
|
|
559
565
|
}
|
|
560
566
|
|
|
561
567
|
// src/stacks-api/proof-of-transfer/signers-in-cycle.ts
|
|
562
|
-
var
|
|
563
|
-
var signerSchema =
|
|
564
|
-
signing_key:
|
|
565
|
-
signer_address:
|
|
566
|
-
weight:
|
|
567
|
-
stacked_amount:
|
|
568
|
-
weight_percent:
|
|
569
|
-
stacked_amount_percent:
|
|
570
|
-
pooled_stacker_count:
|
|
571
|
-
solo_stacker_count:
|
|
568
|
+
var v7 = __toESM(require("valibot"), 1);
|
|
569
|
+
var signerSchema = v7.object({
|
|
570
|
+
signing_key: v7.string(),
|
|
571
|
+
signer_address: v7.string(),
|
|
572
|
+
weight: v7.number(),
|
|
573
|
+
stacked_amount: v7.string(),
|
|
574
|
+
weight_percent: v7.number(),
|
|
575
|
+
stacked_amount_percent: v7.number(),
|
|
576
|
+
pooled_stacker_count: v7.number(),
|
|
577
|
+
solo_stacker_count: v7.number()
|
|
572
578
|
});
|
|
573
|
-
var resultsSchema2 =
|
|
574
|
-
var signersResponseSchema =
|
|
579
|
+
var resultsSchema2 = v7.array(signerSchema);
|
|
580
|
+
var signersResponseSchema = v7.object({
|
|
575
581
|
...baseListResponseSchema.entries,
|
|
576
582
|
results: resultsSchema2
|
|
577
583
|
});
|
|
@@ -610,7 +616,7 @@ async function signersInCycle(args) {
|
|
|
610
616
|
}
|
|
611
617
|
});
|
|
612
618
|
}
|
|
613
|
-
const validationResult =
|
|
619
|
+
const validationResult = v7.safeParse(signersResponseSchema, data);
|
|
614
620
|
if (!validationResult.success) {
|
|
615
621
|
return error({
|
|
616
622
|
name: "ValidateDataError",
|
|
@@ -942,6 +948,7 @@ var mempool = {
|
|
|
942
948
|
var stacksApi = {
|
|
943
949
|
accounts,
|
|
944
950
|
blocks,
|
|
951
|
+
burnBlocks,
|
|
945
952
|
faucets,
|
|
946
953
|
info,
|
|
947
954
|
mempool,
|
|
@@ -951,16 +958,16 @@ var stacksApi = {
|
|
|
951
958
|
};
|
|
952
959
|
|
|
953
960
|
// src/stacks-rpc-api/smart-contracts/map-entry.ts
|
|
954
|
-
var
|
|
955
|
-
var mapEntryResponseSchema =
|
|
961
|
+
var v8 = __toESM(require("valibot"), 1);
|
|
962
|
+
var mapEntryResponseSchema = v8.object({
|
|
956
963
|
/**
|
|
957
964
|
* Hex-encoded string of clarity value. It is always an optional tuple.
|
|
958
965
|
*/
|
|
959
|
-
data:
|
|
966
|
+
data: v8.string(),
|
|
960
967
|
/**
|
|
961
968
|
* Hex-encoded string of the MARF proof for the data
|
|
962
969
|
*/
|
|
963
|
-
proof:
|
|
970
|
+
proof: v8.optional(v8.string())
|
|
964
971
|
});
|
|
965
972
|
async function mapEntry(args) {
|
|
966
973
|
const search = new URLSearchParams();
|
|
@@ -1000,7 +1007,7 @@ async function mapEntry(args) {
|
|
|
1000
1007
|
data: jsonError
|
|
1001
1008
|
});
|
|
1002
1009
|
}
|
|
1003
|
-
const validationResult =
|
|
1010
|
+
const validationResult = v8.safeParse(mapEntryResponseSchema, data);
|
|
1004
1011
|
if (!validationResult.success) {
|
|
1005
1012
|
return error({
|
|
1006
1013
|
name: "ValidateDataError",
|