@atomiqlabs/chain-solana 10.0.0-dev.3 → 11.0.0

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 (114) hide show
  1. package/LICENSE +201 -201
  2. package/dist/index.d.ts +29 -29
  3. package/dist/index.js +45 -45
  4. package/dist/solana/SolanaChainType.d.ts +10 -10
  5. package/dist/solana/SolanaChainType.js +2 -2
  6. package/dist/solana/SolanaChains.d.ts +20 -20
  7. package/dist/solana/SolanaChains.js +25 -25
  8. package/dist/solana/SolanaInitializer.d.ts +18 -18
  9. package/dist/solana/SolanaInitializer.js +63 -63
  10. package/dist/solana/btcrelay/SolanaBtcRelay.d.ts +228 -228
  11. package/dist/solana/btcrelay/SolanaBtcRelay.js +441 -441
  12. package/dist/solana/btcrelay/headers/SolanaBtcHeader.d.ts +29 -29
  13. package/dist/solana/btcrelay/headers/SolanaBtcHeader.js +34 -34
  14. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.d.ts +46 -46
  15. package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.js +78 -78
  16. package/dist/solana/btcrelay/program/programIdl.json +671 -671
  17. package/dist/solana/chain/SolanaAction.d.ts +26 -26
  18. package/dist/solana/chain/SolanaAction.js +86 -86
  19. package/dist/solana/chain/SolanaChainInterface.d.ts +58 -58
  20. package/dist/solana/chain/SolanaChainInterface.js +112 -112
  21. package/dist/solana/chain/SolanaModule.d.ts +14 -14
  22. package/dist/solana/chain/SolanaModule.js +13 -13
  23. package/dist/solana/chain/modules/SolanaAddresses.d.ts +8 -8
  24. package/dist/solana/chain/modules/SolanaAddresses.js +22 -22
  25. package/dist/solana/chain/modules/SolanaBlocks.d.ts +28 -28
  26. package/dist/solana/chain/modules/SolanaBlocks.js +72 -72
  27. package/dist/solana/chain/modules/SolanaEvents.d.ts +25 -25
  28. package/dist/solana/chain/modules/SolanaEvents.js +58 -58
  29. package/dist/solana/chain/modules/SolanaFees.d.ts +121 -121
  30. package/dist/solana/chain/modules/SolanaFees.js +379 -379
  31. package/dist/solana/chain/modules/SolanaSignatures.d.ts +23 -23
  32. package/dist/solana/chain/modules/SolanaSignatures.js +39 -39
  33. package/dist/solana/chain/modules/SolanaSlots.d.ts +31 -31
  34. package/dist/solana/chain/modules/SolanaSlots.js +68 -68
  35. package/dist/solana/chain/modules/SolanaTokens.d.ts +136 -136
  36. package/dist/solana/chain/modules/SolanaTokens.js +248 -248
  37. package/dist/solana/chain/modules/SolanaTransactions.d.ts +124 -124
  38. package/dist/solana/chain/modules/SolanaTransactions.js +332 -332
  39. package/dist/solana/events/SolanaChainEvents.d.ts +88 -88
  40. package/dist/solana/events/SolanaChainEvents.js +256 -256
  41. package/dist/solana/events/SolanaChainEventsBrowser.d.ts +85 -85
  42. package/dist/solana/events/SolanaChainEventsBrowser.js +194 -194
  43. package/dist/solana/program/SolanaProgramBase.d.ts +40 -40
  44. package/dist/solana/program/SolanaProgramBase.js +43 -43
  45. package/dist/solana/program/SolanaProgramModule.d.ts +8 -8
  46. package/dist/solana/program/SolanaProgramModule.js +11 -11
  47. package/dist/solana/program/modules/SolanaProgramEvents.d.ts +59 -59
  48. package/dist/solana/program/modules/SolanaProgramEvents.js +103 -103
  49. package/dist/solana/swaps/SolanaSwapData.d.ts +59 -59
  50. package/dist/solana/swaps/SolanaSwapData.js +267 -267
  51. package/dist/solana/swaps/SolanaSwapModule.d.ts +10 -10
  52. package/dist/solana/swaps/SolanaSwapModule.js +11 -11
  53. package/dist/solana/swaps/SolanaSwapProgram.d.ts +202 -202
  54. package/dist/solana/swaps/SolanaSwapProgram.js +470 -463
  55. package/dist/solana/swaps/SwapTypeEnum.d.ts +11 -11
  56. package/dist/solana/swaps/SwapTypeEnum.js +42 -42
  57. package/dist/solana/swaps/modules/SolanaDataAccount.d.ts +94 -94
  58. package/dist/solana/swaps/modules/SolanaDataAccount.js +231 -231
  59. package/dist/solana/swaps/modules/SolanaLpVault.d.ts +71 -71
  60. package/dist/solana/swaps/modules/SolanaLpVault.js +173 -173
  61. package/dist/solana/swaps/modules/SwapClaim.d.ts +129 -129
  62. package/dist/solana/swaps/modules/SwapClaim.js +291 -291
  63. package/dist/solana/swaps/modules/SwapInit.d.ts +217 -217
  64. package/dist/solana/swaps/modules/SwapInit.js +519 -519
  65. package/dist/solana/swaps/modules/SwapRefund.d.ts +82 -82
  66. package/dist/solana/swaps/modules/SwapRefund.js +252 -252
  67. package/dist/solana/swaps/programIdl.json +945 -945
  68. package/dist/solana/swaps/programTypes.d.ts +943 -943
  69. package/dist/solana/swaps/programTypes.js +945 -945
  70. package/dist/solana/wallet/SolanaKeypairWallet.d.ts +9 -9
  71. package/dist/solana/wallet/SolanaKeypairWallet.js +33 -33
  72. package/dist/solana/wallet/SolanaSigner.d.ts +10 -10
  73. package/dist/solana/wallet/SolanaSigner.js +16 -16
  74. package/dist/utils/Utils.d.ts +53 -53
  75. package/dist/utils/Utils.js +170 -170
  76. package/package.json +41 -41
  77. package/src/index.ts +36 -36
  78. package/src/solana/SolanaChainType.ts +25 -25
  79. package/src/solana/SolanaChains.ts +23 -23
  80. package/src/solana/SolanaInitializer.ts +102 -102
  81. package/src/solana/btcrelay/SolanaBtcRelay.ts +589 -588
  82. package/src/solana/btcrelay/headers/SolanaBtcHeader.ts +57 -57
  83. package/src/solana/btcrelay/headers/SolanaBtcStoredHeader.ts +102 -102
  84. package/src/solana/btcrelay/program/programIdl.json +670 -670
  85. package/src/solana/chain/SolanaAction.ts +108 -108
  86. package/src/solana/chain/SolanaChainInterface.ts +174 -174
  87. package/src/solana/chain/SolanaModule.ts +20 -20
  88. package/src/solana/chain/modules/SolanaAddresses.ts +20 -20
  89. package/src/solana/chain/modules/SolanaBlocks.ts +78 -78
  90. package/src/solana/chain/modules/SolanaEvents.ts +56 -56
  91. package/src/solana/chain/modules/SolanaFees.ts +450 -450
  92. package/src/solana/chain/modules/SolanaSignatures.ts +39 -39
  93. package/src/solana/chain/modules/SolanaSlots.ts +82 -82
  94. package/src/solana/chain/modules/SolanaTokens.ts +307 -307
  95. package/src/solana/chain/modules/SolanaTransactions.ts +370 -370
  96. package/src/solana/events/SolanaChainEvents.ts +299 -299
  97. package/src/solana/events/SolanaChainEventsBrowser.ts +256 -256
  98. package/src/solana/program/SolanaProgramBase.ts +79 -79
  99. package/src/solana/program/SolanaProgramModule.ts +15 -15
  100. package/src/solana/program/modules/SolanaProgramEvents.ts +140 -140
  101. package/src/solana/swaps/SolanaSwapData.ts +379 -379
  102. package/src/solana/swaps/SolanaSwapModule.ts +16 -16
  103. package/src/solana/swaps/SolanaSwapProgram.ts +697 -692
  104. package/src/solana/swaps/SwapTypeEnum.ts +29 -29
  105. package/src/solana/swaps/modules/SolanaDataAccount.ts +307 -307
  106. package/src/solana/swaps/modules/SolanaLpVault.ts +215 -215
  107. package/src/solana/swaps/modules/SwapClaim.ts +389 -389
  108. package/src/solana/swaps/modules/SwapInit.ts +663 -663
  109. package/src/solana/swaps/modules/SwapRefund.ts +312 -312
  110. package/src/solana/swaps/programIdl.json +944 -944
  111. package/src/solana/swaps/programTypes.ts +1885 -1885
  112. package/src/solana/wallet/SolanaKeypairWallet.ts +36 -36
  113. package/src/solana/wallet/SolanaSigner.ts +23 -23
  114. package/src/utils/Utils.ts +180 -180
