@mem-cash/electrum 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +143 -0
  2. package/dist/address.d.ts +20 -0
  3. package/dist/address.d.ts.map +1 -0
  4. package/dist/address.js +51 -0
  5. package/dist/address.js.map +1 -0
  6. package/dist/dispatch.d.ts +18 -0
  7. package/dist/dispatch.d.ts.map +1 -0
  8. package/dist/dispatch.js +108 -0
  9. package/dist/dispatch.js.map +1 -0
  10. package/dist/headers.d.ts +14 -0
  11. package/dist/headers.d.ts.map +1 -0
  12. package/dist/headers.js +156 -0
  13. package/dist/headers.js.map +1 -0
  14. package/dist/index.d.ts +16 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +11 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/indexer.d.ts +42 -0
  19. package/dist/indexer.d.ts.map +1 -0
  20. package/dist/indexer.js +216 -0
  21. package/dist/indexer.js.map +1 -0
  22. package/dist/memCash.d.ts +40 -0
  23. package/dist/memCash.d.ts.map +1 -0
  24. package/dist/memCash.js +212 -0
  25. package/dist/memCash.js.map +1 -0
  26. package/dist/mempool.d.ts +6 -0
  27. package/dist/mempool.d.ts.map +1 -0
  28. package/dist/mempool.js +46 -0
  29. package/dist/mempool.js.map +1 -0
  30. package/dist/schema.d.ts +638 -0
  31. package/dist/schema.d.ts.map +1 -0
  32. package/dist/schema.js +3 -0
  33. package/dist/schema.js.map +1 -0
  34. package/dist/scripthash.d.ts +18 -0
  35. package/dist/scripthash.d.ts.map +1 -0
  36. package/dist/scripthash.js +164 -0
  37. package/dist/scripthash.js.map +1 -0
  38. package/dist/server.d.ts +20 -0
  39. package/dist/server.d.ts.map +1 -0
  40. package/dist/server.js +120 -0
  41. package/dist/server.js.map +1 -0
  42. package/dist/stubs.d.ts +12 -0
  43. package/dist/stubs.d.ts.map +1 -0
  44. package/dist/stubs.js +16 -0
  45. package/dist/stubs.js.map +1 -0
  46. package/dist/test.d.ts +8 -0
  47. package/dist/test.d.ts.map +1 -0
  48. package/dist/test.js +240 -0
  49. package/dist/test.js.map +1 -0
  50. package/dist/testUtils.d.ts +20 -0
  51. package/dist/testUtils.d.ts.map +1 -0
  52. package/dist/testUtils.js +29 -0
  53. package/dist/testUtils.js.map +1 -0
  54. package/dist/transaction.d.ts +28 -0
  55. package/dist/transaction.d.ts.map +1 -0
  56. package/dist/transaction.js +318 -0
  57. package/dist/transaction.js.map +1 -0
  58. package/dist/transport.d.ts +24 -0
  59. package/dist/transport.d.ts.map +1 -0
  60. package/dist/transport.js +16 -0
  61. package/dist/transport.js.map +1 -0
  62. package/dist/types.d.ts +85 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +58 -0
  65. package/dist/types.js.map +1 -0
  66. package/dist/utxo.d.ts +4 -0
  67. package/dist/utxo.d.ts.map +1 -0
  68. package/dist/utxo.js +39 -0
  69. package/dist/utxo.js.map +1 -0
  70. package/package.json +53 -0
