@rosen-bridge/bitcoin-scanner 0.1.0-52fc0239

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 (52) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +24 -0
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +9 -0
  7. package/dist/network/BitcoinRpcNetwork.d.ts +30 -0
  8. package/dist/network/BitcoinRpcNetwork.d.ts.map +1 -0
  9. package/dist/network/BitcoinRpcNetwork.js +88 -0
  10. package/dist/network/DogeRpcNetwork.d.ts +30 -0
  11. package/dist/network/DogeRpcNetwork.d.ts.map +1 -0
  12. package/dist/network/DogeRpcNetwork.js +88 -0
  13. package/dist/network/EsploraNetwork.d.ts +28 -0
  14. package/dist/network/EsploraNetwork.d.ts.map +1 -0
  15. package/dist/network/EsploraNetwork.js +64 -0
  16. package/dist/scanner/BitcoinEsploraScanner.d.ts +6 -0
  17. package/dist/scanner/BitcoinEsploraScanner.d.ts.map +1 -0
  18. package/dist/scanner/BitcoinEsploraScanner.js +7 -0
  19. package/dist/scanner/BitcoinRpcScanner.d.ts +6 -0
  20. package/dist/scanner/BitcoinRpcScanner.d.ts.map +1 -0
  21. package/dist/scanner/BitcoinRpcScanner.js +7 -0
  22. package/dist/scanner/DogeEsploraScanner.d.ts +6 -0
  23. package/dist/scanner/DogeEsploraScanner.d.ts.map +1 -0
  24. package/dist/scanner/DogeEsploraScanner.js +7 -0
  25. package/dist/scanner/DogeRpcScanner.d.ts +6 -0
  26. package/dist/scanner/DogeRpcScanner.d.ts.map +1 -0
  27. package/dist/scanner/DogeRpcScanner.js +7 -0
  28. package/dist/types.d.ts +142 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +2 -0
  31. package/lib/index.ts +8 -0
  32. package/lib/network/BitcoinRpcNetwork.ts +111 -0
  33. package/lib/network/DogeRpcNetwork.ts +112 -0
  34. package/lib/network/EsploraNetwork.ts +92 -0
  35. package/lib/scanner/BitcoinEsploraScanner.ts +15 -0
  36. package/lib/scanner/BitcoinRpcScanner.ts +16 -0
  37. package/lib/scanner/DogeEsploraScanner.ts +15 -0
  38. package/lib/scanner/DogeRpcScanner.ts +16 -0
  39. package/lib/types.ts +155 -0
  40. package/package.json +35 -0
  41. package/tests/bitcoinEsploraTestData.ts +1773 -0
  42. package/tests/bitcoinRpcTestData.ts +305 -0
  43. package/tests/dogeRpcTestData.ts +659 -0
  44. package/tests/mocked/axiosEsplora.mock.ts +28 -0
  45. package/tests/mocked/axiosRpc.mock.ts +28 -0
  46. package/tests/network/BitcoinRpcNetwork.spec.ts +112 -0
  47. package/tests/network/DogeRpcNetwork.spec.ts +111 -0
  48. package/tests/network/EsploraNetwork.spec.ts +106 -0
  49. package/tsconfig.build.json +11 -0
  50. package/tsconfig.build.tsbuildinfo +1 -0
  51. package/tsconfig.json +11 -0
  52. package/vitest.config.ts +18 -0
