scale.rb 0.2.16 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Cargo.lock +8 -4
  4. data/Cargo.toml +2 -3
  5. data/Dockerfile +4 -1
  6. data/Gemfile.lock +43 -35
  7. data/README.md +44 -1
  8. data/Rakefile +6 -0
  9. data/exe/scale +39 -79
  10. data/lib/address.rb +3 -0
  11. data/lib/common.rb +163 -0
  12. data/lib/helper.rb +25 -8
  13. data/lib/metadata/metadata.rb +28 -18
  14. data/lib/metadata/metadata_v0.rb +24 -20
  15. data/lib/metadata/metadata_v1.rb +13 -9
  16. data/lib/metadata/metadata_v10.rb +2 -2
  17. data/lib/metadata/metadata_v11.rb +2 -2
  18. data/lib/metadata/metadata_v12.rb +9 -8
  19. data/lib/metadata/metadata_v13.rb +161 -0
  20. data/lib/metadata/metadata_v2.rb +2 -2
  21. data/lib/metadata/metadata_v3.rb +2 -2
  22. data/lib/metadata/metadata_v4.rb +21 -11
  23. data/lib/metadata/metadata_v5.rb +21 -11
  24. data/lib/metadata/metadata_v6.rb +9 -9
  25. data/lib/metadata/metadata_v7.rb +26 -15
  26. data/lib/metadata/metadata_v8.rb +9 -9
  27. data/lib/metadata/metadata_v9.rb +2 -2
  28. data/lib/scale.rb +41 -341
  29. data/lib/scale/base.rb +177 -95
  30. data/lib/scale/block.rb +17 -13
  31. data/lib/scale/trie.rb +1 -1
  32. data/lib/scale/types.rb +139 -40
  33. data/lib/scale/version.rb +1 -1
  34. data/lib/scale_bytes.rb +63 -0
  35. data/lib/substrate_client.rb +31 -17
  36. data/lib/type_builder.rb +279 -0
  37. data/lib/type_registry.rb +91 -0
  38. data/lib/type_registry/crab.json +676 -595
  39. data/lib/type_registry/darwinia.json +730 -554
  40. data/lib/type_registry/default.json +3 -2
  41. data/lib/type_registry/pangolin.json +771 -0
  42. data/scale.gemspec +7 -5
  43. data/scripts/mmr_root_to_sign.rb +10 -0
  44. data/src/lib.rs +80 -25
  45. metadata +59 -30
  46. data/lib/type_registry/edgeware.json +0 -124
  47. data/lib/type_registry/joystream.json +0 -49
  48. data/lib/type_registry/kulupu.json +0 -15
  49. data/lib/type_registry/plasm.json +0 -89
  50. data/lib/type_registry/robonomics.json +0 -39
  51. data/lib/type_registry/westend.json +0 -63
  52. data/src/storage_key.rs +0 -41