@@ -0,0 +1,638 @@
1
+ export type SchemaEntry = {
2
+ method: string;
3
+ params: unknown[] | Record<string, unknown>;
4
+ return: unknown;
5
+ };
6
+ export type Schema = {
7
+ requests: SchemaEntry[];
8
+ subscriptions: SchemaEntry[];
9
+ };
10
+ /** Default schema for untyped usage — accepts any method string. */
11
+ export type AnySchema = {
12
+ requests: [{
13
+ method: string;
14
+ params: unknown[] | Record<string, unknown>;
15
+ return: unknown;
16
+ }];
17
+ subscriptions: [{
18
+ method: string;
19
+ params: unknown[] | Record<string, unknown>;
20
+ return: unknown;
21
+ }];
22
+ };
23
+ type AllEntries<S extends Schema> = [...S["requests"], ...S["subscriptions"]];
24
+ export type ExtractMethod<S extends Schema> = AllEntries<S>[number]["method"];
25
+ export type ExtractRequestMethod<S extends Schema> = S["requests"][number]["method"];
26
+ export type ExtractSubscriptionMethod<S extends Schema> = S["subscriptions"][number]["method"];
27
+ export type ExtractEntry<S extends Schema, M extends string> = Extract<AllEntries<S>[number], {
28
+ method: M;
29
+ }>;
30
+ export type ExtractReturn<S extends Schema, M extends string> = ExtractEntry<S, M> extends never ? unknown : ExtractEntry<S, M>["return"];
31
+ export type ExtractParams<S extends Schema, M extends string> = ExtractEntry<S, M> extends never ? unknown[] | Record<string, unknown> : ExtractEntry<S, M>["params"];
32
+ /** Filter out entries with a specific method from a tuple. */
33
+ type FilterMethod<T extends readonly unknown[], M extends string> = T extends readonly [
34
+ infer Head,
35
+ ...infer Tail
36
+ ] ? Head extends {
37
+ method: M;
38
+ } ? FilterMethod<Tail, M> : [Head, ...FilterMethod<Tail, M>] : [];
39
+ /** Filter out multiple methods from a tuple. */
40
+ type FilterMethods<T extends readonly unknown[], Entries extends readonly {
41
+ method: string;
42
+ }[]> = Entries extends readonly [
43
+ infer E extends {
44
+ method: string;
45
+ },
46
+ ...infer Rest extends {
47
+ method: string;
48
+ }[]
49
+ ] ? FilterMethods<FilterMethod<T, E["method"]>, Rest> : T;
50
+ /** Override request methods in a schema. */
51
+ export type OverrideRequests<S extends {
52
+ requests: readonly unknown[];
53
+ subscriptions: readonly unknown[];
54
+ }, NewEntries extends readonly {
55
+ method: string;
56
+ params: unknown[] | Record<string, unknown>;
57
+ return: unknown;
58
+ }[]> = {
59
+ requests: [...FilterMethods<S["requests"], NewEntries>, ...NewEntries];
60
+ subscriptions: S["subscriptions"];
61
+ };
62
+ type TokenFilter = "include_tokens" | "exclude_tokens" | "tokens_only";
63
+ type TokenData = {
64
+ amount: string;
65
+ category: string;
66
+ nft?: {
67
+ capability: "none" | "minting" | "mutable";
68
+ commitment: string;
69
+ };
70
+ };
71
+ type UnspentEntry = {
72
+ height: number;
73
+ tx_hash: string;
74
+ tx_pos: number;
75
+ value: number;
76
+ token_data?: TokenData;
77
+ };
78
+ export type ElectrumCashSchema_1_5_3 = {
79
+ requests: [
80
+ {
81
+ method: "blockchain.address.get_balance";
82
+ params: [address: string, token_filter?: TokenFilter];
83
+ return: {
84
+ confirmed: number;
85
+ unconfirmed: number;
86
+ };
87
+ },
88
+ {
89
+ method: "blockchain.address.get_first_use";
90
+ params: [address: string];
91
+ return: {
92
+ block_hash: string;
93
+ height: number;
94
+ tx_hash: string;
95
+ } | {
96
+ block_hash: "0000000000000000000000000000000000000000000000000000000000000000";
97
+ height: 0;
98
+ tx_hash: string;
99
+ };
100
+ },
101
+ {
102
+ method: "blockchain.address.get_history";
103
+ params: [address: string, from_height?: number, to_height?: number];
104
+ return: Array<{
105
+ height: number;
106
+ tx_hash: string;
107
+ }>;
108
+ },
109
+ {
110
+ method: "blockchain.address.get_mempool";
111
+ params: [address: string];
112
+ return: Array<{
113
+ height: number;
114
+ tx_hash: string;
115
+ fee: number;
116
+ }>;
117
+ },
118
+ {
119
+ method: "blockchain.address.get_scripthash";
120
+ params: [address: string];
121
+ return: string;
122
+ },
123
+ {
124
+ method: "blockchain.address.listunspent";
125
+ params: [address: string, token_filter?: TokenFilter];
126
+ return: Array<UnspentEntry>;
127
+ },
128
+ {
129
+ method: "blockchain.address.unsubscribe";
130
+ params: [address: string];
131
+ return: boolean;
132
+ },
133
+ {
134
+ method: "blockchain.block.header";
135
+ params: [height: number, cp_height?: number];
136
+ return: string | {
137
+ header: string;
138
+ root: string;
139
+ branch: string[];
140
+ };
141
+ },
142
+ {
143
+ method: "blockchain.block.headers";
144
+ params: [start_height: number, count: number, cp_height?: number];
145
+ return: {
146
+ count: number;
147
+ hex: string;
148
+ max: number;
149
+ } | {
150
+ count: number;
151
+ hex: string;
152
+ max: number;
153
+ root: string;
154
+ branch: string[];
155
+ };
156
+ },
157
+ {
158
+ method: "blockchain.estimatefee";
159
+ params: [number: number];
160
+ return: -1 | number;
161
+ },
162
+ {
163
+ method: "blockchain.header.get";
164
+ params: [block_hash_or_height: string | number];
165
+ return: {
166
+ height: number;
167
+ hex: string;
168
+ };
169
+ },
170
+ {
171
+ method: "blockchain.headers.get_tip";
172
+ params: [];
173
+ return: {
174
+ height: number;
175
+ hex: string;
176
+ };
177
+ },
178
+ {
179
+ method: "blockchain.headers.unsubscribe";
180
+ params: [];
181
+ return: boolean;
182
+ },
183
+ {
184
+ method: "blockchain.relayfee";
185
+ params: [];
186
+ return: number;
187
+ },
188
+ {
189
+ method: "blockchain.rpa.get_history";
190
+ params: [rpa_prefix: string, from_height: number, to_height?: number];
191
+ return: Array<{
192
+ height: number;
193
+ tx_hash: string;
194
+ }>;
195
+ },
196
+ {
197
+ method: "blockchain.rpa.get_mempool";
198
+ params: [rpa_prefix: string];
199
+ return: Array<{
200
+ tx_hash: string;
201
+ height: number;
202
+ fee: number;
203
+ }>;
204
+ },
205
+ {
206
+ method: "blockchain.scripthash.get_balance";
207
+ params: [scripthash: string, token_filter?: TokenFilter];
208
+ return: {
209
+ confirmed: number;
210
+ unconfirmed: number;
211
+ };
212
+ },
213
+ {
214
+ method: "blockchain.scripthash.get_first_use";
215
+ params: [scripthash: string];
216
+ return: {
217
+ block_hash: string;
218
+ height: number;
219
+ tx_hash: string;
220
+ } | null;
221
+ },
222
+ {
223
+ method: "blockchain.scripthash.get_history";
224
+ params: [scripthash: string, from_height?: number, to_height?: number];
225
+ return: Array<{
226
+ fee?: number;
227
+ height: number;
228
+ tx_hash: string;
229
+ }>;
230
+ },
231
+ {
232
+ method: "blockchain.scripthash.get_mempool";
233
+ params: [scripthash: string];
234
+ return: Array<{
235
+ height: number;
236
+ tx_hash: string;
237
+ fee: number;
238
+ }>;
239
+ },
240
+ {
241
+ method: "blockchain.scripthash.get_status";
242
+ params: [scripthash: string];
243
+ return: string | null;
244
+ },
245
+ {
246
+ method: "blockchain.scripthash.listunspent";
247
+ params: [scripthash: string, token_filter?: TokenFilter];
248
+ return: Array<UnspentEntry>;
249
+ },
250
+ {
251
+ method: "blockchain.scripthash.unsubscribe";
252
+ params: [scripthash: string];
253
+ return: boolean;
254
+ },
255
+ {
256
+ method: "blockchain.transaction.broadcast";
257
+ params: [raw_tx: string];
258
+ return: string;
259
+ },
260
+ {
261
+ method: "blockchain.transaction.broadcast_package";
262
+ params: [raw_txs: string[]];
263
+ return: string[];
264
+ },
265
+ {
266
+ method: "blockchain.transaction.dsproof.get";
267
+ params: [hash: string];
268
+ return: {
269
+ dspid: string;
270
+ txid: string;
271
+ hex: string;
272
+ outpoint: {
273
+ txid: string;
274
+ vout: number;
275
+ };
276
+ descendants: string[];
277
+ } | null;
278
+ },
279
+ {
280
+ method: "blockchain.transaction.dsproof.list";
281
+ params: [];
282
+ return: string[];
283
+ },
284
+ {
285
+ method: "blockchain.transaction.get";
286
+ params: [tx_hash: string, verbose?: boolean];
287
+ return: null | string | {
288
+ blockhash: string;
289
+ blocktime: number;
290
+ confirmations: number;
291
+ hash: string;
292
+ hex: string;
293
+ locktime: number;
294
+ size: number;
295
+ time: number;
296
+ txid: string;
297
+ version: number;
298
+ vin: Array<{
299
+ scriptSig: {
300
+ asm: string;
301
+ hex: string;
302
+ };
303
+ sequence: number;
304
+ txid: string;
305
+ vout: number;
306
+ }>;
307
+ vout: Array<{
308
+ n: number;
309
+ scriptPubKey: {
310
+ addresses: string[];
311
+ asm: string;
312
+ hex: string;
313
+ reqSigs: number;
314
+ type: string;
315
+ };
316
+ tokenData?: TokenData;
317
+ value: number;
318
+ }>;
319
+ };
320
+ },
321
+ {
322
+ method: "blockchain.transaction.get_confirmed_blockhash";
323
+ params: [tx_hash: string, include_header?: boolean];
324
+ return: {
325
+ block_hash: string;
326
+ block_height: number;
327
+ } | {
328
+ block_hash: string;
329
+ block_header: string;
330
+ block_height: number;
331
+ };
332
+ },
333
+ {
334
+ method: "blockchain.transaction.get_height";
335
+ params: [tx_hash: string];
336
+ return: -1 | 0 | number | null;
337
+ },
338
+ {
339
+ method: "blockchain.transaction.get_merkle";
340
+ params: [tx_hash: string, height?: number];
341
+ return: {
342
+ block_height: number;
343
+ merkle: string[];
344
+ pos: number;
345
+ };
346
+ },
347
+ {
348
+ method: "blockchain.transaction.id_from_pos";
349
+ params: [height: number, tx_pos: number, merkle?: boolean];
350
+ return: string | {
351
+ tx_hash: string;
352
+ merkle: string[];
353
+ };
354
+ },
355
+ {
356
+ method: "blockchain.transaction.unsubscribe";
357
+ params: [tx_hash: string];
358
+ return: boolean;
359
+ },
360
+ {
361
+ method: "blockchain.transaction.dsproof.unsubscribe";
362
+ params: [tx_hash: string];
363
+ return: boolean;
364
+ },
365
+ {
366
+ method: "blockchain.utxo.get_info";
367
+ params: [tx_hash: string, out_n: number];
368
+ return: {
369
+ confirmed_height?: number;
370
+ scripthash: string;
371
+ value: number;
372
+ token_data?: TokenData;
373
+ } | null;
374
+ },
375
+ {
376
+ method: "daemon.passthrough";
377
+ params: {
378
+ method: string;
379
+ params?: unknown[] | Record<string, unknown>;
380
+ };
381
+ return: unknown;
382
+ },
383
+ {
384
+ method: "mempool.get_fee_histogram";
385
+ params: [];
386
+ return: Array<[number, number]>;
387
+ },
388
+ {
389
+ method: "server.add_peer";
390
+ params: [features: Record<string, unknown>];
391
+ return: boolean;
392
+ },
393
+ {
394
+ method: "server.banner";
395
+ params: [];
396
+ return: string;
397
+ },
398
+ {
399
+ method: "server.donation_address";
400
+ params: [];
401
+ return: string;
402
+ },
403
+ {
404
+ method: "server.features";
405
+ params: [];
406
+ return: {
407
+ genesis_hash: string;
408
+ hash_function: string;
409
+ server_version: string;
410
+ hosts: Record<string, {
411
+ ssl_port?: number;
412
+ tcp_port: number;
413
+ ws_port: number;
414
+ wss_port: number;
415
+ }>;
416
+ protocol_max: string;
417
+ protocol_min: string;
418
+ pruning?: number;
419
+ dsproof?: boolean;
420
+ cashtokens?: boolean;
421
+ rpa?: {
422
+ history_block_limit: number;
423
+ max_history: number;
424
+ prefix_bits: number;
425
+ prefix_bits_min: number;
426
+ starting_height: number;
427
+ };
428
+ };
429
+ },
430
+ {
431
+ method: "server.peers.subscribe";
432
+ params: [];
433
+ return: Array<[ip_address: string, hostname: string, features: string[]]>;
434
+ },
435
+ {
436
+ method: "server.ping";
437
+ params: [];
438
+ return: null;
439
+ },
440
+ {
441
+ method: "server.version";
442
+ params: [client_name?: string, protocol_version?: string];
443
+ return: [server_software_version: string, protocol_version: string];
444
+ }
445
+ ];
446
+ subscriptions: [
447
+ {
448
+ method: "blockchain.address.subscribe";
449
+ params: [address: string];
450
+ return: [address: string, status: string | null];
451
+ },
452
+ {
453
+ method: "blockchain.headers.subscribe";
454
+ params: [];
455
+ return: [header: {
456
+ height: number;
457
+ hex: string;
458
+ }];
459
+ },
460
+ {
461
+ method: "blockchain.scripthash.subscribe";
462
+ params: [scripthash: string];
463
+ return: [scripthash: string, status: string | null];
464
+ },
465
+ {
466
+ method: "blockchain.transaction.subscribe";
467
+ params: [tx_hash: string];
468
+ return: [tx_hash: string, confirmations: number | null];
469
+ },
470
+ {
471
+ method: "blockchain.transaction.dsproof.subscribe";
472
+ params: [tx_hash: string];
473
+ return: [
474
+ tx_hash: string,
475
+ dsproof: {
476
+ dspid: string;
477
+ txid: string;
478
+ hex: string;
479
+ outpoint: {
480
+ txid: string;
481
+ vout: number;
482
+ };
483
+ descendants: string[];
484
+ } | null
485
+ ];
486
+ }
487
+ ];
488
+ };
489
+ export type ElectrumCashSchema_1_6_0 = OverrideRequests<ElectrumCashSchema_1_5_3, [
490
+ {
491
+ method: "blockchain.block.headers";
492
+ params: [start_height: number, count: number, cp_height?: number];
493
+ return: {
494
+ count: number;
495
+ headers: string[];
496
+ max: number;
497
+ } | {
498
+ count: number;
499
+ headers: string[];
500
+ max: number;
501
+ root: string;
502
+ branch: string[];
503
+ };
504
+ },
505
+ {
506
+ method: "mempool.get_info";
507
+ params: [];
508
+ return: {
509
+ mempoolminfee: number;
510
+ minrelaytxfee: number;
511
+ } | {
512
+ mempoolminfee: number;
513
+ minrelaytxfee: number;
514
+ incrementalrelayfee: number;
515
+ unbroadcastcount: number;
516
+ fullrbf: boolean;
517
+ };
518
+ },
519
+ {
520
+ method: "server.features";
521
+ params: [];
522
+ return: {
523
+ genesis_hash: string;
524
+ hash_function: string;
525
+ server_version: string;
526
+ hosts: Record<string, {
527
+ ssl_port?: number;
528
+ tcp_port: number;
529
+ ws_port: number;
530
+ wss_port: number;
531
+ }>;
532
+ protocol_max: string;
533
+ protocol_min: string;
534
+ pruning?: number;
535
+ dsproof?: boolean;
536
+ cashtokens?: boolean;
537
+ rpa?: {
538
+ history_block_limit: number;
539
+ max_history: number;
540
+ prefix_bits: number;
541
+ prefix_bits_min: number;
542
+ starting_height: number;
543
+ };
544
+ broadcast_package?: boolean;
545
+ };
546
+ }
547
+ ]>;
548
+ export type ElectrumCashSchema = ElectrumCashSchema_1_6_0;
549
+ /** ElectrumCash schema extended with test.* development/testing methods. */
550
+ export type ElectrumCashTestSchema = OverrideRequests<ElectrumCashSchema, [
551
+ {
552
+ method: "test.set_chain_tip";
553
+ params: [height: number, timestamp: number];
554
+ return: true;
555
+ },
556
+ {
557
+ method: "test.add_utxo";
558
+ params: [
559
+ address: string,
560
+ utxo: {
561
+ vout?: number;
562
+ satoshis: number | bigint;
563
+ height?: number;
564
+ token?: {
565
+ category: string;
566
+ amount: number | bigint | string;
567
+ nft?: {
568
+ commitment: string;
569
+ capability: string;
570
+ };
571
+ };
572
+ }
573
+ ];
574
+ return: {
575
+ txid: string;
576
+ };
577
+ },
578
+ {
579
+ method: "test.remove_utxo";
580
+ params: [txid: string, vout: number];
581
+ return: true;
582
+ },
583
+ {
584
+ method: "test.add_header";
585
+ params: [hash: string, height: number, timestamp: number];
586
+ return: true;
587
+ },
588
+ {
589
+ method: "test.mine";
590
+ params: [address: string, blocks?: number];
591
+ return: {
592
+ height: number;
593
+ coinbaseTxids: string[];
594
+ };
595
+ },
596
+ {
597
+ method: "test.add_dsproof";
598
+ params: [
599
+ txid: string,
600
+ dsproof: {
601
+ dspid: string;
602
+ txid: string;
603
+ hex: string;
604
+ outpoint: {
605
+ txid: string;
606
+ vout: number;
607
+ };
608
+ descendants: string[];
609
+ }
610
+ ];
611
+ return: true;
612
+ },
613
+ {
614
+ method: "test.debugTransaction";
615
+ params: [rawHex: string];
616
+ return: {
617
+ success: boolean;
618
+ txid?: string;
619
+ fee?: bigint;
620
+ size?: number;
621
+ code?: number;
622
+ error?: string;
623
+ debugMessage?: string;
624
+ inputResults?: Array<{
625
+ inputIndex: number;
626
+ success: boolean;
627
+ error?: string;
628
+ }>;
629
+ };
630
+ },
631
+ {
632
+ method: "test.reset";
633
+ params: [];
634
+ return: true;
635
+ }
636
+ ]>;
637
+ export {};
638
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js ADDED
@@ -0,0 +1,3 @@
1
+ // --- Generic schema type system (adapted from rpckit) ---
2
+ export {};
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,2DAA2D"}
@@ -0,0 +1,18 @@
1
+ import { type HandlerResult, type ProtocolContext } from "./types.js";
2
+ /** blockchain.scripthash.get_balance */
3
+ export declare function getBalance(ctx: ProtocolContext, params: unknown[]): HandlerResult;
4
+ /** blockchain.scripthash.get_history */
5
+ export declare function getHistory(ctx: ProtocolContext, params: unknown[]): HandlerResult;
6
+ /** blockchain.scripthash.get_mempool */
7
+ export declare function getMempool(ctx: ProtocolContext, params: unknown[]): HandlerResult;
8
+ /** blockchain.scripthash.listunspent */
9
+ export declare function listUnspent(ctx: ProtocolContext, params: unknown[]): HandlerResult;
10
+ /** blockchain.scripthash.subscribe */
11
+ export declare function subscribe(ctx: ProtocolContext, params: unknown[]): HandlerResult;
12
+ /** blockchain.scripthash.unsubscribe */
13
+ export declare function unsubscribe(ctx: ProtocolContext, params: unknown[]): HandlerResult;
14
+ /** blockchain.scripthash.get_first_use — first confirmed or mempool tx for this scripthash. */
15
+ export declare function getFirstUse(ctx: ProtocolContext, params: unknown[]): HandlerResult;
16
+ /** blockchain.scripthash.get_status (Fulcrum extension — like subscribe without registering) */
17
+ export declare function getStatus(ctx: ProtocolContext, params: unknown[]): HandlerResult;
18
+ //# sourceMappingURL=scripthash.d.ts.map