@@ -0,0 +1,305 @@
1
+ export const blockHeight = 828669;
2
+ export const blockHash =
3
+ '000000000000000000000cde53a239563c5a947d325c526bf140c7663b989b56';
4
+ export const getBlockHashResponse = {
5
+ result: '000000000000000000000cde53a239563c5a947d325c526bf140c7663b989b56',
6
+ error: null,
7
+ id: '19774cdc6bc663926590dc2fe7bfe77ba57a5343aaa16db5ffc377e95663fd4e',
8
+ };
9
+ export const getBlockHeaderResponse = {
10
+ result: {
11
+ hash: '000000000000000000000cde53a239563c5a947d325c526bf140c7663b989b56',
12
+ confirmations: 14305,
13
+ height: 828669,
14
+ version: 1073733632,
15
+ versionHex: '3fffe000',
16
+ merkleroot:
17
+ 'd2de1afdccbc6dcfbee076cece7b1d2f82b79fb6b630075d203d30b8b63fb259',
18
+ time: 1706930825,
19
+ mediantime: 1706929338,
20
+ nonce: 149001495,
21
+ bits: '1703ba5d',
22
+ difficulty: 75502165623893.72,
23
+ chainwork:
24
+ '0000000000000000000000000000000000000000686d24a04b18f25d90561220',
25
+ nTx: 3,
26
+ previousblockhash:
27
+ '0000000000000000000236443a3f4784ec904f5c500bd2e82838756b5657bb85',
28
+ nextblockhash:
29
+ '000000000000000000037ce676ece6d1f5b3caa5ddf99e110d15957158b25e26',
30
+ },
31
+ error: null,
32
+ id: '19774cdc6bc663926590dc2fe7bfe77ba57a5343aaa16db5ffc377e95663fd4e',
33
+ };
34
+ export const block = {
35
+ parentHash:
36
+ '0000000000000000000236443a3f4784ec904f5c500bd2e82838756b5657bb85',
37
+ hash: '000000000000000000000cde53a239563c5a947d325c526bf140c7663b989b56',
38
+ height: 828669,
39
+ timestamp: 1706930825,
40
+ txCount: 3,
41
+ };
42
+
43
+ export const currentBlockHeight = 842974;
44
+ export const getBlockchainInfoResponse = {
45
+ result: {
46
+ chain: 'main',
47
+ blocks: 842974,
48
+ headers: 842974,
49
+ bestblockhash:
50
+ '000000000000000000018fffafb08212af8e83f9064402869ec82dba151a4daf',
51
+ difficulty: 83148355189239.77,
52
+ mediantime: 1715414553,
53
+ verificationprogress: 0.9999995382177856,
54
+ initialblockdownload: false,
55
+ chainwork:
56
+ '000000000000000000000000000000000000000078d59d3106f5b8adb09605f4',
57
+ size_on_disk: 648380114308,
58
+ pruned: false,
59
+ softforks: {
60
+ bip34: {
61
+ type: 'buried',
62
+ active: true,
63
+ height: 227931,
64
+ },
65
+ bip66: {
66
+ type: 'buried',
67
+ active: true,
68
+ height: 363725,
69
+ },
70
+ bip65: {
71
+ type: 'buried',
72
+ active: true,
73
+ height: 388381,
74
+ },
75
+ csv: {
76
+ type: 'buried',
77
+ active: true,
78
+ height: 419328,
79
+ },
80
+ segwit: {
81
+ type: 'buried',
82
+ active: true,
83
+ height: 481824,
84
+ },
85
+ taproot: {
86
+ type: 'bip9',
87
+ bip9: {
88
+ status: 'active',
89
+ start_time: 1619222400,
90
+ timeout: 1628640000,
91
+ since: 709632,
92
+ min_activation_height: 709632,
93
+ },
94
+ height: 709632,
95
+ active: true,
96
+ },
97
+ },
98
+ warnings: '',
99
+ },
100
+ error: null,
101
+ id: '19774cdc6bc663926590dc2fe7bfe77ba57a5343aaa16db5ffc377e95663fd4e',
102
+ };
103
+
104
+ export const blockTxIds = [
105
+ '566b3bfa9095bdf9d2b8e512d48ff59ee9bfea7c03a9caf04ac7de9beda346b3',
106
+ 'e195327b50ff752ca190be64557863653cd23ee1f2d23e26c91477668e3c72db',
107
+ 'ce3fbbf4ab5791894af026f1b27fab3bfeca06e3b4de0b72fa14fea1c4e883e9',
108
+ ];
109
+ export const getBlockResponse = {
110
+ result: {
111
+ hash: '000000000000000000000cde53a239563c5a947d325c526bf140c7663b989b56',
112
+ confirmations: 14306,
113
+ height: 828669,
114
+ version: 1073733632,
115
+ versionHex: '3fffe000',
116
+ merkleroot:
117
+ 'd2de1afdccbc6dcfbee076cece7b1d2f82b79fb6b630075d203d30b8b63fb259',
118
+ time: 1706930825,
119
+ mediantime: 1706929338,
120
+ nonce: 149001495,
121
+ bits: '1703ba5d',
122
+ difficulty: 75502165623893.72,
123
+ chainwork:
124
+ '0000000000000000000000000000000000000000686d24a04b18f25d90561220',
125
+ nTx: 119,
126
+ previousblockhash:
127
+ '0000000000000000000236443a3f4784ec904f5c500bd2e82838756b5657bb85',
128
+ nextblockhash:
129
+ '000000000000000000037ce676ece6d1f5b3caa5ddf99e110d15957158b25e26',
130
+ strippedsize: 996322,
131
+ size: 1004368,
132
+ weight: 3993334,
133
+ tx: [
134
+ {
135
+ in_active_chain: true,
136
+ txid: '566b3bfa9095bdf9d2b8e512d48ff59ee9bfea7c03a9caf04ac7de9beda346b3',
137
+ hash: 'd1716539400cfb82548d10db783c2f957d31262a369f661b6beb900697b0f145',
138
+ version: 1,
139
+ size: 394,
140
+ vsize: 367,
141
+ weight: 1468,
142
+ locktime: 0,
143
+ vin: [
144
+ {
145
+ coinbase:
146
+ '03fda40c1b4d696e656420627920416e74506f6f6c3832392400950094826269fabe6d6df667f6068b4d8de38361923b7e99ab382c799ddb269d072c6e42227ccaa0cc2810000000000000000000c940c02e000000000000',
147
+ txinwitness: [
148
+ '0000000000000000000000000000000000000000000000000000000000000000',
149
+ ],
150
+ sequence: 4294967295,
151
+ },
152
+ ],
153
+ vout: [
154
+ {
155
+ value: 0.00000546,
156
+ n: 0,
157
+ scriptPubKey: {
158
+ asm: 'OP_HASH160 42402a28dd61f2718a4b27ae72a4791d5bbdade7 OP_EQUAL',
159
+ hex: 'a91442402a28dd61f2718a4b27ae72a4791d5bbdade787',
160
+ address: '37jKPSmbEGwgfacCr2nayn1wTaqMAbA94Z',
161
+ type: 'scripthash',
162
+ },
163
+ },
164
+ {
165
+ value: 6.48199837,
166
+ n: 1,
167
+ scriptPubKey: {
168
+ asm: 'OP_HASH160 4b09d828dfc8baaba5d04ee77397e04b1050cc73 OP_EQUAL',
169
+ hex: 'a9144b09d828dfc8baaba5d04ee77397e04b1050cc7387',
170
+ address: '38XnPvu9PmonFU9WouPXUjYbW91wa5MerL',
171
+ type: 'scripthash',
172
+ },
173
+ },
174
+ {
175
+ value: 0,
176
+ n: 2,
177
+ scriptPubKey: {
178
+ asm: 'OP_RETURN aa21a9eddbd64864516e7552a53941b4a8f7ba9e99cc1b2d88e4439b540fe6b4480a9406',
179
+ hex: '6a24aa21a9eddbd64864516e7552a53941b4a8f7ba9e99cc1b2d88e4439b540fe6b4480a9406',
180
+ type: 'nulldata',
181
+ },
182
+ },
183
+ {
184
+ value: 0,
185
+ n: 3,
186
+ scriptPubKey: {
187
+ asm: 'OP_RETURN 434f52450164db24a662e20bbdf72d1cc6e973dbb2d12897d55997be5a09d05bb9bac27ec60419d0b373f32b20',
188
+ hex: '6a2d434f52450164db24a662e20bbdf72d1cc6e973dbb2d12897d55997be5a09d05bb9bac27ec60419d0b373f32b20',
189
+ type: 'nulldata',
190
+ },
191
+ },
192
+ {
193
+ value: 0,
194
+ n: 4,
195
+ scriptPubKey: {
196
+ asm: 'OP_RETURN 52534b424c4f434b3ababf0f7909b5f91252a7334ef8c609de03b9cb5ca4bf244753073625005c4f5b',
197
+ hex: '6a2952534b424c4f434b3ababf0f7909b5f91252a7334ef8c609de03b9cb5ca4bf244753073625005c4f5b',
198
+ type: 'nulldata',
199
+ },
200
+ },
201
+ ],
202
+ hex: '010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff5803fda40c1b4d696e656420627920416e74506f6f6c3832392400950094826269fabe6d6df667f6068b4d8de38361923b7e99ab382c799ddb269d072c6e42227ccaa0cc2810000000000000000000c940c02e000000000000ffffffff05220200000000000017a91442402a28dd61f2718a4b27ae72a4791d5bbdade7879dbea2260000000017a9144b09d828dfc8baaba5d04ee77397e04b1050cc73870000000000000000266a24aa21a9eddbd64864516e7552a53941b4a8f7ba9e99cc1b2d88e4439b540fe6b4480a940600000000000000002f6a2d434f52450164db24a662e20bbdf72d1cc6e973dbb2d12897d55997be5a09d05bb9bac27ec60419d0b373f32b2000000000000000002b6a2952534b424c4f434b3ababf0f7909b5f91252a7334ef8c609de03b9cb5ca4bf244753073625005c4f5b0120000000000000000000000000000000000000000000000000000000000000000000000000',
203
+ },
204
+ {
205
+ in_active_chain: true,
206
+ txid: 'e195327b50ff752ca190be64557863653cd23ee1f2d23e26c91477668e3c72db',
207
+ hash: 'feab3e692470993012b2b0d26952053c5fa020527d3510519cdd370f05b551ff',
208
+ version: 1,
209
+ size: 250,
210
+ vsize: 168,
211
+ weight: 670,
212
+ locktime: 0,
213
+ vin: [
214
+ {
215
+ txid: '54d0d3786b1129ebc72de85479f619ce2d901f82f36f4bf35c16f624853904d6',
216
+ vout: 0,
217
+ scriptSig: {
218
+ asm: '001400e729ba41dc5800d116cc91768fc6a84bccf288',
219
+ hex: '16001400e729ba41dc5800d116cc91768fc6a84bccf288',
220
+ },
221
+ txinwitness: [
222
+ '3045022100c0033e8b040aa5e1e9af37ffc1b88d49bcc8665df56e8f56198ca9b1aa78063a02207e30e2a8a095aa38aaa6668ca7d10a899040e664d90f6e80b05209dbea0d9bba01',
223
+ '0337f97c231757532ba27f0d74ab4e53643e04faf89648aef39ee9dc8519a2c5da',
224
+ ],
225
+ sequence: 0,
226
+ },
227
+ ],
228
+ vout: [
229
+ {
230
+ value: 0.04673623,
231
+ n: 0,
232
+ scriptPubKey: {
233
+ asm: 'OP_DUP OP_HASH160 b1a48738d27658291f8dce7b4f1df521e09b9be6 OP_EQUALVERIFY OP_CHECKSIG',
234
+ hex: '76a914b1a48738d27658291f8dce7b4f1df521e09b9be688ac',
235
+ address: '1HCHhaKYr2yUB6uE1XALfkS4zCFnjamEej',
236
+ type: 'pubkeyhash',
237
+ },
238
+ },
239
+ {
240
+ value: 0.06530878,
241
+ n: 1,
242
+ scriptPubKey: {
243
+ asm: 'OP_HASH160 b7c194c14e4356265ac967e05b93301f94055aa9 OP_EQUAL',
244
+ hex: 'a914b7c194c14e4356265ac967e05b93301f94055aa987',
245
+ address: '3JSdUu1ivm3rqMvuCTAdAj6Dc2hdVhHiEe',
246
+ type: 'scripthash',
247
+ },
248
+ },
249
+ ],
250
+ hex: '01000000000101d604398524f6165cf34b6ff3821f902dce19f67954e82dc7eb29116b78d3d054000000001716001400e729ba41dc5800d116cc91768fc6a84bccf288000000000257504700000000001976a914b1a48738d27658291f8dce7b4f1df521e09b9be688ac3ea763000000000017a914b7c194c14e4356265ac967e05b93301f94055aa98702483045022100c0033e8b040aa5e1e9af37ffc1b88d49bcc8665df56e8f56198ca9b1aa78063a02207e30e2a8a095aa38aaa6668ca7d10a899040e664d90f6e80b05209dbea0d9bba01210337f97c231757532ba27f0d74ab4e53643e04faf89648aef39ee9dc8519a2c5da00000000',
251
+ },
252
+ {
253
+ in_active_chain: true,
254
+ txid: 'ce3fbbf4ab5791894af026f1b27fab3bfeca06e3b4de0b72fa14fea1c4e883e9',
255
+ hash: '135e9b7616fecf8b5014046dbccf0937dcfebe2bb018c310c331721fc4548a80',
256
+ version: 1,
257
+ size: 234,
258
+ vsize: 153,
259
+ weight: 609,
260
+ locktime: 0,
261
+ vin: [
262
+ {
263
+ txid: 'e2a790e4109f72dc772f93dc3d983d374cd9c827236abb1cee5ef3a686382fdb',
264
+ vout: 1,
265
+ scriptSig: {
266
+ asm: '',
267
+ hex: '',
268
+ },
269
+ txinwitness: [
270
+ '304402201f8bd429e6978d6b1d552c0cc36d21fc239e0c20194b3ddcac48a3ce0ab8ca53022003a8a6539f06016f0d13ee9da34f7c380e2f0490febefdbc1948abe0c4e3492601',
271
+ '033f787556ff562f40db2389bb64070b62cf58116b08daebea296ccf0e0b292038',
272
+ ],
273
+ sequence: 4294967293,
274
+ },
275
+ ],
276
+ vout: [
277
+ {
278
+ value: 0.00016686,
279
+ n: 0,
280
+ scriptPubKey: {
281
+ asm: '1 524283a80853e8fdc2f302ed0c3ebbc19140be5dd8c3157e5114dc804e4a3478',
282
+ hex: '5120524283a80853e8fdc2f302ed0c3ebbc19140be5dd8c3157e5114dc804e4a3478',
283
+ address:
284
+ 'bc1p2fpg82qg2050mshnqtksc04mcxg5p0jamrp32lj3znwgqnj2x3uqna43ww',
285
+ type: 'witness_v1_taproot',
286
+ },
287
+ },
288
+ {
289
+ value: 0.07785308,
290
+ n: 1,
291
+ scriptPubKey: {
292
+ asm: '0 71bec09720c453acc3f86c0d77cd109465b92d78',
293
+ hex: '001471bec09720c453acc3f86c0d77cd109465b92d78',
294
+ address: 'bc1qwxlvp9eqc3f6eslcdsxh0ngsj3jmjttcndhh7p',
295
+ type: 'witness_v0_keyhash',
296
+ },
297
+ },
298
+ ],
299
+ hex: '01000000000101db2f3886a6f35eee1cbb6a2327c8d94c373d983ddc932f77dc729f10e490a7e20100000000fdffffff022e41000000000000225120524283a80853e8fdc2f302ed0c3ebbc19140be5dd8c3157e5114dc804e4a34785ccb76000000000016001471bec09720c453acc3f86c0d77cd109465b92d780247304402201f8bd429e6978d6b1d552c0cc36d21fc239e0c20194b3ddcac48a3ce0ab8ca53022003a8a6539f06016f0d13ee9da34f7c380e2f0490febefdbc1948abe0c4e349260121033f787556ff562f40db2389bb64070b62cf58116b08daebea296ccf0e0b29203800000000',
300
+ },
301
+ ],
302
+ },
303
+ error: null,
304
+ id: '19774cdc6bc663926590dc2fe7bfe77ba57a5343aaa16db5ffc377e95663fd4e',
305
+ };