@secretkeylabs/stacks-tools 0.5.0-94148cb → 0.5.0-eb736d6

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 CHANGED
@@ -32,6 +32,7 @@ var src_exports = {};
32
32
  __export(src_exports, {
33
33
  callRateLimitedApi: () => callRateLimitedApi,
34
34
  error: () => error,
35
+ pox4Api: () => pox4Api,
35
36
  queries: () => queries,
36
37
  safeCall: () => safeCall,
37
38
  safeCallRateLimitedApi: () => safeCallRateLimitedApi,
@@ -73,37 +74,6 @@ function safeCall(fn) {
73
74
  }
74
75
 
75
76
  // src/stacks-api/accounts/balances.ts
76
- var v = __toESM(require("valibot"), 1);
77
- var responseSchema = v.object({
78
- stx: v.object({
79
- balance: v.string(),
80
- total_sent: v.string(),
81
- total_received: v.string(),
82
- total_fees_sent: v.string(),
83
- total_miner_rewards_received: v.string(),
84
- lock_tx_id: v.string(),
85
- locked: v.string(),
86
- lock_height: v.number(),
87
- burnchain_lock_height: v.number(),
88
- burnchain_unlock_height: v.number()
89
- }),
90
- fungible_tokens: v.record(
91
- v.string(),
92
- v.object({
93
- balance: v.string(),
94
- total_sent: v.string(),
95
- total_received: v.string()
96
- })
97
- ),
98
- non_fungible_tokens: v.record(
99
- v.string(),
100
- v.object({
101
- count: v.string(),
102
- total_sent: v.string(),
103
- total_received: v.string()
104
- })
105
- )
106
- });
107
77
  async function balances(opts) {
108
78
  const search = new URLSearchParams();
109
79
  if (opts.unanchored) search.append("unanchored", "true");
@@ -123,7 +93,7 @@ async function balances(opts) {
123
93
  data: {
124
94
  status: res.status,
125
95
  statusText: res.statusText,
126
- bodyParseResult: await safePromise(res.json())
96
+ bodyText: await safePromise(res.text())
127
97
  }
128
98
  });
129
99
  }
@@ -135,25 +105,17 @@ async function balances(opts) {
135
105
  data: jsonError
136
106
  });
137
107
  }
138
- const validationResult = v.safeParse(responseSchema, data);
139
- if (!validationResult.success) {
140
- return error({
141
- name: "ValidateDataError",
142
- message: "Failed to validate data.",
143
- data: validationResult
144
- });
145
- }
146
- return success(validationResult.output);
108
+ return success(data);
147
109
  }
148
110
 
149
111
  // 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())
112
+ var v = __toESM(require("valibot"), 1);
113
+ var responseSchema = v.object({
114
+ last_mempool_tx_nonce: v.nullable(v.number()),
115
+ last_executed_tx_nonce: v.nullable(v.number()),
116
+ possible_next_nonce: v.number(),
117
+ detected_missing_nonces: v.array(v.number()),
118
+ detected_mempool_nonces: v.array(v.number())
157
119
  });
158
120
  async function latestNonce(opts) {
159
121
  const init = {};
@@ -172,7 +134,7 @@ async function latestNonce(opts) {
172
134
  endpoint,
173
135
  status: res.status,
174
136
  statusText: res.statusText,
175
- bodyParseResult: await safePromise(res.json())
137
+ bodyText: await safePromise(res.text())
176
138
  }
177
139
  });
178
140
  }
@@ -184,7 +146,7 @@ async function latestNonce(opts) {
184
146
  data: jsonError
185
147
  });
186
148
  }
187
- const validationResult = v2.safeParse(responseSchema2, data);
149
+ const validationResult = v.safeParse(responseSchema, data);
188
150
  if (!validationResult.success) {
189
151
  return error({
190
152
  name: "ValidateDataError",
@@ -202,36 +164,36 @@ var accounts = {
202
164
  };
203
165
 
204
166
  // src/stacks-api/types.ts
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())
167
+ var v2 = __toESM(require("valibot"), 1);
168
+ var baseListResponseSchema = v2.object({
169
+ limit: v2.number(),
170
+ offset: v2.number(),
171
+ total: v2.number(),
172
+ results: v2.array(v2.unknown())
211
173
  });
212
174
 
213
175
  // src/stacks-api/blocks/get-block.ts
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()
176
+ var v3 = __toESM(require("valibot"), 1);
177
+ var responseSchema2 = v3.object({
178
+ canonical: v3.boolean(),
179
+ height: v3.number(),
180
+ hash: v3.string(),
181
+ block_time: v3.number(),
182
+ block_time_iso: v3.string(),
183
+ index_block_hash: v3.string(),
184
+ parent_block_hash: v3.string(),
185
+ parent_index_block_hash: v3.string(),
186
+ burn_block_time: v3.number(),
187
+ burn_block_time_iso: v3.string(),
188
+ burn_block_hash: v3.string(),
189
+ burn_block_height: v3.number(),
190
+ miner_txid: v3.string(),
191
+ tx_count: v3.number(),
192
+ execution_cost_read_count: v3.number(),
193
+ execution_cost_read_length: v3.number(),
194
+ execution_cost_runtime: v3.number(),
195
+ execution_cost_write_count: v3.number(),
196
+ execution_cost_write_length: v3.number()
235
197
  });
236
198
  async function getBlock(opts) {
237
199
  const init = {};
@@ -251,7 +213,7 @@ async function getBlock(opts) {
251
213
  data: {
252
214
  status: res.status,
253
215
  statusText: res.statusText,
254
- bodyParseResult: await safePromise(res.json())
216
+ bodyText: await safePromise(res.text())
255
217
  }
256
218
  });
257
219
  }
@@ -263,7 +225,7 @@ async function getBlock(opts) {
263
225
  data: jsonError
264
226
  });