@@ -1,671 +1,671 @@
1
- {
2
- "version": "0.1.0",
3
- "name": "btc_relay",
4
- "instructions": [
5
- {
6
- "name": "initialize",
7
- "accounts": [
8
- {
9
- "name": "signer",
10
- "isMut": true,
11
- "isSigner": true
12
- },
13
- {
14
- "name": "mainState",
15
- "isMut": true,
16
- "isSigner": false
17
- },
18
- {
19
- "name": "headerTopic",
20
- "isMut": false,
21
- "isSigner": false
22
- },
23
- {
24
- "name": "systemProgram",
25
- "isMut": false,
26
- "isSigner": false
27
- }
28
- ],
29
- "args": [
30
- {
31
- "name": "data",
32
- "type": {
33
- "defined": "BlockHeader"
34
- }
35
- },
36
- {
37
- "name": "blockHeight",
38
- "type": "u32"
39
- },
40
- {
41
- "name": "chainWork",
42
- "type": {
43
- "array": [
44
- "u8",
45
- 32
46
- ]
47
- }
48
- },
49
- {
50
- "name": "lastDiffAdjustment",
51
- "type": "u32"
52
- },
53
- {
54
- "name": "prevBlockTimestamps",
55
- "type": {
56
- "array": [
57
- "u32",
58
- 10
59
- ]
60
- }
61
- }
62
- ]
63
- },
64
- {
65
- "name": "submitBlockHeaders",
66
- "accounts": [
67
- {
68
- "name": "signer",
69
- "isMut": true,
70
- "isSigner": true
71
- },
72
- {
73
- "name": "mainState",
74
- "isMut": true,
75
- "isSigner": false
76
- }
77
- ],
78
- "args": [
79
- {
80
- "name": "data",
81
- "type": {
82
- "vec": {
83
- "defined": "BlockHeader"
84
- }
85
- }
86
- },
87
- {
88
- "name": "commitedHeader",
89
- "type": {
90
- "defined": "CommittedBlockHeader"
91
- }
92
- }
93
- ]
94
- },
95
- {
96
- "name": "submitShortForkHeaders",
97
- "accounts": [
98
- {
99
- "name": "signer",
100
- "isMut": true,
101
- "isSigner": true
102
- },
103
- {
104
- "name": "mainState",
105
- "isMut": true,
106
- "isSigner": false
107
- }
108
- ],
109
- "args": [
110
- {
111
- "name": "data",
112
- "type": {
113
- "vec": {
114
- "defined": "BlockHeader"
115
- }
116
- }
117
- },
118
- {
119
- "name": "commitedHeader",
120
- "type": {
121
- "defined": "CommittedBlockHeader"
122
- }
123
- }
124
- ]
125
- },
126
- {
127
- "name": "submitForkHeaders",
128
- "accounts": [
129
- {
130
- "name": "signer",
131
- "isMut": true,
132
- "isSigner": true
133
- },
134
- {
135
- "name": "mainState",
136
- "isMut": true,
137
- "isSigner": false
138
- },
139
- {
140
- "name": "forkState",
141
- "isMut": true,
142
- "isSigner": false
143
- },
144
- {
145
- "name": "systemProgram",
146
- "isMut": false,
147
- "isSigner": false
148
- }
149
- ],
150
- "args": [
151
- {
152
- "name": "data",
153
- "type": {
154
- "vec": {
155
- "defined": "BlockHeader"
156
- }
157
- }
158
- },
159
- {
160
- "name": "commitedHeader",
161
- "type": {
162
- "defined": "CommittedBlockHeader"
163
- }
164
- },
165
- {
166
- "name": "forkId",
167
- "type": "u64"
168
- },
169
- {
170
- "name": "init",
171
- "type": "bool"
172
- }
173
- ]
174
- },
175
- {
176
- "name": "closeForkAccount",
177
- "accounts": [
178
- {
179
- "name": "signer",
180
- "isMut": true,
181
- "isSigner": true
182
- },
183
- {
184
- "name": "forkState",
185
- "isMut": true,
186
- "isSigner": false
187
- },
188
- {
189
- "name": "systemProgram",
190
- "isMut": false,
191
- "isSigner": false
192
- }
193
- ],
194
- "args": [
195
- {
196
- "name": "forkId",
197
- "type": "u64"
198
- }
199
- ]
200
- },
201
- {
202
- "name": "verifyTransaction",
203
- "accounts": [
204
- {
205
- "name": "signer",
206
- "isMut": true,
207
- "isSigner": true
208
- },
209
- {
210
- "name": "mainState",
211
- "isMut": false,
212
- "isSigner": false
213
- }
214
- ],
215
- "args": [
216
- {
217
- "name": "reversedTxid",
218
- "type": {
219
- "array": [
220
- "u8",
221
- 32
222
- ]
223
- }
224
- },
225
- {
226
- "name": "confirmations",
227
- "type": "u32"
228
- },
229
- {
230
- "name": "txIndex",
231
- "type": "u32"
232
- },
233
- {
234
- "name": "reversedMerkleProof",
235
- "type": {
236
- "vec": {
237
- "array": [
238
- "u8",
239
- 32
240
- ]
241
- }
242
- }
243
- },
244
- {
245
- "name": "commitedHeader",
246
- "type": {
247
- "defined": "CommittedBlockHeader"
248
- }
249
- }
250
- ]
251
- },
252
- {
253
- "name": "blockHeight",
254
- "accounts": [
255
- {
256
- "name": "signer",
257
- "isMut": true,
258
- "isSigner": true
259
- },
260
- {
261
- "name": "mainState",
262
- "isMut": false,
263
- "isSigner": false
264
- }
265
- ],
266
- "args": [
267
- {
268
- "name": "value",
269
- "type": "u32"
270
- },
271
- {
272
- "name": "operation",
273
- "type": "u32"
274
- }
275
- ]
276
- }
277
- ],
278
- "accounts": [
279
- {
280
- "name": "MainState",
281
- "type": {
282
- "kind": "struct",
283
- "fields": [
284
- {
285
- "name": "startHeight",
286
- "type": "u32"
287
- },
288
- {
289
- "name": "lastDiffAdjustment",
290
- "type": "u32"
291
- },
292
- {
293
- "name": "blockHeight",
294
- "type": "u32"
295
- },
296
- {
297
- "name": "totalBlocks",
298
- "type": "u32"
299
- },
300
- {
301
- "name": "forkCounter",
302
- "type": "u64"
303
- },
304
- {
305
- "name": "tipCommitHash",
306
- "type": {
307
- "array": [
308
- "u8",
309
- 32
310
- ]
311
- }
312
- },
313
- {
314
- "name": "tipBlockHash",
315
- "type": {
316
- "array": [
317
- "u8",
318
- 32
319
- ]
320
- }
321
- },
322
- {
323
- "name": "chainWork",
324
- "type": {
325
- "array": [
326
- "u8",
327
- 32
328
- ]
329
- }
330
- },
331
- {
332
- "name": "blockCommitments",
333
- "type": {
334
- "array": [
335
- {
336
- "array": [
337
- "u8",
338
- 32
339
- ]
340
- },
341
- 250
342
- ]
343
- }
344
- }
345
- ]
346
- }
347
- },
348
- {
349
- "name": "ForkState",
350
- "type": {
351
- "kind": "struct",
352
- "fields": [
353
- {
354
- "name": "initialized",
355
- "type": "u32"
356
- },
357
- {
358
- "name": "startHeight",
359
- "type": "u32"
360
- },
361
- {
362
- "name": "length",
363
- "type": "u32"
364
- },
365
- {
366
- "name": "tipCommitHash",
367
- "type": {
368
- "array": [
369
- "u8",
370
- 32
371
- ]
372
- }
373
- },
374
- {
375
- "name": "tipBlockHash",
376
- "type": {
377
- "array": [
378
- "u8",
379
- 32
380
- ]
381
- }
382
- },
383
- {
384
- "name": "blockCommitments",
385
- "type": {
386
- "array": [
387
- {
388
- "array": [
389
- "u8",
390
- 32
391
- ]
392
- },
393
- 250
394
- ]
395
- }
396
- }
397
- ]
398
- }
399
- }
400
- ],
401
- "types": [
402
- {
403
- "name": "BlockHeader",
404
- "type": {
405
- "kind": "struct",
406
- "fields": [
407
- {
408
- "name": "version",
409
- "type": "u32"
410
- },
411
- {
412
- "name": "reversedPrevBlockhash",
413
- "type": {
414
- "array": [
415
- "u8",
416
- 32
417
- ]
418
- }
419
- },
420
- {
421
- "name": "merkleRoot",
422
- "type": {
423
- "array": [
424
- "u8",
425
- 32
426
- ]
427
- }
428
- },
429
- {
430
- "name": "timestamp",
431
- "type": "u32"
432
- },
433
- {
434
- "name": "nbits",
435
- "type": "u32"
436
- },
437
- {
438
- "name": "nonce",
439
- "type": "u32"
440
- }
441
- ]
442
- }
443
- },
444
- {
445
- "name": "CommittedBlockHeader",
446
- "type": {
447
- "kind": "struct",
448
- "fields": [
449
- {
450
- "name": "chainWork",
451
- "type": {
452
- "array": [
453
- "u8",
454
- 32
455
- ]
456
- }
457
- },
458
- {
459
- "name": "header",
460
- "type": {
461
- "defined": "BlockHeader"
462
- }
463
- },
464
- {
465
- "name": "lastDiffAdjustment",
466
- "type": "u32"
467
- },
468
- {
469
- "name": "blockheight",
470
- "type": "u32"
471
- },
472
- {
473
- "name": "prevBlockTimestamps",
474
- "type": {
475
- "array": [
476
- "u32",
477
- 10
478
- ]
479
- }
480
- }
481
- ]
482
- }
483
- }
484
- ],
485
- "events": [
486
- {
487
- "name": "StoreHeader",
488
- "fields": [
489
- {
490
- "name": "blockHash",
491
- "type": {
492
- "array": [
493
- "u8",
494
- 32
495
- ]
496
- },
497
- "index": false
498
- },
499
- {
500
- "name": "commitHash",
501
- "type": {
502
- "array": [
503
- "u8",
504
- 32
505
- ]
506
- },
507
- "index": false
508
- },
509
- {
510
- "name": "header",
511
- "type": {
512
- "defined": "CommittedBlockHeader"
513
- },
514
- "index": false
515
- }
516
- ]
517
- },
518
- {
519
- "name": "StoreFork",
520
- "fields": [
521
- {
522
- "name": "forkId",
523
- "type": "u64",
524
- "index": false
525
- },
526
- {
527
- "name": "blockHash",
528
- "type": {
529
- "array": [
530
- "u8",
531
- 32
532
- ]
533
- },
534
- "index": false
535
- },
536
- {
537
- "name": "commitHash",
538
- "type": {
539
- "array": [
540
- "u8",
541
- 32
542
- ]
543
- },
544
- "index": false
545
- },
546
- {
547
- "name": "header",
548
- "type": {
549
- "defined": "CommittedBlockHeader"
550
- },
551
- "index": false
552
- }
553
- ]
554
- },
555
- {
556
- "name": "ChainReorg",
557
- "fields": [
558
- {
559
- "name": "forkId",
560
- "type": "u64",
561
- "index": false
562
- },
563
- {
564
- "name": "startHeight",
565
- "type": "u32",
566
- "index": false
567
- },
568
- {
569
- "name": "tipBlockHash",
570
- "type": {
571
- "array": [
572
- "u8",
573
- 32
574
- ]
575
- },
576
- "index": false
577
- },
578
- {
579
- "name": "tipCommitHash",
580
- "type": {
581
- "array": [
582
- "u8",
583
- 32
584
- ]
585
- },
586
- "index": false
587
- }
588
- ]
589
- }
590
- ],
591
- "errors": [
592
- {
593
- "code": 6000,
594
- "name": "PrevBlockCommitment",
595
- "msg": "Invalid previous block commitment."
596
- },
597
- {
598
- "code": 6001,
599
- "name": "PrevBlock",
600
- "msg": "Invalid previous block."
601
- },
602
- {
603
- "code": 6002,
604
- "name": "ErrDiffTarget",
605
- "msg": "Invalid difficulty target."
606
- },
607
- {
608
- "code": 6003,
609
- "name": "ErrPowToolow",
610
- "msg": "PoW too low."
611
- },
612
- {
613
- "code": 6004,
614
- "name": "ErrTimestampToolow",
615
- "msg": "Timestamp too low."
616
- },
617
- {
618
- "code": 6005,
619
- "name": "ErrTimestampTooHigh",
620
- "msg": "Timestamp too high."
621
- },
622
- {
623
- "code": 6006,
624
- "name": "InvalidHeaderTopic",
625
- "msg": "Invalid header topic specified in accounts."
626
- },
627
- {
628
- "code": 6007,
629
- "name": "NoHeaders",
630
- "msg": "No headers supplied"
631
- },
632
- {
633
- "code": 6008,
634
- "name": "ForkTooShort",
635
- "msg": "Fork too short to become main chains"
636
- },
637
- {
638
- "code": 6009,
639
- "name": "ErrInit",
640
- "msg": "Fork initialization error"
641
- },
642
- {
643
- "code": 6010,
644
- "name": "BlockConfirmations",
645
- "msg": "Block doesn't have required number of confirmations"
646
- },
647
- {
648
- "code": 6011,
649
- "name": "MerkleRoot",
650
- "msg": "Invalid merkle root"
651
- },
652
- {
653
- "code": 6012,
654
- "name": "InvalidBlockheight",
655
- "msg": "Blockheight doesn't match"
656
- },
657
- {
658
- "code": 6013,
659
- "name": "InvalidForkId",
660
- "msg": "Fork has invalid ID"
661
- },
662
- {
663
- "code": 6014,
664
- "name": "InvalidRemainingAccounts",
665
- "msg": "Didn't pass enough remaining accounts!"
666
- }
667
- ],
668
- "metadata": {
669
- "address": "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
670
- }
1
+ {
2
+ "version": "0.1.0",
3
+ "name": "btc_relay",
4
+ "instructions": [
5
+ {
6
+ "name": "initialize",
7
+ "accounts": [
8
+ {
9
+ "name": "signer",
10
+ "isMut": true,
11
+ "isSigner": true
12
+ },
13
+ {
14
+ "name": "mainState",
15
+ "isMut": true,
16
+ "isSigner": false
17
+ },
18
+ {
19
+ "name": "headerTopic",
20
+ "isMut": false,
21
+ "isSigner": false
22
+ },
23
+ {
24
+ "name": "systemProgram",
25
+ "isMut": false,
26
+ "isSigner": false
27
+ }
28
+ ],
29
+ "args": [
30
+ {
31
+ "name": "data",
32
+ "type": {
33
+ "defined": "BlockHeader"
34
+ }
35
+ },
36
+ {
37
+ "name": "blockHeight",
38
+ "type": "u32"
39
+ },
40
+ {
41
+ "name": "chainWork",
42
+ "type": {
43
+ "array": [
44
+ "u8",
45
+ 32
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "name": "lastDiffAdjustment",
51
+ "type": "u32"
52
+ },
53
+ {
54
+ "name": "prevBlockTimestamps",
55
+ "type": {
56
+ "array": [
57
+ "u32",
58
+ 10
59
+ ]
60
+ }
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "name": "submitBlockHeaders",
66
+ "accounts": [
67
+ {
68
+ "name": "signer",
69
+ "isMut": true,
70
+ "isSigner": true
71
+ },
72
+ {
73
+ "name": "mainState",
74
+ "isMut": true,
75
+ "isSigner": false
76
+ }
77
+ ],
78
+ "args": [
79
+ {
80
+ "name": "data",
81
+ "type": {
82
+ "vec": {
83
+ "defined": "BlockHeader"
84
+ }
85
+ }
86
+ },
87
+ {
88
+ "name": "commitedHeader",
89
+ "type": {
90
+ "defined": "CommittedBlockHeader"
91
+ }
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "name": "submitShortForkHeaders",
97
+ "accounts": [
98
+ {
99
+ "name": "signer",
100
+ "isMut": true,
101
+ "isSigner": true
102
+ },
103
+ {
104
+ "name": "mainState",
105
+ "isMut": true,
106
+ "isSigner": false
107
+ }
108
+ ],
109
+ "args": [
110
+ {
111
+ "name": "data",
112
+ "type": {
113
+ "vec": {
114
+ "defined": "BlockHeader"
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "name": "commitedHeader",
120
+ "type": {
121
+ "defined": "CommittedBlockHeader"
122
+ }
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "name": "submitForkHeaders",
128
+ "accounts": [
129
+ {
130
+ "name": "signer",
131
+ "isMut": true,
132
+ "isSigner": true
133
+ },
134
+ {
135
+ "name": "mainState",
136
+ "isMut": true,
137
+ "isSigner": false
138
+ },
139
+ {
140
+ "name": "forkState",
141
+ "isMut": true,
142
+ "isSigner": false
143
+ },
144
+ {
145
+ "name": "systemProgram",
146
+ "isMut": false,
147
+ "isSigner": false
148
+ }
149
+ ],
150
+ "args": [
151
+ {
152
+ "name": "data",
153
+ "type": {
154
+ "vec": {
155
+ "defined": "BlockHeader"
156
+ }
157
+ }
158
+ },
159
+ {
160
+ "name": "commitedHeader",
161
+ "type": {
162
+ "defined": "CommittedBlockHeader"
163
+ }
164
+ },
165
+ {
166
+ "name": "forkId",
167
+ "type": "u64"
168
+ },
169
+ {
170
+ "name": "init",
171
+ "type": "bool"
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "name": "closeForkAccount",
177
+ "accounts": [
178
+ {
179
+ "name": "signer",
180
+ "isMut": true,
181
+ "isSigner": true
182
+ },
183
+ {
184
+ "name": "forkState",
185
+ "isMut": true,
186
+ "isSigner": false
187
+ },
188
+ {
189
+ "name": "systemProgram",
190
+ "isMut": false,
191
+ "isSigner": false
192
+ }
193
+ ],
194
+ "args": [
195
+ {
196
+ "name": "forkId",
197
+ "type": "u64"
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "name": "verifyTransaction",
203
+ "accounts": [
204
+ {
205
+ "name": "signer",
206
+ "isMut": true,
207
+ "isSigner": true
208
+ },
209
+ {
210
+ "name": "mainState",
211
+ "isMut": false,
212
+ "isSigner": false
213
+ }
214
+ ],
215
+ "args": [
216
+ {
217
+ "name": "reversedTxid",
218
+ "type": {
219
+ "array": [
220
+ "u8",
221
+ 32
222
+ ]
223
+ }
224
+ },
225
+ {
226
+ "name": "confirmations",
227
+ "type": "u32"
228
+ },
229
+ {
230
+ "name": "txIndex",
231
+ "type": "u32"
232
+ },
233
+ {
234
+ "name": "reversedMerkleProof",
235
+ "type": {
236
+ "vec": {
237
+ "array": [
238
+ "u8",
239
+ 32
240
+ ]
241
+ }
242
+ }
243
+ },
244
+ {
245
+ "name": "commitedHeader",
246
+ "type": {
247
+ "defined": "CommittedBlockHeader"
248
+ }
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "name": "blockHeight",
254
+ "accounts": [
255
+ {
256
+ "name": "signer",
257
+ "isMut": true,
258
+ "isSigner": true
259
+ },
260
+ {
261
+ "name": "mainState",
262
+ "isMut": false,
263
+ "isSigner": false
264
+ }
265
+ ],
266
+ "args": [
267
+ {
268
+ "name": "value",
269
+ "type": "u32"
270
+ },
271
+ {
272
+ "name": "operation",
273
+ "type": "u32"
274
+ }
275
+ ]
276
+ }
277
+ ],
278
+ "accounts": [
279
+ {
280
+ "name": "MainState",
281
+ "type": {
282
+ "kind": "struct",
283
+ "fields": [
284
+ {
285
+ "name": "startHeight",
286
+ "type": "u32"
287
+ },
288
+ {
289
+ "name": "lastDiffAdjustment",
290
+ "type": "u32"
291
+ },
292
+ {
293
+ "name": "blockHeight",
294
+ "type": "u32"
295
+ },
296
+ {
297
+ "name": "totalBlocks",
298
+ "type": "u32"
299
+ },
300
+ {
301
+ "name": "forkCounter",
302
+ "type": "u64"
303
+ },
304
+ {
305
+ "name": "tipCommitHash",
306
+ "type": {
307
+ "array": [
308
+ "u8",
309
+ 32
310
+ ]
311
+ }
312
+ },
313
+ {
314
+ "name": "tipBlockHash",
315
+ "type": {
316
+ "array": [
317
+ "u8",
318
+ 32
319
+ ]
320
+ }
321
+ },
322
+ {
323
+ "name": "chainWork",
324
+ "type": {
325
+ "array": [
326
+ "u8",
327
+ 32
328
+ ]
329
+ }
330
+ },
331
+ {
332
+ "name": "blockCommitments",
333
+ "type": {
334
+ "array": [
335
+ {
336
+ "array": [
337
+ "u8",
338
+ 32
339
+ ]
340
+ },
341
+ 250
342
+ ]
343
+ }
344
+ }
345
+ ]
346
+ }
347
+ },
348
+ {
349
+ "name": "ForkState",
350
+ "type": {
351
+ "kind": "struct",
352
+ "fields": [
353
+ {
354
+ "name": "initialized",
355
+ "type": "u32"
356
+ },
357
+ {
358
+ "name": "startHeight",
359
+ "type": "u32"
360
+ },
361
+ {
362
+ "name": "length",
363
+ "type": "u32"
364
+ },
365
+ {
366
+ "name": "tipCommitHash",
367
+ "type": {
368
+ "array": [
369
+ "u8",
370
+ 32
371
+ ]
372
+ }
373
+ },
374
+ {
375
+ "name": "tipBlockHash",
376
+ "type": {
377
+ "array": [
378
+ "u8",
379
+ 32
380
+ ]
381
+ }
382
+ },
383
+ {
384
+ "name": "blockCommitments",
385
+ "type": {
386
+ "array": [
387
+ {
388
+ "array": [
389
+ "u8",
390
+ 32
391
+ ]
392
+ },
393
+ 250
394
+ ]
395
+ }
396
+ }
397
+ ]
398
+ }
399
+ }
400
+ ],
401
+ "types": [
402
+ {
403
+ "name": "BlockHeader",
404
+ "type": {
405
+ "kind": "struct",
406
+ "fields": [
407
+ {
408
+ "name": "version",
409
+ "type": "u32"
410
+ },
411
+ {
412
+ "name": "reversedPrevBlockhash",
413
+ "type": {
414
+ "array": [
415
+ "u8",
416
+ 32
417
+ ]
418
+ }
419
+ },
420
+ {
421
+ "name": "merkleRoot",
422
+ "type": {
423
+ "array": [
424
+ "u8",
425
+ 32
426
+ ]
427
+ }
428
+ },
429
+ {
430
+ "name": "timestamp",
431
+ "type": "u32"
432
+ },
433
+ {
434
+ "name": "nbits",
435
+ "type": "u32"
436
+ },
437
+ {
438
+ "name": "nonce",
439
+ "type": "u32"
440
+ }
441
+ ]
442
+ }
443
+ },
444
+ {
445
+ "name": "CommittedBlockHeader",
446
+ "type": {
447
+ "kind": "struct",
448
+ "fields": [
449
+ {
450
+ "name": "chainWork",
451
+ "type": {
452
+ "array": [
453
+ "u8",
454
+ 32
455
+ ]
456
+ }
457
+ },
458
+ {
459
+ "name": "header",
460
+ "type": {
461
+ "defined": "BlockHeader"
462
+ }
463
+ },
464
+ {
465
+ "name": "lastDiffAdjustment",
466
+ "type": "u32"
467
+ },
468
+ {
469
+ "name": "blockheight",
470
+ "type": "u32"
471
+ },
472
+ {
473
+ "name": "prevBlockTimestamps",
474
+ "type": {
475
+ "array": [
476
+ "u32",
477
+ 10
478
+ ]
479
+ }
480
+ }
481
+ ]
482
+ }
483
+ }
484
+ ],
485
+ "events": [
486
+ {
487
+ "name": "StoreHeader",
488
+ "fields": [
489
+ {
490
+ "name": "blockHash",
491
+ "type": {
492
+ "array": [
493
+ "u8",
494
+ 32
495
+ ]
496
+ },
497
+ "index": false
498
+ },
499
+ {
500
+ "name": "commitHash",
501
+ "type": {
502
+ "array": [
503
+ "u8",
504
+ 32
505
+ ]
506
+ },
507
+ "index": false
508
+ },
509
+ {
510
+ "name": "header",
511
+ "type": {
512
+ "defined": "CommittedBlockHeader"
513
+ },
514
+ "index": false
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "name": "StoreFork",
520
+ "fields": [
521
+ {
522
+ "name": "forkId",
523
+ "type": "u64",
524
+ "index": false
525
+ },
526
+ {
527
+ "name": "blockHash",
528
+ "type": {
529
+ "array": [
530
+ "u8",
531
+ 32
532
+ ]
533
+ },
534
+ "index": false
535
+ },
536
+ {
537
+ "name": "commitHash",
538
+ "type": {
539
+ "array": [
540
+ "u8",
541
+ 32
542
+ ]
543
+ },
544
+ "index": false
545
+ },
546
+ {
547
+ "name": "header",
548
+ "type": {
549
+ "defined": "CommittedBlockHeader"
550
+ },
551
+ "index": false
552
+ }
553
+ ]
554
+ },
555
+ {
556
+ "name": "ChainReorg",
557
+ "fields": [
558
+ {
559
+ "name": "forkId",
560
+ "type": "u64",
561
+ "index": false
562
+ },
563
+ {
564
+ "name": "startHeight",
565
+ "type": "u32",
566
+ "index": false
567
+ },
568
+ {
569
+ "name": "tipBlockHash",
570
+ "type": {
571
+ "array": [
572
+ "u8",
573
+ 32
574
+ ]
575
+ },
576
+ "index": false
577
+ },
578
+ {
579
+ "name": "tipCommitHash",
580
+ "type": {
581
+ "array": [
582
+ "u8",
583
+ 32
584
+ ]
585
+ },
586
+ "index": false
587
+ }
588
+ ]
589
+ }
590
+ ],
591
+ "errors": [
592
+ {
593
+ "code": 6000,
594
+ "name": "PrevBlockCommitment",
595
+ "msg": "Invalid previous block commitment."
596
+ },
597
+ {
598
+ "code": 6001,
599
+ "name": "PrevBlock",
600
+ "msg": "Invalid previous block."
601
+ },
602
+ {
603
+ "code": 6002,
604
+ "name": "ErrDiffTarget",
605
+ "msg": "Invalid difficulty target."
606
+ },
607
+ {
608
+ "code": 6003,
609
+ "name": "ErrPowToolow",
610
+ "msg": "PoW too low."
611
+ },
612
+ {
613
+ "code": 6004,
614
+ "name": "ErrTimestampToolow",
615
+ "msg": "Timestamp too low."
616
+ },
617
+ {
618
+ "code": 6005,
619
+ "name": "ErrTimestampTooHigh",
620
+ "msg": "Timestamp too high."
621
+ },
622
+ {
623
+ "code": 6006,
624
+ "name": "InvalidHeaderTopic",
625
+ "msg": "Invalid header topic specified in accounts."
626
+ },
627
+ {
628
+ "code": 6007,
629
+ "name": "NoHeaders",
630
+ "msg": "No headers supplied"
631
+ },
632
+ {
633
+ "code": 6008,
634
+ "name": "ForkTooShort",
635
+ "msg": "Fork too short to become main chains"
636
+ },
637
+ {
638
+ "code": 6009,
639
+ "name": "ErrInit",
640
+ "msg": "Fork initialization error"
641
+ },
642
+ {
643
+ "code": 6010,
644
+ "name": "BlockConfirmations",
645
+ "msg": "Block doesn't have required number of confirmations"
646
+ },
647
+ {
648
+ "code": 6011,
649
+ "name": "MerkleRoot",
650
+ "msg": "Invalid merkle root"
651
+ },
652
+ {
653
+ "code": 6012,
654
+ "name": "InvalidBlockheight",
655
+ "msg": "Blockheight doesn't match"
656
+ },
657
+ {
658
+ "code": 6013,
659
+ "name": "InvalidForkId",
660
+ "msg": "Fork has invalid ID"
661
+ },
662
+ {
663
+ "code": 6014,
664
+ "name": "InvalidRemainingAccounts",
665
+ "msg": "Didn't pass enough remaining accounts!"
666
+ }
667
+ ],
668
+ "metadata": {
669
+ "address": "3KHSHFpEK6bsjg3bqcxQ9qssJYtRCMi2S9TYVe4q6CQc"
670
+ }
671
671
  }