@secretkeylabs/stacks-tools 0.8.0-44889a2 → 0.8.0-caef9a1
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 +144 -108
- package/dist/index.d.cts +167 -93
- package/dist/index.d.ts +167 -93
- package/dist/index.js +144 -108
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -223,6 +223,28 @@ 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
|
+
});
|
|
226
248
|
async function getBlock(opts) {
|
|
227
249
|
const init = {};
|
|
228
250
|
if (opts.apiKeyConfig) {
|
|
@@ -230,8 +252,10 @@ async function getBlock(opts) {
|
|
|
230
252
|
[opts.apiKeyConfig.header]: opts.apiKeyConfig.key
|
|
231
253
|
};
|
|
232
254
|
}
|
|
233
|
-
const
|
|
234
|
-
|
|
255
|
+
const res = await fetch(
|
|
256
|
+
`${opts.baseUrl}/extended/v2/blocks/${opts.heightOrHash}`,
|
|
257
|
+
init
|
|
258
|
+
);
|
|
235
259
|
if (!res.ok) {
|
|
236
260
|
return error({
|
|
237
261
|
name: "FetchBlockError",
|
|
@@ -251,50 +275,20 @@ async function getBlock(opts) {
|
|
|
251
275
|
data: jsonError
|
|
252
276
|
});
|
|
253
277
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
// src/stacks-api/blocks/index.ts
|
|
258
|
-
var blocks = {
|
|
259
|
-
getBlock
|
|
260
|
-
};
|
|
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) {
|
|
278
|
+
const validationResult = v3.safeParse(responseSchema2, data);
|
|
279
|
+
if (!validationResult.success) {
|
|
286
280
|
return error({
|
|
287
|
-
name: "
|
|
288
|
-
message: "Failed to
|
|
289
|
-
data:
|
|
281
|
+
name: "ValidateDataError",
|
|
282
|
+
message: "Failed to validate data.",
|
|
283
|
+
data: validationResult
|
|
290
284
|
});
|
|
291
285
|
}
|
|
292
|
-
return success(
|
|
286
|
+
return success(validationResult.output);
|
|
293
287
|
}
|
|
294
288
|
|
|
295
|
-
// src/stacks-api/
|
|
296
|
-
var
|
|
297
|
-
|
|
289
|
+
// src/stacks-api/blocks/index.ts
|
|
290
|
+
var blocks = {
|
|
291
|
+
getBlock
|
|
298
292
|
};
|
|
299
293
|
|
|
300
294
|
// src/stacks-api/faucets/stx.ts
|
|
@@ -339,22 +333,22 @@ var faucets = {
|
|
|
339
333
|
};
|
|
340
334
|
|
|
341
335
|
// src/stacks-api/info/core-api.ts
|
|
342
|
-
var
|
|
343
|
-
var CoreApiResponseSchema =
|
|
344
|
-
peer_version:
|
|
345
|
-
pox_consensus:
|
|
346
|
-
burn_block_height:
|
|
347
|
-
stable_pox_consensus:
|
|
348
|
-
stable_burn_block_height:
|
|
349
|
-
server_version:
|
|
350
|
-
network_id:
|
|
351
|
-
parent_network_id:
|
|
352
|
-
stacks_tip_height:
|
|
353
|
-
stacks_tip:
|
|
354
|
-
stacks_tip_consensus_hash:
|
|
355
|
-
unanchored_tip:
|
|
356
|
-
unanchored_seq:
|
|
357
|
-
exit_at_block_height:
|
|
336
|
+
var v4 = __toESM(require("valibot"), 1);
|
|
337
|
+
var CoreApiResponseSchema = v4.object({
|
|
338
|
+
peer_version: v4.number(),
|
|
339
|
+
pox_consensus: v4.string(),
|
|
340
|
+
burn_block_height: v4.number(),
|
|
341
|
+
stable_pox_consensus: v4.string(),
|
|
342
|
+
stable_burn_block_height: v4.number(),
|
|
343
|
+
server_version: v4.string(),
|
|
344
|
+
network_id: v4.number(),
|
|
345
|
+
parent_network_id: v4.number(),
|
|
346
|
+
stacks_tip_height: v4.number(),
|
|
347
|
+
stacks_tip: v4.string(),
|
|
348
|
+
stacks_tip_consensus_hash: v4.string(),
|
|
349
|
+
unanchored_tip: v4.nullable(v4.string()),
|
|
350
|
+
unanchored_seq: v4.nullable(v4.string()),
|
|
351
|
+
exit_at_block_height: v4.nullable(v4.number())
|
|
358
352
|
});
|
|
359
353
|
async function coreApi(apiOpts) {
|
|
360
354
|
const init = {};
|
|
@@ -383,7 +377,7 @@ async function coreApi(apiOpts) {
|
|
|
383
377
|
data: parseBodyError
|
|
384
378
|
});
|
|
385
379
|
}
|
|
386
|
-
const validationResult =
|
|
380
|
+
const validationResult = v4.safeParse(CoreApiResponseSchema, data);
|
|
387
381
|
if (!validationResult.success) {
|
|
388
382
|
return error({
|
|
389
383
|
name: "ValidateDataError",
|
|
@@ -400,14 +394,14 @@ var info = {
|
|
|
400
394
|
};
|
|
401
395
|
|
|
402
396
|
// src/stacks-api/proof-of-transfer/cycle.ts
|
|
403
|
-
var
|
|
404
|
-
var
|
|
405
|
-
block_height:
|
|
406
|
-
index_block_hash:
|
|
407
|
-
cycle_number:
|
|
408
|
-
total_weight:
|
|
409
|
-
total_stacked_amount:
|
|
410
|
-
total_signers:
|
|
397
|
+
var v5 = __toESM(require("valibot"), 1);
|
|
398
|
+
var responseSchema3 = v5.object({
|
|
399
|
+
block_height: v5.number(),
|
|
400
|
+
index_block_hash: v5.string(),
|
|
401
|
+
cycle_number: v5.number(),
|
|
402
|
+
total_weight: v5.number(),
|
|
403
|
+
total_stacked_amount: v5.string(),
|
|
404
|
+
total_signers: v5.number()
|
|
411
405
|
});
|
|
412
406
|
async function cycle(opts) {
|
|
413
407
|
const init = {};
|
|
@@ -438,7 +432,7 @@ async function cycle(opts) {
|
|
|
438
432
|
data: jsonError
|
|
439
433
|
});
|
|
440
434
|
}
|
|
441
|
-
const validationResult =
|
|
435
|
+
const validationResult = v5.safeParse(responseSchema3, data);
|
|
442
436
|
if (!validationResult.success) {
|
|
443
437
|
return error({
|
|
444
438
|
name: "ValidateDataError",
|
|
@@ -450,17 +444,17 @@ async function cycle(opts) {
|
|
|
450
444
|
}
|
|
451
445
|
|
|
452
446
|
// src/stacks-api/proof-of-transfer/cycles.ts
|
|
453
|
-
var
|
|
454
|
-
var cycleInfoSchema =
|
|
455
|
-
block_height:
|
|
456
|
-
index_block_hash:
|
|
457
|
-
cycle_number:
|
|
458
|
-
total_weight:
|
|
459
|
-
total_stacked_amount:
|
|
460
|
-
total_signers:
|
|
447
|
+
var v6 = __toESM(require("valibot"), 1);
|
|
448
|
+
var cycleInfoSchema = v6.object({
|
|
449
|
+
block_height: v6.number(),
|
|
450
|
+
index_block_hash: v6.string(),
|
|
451
|
+
cycle_number: v6.number(),
|
|
452
|
+
total_weight: v6.number(),
|
|
453
|
+
total_stacked_amount: v6.string(),
|
|
454
|
+
total_signers: v6.number()
|
|
461
455
|
});
|
|
462
|
-
var resultsSchema =
|
|
463
|
-
var cyclesResponseSchema =
|
|
456
|
+
var resultsSchema = v6.array(cycleInfoSchema);
|
|
457
|
+
var cyclesResponseSchema = v6.object({
|
|
464
458
|
...baseListResponseSchema.entries,
|
|
465
459
|
results: resultsSchema
|
|
466
460
|
});
|
|
@@ -496,7 +490,7 @@ async function cycles(args) {
|
|
|
496
490
|
data: jsonError
|
|
497
491
|
});
|
|
498
492
|
}
|
|
499
|
-
const validationResult =
|
|
493
|
+
const validationResult = v6.safeParse(cyclesResponseSchema, data);
|
|
500
494
|
if (!validationResult.success) {
|
|
501
495
|
return error({
|
|
502
496
|
name: "ValidateDataError",
|
|
@@ -508,16 +502,16 @@ async function cycles(args) {
|
|
|
508
502
|
}
|
|
509
503
|
|
|
510
504
|
// src/stacks-api/proof-of-transfer/signer-in-cycle.ts
|
|
511
|
-
var
|
|
512
|
-
var signerInCycleResponseSchema =
|
|
513
|
-
signing_key:
|
|
514
|
-
signer_address:
|
|
515
|
-
weight:
|
|
516
|
-
stacked_amount:
|
|
517
|
-
weight_percent:
|
|
518
|
-
stacked_amount_percent:
|
|
519
|
-
solo_stacker_count:
|
|
520
|
-
pooled_stacker_count:
|
|
505
|
+
var v7 = __toESM(require("valibot"), 1);
|
|
506
|
+
var signerInCycleResponseSchema = v7.object({
|
|
507
|
+
signing_key: v7.string(),
|
|
508
|
+
signer_address: v7.string(),
|
|
509
|
+
weight: v7.number(),
|
|
510
|
+
stacked_amount: v7.string(),
|
|
511
|
+
weight_percent: v7.number(),
|
|
512
|
+
stacked_amount_percent: v7.number(),
|
|
513
|
+
solo_stacker_count: v7.number(),
|
|
514
|
+
pooled_stacker_count: v7.number()
|
|
521
515
|
});
|
|
522
516
|
async function signerInCycle(args) {
|
|
523
517
|
const init = {};
|
|
@@ -553,7 +547,7 @@ async function signerInCycle(args) {
|
|
|
553
547
|
}
|
|
554
548
|
});
|
|
555
549
|
}
|
|
556
|
-
const validationResult =
|
|
550
|
+
const validationResult = v7.safeParse(signerInCycleResponseSchema, data);
|
|
557
551
|
if (!validationResult.success) {
|
|
558
552
|
return error({
|
|
559
553
|
name: "ValidateDataError",
|
|
@@ -565,19 +559,19 @@ async function signerInCycle(args) {
|
|
|
565
559
|
}
|
|
566
560
|
|
|
567
561
|
// src/stacks-api/proof-of-transfer/signers-in-cycle.ts
|
|
568
|
-
var
|
|
569
|
-
var signerSchema =
|
|
570
|
-
signing_key:
|
|
571
|
-
signer_address:
|
|
572
|
-
weight:
|
|
573
|
-
stacked_amount:
|
|
574
|
-
weight_percent:
|
|
575
|
-
stacked_amount_percent:
|
|
576
|
-
pooled_stacker_count:
|
|
577
|
-
solo_stacker_count:
|
|
562
|
+
var v8 = __toESM(require("valibot"), 1);
|
|
563
|
+
var signerSchema = v8.object({
|
|
564
|
+
signing_key: v8.string(),
|
|
565
|
+
signer_address: v8.string(),
|
|
566
|
+
weight: v8.number(),
|
|
567
|
+
stacked_amount: v8.string(),
|
|
568
|
+
weight_percent: v8.number(),
|
|
569
|
+
stacked_amount_percent: v8.number(),
|
|
570
|
+
pooled_stacker_count: v8.number(),
|
|
571
|
+
solo_stacker_count: v8.number()
|
|
578
572
|
});
|
|
579
|
-
var resultsSchema2 =
|
|
580
|
-
var signersResponseSchema =
|
|
573
|
+
var resultsSchema2 = v8.array(signerSchema);
|
|
574
|
+
var signersResponseSchema = v8.object({
|
|
581
575
|
...baseListResponseSchema.entries,
|
|
582
576
|
results: resultsSchema2
|
|
583
577
|
});
|
|
@@ -616,7 +610,7 @@ async function signersInCycle(args) {
|
|
|
616
610
|
}
|
|
617
611
|
});
|
|
618
612
|
}
|
|
619
|
-
const validationResult =
|
|
613
|
+
const validationResult = v8.safeParse(signersResponseSchema, data);
|
|
620
614
|
if (!validationResult.success) {
|
|
621
615
|
return error({
|
|
622
616
|
name: "ValidateDataError",
|
|
@@ -948,7 +942,6 @@ var mempool = {
|
|
|
948
942
|
var stacksApi = {
|
|
949
943
|
accounts,
|
|
950
944
|
blocks,
|
|
951
|
-
burnBlocks,
|
|
952
945
|
faucets,
|
|
953
946
|
info,
|
|
954
947
|
mempool,
|
|
@@ -958,16 +951,16 @@ var stacksApi = {
|
|
|
958
951
|
};
|
|
959
952
|
|
|
960
953
|
// src/stacks-rpc-api/smart-contracts/map-entry.ts
|
|
961
|
-
var
|
|
962
|
-
var mapEntryResponseSchema =
|
|
954
|
+
var v9 = __toESM(require("valibot"), 1);
|
|
955
|
+
var mapEntryResponseSchema = v9.object({
|
|
963
956
|
/**
|
|
964
957
|
* Hex-encoded string of clarity value. It is always an optional tuple.
|
|
965
958
|
*/
|
|
966
|
-
data:
|
|
959
|
+
data: v9.string(),
|
|
967
960
|
/**
|
|
968
961
|
* Hex-encoded string of the MARF proof for the data
|
|
969
962
|
*/
|
|
970
|
-
proof:
|
|
963
|
+
proof: v9.optional(v9.string())
|
|
971
964
|
});
|
|
972
965
|
async function mapEntry(args) {
|
|
973
966
|
const search = new URLSearchParams();
|
|
@@ -1007,7 +1000,7 @@ async function mapEntry(args) {
|
|
|
1007
1000
|
data: jsonError
|
|
1008
1001
|
});
|
|
1009
1002
|
}
|
|
1010
|
-
const validationResult =
|
|
1003
|
+
const validationResult = v9.safeParse(mapEntryResponseSchema, data);
|
|
1011
1004
|
if (!validationResult.success) {
|
|
1012
1005
|
return error({
|
|
1013
1006
|
name: "ValidateDataError",
|
|
@@ -1138,8 +1131,51 @@ var pox = {
|
|
|
1138
1131
|
poxDetails
|
|
1139
1132
|
};
|
|
1140
1133
|
|
|
1134
|
+
// src/stacks-rpc-api/accounts/info.ts
|
|
1135
|
+
var info2 = async (args) => {
|
|
1136
|
+
const search = new URLSearchParams();
|
|
1137
|
+
if (args.proof === 0) search.append("proof", "0");
|
|
1138
|
+
if (args.tip) search.append("tip", args.tip);
|
|
1139
|
+
const init = {};
|
|
1140
|
+
if (args.apiKeyConfig) {
|
|
1141
|
+
init.headers = {
|
|
1142
|
+
[args.apiKeyConfig.header]: args.apiKeyConfig.key
|
|
1143
|
+
};
|
|
1144
|
+
}
|
|
1145
|
+
init.method = "GET";
|
|
1146
|
+
const endpoint = `${args.baseUrl}/v2/accounts/${args.principal}?${search}`;
|
|
1147
|
+
const res = await fetch(endpoint, init);
|
|
1148
|
+
if (!res.ok)
|
|
1149
|
+
return error({
|
|
1150
|
+
name: "InfoFetchError",
|
|
1151
|
+
message: "Failed to fetch info.",
|
|
1152
|
+
data: {
|
|
1153
|
+
init,
|
|
1154
|
+
status: res.status,
|
|
1155
|
+
statusText: res.statusText,
|
|
1156
|
+
endpoint,
|
|
1157
|
+
body: await safeExtractResponseBody(res)
|
|
1158
|
+
}
|
|
1159
|
+
});
|
|
1160
|
+
const [jsonError, data] = await safePromise(res.json());
|
|
1161
|
+
if (jsonError) {
|
|
1162
|
+
return error({
|
|
1163
|
+
name: "ParseBodyError",
|
|
1164
|
+
message: "Failed to parse response body as JSON.",
|
|
1165
|
+
data: jsonError
|
|
1166
|
+
});
|
|
1167
|
+
}
|
|
1168
|
+
return success(data);
|
|
1169
|
+
};
|
|
1170
|
+
|
|
1171
|
+
// src/stacks-rpc-api/accounts/index.ts
|
|
1172
|
+
var accounts2 = {
|
|
1173
|
+
info: info2
|
|
1174
|
+
};
|
|
1175
|
+
|
|
1141
1176
|
// src/stacks-rpc-api/index.ts
|
|
1142
1177
|
var stacksRpcApi = {
|
|
1178
|
+
accounts: accounts2,
|
|
1143
1179
|
pox,
|
|
1144
1180
|
smartContracts
|
|
1145
1181
|
};
|