265
227
  }
266
- const validationResult = v4.safeParse(responseSchema3, data);
228
+ const validationResult = v3.safeParse(responseSchema2, data);
267
229
  if (!validationResult.success) {
268
230
  return error({
269
231
  name: "ValidateDataError",
@@ -300,7 +262,7 @@ async function stx(opts) {
300
262
  data: {
301
263
  status: res.status,
302
264
  statusText: res.statusText,
303
- bodyParseResult: await safePromise(res.json())
265
+ bodyText: await safePromise(res.text())
304
266
  }
305
267
  });
306
268
  }
@@ -321,22 +283,22 @@ var faucets = {
321
283
  };
322
284
 
323
285
  // src/stacks-api/info/core-api.ts
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())
286
+ var v4 = __toESM(require("valibot"), 1);
287
+ var CoreApiResponseSchema = v4.object({
288
+ peer_version: v4.number(),
289
+ pox_consensus: v4.string(),
290
+ burn_block_height: v4.number(),
291
+ stable_pox_consensus: v4.string(),
292
+ stable_burn_block_height: v4.number(),
293
+ server_version: v4.string(),
294
+ network_id: v4.number(),
295
+ parent_network_id: v4.number(),
296
+ stacks_tip_height: v4.number(),
297
+ stacks_tip: v4.string(),
298
+ stacks_tip_consensus_hash: v4.string(),
299
+ unanchored_tip: v4.nullable(v4.string()),
300
+ unanchored_seq: v4.nullable(v4.string()),
301
+ exit_at_block_height: v4.nullable(v4.number())
340
302
  });
341
303
  async function coreApi(apiOpts) {
342
304
  const init = {};
@@ -353,7 +315,7 @@ async function coreApi(apiOpts) {
353
315
  data: {
354
316
  status: res.status,
355
317
  statusText: res.statusText,
356
- bodyParseResult: await safePromise(res.json())
318
+ bodyText: await safePromise(res.text())
357
319
  }
358
320
  });
359
321
  }
@@ -365,7 +327,7 @@ async function coreApi(apiOpts) {
365
327
  data: parseBodyError
366
328
  });
367
329
  }
368
- const validationResult = v5.safeParse(CoreApiResponseSchema, data);
330
+ const validationResult = v4.safeParse(CoreApiResponseSchema, data);
369
331
  if (!validationResult.success) {
370
332
  return error({
371
333
  name: "ValidateDataError",
@@ -376,117 +338,20 @@ async function coreApi(apiOpts) {
376
338
  return success(validationResult.output);
377
339
  }
378
340
 
379
- // src/stacks-api/info/pox-details.ts
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()
396
- }),
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()
407
- }),
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()
419
- }),
420
- network_epoch: v6.number()
421
- })
422
- ),
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()
434
- })
435
- )
436
- });
437
- async function poxDetails(args) {
438
- const init = {};
439
- if (args.apiKeyConfig) {
440
- init.headers = {
441
- [args.apiKeyConfig.header]: args.apiKeyConfig.key
442
- };
443
- }
444
- const res = await fetch(`${args.baseUrl}/v2/pox`, init);
445
- if (!res.ok) {
446
- return error({
447
- name: "FetchPoxDetailsError",
448
- message: "Failed to fetch pox details.",
449
- data: {
450
- status: res.status,
451
- statusText: res.statusText,
452
- bodyParseResult: await safePromise(res.json())
453
- }
454
- });
455
- }
456
- const [jsonParseError, data] = await safePromise(res.json());
457
- if (jsonParseError) {
458
- return error({
459
- name: "ParseBodyError",
460
- message: "Failed to parse pox details response.",
461
- data: jsonParseError
462
- });
463
- }
464
- const validationResult = v6.safeParse(poxDetailsResponseSchema, data);
465
- if (!validationResult.success) {
466
- return error({
467
- name: "ValidateDataError",
468
- message: "Failed to parse pox details response.",
469
- data: validationResult
470
- });
471
- }
472
- return success(validationResult.output);
473
- }
474
-
475
341
  // src/stacks-api/info/index.ts
476
342
  var info = {
477
- coreApi,
478
- poxDetails
343
+ coreApi
479
344
  };
480
345
 
481
346
  // src/stacks-api/proof-of-transfer/cycle.ts
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()
347
+ var v5 = __toESM(require("valibot"), 1);
348
+ var responseSchema3 = v5.object({
349
+ block_height: v5.number(),
350
+ index_block_hash: v5.string(),
351
+ cycle_number: v5.number(),
352
+ total_weight: v5.number(),
353
+ total_stacked_amount: v5.string(),
354
+ total_signers: v5.number()
490
355
  });
491
356
  async function cycle(opts) {
492
357
  const init = {};
@@ -505,7 +370,7 @@ async function cycle(opts) {
505
370
  endpoint,
506
371
  status: res.status,
507
372
  statusText: res.statusText,
508
- bodyParseResult: await safePromise(res.json())
373
+ bodyText: await safePromise(res.text())
509
374
  }
510
375
  });