@@ -1,148 +1,606 @@
1
1
  {
2
- "types": {
3
- "Address": "AccountId",
4
- "LookupSource": "AccountId",
5
- "BalanceLock": {
6
- "type": "struct",
7
- "type_mapping": [
8
- [
9
- "id",
10
- "LockIdentifier"
11
- ],
12
- [
13
- "lock_for",
14
- "LockFor"
15
- ],
16
- [
17
- "lock_reasons",
18
- "LockReasons"
19
- ]
20
- ]
21
- },
22
- "LockFor": {
23
- "type": "enum",
24
- "type_mapping": [
25
- [
26
- "Common",
27
- "Common"
28
- ],
29
- [
30
- "Staking",
31
- "StakingLock"
32
- ]
33
- ]
34
- },
35
- "Common": {
36
- "type": "struct",
37
- "type_mapping": [
38
- [
39
- "amount",
40
- "Balance"
41
- ]
42
- ]
2
+ "versioning": [
3
+ {
4
+ "runtime_range": [
5
+ 35,
6
+ 41
7
+ ],
8
+ "types": {
9
+ "ScheduledAuthoritiesChangeT": {
10
+ "type": "struct",
11
+ "type_mapping": [
12
+ [
13
+ "next_authorities",
14
+ "Vec<RelayAuthorityT>"
15
+ ],
16
+ [
17
+ "deadline",
18
+ "BlockNumber"
19
+ ]
20
+ ]
21
+ }
22
+ }
43
23
  },
44
- "StakingLock": {
45
- "type": "struct",
46
- "type_mapping": [
47
- [
48
- "staking_amount",
49
- "Balance"
50
- ],
51
- [
52
- "unbondings",
53
- "Vec<Unbonding>"
54
- ]
55
- ]
24
+ {
25
+ "runtime_range": [
26
+ 34,
27
+ 41
28
+ ],
29
+ "types": {
30
+ "OpCode": "[u8; 4]",
31
+ "Term": "u32"
32
+ }
56
33
  },
57
- "LockReasons": {
58
- "type": "enum",
59
- "type_mapping": [
60
- [
61
- "Fee",
62
- "Null"
63
- ],
64
- [
65
- "Misc",
66
- "Null"
67
- ],
68
- [
69
- "All",
70
- "Null"
71
- ]
72
- ]
34
+ {
35
+ "runtime_range": [
36
+ 34,
37
+ 34
38
+ ],
39
+ "types": {
40
+ "ScheduledAuthoritiesChange": {
41
+ "type": "struct",
42
+ "type_mapping": [
43
+ [
44
+ "next_authorities",
45
+ "Vec<RelayAuthorityT>"
46
+ ],
47
+ [
48
+ "deadline",
49
+ "BlockNumber"
50
+ ]
51
+ ]
52
+ }
53
+ }
73
54
  },
74
- "Unbonding": {
75
- "type": "struct",
76
- "type_mapping": [
77
- [
78
- "amount",
79
- "Balance"
80
- ],
81
- [
82
- "until",
83
- "BlockNumber"
84
- ]
85
- ]
55
+ {
56
+ "runtime_range": [
57
+ 20,
58
+ 28
59
+ ],
60
+ "types": {
61
+ "MerkleMountainRangeRootLog": {
62
+ "type": "struct",
63
+ "type_mapping": [
64
+ [
65
+ "prefix",
66
+ "[u8; 4]"
67
+ ],
68
+ [
69
+ "mmr_root",
70
+ "Hash"
71
+ ]
72
+ ]
73
+ }
74
+ }
86
75
  },
87
- "AccountData": {
88
- "type": "struct",
89
- "type_mapping": [
90
- [
91
- "free",
92
- "Balance"
93
- ],
94
- [
95
- "reserved",
96
- "Balance"
97
- ],
98
- [
99
- "free_kton",
100
- "Balance"
101
- ],
102
- [
103
- "reserved_kton",
104
- "Balance"
105
- ]
106
- ]
76
+ {
77
+ "runtime_range": [
78
+ 29,
79
+ 41
80
+ ],
81
+ "types": {
82
+ "EcdsaMessage": "[u8; 32]",
83
+ "RelayAuthoritySigner": "EcdsaAddress",
84
+ "RelayAuthorityMessage": "EcdsaMessage",
85
+ "RelayAuthoritySignature": "EcdsaSignature",
86
+ "RelayAuthorityT": {
87
+ "type": "struct",
88
+ "type_mapping": [
89
+ [
90
+ "account_id",
91
+ "AccountId"
92
+ ],
93
+ [
94
+ "signer",
95
+ "Signer"
96
+ ],
97
+ [
98
+ "stake",
99
+ "Balance"
100
+ ],
101
+ [
102
+ "term",
103
+ "BlockNumber"
104
+ ]
105
+ ]
106
+ },
107
+ "MMRRoot": "Hash",
108
+ "MerkleMountainRangeRootLog": {
109
+ "type": "struct",
110
+ "type_mapping": [
111
+ [
112
+ "prefix",
113
+ "[u8; 4]"
114
+ ],
115
+ [
116
+ "parent_mmr_root",
117
+ "Hash"
118
+ ]
119
+ ]
120
+ },
121
+ "EthereumRelayHeaderParcel": {
122
+ "type": "struct",
123
+ "type_mapping": [
124
+ [
125
+ "header",
126
+ "EthereumHeader"
127
+ ],
128
+ [
129
+ "parent_mmr_root",
130
+ "H256"
131
+ ]
132
+ ]
133
+ }
134
+ }
107
135
  },
108
- "RingBalance": "Balance",
109
- "KtonBalance": "Balance",
110
- "TsInMs": "u64",
111
- "Power": "u32",
112
- "DepositId": "U256",
113
- "StakingBalanceT": {
114
- "type": "enum",
115
- "type_mapping": [
116
- [
117
- "RingBalance",
118
- "Balance"
119
- ],
120
- [
121
- "KtonBalance",
122
- "Balance"
123
- ]
124
- ]
136
+ {
137
+ "runtime_range": [
138
+ 25,
139
+ 41
140
+ ],
141
+ "types": {
142
+ "RelayProofs": "EthereumRelayProofs"
143
+ }
125
144
  },
126
- "StakingLedgerT": {
127
- "type": "struct",
128
- "type_mapping": [
129
- [
130
- "stash",
131
- "AccountId"
132
- ],
133
- [
134
- "active_ring",
135
- "Compact<Balance>"
136
- ],
137
- [
138
- "active_deposit_ring",
139
- "Compact<Balance>"
140
- ],
141
- [
142
- "active_kton",
143
- "Compact<Balance>"
144
- ],
145
- [
145
+ {
146
+ "runtime_range": [
147
+ 24,
148
+ 41
149
+ ],
150
+ "types": {
151
+ "RelayVotingState": {
152
+ "type": "struct",
153
+ "type_mapping": [
154
+ [
155
+ "ayes",
156
+ "Vec<AccountId>"
157
+ ],
158
+ [
159
+ "nays",
160
+ "Vec<AccountId>"
161
+ ]
162
+ ]
163
+ },
164
+ "ProxyType": {
165
+ "type": "enum",
166
+ "type_mapping": [
167
+ [
168
+ "Any",
169
+ "Null"
170
+ ],
171
+ [
172
+ "NonTransfer",
173
+ "Null"
174
+ ],
175
+ [
176
+ "Governance",
177
+ "Null"
178
+ ],
179
+ [
180
+ "Staking",
181
+ "Null"
182
+ ],
183
+ [
184
+ "IdentityJudgement",
185
+ "Null"
186
+ ],
187
+ [
188
+ "EthereumBridge",
189
+ "Null"
190
+ ]
191
+ ]
192
+ },
193
+ "RelayHeaderId": "EthereumBlockNumber",
194
+ "RelayHeaderParcel": "EthereumRelayHeaderParcel",
195
+ "RelayAffirmationId": {
196
+ "type": "struct",
197
+ "type_mapping": [
198
+ [
199
+ "game_id",
200
+ "EthereumBlockNumber"
201
+ ],
202
+ [
203
+ "round",
204
+ "u32"
205
+ ],
206
+ [
207
+ "index",
208
+ "u32"
209
+ ]
210
+ ]
211
+ },
212
+ "RelayAffirmationT": {
213
+ "type": "struct",
214
+ "type_mapping": [
215
+ [
216
+ "relayer",
217
+ "AccountId"
218
+ ],
219
+ [
220
+ "relay_header_parcels",
221
+ "EthereumRelayHeaderParcel"
222
+ ],
223
+ [
224
+ "bond",
225
+ "Balance"
226
+ ],
227
+ [
228
+ "maybe_extended_relay_affirmation_id",
229
+ "Option<RelayAffirmationId>"
230
+ ],
231
+ [
232
+ "verified",
233
+ "bool"
234
+ ]
235
+ ]
236
+ }
237
+ }
238
+ },
239
+ {
240
+ "runtime_range": [
241
+ 24,
242
+ 24
243
+ ],
244
+ "types": {
245
+ "RelayProofs": "EthereumRelayProof"
246
+ }
247
+ },
248
+ {
249
+ "runtime_range": [
250
+ 20,
251
+ 22
252
+ ],
253
+ "types": {
254
+ "EthereumHeaderBrief": {
255
+ "type": "struct",
256
+ "type_mapping": [
257
+ [
258
+ "total_difficulty",
259
+ "U256"
260
+ ],
261
+ [
262
+ "parent_hash",
263
+ "H256"
264
+ ],
265
+ [
266
+ "number",
267
+ "EthereumBlockNumber"
268
+ ],
269
+ [
270
+ "relayer",
271
+ "AccountId"
272
+ ]
273
+ ]
274
+ },
275
+ "EthereumHeaderThingWithProof": {
276
+ "type": "struct",
277
+ "type_mapping": [
278
+ [
279
+ "header",
280
+ "EthereumHeader"
281
+ ],
282
+ [
283
+ "ethash_proof",
284
+ "Vec<EthashProof>"
285
+ ],
286
+ [
287
+ "mmr_root",
288
+ "H256"
289
+ ],
290
+ [
291
+ "mmr_proof",
292
+ "Vec<H256>"
293
+ ]
294
+ ]
295
+ },
296
+ "ConfirmedEthereumHeaderInfo": {
297
+ "type": "struct",
298
+ "type_mapping": [
299
+ [
300
+ "header",
301
+ "EthereumHeader"
302
+ ],
303
+ [
304
+ "mmr_root",
305
+ "H256"
306
+ ]
307
+ ]
308
+ },
309
+ "EthereumHeaderThing": {
310
+ "type": "struct",
311
+ "type_mapping": [
312
+ [
313
+ "header",
314
+ "EthereumHeader"
315
+ ],
316
+ [
317
+ "mmr_root",
318
+ "H256"
319
+ ]
320
+ ]
321
+ },
322
+ "Round": "u64",
323
+ "TcHeaderThingWithProof": "EthereumHeaderThingWithProof",
324
+ "TcHeaderThing": "EthereumHeaderThing",
325
+ "TcBlockNumber": "u64",
326
+ "TcHeaderHash": "H256",
327
+ "GameId": "TcBlockNumber",
328
+ "RelayProposalT": {
329
+ "type": "struct",
330
+ "type_mapping": [
331
+ [
332
+ "relayer",
333
+ "AccountId"
334
+ ],
335
+ [
336
+ "bonded_proposal",
337
+ "Vec<(Balance, TcHeaderThing)>"
338
+ ],
339
+ [
340
+ "extend_from_header_hash",
341
+ "Option<TcHeaderHash>"
342
+ ]
343
+ ]
344
+ }
345
+ }
346
+ },
347
+ {
348
+ "runtime_range": [
349
+ 23,
350
+ 41
351
+ ],
352
+ "types": {
353
+ "EthereumRelayProofs": {
354
+ "type": "struct",
355
+ "type_mapping": [
356
+ [
357
+ "ethash_proof",
358
+ "Vec<EthashProof>"
359
+ ],
360
+ [
361
+ "mmr_proof",
362
+ "Vec<H256>"
363
+ ]
364
+ ]
365
+ }
366
+ }
367
+ },
368
+ {
369
+ "runtime_range": [
370
+ 23,
371
+ 28
372
+ ],
373
+ "types": {
374
+ "EthereumRelayHeaderParcel": {
375
+ "type": "struct",
376
+ "type_mapping": [
377
+ [
378
+ "header",
379
+ "EthereumHeader"
380
+ ],
381
+ [
382
+ "mmr_root",
383
+ "H256"
384
+ ]
385
+ ]
386
+ }
387
+ }
388
+ },
389
+ {
390
+ "runtime_range": [
391
+ 23,
392
+ 23
393
+ ],
394
+ "types": {
395
+ "RelayHeaderId": "Vec<u8>",
396
+ "RelayHeaderParcel": "Vec<u8>",
397
+ "RelayAffirmationId": {
398
+ "type": "struct",
399
+ "type_mapping": [
400
+ [
401
+ "relay_header_id",
402
+ "Vec<u8>"
403
+ ],
404
+ [
405
+ "round",
406
+ "u32"
407
+ ],
408
+ [
409
+ "index",
410
+ "u32"
411
+ ]
412
+ ]
413
+ },
414
+ "RelayAffirmationT": {
415
+ "type": "struct",
416
+ "type_mapping": [
417
+ [
418
+ "relayer",
419
+ "AccountId"
420
+ ],
421
+ [
422
+ "relay_header_parcels",
423
+ "Vec<u8>"
424
+ ],
425
+ [
426
+ "bond",
427
+ "Balance"
428
+ ],
429
+ [
430
+ "maybe_extended_relay_affirmation_id",
431
+ "Option<Vec<u8>>"
432
+ ],
433
+ [
434
+ "verified",
435
+ "bool"
436
+ ]
437
+ ]
438
+ },
439
+ "RelayProofs": "Vec<u8>"
440
+ }
441
+ }
442
+ ],
443
+ "types": {
444
+ "Balance": "u64",
445
+ "Address": "AccountId",
446
+ "LookupSource": "AccountId",
447
+ "BalanceLock": {
448
+ "type": "struct",
449
+ "type_mapping": [
450
+ [
451
+ "id",
452
+ "LockIdentifier"
453
+ ],
454
+ [
455
+ "lock_for",
456
+ "LockFor"
457
+ ],
458
+ [
459
+ "lock_reasons",
460
+ "LockReasons"
461
+ ],
462
+ [
463
+ "amount",
464
+ "Balance"
465
+ ],
466
+ [
467
+ "reasons",
468
+ "Reasons"
469
+ ]
470
+ ]
471
+ },
472
+ "LockFor": {
473
+ "type": "enum",
474
+ "type_mapping": [
475
+ [
476
+ "Common",
477
+ "Common"
478
+ ],
479
+ [
480
+ "Staking",
481
+ "StakingLock"
482
+ ]
483
+ ]
484
+ },
485
+ "Common": {
486
+ "type": "struct",
487
+ "type_mapping": [
488
+ [
489
+ "amount",
490
+ "Balance"
491
+ ]
492
+ ]
493
+ },
494
+ "StakingLock": {
495
+ "type": "struct",
496
+ "type_mapping": [
497
+ [
498
+ "staking_amount",
499
+ "Balance"
500
+ ],
501
+ [
502
+ "unbondings",
503
+ "Vec<Unbonding>"
504
+ ]
505
+ ]
506
+ },
507
+ "LockReasons": {
508
+ "type": "enum",
509
+ "type_mapping": [
510
+ [
511
+ "Fee",
512
+ "Null"
513
+ ],
514
+ [
515
+ "Misc",
516
+ "Null"
517
+ ],
518
+ [
519
+ "All",
520
+ "Null"
521
+ ]
522
+ ]
523
+ },
524
+ "Unbonding": {
525
+ "type": "struct",
526
+ "type_mapping": [
527
+ [
528
+ "amount",
529
+ "Balance"
530
+ ],
531
+ [
532
+ "until",
533
+ "BlockNumber"
534
+ ]
535
+ ]
536
+ },
537
+ "AccountData": {
538
+ "type": "struct",
539
+ "type_mapping": [
540
+ [
541
+ "free",
542
+ "Balance"
543
+ ],
544
+ [
545
+ "reserved",
546
+ "Balance"
547
+ ],
548
+ [
549
+ "free_kton",
550
+ "Balance"
551
+ ],
552
+ [
553
+ "reserved_kton",
554
+ "Balance"
555
+ ],
556
+ [
557
+ "misc_frozen",
558
+ "Balance"
559
+ ],
560
+ [
561
+ "fee_frozen",
562
+ "Balance"
563
+ ]
564
+ ]
565
+ },
566
+ "RingBalance": "Balance",
567
+ "KtonBalance": "Balance",
568
+ "TsInMs": "u64",
569
+ "Power": "u32",
570
+ "DepositId": "U256",
571
+ "StakingBalanceT": {
572
+ "type": "enum",
573
+ "type_mapping": [
574
+ [
575
+ "RingBalance",
576
+ "Balance"
577
+ ],
578
+ [
579
+ "KtonBalance",
580
+ "Balance"
581
+ ]
582
+ ]
583
+ },
584
+ "StakingLedgerT": {
585
+ "type": "struct",
586
+ "type_mapping": [
587
+ [
588
+ "stash",
589
+ "AccountId"
590
+ ],
591
+ [
592
+ "active_ring",
593
+ "Compact<Balance>"
594
+ ],
595
+ [
596
+ "active_deposit_ring",
597
+ "Compact<Balance>"
598
+ ],
599
+ [
600
+ "active_kton",
601
+ "Compact<Balance>"
602
+ ],
603
+ [
146
604
  "deposit_items",
147
605
  "Vec<TimeDepositItem>"
148
606
  ],
@@ -151,12 +609,24 @@
151
609
  "StakingLock"
152
610
  ],
153
611
  [
154
- "kton_staking_lock",
155
- "StakingLock"
612
+ "kton_staking_lock",
613
+ "StakingLock"
614
+ ],
615
+ [
616
+ "claimed_rewards",
617
+ "Vec<EraIndex>"
618
+ ],
619
+ [
620
+ "total",
621
+ "Compact<Balance>"
622
+ ],
623
+ [
624
+ "active",
625
+ "Compact<Balance>"
156
626
  ],
157
627
  [
158
- "claimed_rewards",
159
- "Vec<EraIndex>"
628
+ "unlocking",
629
+ "Vec<UnlockChunk>"
160
630
  ]
161
631
  ]
162
632
  },
@@ -220,6 +690,10 @@
220
690
  [
221
691
  "power",
222
692
  "Power"
693
+ ],
694
+ [
695
+ "value",
696
+ "Compact<Balance>"
223
697
  ]
224
698
  ]
225
699
  },
@@ -468,462 +942,69 @@
468
942
  ]
469
943
  ]
470
944
  },
471
- "EthereumReceiptProofThing": "(EthereumHeader, EthereumReceiptProof, MMRProof)",
472
- "MMRProof": {
473
- "type": "struct",
474
- "type_mapping": [
475
- [
476
- "member_leaf_index",
477
- "u64"
478
- ],
479
- [
480
- "last_leaf_index",
481
- "u64"
482
- ],
483
- [
484
- "proof",
485
- "Vec<H256>"
486
- ]
487
- ]
488
- },
489
- "OtherSignature": {
490
- "type": "enum",
491
- "type_mapping": [
492
- [
493
- "Eth",
494
- "EcdsaSignature"
495
- ],
496
- [
497
- "Tron",
498
- "EcdsaSignature"
499
- ]
500
- ]
501
- },
502
- "EcdsaSignature": "[u8; 65]",
503
- "OtherAddress": {
504
- "type": "enum",
505
- "type_mapping": [
506
- [
507
- "Eth",
508
- "[u8; 20]"
509
- ],
510
- [
511
- "Tron",
512
- "[u8; 20]"
513
- ]
514
- ]
515
- },
516
- "AddressT": "[u8; 20]",
517
- "BalancesRuntimeDispatchInfo": {
518
- "type": "struct",
519
- "type_mapping": [
520
- [
521
- "usable_balance",
522
- "Balance"
523
- ]
524
- ]
525
- },
526
- "StakingRuntimeDispatchInfo": {
527
- "type": "struct",
528
- "type_mapping": [
529
- [
530
- "power",
531
- "Power"
532
- ]
533
- ]
534
- }
535
- },
536
- "versioning": [
537
- {
538
- "runtime_range": [
539
- 20,
540
- 28
541
- ],
542
- "types": {
543
- "MerkleMountainRangeRootLog": {
544
- "type": "struct",
545
- "type_mapping": [
546
- [
547
- "prefix",
548
- "[u8; 4]"
549
- ],
550
- [
551
- "mmr_root",
552
- "Hash"
553
- ]
554
- ]
555
- }
556
- }
557
- },
558
- {
559
- "runtime_range": [
560
- 29,
561
- 30
562
- ],
563
- "types": {
564
- "EcdsaMessage": "[u8; 32]",
565
- "RelayAuthoritySigner": "EthereumAddress",
566
- "RelayAuthorityMessage": "EcdsaMessage",
567
- "RelayAuthoritySignature": "EcdsaSignature",
568
- "Term": "u32",
569
- "RelayAuthorityT": {
570
- "type": "struct",
571
- "type_mapping": [
572
- [
573
- "account_id",
574
- "AccountId"
575
- ],
576
- [
577
- "signer",
578
- "Signer"
579
- ],
580
- [
581
- "stake",
582
- "Balance"
583
- ],
584
- [
585
- "term",
586
- "BlockNumber"
587
- ]
588
- ]
589
- },
590
- "MMRRoot": "Hash",
591
- "MerkleMountainRangeRootLog": {
592
- "type": "struct",
593
- "type_mapping": [
594
- [
595
- "prefix",
596
- "[u8; 4]"
597
- ],
598
- [
599
- "parent_mmr_root",
600
- "Hash"
601
- ]
602
- ]
603
- },
604
- "EthereumRelayHeaderParcel": {
605
- "type": "struct",
606
- "type_mapping": [
607
- [
608
- "header",
609
- "EthereumHeader"
610
- ],
611
- [
612
- "parent_mmr_root",
613
- "H256"
614
- ]
615
- ]
616
- }
617
- }
618
- },
619
- {
620
- "runtime_range": [
621
- 25,
622
- 30
623
- ],
624
- "types": {
625
- "RelayProofs": "EthereumRelayProofs"
626
- }
627
- },
628
- {
629
- "runtime_range": [
630
- 24,
631
- 30
632
- ],
633
- "types": {
634
- "RelayVotingState": {
635
- "type": "struct",
636
- "type_mapping": [
637
- [
638
- "ayes",
639
- "Vec<AccountId>"
640
- ],
641
- [
642
- "nays",
643
- "Vec<AccountId>"
644
- ]
645
- ]
646
- },
647
- "ProxyType": {
648
- "type": "enum",
649
- "type_mapping": [
650
- [
651
- "Any",
652
- "Null"
653
- ],
654
- [
655
- "NonTransfer",
656
- "Null"
657
- ],
658
- [
659
- "Governance",
660
- "Null"
661
- ],
662
- [
663
- "Staking",
664
- "Null"
665
- ],
666
- [
667
- "IdentityJudgement",
668
- "Null"
669
- ],
670
- [
671
- "EthereumBridge",
672
- "Null"
673
- ]
674
- ]
675
- },
676
- "RelayHeaderId": "EthereumBlockNumber",
677
- "RelayHeaderParcel": "EthereumRelayHeaderParcel",
678
- "RelayAffirmationId": {
679
- "type": "struct",
680
- "type_mapping": [
681
- [
682
- "game_id",
683
- "EthereumBlockNumber"
684
- ],
685
- [
686
- "round",
687
- "u32"
688
- ],
689
- [
690
- "index",
691
- "u32"
692
- ]
693
- ]
694
- },
695
- "RelayAffirmationT": {
696
- "type": "struct",
697
- "type_mapping": [
698
- [
699
- "relayer",
700
- "AccountId"
701
- ],
702
- [
703
- "relay_header_parcels",
704
- "EthereumRelayHeaderParcel"
705
- ],
706
- [
707
- "bond",
708
- "Balance"
709
- ],
710
- [
711
- "maybe_extended_relay_affirmation_id",
712
- "Option<RelayAffirmationId>"
713
- ],
714
- [
715
- "verified",
716
- "bool"
717
- ]
718
- ]
719
- }
720
- }
721
- },
722
- {
723
- "runtime_range": [
724
- 24,
725
- 24
726
- ],
727
- "types": {
728
- "RelayProofs": "EthereumRelayProof"
729
- }
945
+ "EthereumReceiptProofThing": "(EthereumHeader, EthereumReceiptProof, MMRProof)",
946
+ "MMRProof": {
947
+ "type": "struct",
948
+ "type_mapping": [
949
+ [
950
+ "member_leaf_index",
951
+ "u64"
952
+ ],
953
+ [
954
+ "last_leaf_index",
955
+ "u64"
956
+ ],
957
+ [
958
+ "proof",
959
+ "Vec<H256>"
960
+ ]
961
+ ]
730
962
  },
731
- {
732
- "runtime_range": [
733
- 20,
734
- 22
735
- ],
736
- "types": {
737
- "EthereumHeaderBrief": {
738
- "type": "struct",
739
- "type_mapping": [
740
- [
741
- "total_difficulty",
742
- "U256"
743
- ],
744
- [
745
- "parent_hash",
746
- "H256"
747
- ],
748
- [
749
- "number",
750
- "EthereumBlockNumber"
751
- ],
752
- [
753
- "relayer",
754
- "AccountId"
755
- ]
756
- ]
757
- },
758
- "EthereumHeaderThingWithProof": {
759
- "type": "struct",
760
- "type_mapping": [
761
- [
762
- "header",
763
- "EthereumHeader"
764
- ],
765
- [
766
- "ethash_proof",
767
- "Vec<EthashProof>"
768
- ],
769
- [
770
- "mmr_root",
771
- "H256"
772
- ],
773
- [
774
- "mmr_proof",
775
- "Vec<H256>"
776
- ]
777
- ]
778
- },
779
- "ConfirmedEthereumHeaderInfo": {
780
- "type": "struct",
781
- "type_mapping": [
782
- [
783
- "header",
784
- "EthereumHeader"
785
- ],
786
- [
787
- "mmr_root",
788
- "H256"
789
- ]
790
- ]
791
- },
792
- "EthereumHeaderThing": {
793
- "type": "struct",
794
- "type_mapping": [
795
- [
796
- "header",
797
- "EthereumHeader"
798
- ],
799
- [
800
- "mmr_root",
801
- "H256"
802
- ]
803
- ]
804
- },
805
- "Round": "u64",
806
- "TcHeaderThingWithProof": "EthereumHeaderThingWithProof",
807
- "TcHeaderThing": "EthereumHeaderThing",
808
- "TcBlockNumber": "u64",
809
- "TcHeaderHash": "H256",
810
- "GameId": "TcBlockNumber",
811
- "RelayProposalT": {
812
- "type": "struct",
813
- "type_mapping": [
814
- [
815
- "relayer",
816
- "AccountId"
817
- ],
818
- [
819
- "bonded_proposal",
820
- "Vec<(Balance, TcHeaderThing)>"
821
- ],
822
- [
823
- "extend_from_header_hash",
824
- "Option<TcHeaderHash>"
825
- ]
826
- ]
827
- }
828
- }
963
+ "OtherSignature": {
964
+ "type": "enum",
965
+ "type_mapping": [
966
+ [
967
+ "Eth",
968
+ "EcdsaSignature"
969
+ ],
970
+ [
971
+ "Tron",
972
+ "EcdsaSignature"
973
+ ]
974
+ ]
829
975
  },
830
-
831
- {
832
- "runtime_range": [
833
- 23,
834
- 30
835
- ],
836
- "types": {
837
- "EthereumRelayProofs": {
838
- "type": "struct",
839
- "type_mapping": [
840
- [
841
- "ethash_proof",
842
- "Vec<EthashProof>"
843
- ],
844
- [
845
- "mmr_proof",
846
- "Vec<H256>"
847
- ]
848
- ]
849
- }
850
- }
976
+ "EcdsaSignature": "[u8; 65]",
977
+ "OtherAddress": {
978
+ "type": "enum",
979
+ "type_mapping": [
980
+ [
981
+ "Eth",
982
+ "[u8; 20]"
983
+ ],
984
+ [
985
+ "Tron",
986
+ "[u8; 20]"
987
+ ]
988
+ ]
851
989
  },
852
-
853
- {
854
- "runtime_range": [
855
- 23,
856
- 28
857
- ],
858
- "types": {
859
- "EthereumRelayHeaderParcel": {
860
- "type": "struct",
861
- "type_mapping": [
862
- [
863
- "header",
864
- "EthereumHeader"
865
- ],
866
- [
867
- "mmr_root",
868
- "H256"
869
- ]
870
- ]
871
- }
872
- }
990
+ "AddressT": "[u8; 20]",
991
+ "BalancesRuntimeDispatchInfo": {
992
+ "type": "struct",
993
+ "type_mapping": [
994
+ [
995
+ "usable_balance",
996
+ "Balance"
997
+ ]
998
+ ]
873
999
  },
874
-
875
- {
876
- "runtime_range": [
877
- 23,
878
- 23
879
- ],
880
- "types": {
881
- "RelayHeaderId": "Vec<u8>",
882
- "RelayHeaderParcel": "Vec<u8>",
883
- "RelayAffirmationId": {
884
- "type": "struct",
885
- "type_mapping": [
886
- [
887
- "relay_header_id",
888
- "Vec<u8>"
889
- ],
890
- [
891
- "round",
892
- "u32"
893
- ],
894
- [
895
- "index",
896
- "u32"
897
- ]
898
- ]
899
- },
900
- "RelayAffirmationT": {
901
- "type": "struct",
902
- "type_mapping": [
903
- [
904
- "relayer",
905
- "AccountId"
906
- ],
907
- [
908
- "relay_header_parcels",
909
- "Vec<u8>"
910
- ],
911
- [
912
- "bond",
913
- "Balance"
914
- ],
915
- [
916
- "maybe_extended_relay_affirmation_id",
917
- "Option<Vec<u8>>"
918
- ],
919
- [
920
- "verified",
921
- "bool"
922
- ]
923
- ]
924
- },
925
- "RelayProofs": "Vec<u8>"
926
- }
1000
+ "StakingRuntimeDispatchInfo": {
1001
+ "type": "struct",
1002
+ "type_mapping": [
1003
+ [
1004
+ "power",
1005
+ "Power"
1006
+ ]
1007
+ ]
927
1008
  }
928
- ]
1009
+ }
929
1010
  }