511
376
  }
@@ -517,7 +382,7 @@ async function cycle(opts) {
517
382
  data: jsonError
518
383
  });
519
384
  }
520
- const validationResult = v7.safeParse(responseSchema4, data);
385
+ const validationResult = v5.safeParse(responseSchema3, data);
521
386
  if (!validationResult.success) {
522
387
  return error({
523
388
  name: "ValidateDataError",
@@ -529,17 +394,17 @@ async function cycle(opts) {
529
394
  }
530
395
 
531
396
  // src/stacks-api/proof-of-transfer/cycles.ts
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()
397
+ var v6 = __toESM(require("valibot"), 1);
398
+ var cycleInfoSchema = v6.object({
399
+ block_height: v6.number(),
400
+ index_block_hash: v6.string(),
401
+ cycle_number: v6.number(),
402
+ total_weight: v6.number(),
403
+ total_stacked_amount: v6.string(),
404
+ total_signers: v6.number()
540
405
  });
541
- var resultsSchema = v8.array(cycleInfoSchema);
542
- var cyclesResponseSchema = v8.object({
406
+ var resultsSchema = v6.array(cycleInfoSchema);
407
+ var cyclesResponseSchema = v6.object({
543
408
  ...baseListResponseSchema.entries,
544
409
  results: resultsSchema
545
410
  });
@@ -563,7 +428,7 @@ async function cycles(args) {
563
428
  endpoint,
564
429
  status: res.status,
565
430
  statusText: res.statusText,
566
- bodyParseResult: await safePromise(res.json())
431
+ bodyText: await safePromise(res.text())
567
432
  }
568
433
  });
569
434
  }
@@ -575,7 +440,7 @@ async function cycles(args) {
575
440
  data: jsonError
576
441
  });
577
442
  }
578
- const validationResult = v8.safeParse(cyclesResponseSchema, data);
443
+ const validationResult = v6.safeParse(cyclesResponseSchema, data);
579
444
  if (!validationResult.success) {
580
445
  return error({
581
446
  name: "ValidateDataError",
@@ -587,16 +452,16 @@ async function cycles(args) {
587
452
  }
588
453
 
589
454
  // src/stacks-api/proof-of-transfer/signer-in-cycle.ts
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()
455
+ var v7 = __toESM(require("valibot"), 1);
456
+ var signerInCycleResponseSchema = v7.object({
457
+ signing_key: v7.string(),
458
+ signer_address: v7.string(),
459
+ weight: v7.number(),
460
+ stacked_amount: v7.string(),
461
+ weight_percent: v7.number(),
462
+ stacked_amount_percent: v7.number(),
463
+ solo_stacker_count: v7.number(),
464
+ pooled_stacker_count: v7.number()
600
465
  });
601
466
  async function signerInCycle(args) {
602
467
  const init = {};
@@ -632,7 +497,7 @@ async function signerInCycle(args) {
632
497
  }
633
498
  });
634
499
  }
635
- const validationResult = v9.safeParse(signerInCycleResponseSchema, data);
500
+ const validationResult = v7.safeParse(signerInCycleResponseSchema, data);
636
501
  if (!validationResult.success) {
637
502
  return error({
638
503
  name: "ValidateDataError",
@@ -644,19 +509,19 @@ async function signerInCycle(args) {
644
509
  }
645
510
 
646
511
  // src/stacks-api/proof-of-transfer/signers-in-cycle.ts
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()
512
+ var v8 = __toESM(require("valibot"), 1);
513
+ var signerSchema = v8.object({
514
+ signing_key: v8.string(),
515
+ signer_address: v8.string(),
516
+ weight: v8.number(),
517
+ stacked_amount: v8.string(),
518
+ weight_percent: v8.number(),
519
+ stacked_amount_percent: v8.number(),
520
+ pooled_stacker_count: v8.number(),
521
+ solo_stacker_count: v8.number()
657
522
  });
658
- var resultsSchema2 = v10.array(signerSchema);
659
- var signersResponseSchema = v10.object({
523
+ var resultsSchema2 = v8.array(signerSchema);
524
+ var signersResponseSchema = v8.object({
660
525
  ...baseListResponseSchema.entries,
661
526
  results: resultsSchema2
662
527
  });
@@ -680,7 +545,7 @@ async function signersInCycle(args) {
680
545
  endpoint,
681
546
  status: res.status,
682
547
  statusText: res.statusText,
683
- bodyParseResult: await safePromise(res.json())
548
+ bodyText: await safePromise(res.text())
684
549
  }
685
550
  });
686
551
  }
@@ -695,7 +560,7 @@ async function signersInCycle(args) {
695
560
  }
696
561
  });
697
562
  }
698
- const validationResult = v10.safeParse(signersResponseSchema, data);
563
+ const validationResult = v8.safeParse(signersResponseSchema, data);
699
564
  if (!validationResult.success) {
700
565
  return error({
701
566
  name: "ValidateDataError",
@@ -707,15 +572,15 @@ async function signersInCycle(args) {
707
572
  }
708
573
 
709
574
  // src/stacks-api/proof-of-transfer/stackers-for-signer-in-cycle.ts
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")])
575
+ var v9 = __toESM(require("valibot"), 1);
576
+ var stackerInfoSchema = v9.object({
577
+ stacker_address: v9.string(),
578
+ stacked_amount: v9.string(),
579
+ pox_address: v9.string(),
580
+ stacker_type: v9.union([v9.literal("pooled"), v9.literal("solo")])
716
581
  });
717
- var resultsSchema3 = v11.array(stackerInfoSchema);
718
- var stackersForSignerInCycleResponseSchema = v11.object({
582
+ var resultsSchema3 = v9.array(stackerInfoSchema);
583
+ var stackersForSignerInCycleResponseSchema = v9.object({
719
584
  ...baseListResponseSchema.entries,
720
585
  results: resultsSchema3
721
586
  });
@@ -740,7 +605,7 @@ async function stackersForSignerInCycle(opts) {
740
605
  endpoint,
741
606
  status: res.status,
742
607
  statusText: res.statusText,
743
- bodyParseResult: await safePromise(res.json())
608
+ bodyText: await safePromise(res.text())
744
609
  }
745
610
  });
746
611
  }
@@ -752,7 +617,7 @@ async function stackersForSignerInCycle(opts) {
752
617
  data: jsonError
753
618
  });
754
619
  }
755
- const validationResult = v11.safeParse(
620
+ const validationResult = v9.safeParse(
756
621
  stackersForSignerInCycleResponseSchema,
757
622
  data
758
623
  );
@@ -776,20 +641,20 @@ var proofOfTransfer = {
776
641
  };
777
642
 
778
643
  // src/stacks-api/stacking-pool/members.ts
779
- var v12 = __toESM(require("valibot"), 1);
780
- var memberSchema = v12.object({
781
- stacker: v12.string(),
782
- pox_addr: v12.optional(v12.string()),
783
- amount_ustx: v12.string(),
784
- burn_block_unlock_height: v12.optional(v12.number()),
785
- block_height: v12.number(),
786
- tx_id: v12.string()
644
+ var v10 = __toESM(require("valibot"), 1);
645
+ var memberSchema = v10.object({
646
+ stacker: v10.string(),
647
+ pox_addr: v10.optional(v10.string()),
648
+ amount_ustx: v10.string(),
649
+ burn_block_unlock_height: v10.optional(v10.number()),
650
+ block_height: v10.number(),
651
+ tx_id: v10.string()
787
652
  });
788
- var membersResponseSchema = v12.object({
789
- limit: v12.number(),
790
- offset: v12.number(),
791
- total: v12.number(),
792
- results: v12.array(memberSchema)
653
+ var membersResponseSchema = v10.object({
654
+ limit: v10.number(),
655
+ offset: v10.number(),
656
+ total: v10.number(),
657
+ results: v10.array(memberSchema)
793
658
  });
794
659
  async function members(args) {
795
660
  const search = new URLSearchParams();
@@ -812,7 +677,7 @@ async function members(args) {
812
677
  data: {
813
678
  status: res.status,
814
679
  statusText: res.statusText,
815
- bodyParseResult: await safePromise(res.json())
680
+ bodyText: await safePromise(res.text())
816
681
  }
817
682
  });
818
683
  }
@@ -824,7 +689,7 @@ async function members(args) {
824
689
  data: jsonParseError
825
690
  });
826
691
  }
827
- const validationResult = v12.safeParse(membersResponseSchema, data);
692
+ const validationResult = v10.safeParse(membersResponseSchema, data);
828
693
  if (!validationResult.success) {
829
694
  return error({
830
695
  name: "ValidateDataError",
@@ -841,120 +706,120 @@ var stackingPool = {
841
706
  };
842
707
 
843
708
  // src/stacks-api/transactions/schemas.ts
844
- var v13 = __toESM(require("valibot"), 1);
845
- var baseTransactionSchema = v13.object({
846
- tx_id: v13.string(),
847
- nonce: v13.number(),
848
- fee_rate: v13.string(),
849
- sender_address: v13.string(),
850
- sponsored: v13.boolean(),
851
- post_condition_mode: v13.string(),
852
- post_conditions: v13.array(v13.unknown()),
853
- anchor_mode: v13.string(),
854
- is_unanchored: v13.boolean(),
855
- block_hash: v13.string(),
856
- parent_block_hash: v13.string(),
857
- block_height: v13.number(),
858
- block_time: v13.number(),
859
- block_time_iso: v13.string(),
860
- burn_block_height: v13.number(),
861
- burn_block_time: v13.number(),
862
- burn_block_time_iso: v13.string(),
863
- parent_burn_block_time: v13.number(),
864
- parent_burn_block_time_iso: v13.string(),
865
- canonical: v13.boolean(),
866
- tx_index: v13.number(),
867
- tx_status: v13.union([
868
- v13.literal("success"),
869
- v13.literal("abort_by_response"),
870
- v13.literal("abort_by_post_condition")
709
+ var v11 = __toESM(require("valibot"), 1);
710
+ var baseTransactionSchema = v11.object({
711
+ tx_id: v11.string(),
712
+ nonce: v11.number(),
713
+ fee_rate: v11.string(),
714
+ sender_address: v11.string(),
715
+ sponsored: v11.boolean(),
716
+ post_condition_mode: v11.string(),
717
+ post_conditions: v11.array(v11.unknown()),
718
+ anchor_mode: v11.string(),
719
+ is_unanchored: v11.boolean(),
720
+ block_hash: v11.string(),
721
+ parent_block_hash: v11.string(),
722
+ block_height: v11.number(),
723
+ block_time: v11.number(),
724
+ block_time_iso: v11.string(),
725
+ burn_block_height: v11.number(),
726
+ burn_block_time: v11.number(),
727
+ burn_block_time_iso: v11.string(),
728
+ parent_burn_block_time: v11.number(),
729
+ parent_burn_block_time_iso: v11.string(),
730
+ canonical: v11.boolean(),
731
+ tx_index: v11.number(),
732
+ tx_status: v11.union([
733
+ v11.literal("success"),
734
+ v11.literal("abort_by_response"),
735
+ v11.literal("abort_by_post_condition")
871
736
  ]),
872
- tx_result: v13.object({
873
- hex: v13.string(),
874
- repr: v13.string()
737
+ tx_result: v11.object({
738
+ hex: v11.string(),
739
+ repr: v11.string()
875
740
  }),
876
- microblock_hash: v13.string(),
877
- microblock_sequence: v13.number(),
878
- microblock_canonical: v13.boolean(),
879
- event_count: v13.number(),
880
- events: v13.array(v13.unknown()),
881
- execution_cost_read_count: v13.number(),
882
- execution_cost_read_length: v13.number(),
883
- execution_cost_runtime: v13.number(),
884
- execution_cost_write_count: v13.number(),
885
- execution_cost_write_length: v13.number()
741
+ microblock_hash: v11.string(),
742
+ microblock_sequence: v11.number(),
743
+ microblock_canonical: v11.boolean(),
744
+ event_count: v11.number(),
745
+ events: v11.array(v11.unknown()),
746
+ execution_cost_read_count: v11.number(),
747
+ execution_cost_read_length: v11.number(),
748
+ execution_cost_runtime: v11.number(),
749
+ execution_cost_write_count: v11.number(),
750
+ execution_cost_write_length: v11.number()
886
751
  });
887
- var contractCallTransactionSchema = v13.object({
888
- tx_type: v13.literal("contract_call"),
889
- contract_call: v13.object({
890
- contract_id: v13.string(),
891
- function_name: v13.string(),
892
- function_signature: v13.string(),
893
- function_args: v13.array(
894
- v13.object({
895
- hex: v13.string(),
896
- repr: v13.string(),
897
- name: v13.string(),
898
- type: v13.string()
752
+ var contractCallTransactionSchema = v11.object({
753
+ tx_type: v11.literal("contract_call"),
754
+ contract_call: v11.object({
755
+ contract_id: v11.string(),
756
+ function_name: v11.string(),
757
+ function_signature: v11.string(),
758
+ function_args: v11.array(
759
+ v11.object({
760
+ hex: v11.string(),
761
+ repr: v11.string(),
762
+ name: v11.string(),
763
+ type: v11.string()
899
764
  })
900
765
  )
901
766
  }),
902
767
  ...baseTransactionSchema.entries
903
768
  });
904
- var smartContractTransactionSchema = v13.object({
905
- tx_type: v13.literal("smart_contract"),
906
- smart_contract: v13.object({
769
+ var smartContractTransactionSchema = v11.object({
770
+ tx_type: v11.literal("smart_contract"),
771
+ smart_contract: v11.object({
907
772
  /**
908
773
  * NOTE: The types may be wrong, not sure what type of value is used when
909
774
  * the version is not `null`.
910
775
  */
911
- clarity_version: v13.union([v13.null(), v13.number()]),
912
- contract_id: v13.string(),
913
- source_code: v13.string()
776
+ clarity_version: v11.union([v11.null(), v11.number()]),
777
+ contract_id: v11.string(),
778
+ source_code: v11.string()
914
779
  }),
915
780
  ...baseTransactionSchema.entries
916
781
  });
917
- var tokenTransferSchema = v13.object({
918
- tx_type: v13.literal("token_transfer"),
919
- token_transfer: v13.object({
920
- recipient_address: v13.string(),
921
- amount: v13.string(),
922
- memo: v13.string()
782
+ var tokenTransferSchema = v11.object({
783
+ tx_type: v11.literal("token_transfer"),
784
+ token_transfer: v11.object({
785
+ recipient_address: v11.string(),
786
+ amount: v11.string(),
787
+ memo: v11.string()
923
788
  }),
924
789
  ...baseTransactionSchema.entries
925
790
  });
926
- var transactionSchema = v13.variant("tx_type", [
791
+ var transactionSchema = v11.variant("tx_type", [
927
792
  contractCallTransactionSchema,
928
793
  smartContractTransactionSchema,
929
794
  tokenTransferSchema
930
795
  ]);
931
796
 
932
797
  // src/stacks-api/transactions/address-transactions.ts
933
- var v14 = __toESM(require("valibot"), 1);
934
- var resultSchema = v14.object({
798
+ var v12 = __toESM(require("valibot"), 1);
799
+ var resultSchema = v12.object({
935
800
  tx: transactionSchema,
936
- stx_sent: v14.string(),
937
- stx_received: v14.string(),
938
- events: v14.object({
939
- stx: v14.object({
940
- transfer: v14.number(),
941
- mint: v14.number(),
942
- burn: v14.number()
801
+ stx_sent: v12.string(),
802
+ stx_received: v12.string(),
803
+ events: v12.object({
804
+ stx: v12.object({
805
+ transfer: v12.number(),
806
+ mint: v12.number(),
807
+ burn: v12.number()
943
808
  }),
944
- ft: v14.object({
945
- transfer: v14.number(),
946
- mint: v14.number(),
947
- burn: v14.number()
809
+ ft: v12.object({
810
+ transfer: v12.number(),
811
+ mint: v12.number(),
812
+ burn: v12.number()
948
813
  }),
949
- nft: v14.object({
950
- transfer: v14.number(),
951
- mint: v14.number(),
952
- burn: v14.number()
814
+ nft: v12.object({
815
+ transfer: v12.number(),
816
+ mint: v12.number(),
817
+ burn: v12.number()
953
818
  })
954
819
  })
955
820
  });
956
- var resultsSchema4 = v14.array(resultSchema);
957
- var addressTransactionsResponseSchema = v14.object({
821
+ var resultsSchema4 = v12.array(resultSchema);
822
+ var addressTransactionsResponseSchema = v12.object({
958
823
  ...baseListResponseSchema.entries,
959
824
  results: resultsSchema4
960
825
  });
@@ -979,7 +844,7 @@ async function addressTransactions(args) {
979
844
  data: {
980
845
  status: res.status,
981
846
  statusText: res.statusText,
982
- bodyParseResult: await safePromise(res.json())
847
+ bodyText: await safePromise(res.text())
983
848
  }
984
849
  });
985
850
  }
@@ -991,7 +856,7 @@ async function addressTransactions(args) {
991
856
  data: jsonParseError
992
857
  });
993
858
  }
994
- const validationResult = v14.safeParse(addressTransactionsResponseSchema, data);
859
+ const validationResult = v12.safeParse(addressTransactionsResponseSchema, data);
995
860
  if (!validationResult.success) {
996
861
  return error({
997
862
  name: "ValidateDataError",
@@ -1003,7 +868,7 @@ async function addressTransactions(args) {
1003
868
  }
1004
869
 
1005
870
  // src/stacks-api/transactions/get-transaction.ts
1006
- var v15 = __toESM(require("valibot"), 1);
871
+ var v13 = __toESM(require("valibot"), 1);
1007
872
  async function getTransaction(args) {
1008
873
  const init = {};
1009
874
  if (args.apiKeyConfig) {
@@ -1020,7 +885,7 @@ async function getTransaction(args) {
1020
885
  response: {
1021
886
  status: res.status,
1022
887
  statusText: res.statusText,
1023
- body: await safePromise(res.json())
888
+ bodyText: await safePromise(res.text())
1024
889
  }
1025
890
  });
1026
891
  }
@@ -1032,7 +897,7 @@ async function getTransaction(args) {
1032
897
  error: jsonParseError
1033
898
  });
1034
899
  }
1035
- const validationResult = v15.safeParse(transactionSchema, data);
900
+ const validationResult = v13.safeParse(transactionSchema, data);
1036
901
  if (!validationResult.success) {
1037
902
  return error({
1038
903
  name: "ValidateDataError",
@@ -1043,10 +908,54 @@ async function getTransaction(args) {
1043
908
  return success(validationResult.output);
1044
909
  }
1045
910
 
911
+ // src/stacks-api/transactions/mempool-transactions.ts
912
+ async function mempoolTransactions(args) {
913
+ const search = new URLSearchParams();
914
+ if (args.limit) search.append("limit", args.limit.toString());
915
+ if (args.offset) search.append("offset", args.offset.toString());
916
+ if (args.senderAddress) search.append("sender_address", args.senderAddress);
917
+ if (args.recipientAddress)
918
+ search.append("recipient_address", args.recipientAddress);
919
+ if (args.address) search.append("address", args.address);
920
+ if (args.orderBy) search.append("order_by", args.orderBy);
921
+ if (args.order) search.append("order", args.order);
922
+ const init = {};
923
+ if (args.apiKeyConfig) {
924
+ init.headers = {
925
+ [args.apiKeyConfig.header]: args.apiKeyConfig.key
926
+ };
927
+ }
928
+ const res = await fetch(
929
+ `${args.baseUrl}/extended/v1/tx/mempool?${search}`,
930
+ init
931
+ );
932
+ if (!res.ok) {
933
+ return error({
934
+ name: "FetchMempoolTransactionsError",
935
+ message: "Failed to fetch mempool transactions.",
936
+ data: {
937
+ status: res.status,
938
+ statusText: res.statusText,
939
+ bodyText: await safePromise(res.text())
940
+ }
941
+ });
942
+ }
943
+ const [jsonParseError, data] = await safePromise(res.json());
944
+ if (jsonParseError) {
945
+ return error({
946
+ name: "ParseBodyError",
947
+ message: "Failed to parse response body.",
948
+ data: jsonParseError
949
+ });
950
+ }
951
+ return success(data);
952
+ }
953
+
1046
954
  // src/stacks-api/transactions/index.ts
1047
955
  var transactions = {
1048
956
  addressTransactions,
1049
- getTransaction
957
+ getTransaction,
958
+ mempoolTransactions
1050
959
  };
1051
960
 
1052
961
  // src/stacks-api/index.ts
@@ -1061,16 +970,16 @@ var stacksApi = {
1061
970
  };
1062
971
 
1063
972
  // src/stacks-rpc-api/smart-contracts/map-entry.ts
1064
- var v16 = __toESM(require("valibot"), 1);
1065
- var mapEntryResponseSchema = v16.object({
973
+ var v14 = __toESM(require("valibot"), 1);
974
+ var mapEntryResponseSchema = v14.object({
1066
975
  /**
1067
976
  * Hex-encoded string of clarity value. It is always an optional tuple.
1068
977
  */
1069
- data: v16.string(),
978
+ data: v14.string(),
1070
979
  /**
1071
980
  * Hex-encoded string of the MARF proof for the data
1072
981
  */
1073
- proof: v16.optional(v16.string())
982
+ proof: v14.optional(v14.string())
1074
983
  });
1075
984
  async function mapEntry(args) {
1076
985
  const search = new URLSearchParams();
@@ -1098,7 +1007,7 @@ async function mapEntry(args) {
1098
1007
  status: res.status,
1099
1008
  statusText: res.statusText,
1100
1009
  endpoint,
1101
- bodyParseResult: await safePromise(res.text())
1010
+ bodyText: await safePromise(res.text())
1102
1011
  }
1103
1012
  });
1104
1013
  }
@@ -1110,7 +1019,7 @@ async function mapEntry(args) {
1110
1019
  data: jsonError
1111
1020
  });
1112
1021
  }
1113
- const validationResult = v16.safeParse(mapEntryResponseSchema, data);
1022
+ const validationResult = v14.safeParse(mapEntryResponseSchema, data);
1114
1023
  if (!validationResult.success) {
1115
1024
  return error({
1116
1025
  name: "ValidateDataError",
@@ -1122,20 +1031,6 @@ async function mapEntry(args) {
1122
1031
  }
1123
1032
 
1124
1033
  // src/stacks-rpc-api/smart-contracts/read-only.ts
1125
- var v17 = __toESM(require("valibot"), 1);
1126
- var readOnlyResponseSchema = v17.variant("okay", [
1127
- v17.object({
1128
- okay: v17.literal(true),
1129
- /**
1130
- * A Clarity value as a hex-encoded string.
1131
- */
1132
- result: v17.string()
1133
- }),
1134
- v17.object({
1135
- okay: v17.literal(false),
1136
- cause: v17.unknown()
1137
- })
1138
- ]);
1139
1034
  async function readOnly(args) {
1140
1035
  const headers = {
1141
1036
  "Content-Type": "application/json"
@@ -1160,7 +1055,7 @@ async function readOnly(args) {
1160
1055
  data: {
1161
1056
  status: res.status,
1162
1057
  statusText: res.statusText,
1163
- bodyParseResult: await safePromise(res.json())
1058
+ bodyText: await safePromise(res.text())
1164
1059
  }
1165
1060
  });
1166
1061
  }
@@ -1172,15 +1067,7 @@ async function readOnly(args) {
1172
1067
  data: error
1173
1068
  });
1174
1069
  }
1175
- const validationResult = v17.safeParse(readOnlyResponseSchema, data);
1176
- if (!validationResult.success) {
1177
- return error({
1178
- name: "ValidateDataError",
1179
- message: "Failed to validate data.",
1180
- data: validationResult
1181
- });
1182
- }
1183
- return success(validationResult.output);
1070
+ return success(data);
1184
1071
  }
1185
1072
 
1186
1073
  // src/stacks-rpc-api/smart-contracts/index.ts
@@ -1189,8 +1076,45 @@ var smartContracts = {
1189
1076
  readOnly
1190
1077
  };
1191
1078
 
1079
+ // src/stacks-rpc-api/pox/pox-details.ts
1080
+ async function poxDetails(args) {
1081
+ const init = {};
1082
+ if (args.apiKeyConfig) {
1083
+ init.headers = {
1084
+ [args.apiKeyConfig.header]: args.apiKeyConfig.key
1085
+ };
1086
+ }
1087
+ const res = await fetch(`${args.baseUrl}/v2/pox`, init);
1088
+ if (!res.ok) {
1089
+ return error({
1090
+ name: "FetchPoxDetailsError",
1091
+ message: "Failed to fetch pox details.",
1092
+ data: {
1093
+ status: res.status,
1094
+ statusText: res.statusText,
1095
+ bodyText: await safePromise(res.text())
1096
+ }
1097
+ });
1098
+ }
1099
+ const [jsonParseError, data] = await safePromise(res.json());
1100
+ if (jsonParseError) {
1101
+ return error({
1102
+ name: "ParseBodyError",
1103
+ message: "Failed to parse pox details response.",
1104
+ data: jsonParseError
1105
+ });
1106
+ }
1107
+ return success(data);
1108
+ }
1109
+
1110
+ // src/stacks-rpc-api/pox/index.ts
1111
+ var pox = {
1112
+ poxDetails
1113
+ };
1114
+
1192
1115
  // src/stacks-rpc-api/index.ts
1193
1116
  var stacksRpcApi = {
1117
+ pox,
1194
1118
  smartContracts
1195
1119
  };
1196
1120
 
@@ -1289,10 +1213,140 @@ async function getSignerStackedAmount(args) {
1289
1213
  var queries = {
1290
1214
  getSignerStackedAmount
1291
1215
  };
1216
+
1217
+ // src/pox4-api/maps/stacking-state.ts
1218
+ var import_transactions2 = require("@stacks/transactions");
1219
+
1220
+ // src/pox4-api/constants.ts
1221
+ var netValueMap = {
1222
+ mainnet: {
1223
+ pox4ContractAddress: "SP000000000000000000002Q6VF78",
1224
+ pox4ContractName: "pox-4"
1225
+ },
1226
+ testnet: {
1227
+ pox4ContractAddress: "ST000000000000000000002AMW42H",
1228
+ pox4ContractName: "pox-4"
1229
+ }
1230
+ };
1231
+ function networkDependentValues(network) {
1232
+ return netValueMap[network];
1233
+ }
1234
+
1235
+ // src/pox4-api/maps/stacking-state.ts
1236
+ async function stackingState({
1237
+ key,
1238
+ network,
1239
+ baseUrl,
1240
+ apiKeyConfig,
1241
+ proof,
1242
+ tip
1243
+ }) {
1244
+ const [mapEntryError, mapEntryData] = await mapEntry({
1245
+ contractAddress: networkDependentValues(network).pox4ContractAddress,
1246
+ contractName: networkDependentValues(network).pox4ContractName,
1247
+ mapKey: (0, import_transactions2.cvToHex)(key),
1248
+ mapName: "stacking-state",
1249
+ apiKeyConfig,
1250
+ proof,
1251
+ tip,
1252
+ baseUrl
1253
+ });
1254
+ if (mapEntryError)
1255
+ return error({
1256
+ name: "FetchStackingStateError",
1257
+ message: "Failed to fetch stacking state.",
1258
+ data: mapEntryError
1259
+ });
1260
+ return success({
1261
+ data: (0, import_transactions2.hexToCV)(mapEntryData.data),
1262
+ proof: mapEntryData.proof
1263
+ });
1264
+ }
1265
+
1266
+ // src/pox4-api/maps/index.ts
1267
+ var maps = { stackingState };
1268
+
1269
+ // src/pox4-api/read-only/get-stacker-info.ts
1270
+ var import_transactions3 = require("@stacks/transactions");
1271
+ async function getStackerInfo({
1272
+ principal,
1273
+ network,
1274
+ baseUrl,
1275
+ apiKeyConfig
1276
+ }) {
1277
+ const [readOnlyError, readOnlyData] = await stacksRpcApi.smartContracts.readOnly({
1278
+ contractAddress: networkDependentValues(network).pox4ContractAddress,
1279
+ contractName: networkDependentValues(network).pox4ContractName,
1280
+ functionName: "get-stacker-info",
1281
+ arguments: [(0, import_transactions3.cvToHex)((0, import_transactions3.principalCV)(principal))],
1282
+ baseUrl,
1283
+ apiKeyConfig,
1284
+ sender: principal
1285
+ });
1286
+ if (readOnlyError) {
1287
+ return error({
1288
+ name: "GetStackerInfoError",
1289
+ message: "Failed to get stacker info.",
1290
+ data: readOnlyError
1291
+ });
1292
+ }
1293
+ if (!readOnlyData.okay) {
1294
+ return error({
1295
+ name: "GetStackerInfoFunctionCallError",
1296
+ message: "Call to `get-stacker-info` failed.",
1297
+ data: readOnlyData
1298
+ });
1299
+ }
1300
+ return success((0, import_transactions3.hexToCV)(readOnlyData.result));
1301
+ }
1302
+
1303
+ // src/pox4-api/read-only/get-check-delegation.ts
1304
+ var import_transactions4 = require("@stacks/transactions");
1305
+ async function getCheckDelegation({
1306
+ principal,
1307
+ network,
1308
+ baseUrl,
1309
+ apiKeyConfig
1310
+ }) {
1311
+ const [readOnlyError, readOnlyData] = await stacksRpcApi.smartContracts.readOnly({
1312
+ contractAddress: networkDependentValues(network).pox4ContractAddress,
1313
+ contractName: networkDependentValues(network).pox4ContractName,
1314
+ functionName: "get-check-delegation",
1315
+ arguments: [(0, import_transactions4.cvToHex)((0, import_transactions4.principalCV)(principal))],
1316
+ baseUrl,
1317
+ apiKeyConfig,
1318
+ sender: principal
1319
+ });
1320
+ if (readOnlyError) {
1321
+ return error({
1322
+ name: "GetCheckDelegationError",
1323
+ message: "Failed to get check delegation.",
1324
+ data: readOnlyError
1325
+ });
1326
+ }
1327
+ if (!readOnlyData.okay) {
1328
+ return error({
1329
+ name: "GetCheckDelegationFunctionCallError",
1330
+ message: "Call to `get-check-delegation` failed.",
1331
+ data: readOnlyData
1332
+ });
1333
+ }
1334
+ return success((0, import_transactions4.hexToCV)(readOnlyData.result));
1335
+ }
1336
+
1337
+ // src/pox4-api/read-only/index.ts
1338
+ var readOnly2 = {
1339
+ getStackerInfo,
1340
+ getCheckDelegation
1341
+ };
1342
+
1343
+ // src/pox4-api/index.ts
1344
+ var pox4Api = { maps, readOnly: readOnly2 };
1292
1345
  // Annotate the CommonJS export names for ESM import in node:
1293
1346
  0 && (module.exports = {
1294
1347
  callRateLimitedApi,
1295
1348
  error,
1349
+ pox4Api,
1296
1350
  queries,
1297
1351
  safeCall,
1298
1352
  safeCallRateLimitedApi,