scale.rb 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/.gitignore +1 -0
- data/Cargo.lock +44 -0
- data/Cargo.toml +11 -0
- data/Dockerfile +2 -1
- data/Gemfile +2 -2
- data/Gemfile.lock +24 -3
- data/Makefile +13 -0
- data/README.md +32 -28
- data/Rakefile +2 -2
- data/bin/console +3 -3
- data/exe/scale +80 -0
- data/lib/metadata/metadata.rb +45 -40
- data/lib/metadata/metadata_v0.rb +206 -0
- data/lib/metadata/metadata_v1.rb +120 -0
- data/lib/metadata/metadata_v10.rb +38 -9
- data/lib/metadata/metadata_v11.rb +51 -0
- data/lib/metadata/metadata_v2.rb +51 -0
- data/lib/metadata/metadata_v3.rb +38 -9
- data/lib/metadata/metadata_v4.rb +126 -0
- data/lib/metadata/metadata_v5.rb +126 -0
- data/lib/metadata/metadata_v6.rb +101 -0
- data/lib/metadata/metadata_v7.rb +47 -18
- data/lib/metadata/metadata_v8.rb +44 -15
- data/lib/metadata/metadata_v9.rb +38 -9
- data/lib/scale.rb +279 -69
- data/lib/scale/base.rb +104 -75
- data/lib/scale/block.rb +115 -0
- data/lib/scale/types.rb +318 -84
- data/lib/scale/version.rb +1 -1
- data/lib/type_registry/darwinia.json +112 -0
- data/lib/type_registry/default.json +842 -0
- data/lib/type_registry/edgeware.json +124 -0
- data/lib/type_registry/joystream.json +49 -0
- data/lib/type_registry/kulupu.json +6 -0
- data/lib/type_registry/kusama.json +186 -0
- data/lib/type_registry/plasm.json +89 -0
- data/lib/type_registry/robonomics.json +39 -0
- data/lib/type_registry/test.json +31 -0
- data/lib/type_registry/westend.json +18 -0
- data/scale.gemspec +18 -15
- data/src/lib.rs +74 -0
- metadata +92 -12
@@ -0,0 +1,124 @@
|
|
1
|
+
{
|
2
|
+
"runtime_id": 27,
|
3
|
+
"types": {
|
4
|
+
"Keys": {
|
5
|
+
"type": "struct",
|
6
|
+
"type_mapping": [
|
7
|
+
["grandpa", "AccountId"],
|
8
|
+
["babe", "AccountId"],
|
9
|
+
["im_online", "AccountId"],
|
10
|
+
["authority_discovery", "AccountId"]
|
11
|
+
]
|
12
|
+
},
|
13
|
+
"BlockNumber": "U32",
|
14
|
+
"SessionIndex": "U32",
|
15
|
+
"AuctionIndex": "U32",
|
16
|
+
"AuthIndex": "U32",
|
17
|
+
"BalanceUpload": "(AccountId, u64)",
|
18
|
+
"EgressQueueRoot": "(ParaId, Hash)",
|
19
|
+
"EventIndex": "u32",
|
20
|
+
"LeasePeriodOf": "LeasePeriod",
|
21
|
+
"LeasePeriod": "BlockNumber",
|
22
|
+
"MemberCount": "u32",
|
23
|
+
"MomentOf": "Moment",
|
24
|
+
"Offender": "(ValidatorId, Exposure)",
|
25
|
+
"ReportIdOf": "Hash",
|
26
|
+
"SubId": "u32",
|
27
|
+
"Weight": "u32",
|
28
|
+
"WeightMultiplier": "u64",
|
29
|
+
"WinningData": "Vec<WinningDataEntry>",
|
30
|
+
"Index": "U32",
|
31
|
+
"Kind": "[u8; 16]",
|
32
|
+
"OpaqueTimeSlot": "Bytes",
|
33
|
+
"Box<<T as Trait<I>>::Proposal>": "BoxProposal",
|
34
|
+
"Forcing": {
|
35
|
+
"type": "enum",
|
36
|
+
"value_list": [
|
37
|
+
"NotForcing",
|
38
|
+
"ForceNew",
|
39
|
+
"ForceNone"
|
40
|
+
]
|
41
|
+
},
|
42
|
+
"VoteData": {
|
43
|
+
"type": "struct",
|
44
|
+
"type_mapping": [
|
45
|
+
["initiator", "AccountId"],
|
46
|
+
["stage", "VoteStage"],
|
47
|
+
["vote_type", "VoteType"],
|
48
|
+
["tally_type", "TallyType"],
|
49
|
+
["is_commit_reveal", "Bool"]
|
50
|
+
]
|
51
|
+
},
|
52
|
+
"VoteRecord": {
|
53
|
+
"type": "struct",
|
54
|
+
"type_mapping": [
|
55
|
+
["id", "u64"],
|
56
|
+
["commitments", "Vec<(AccountId, VoteOutcome)>"],
|
57
|
+
["reveals", "Vec<(AccountId, VoteOutcome)>"],
|
58
|
+
["data", "VoteData"],
|
59
|
+
["outcomes", "Vec<(VoteOutcome)>"]
|
60
|
+
]
|
61
|
+
},
|
62
|
+
"VoteType": {
|
63
|
+
"type": "enum",
|
64
|
+
"value_list": ["Binary", "MultiOption"]
|
65
|
+
},
|
66
|
+
"IdentityStage": {
|
67
|
+
"type": "enum",
|
68
|
+
"value_list": ["Registered", "Attested", "Verified"]
|
69
|
+
},
|
70
|
+
"IdentityRecord": {
|
71
|
+
"type": "struct",
|
72
|
+
"type_mapping": [
|
73
|
+
["account", "AccountId"],
|
74
|
+
["identity_type", "String"],
|
75
|
+
["identity", "Bytes"],
|
76
|
+
["stage", "IdentityStage"],
|
77
|
+
["expiration_time", "BlockNumber"],
|
78
|
+
["proof", "Bytes"],
|
79
|
+
["metadata", "Bytes"]
|
80
|
+
]
|
81
|
+
},
|
82
|
+
"MetadataRecord": {
|
83
|
+
"type": "struct",
|
84
|
+
"type_mapping": [
|
85
|
+
["avatar", "String"],
|
86
|
+
["display_name", "String"],
|
87
|
+
["tagline", "String"]
|
88
|
+
]
|
89
|
+
},
|
90
|
+
"ProposalCategory": {
|
91
|
+
"type": "enum",
|
92
|
+
"value_list": ["Signaling"]
|
93
|
+
},
|
94
|
+
"ProposalStage": {
|
95
|
+
"type": "enum",
|
96
|
+
"value_list": ["PreVoting", "Voting", "Completed"]
|
97
|
+
},
|
98
|
+
"ProposalRecord": {
|
99
|
+
"type": "struct",
|
100
|
+
"type_mapping": [
|
101
|
+
["index", "u32"],
|
102
|
+
["author", "AccountId"],
|
103
|
+
["stage", "ProposalStage"],
|
104
|
+
["transition_time", "BlockNumber"],
|
105
|
+
["category", "ProposalCategory"],
|
106
|
+
["title", "Vec<u8>"],
|
107
|
+
["contents", "Vec<u8>"],
|
108
|
+
["vote_id", "u64"],
|
109
|
+
["ProposalTitle", "Vec<u8>"],
|
110
|
+
["ProposalContents", "Vec<u8>"]
|
111
|
+
]
|
112
|
+
},
|
113
|
+
"Balance2": "Balance",
|
114
|
+
"ReferendumInfo<BlockNumber, Proposal>": {
|
115
|
+
"type": "struct",
|
116
|
+
"type_mapping": [
|
117
|
+
["end", "BlockNumber"],
|
118
|
+
["proposal", "Proposal"],
|
119
|
+
["threshold", "VoteThreshold"],
|
120
|
+
["delay", "BlockNumber"]
|
121
|
+
]
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
{
|
2
|
+
"runtime_id": 4,
|
3
|
+
"types": {
|
4
|
+
"ValidatorPrefs": "ValidatorPrefsLegacy",
|
5
|
+
"Index": "U64",
|
6
|
+
"<T as DDTrait>::ContentId": "ContentId",
|
7
|
+
"RoleParameters": {
|
8
|
+
"type": "struct",
|
9
|
+
"type_mapping": [
|
10
|
+
["min_stake", "BalanceOf"],
|
11
|
+
["min_actors", "u32"],
|
12
|
+
["max_actors", "u32"],
|
13
|
+
["reward", "BalanceOf"],
|
14
|
+
["reward_period", "BlockNumber"],
|
15
|
+
["bonding_period", "BlockNumber"],
|
16
|
+
["unbonding_period", "BlockNumber"],
|
17
|
+
["min_service_period", "BlockNumber"],
|
18
|
+
["startup_grace_period", "BlockNumber"],
|
19
|
+
["entry_request_fee", "BalanceOf"]
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"Actor": {
|
23
|
+
"type": "struct",
|
24
|
+
"type_mapping": [
|
25
|
+
["member_id", "MemberId"],
|
26
|
+
["role", "Role"],
|
27
|
+
["account", "AccountId"],
|
28
|
+
["joined_at", "BlockNumber"]
|
29
|
+
]
|
30
|
+
},
|
31
|
+
"DataObjectStorageRelationship": {
|
32
|
+
"type": "struct",
|
33
|
+
"type_mapping": [
|
34
|
+
["content_id", "ContentId"],
|
35
|
+
["storage_provider", "AccountId"],
|
36
|
+
["ready", "bool"]
|
37
|
+
]
|
38
|
+
},
|
39
|
+
"DataObjectType": {
|
40
|
+
"type": "struct",
|
41
|
+
"type_mapping": [
|
42
|
+
["description", "Vec<u8>"],
|
43
|
+
["active", "bool"]
|
44
|
+
]
|
45
|
+
},
|
46
|
+
"DataObjectTypeId": "u64",
|
47
|
+
"<T as DOTRTrait>::DataObjectTypeId": "u64"
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,186 @@
|
|
1
|
+
{
|
2
|
+
"runtime_id": 1054,
|
3
|
+
"types": {
|
4
|
+
"Address": "AccountIdAddress",
|
5
|
+
"BlockNumber": "U32",
|
6
|
+
"LeasePeriod": "BlockNumber",
|
7
|
+
"SessionKeysPolkadot": {
|
8
|
+
"type": "struct",
|
9
|
+
"type_mapping": [
|
10
|
+
["grandpa", "AccountId"],
|
11
|
+
["babe", "AccountId"],
|
12
|
+
["im_online", "AccountId"],
|
13
|
+
["authority_discovery", "AccountId"],
|
14
|
+
["parachains", "AccountId"]
|
15
|
+
]
|
16
|
+
},
|
17
|
+
"Keys": "SessionKeysPolkadot"
|
18
|
+
},
|
19
|
+
"versioning": [
|
20
|
+
{
|
21
|
+
"runtime_range": [1019, 1031],
|
22
|
+
"types": {
|
23
|
+
"DispatchError": {
|
24
|
+
"type": "struct",
|
25
|
+
"type_mapping": [
|
26
|
+
["module", "Option<u8>"],
|
27
|
+
["error", "u8"]
|
28
|
+
]
|
29
|
+
}
|
30
|
+
}
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"runtime_range": [1032, null],
|
34
|
+
"types": {
|
35
|
+
"DispatchError": {
|
36
|
+
"type": "enum",
|
37
|
+
"type_mapping": [
|
38
|
+
["Other", "Null"],
|
39
|
+
["CannotLookup", "Null"],
|
40
|
+
["BadOrigin", "Null"],
|
41
|
+
["Module", "DispatchErrorModule"]
|
42
|
+
]
|
43
|
+
}
|
44
|
+
}
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"runtime_range": [1019, 1037],
|
48
|
+
"types": {
|
49
|
+
"IdentityInfo": {
|
50
|
+
"type": "struct",
|
51
|
+
"type_mapping": [
|
52
|
+
["additional", "Vec<IdentityInfoAdditional>"],
|
53
|
+
["display", "Data"],
|
54
|
+
["legal", "Data"],
|
55
|
+
["web", "Data"],
|
56
|
+
["riot", "Data"],
|
57
|
+
["email", "Data"],
|
58
|
+
["pgpFingerprint", "Option<H160>"],
|
59
|
+
["image", "Data"]
|
60
|
+
]
|
61
|
+
}
|
62
|
+
}
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"runtime_range": [1038, null],
|
66
|
+
"types": {
|
67
|
+
"IdentityInfo": {
|
68
|
+
"type": "struct",
|
69
|
+
"type_mapping": [
|
70
|
+
["additional", "Vec<IdentityInfoAdditional>"],
|
71
|
+
["display", "Data"],
|
72
|
+
["legal", "Data"],
|
73
|
+
["web", "Data"],
|
74
|
+
["riot", "Data"],
|
75
|
+
["email", "Data"],
|
76
|
+
["pgpFingerprint", "Option<H160>"],
|
77
|
+
["image", "Data"],
|
78
|
+
["twitter", "Data"]
|
79
|
+
]
|
80
|
+
}
|
81
|
+
}
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"runtime_range": [1019, 1042],
|
85
|
+
"types": {
|
86
|
+
"SlashingSpans": {
|
87
|
+
"type": "struct",
|
88
|
+
"type_mapping": [
|
89
|
+
["spanIndex", "SpanIndex"],
|
90
|
+
["lastStart", "EraIndex"],
|
91
|
+
["prior", "Vec<EraIndex>"]
|
92
|
+
]
|
93
|
+
}
|
94
|
+
}
|
95
|
+
},
|
96
|
+
{
|
97
|
+
"runtime_range": [1043, null],
|
98
|
+
"types": {
|
99
|
+
"SlashingSpans": {
|
100
|
+
"type": "struct",
|
101
|
+
"type_mapping": [
|
102
|
+
["spanIndex", "SpanIndex"],
|
103
|
+
["lastStart", "EraIndex"],
|
104
|
+
["lastNonzeroSlash", "EraIndex"],
|
105
|
+
["prior", "Vec<EraIndex>"]
|
106
|
+
]
|
107
|
+
}
|
108
|
+
}
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"runtime_range": [1019, 1045],
|
112
|
+
"types": {
|
113
|
+
"Address": "RawAddress",
|
114
|
+
"StakingLedger<AccountId, BalanceOf>": {
|
115
|
+
"type": "struct",
|
116
|
+
"type_mapping": [
|
117
|
+
["stash", "AccountId"],
|
118
|
+
["total", "Compact<Balance>"],
|
119
|
+
["active", "Compact<Balance>"],
|
120
|
+
["unlocking", "Vec<UnlockChunk<Balance>>"]
|
121
|
+
]
|
122
|
+
},
|
123
|
+
"BalanceLock": {
|
124
|
+
"type": "struct",
|
125
|
+
"type_mapping": [
|
126
|
+
["id", "LockIdentifier"],
|
127
|
+
["amount", "Balance"],
|
128
|
+
["until", "BlockNumber"],
|
129
|
+
["reasons", "WithdrawReasons"]
|
130
|
+
]
|
131
|
+
}
|
132
|
+
}
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"runtime_range": [1050, null],
|
136
|
+
"types": {
|
137
|
+
"Address": "AccountIdAddress",
|
138
|
+
"StakingLedger<AccountId, BalanceOf>": {
|
139
|
+
"type": "struct",
|
140
|
+
"type_mapping": [
|
141
|
+
["stash", "AccountId"],
|
142
|
+
["total", "Compact<Balance>"],
|
143
|
+
["active", "Compact<Balance>"],
|
144
|
+
["unlocking", "Vec<UnlockChunk<Balance>>"],
|
145
|
+
["lastReward", "Option<EraIndex>"]
|
146
|
+
]
|
147
|
+
},
|
148
|
+
"BalanceLock": {
|
149
|
+
"type": "struct",
|
150
|
+
"type_mapping": [
|
151
|
+
["id", "LockIdentifier"],
|
152
|
+
["amount", "Balance"],
|
153
|
+
["reasons", "Reasons"]
|
154
|
+
]
|
155
|
+
}
|
156
|
+
}
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"runtime_range": [1019, 1054],
|
160
|
+
"types": {
|
161
|
+
"ReferendumInfo": {
|
162
|
+
"type": "struct",
|
163
|
+
"type_mapping": [
|
164
|
+
["end", "BlockNumber"],
|
165
|
+
["proposal", "Proposal"],
|
166
|
+
["threshold", "VoteThreshold"],
|
167
|
+
["delay", "BlockNumber"]
|
168
|
+
]
|
169
|
+
}
|
170
|
+
}
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"runtime_range": [1054, null],
|
174
|
+
"types": {
|
175
|
+
"ReferendumInfo": {
|
176
|
+
"type": "enum",
|
177
|
+
"type_mapping": [
|
178
|
+
["Ongoing", "ReferendumStatus"],
|
179
|
+
["Finished", "ReferendumInfoFinished"]
|
180
|
+
]
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
|
185
|
+
]
|
186
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
{
|
2
|
+
"types": {
|
3
|
+
"Keys": {
|
4
|
+
"type": "struct",
|
5
|
+
"type_mapping": [
|
6
|
+
["grandpa", "AccountId"],
|
7
|
+
["babe", "AccountId"]
|
8
|
+
]
|
9
|
+
},
|
10
|
+
"Balance": "u128",
|
11
|
+
"Index": "U32",
|
12
|
+
"Era": "[u8; 2]",
|
13
|
+
"BlockNumber": "U32",
|
14
|
+
"Range": {
|
15
|
+
"type": "struct",
|
16
|
+
"type_mapping": [
|
17
|
+
["start", "u128"],
|
18
|
+
["end", "u128"]
|
19
|
+
]
|
20
|
+
},
|
21
|
+
"StateObject": {
|
22
|
+
"type": "struct",
|
23
|
+
"type_mapping": [
|
24
|
+
["predicate", "AccountId"],
|
25
|
+
["data", "Vec<u8>"]
|
26
|
+
]
|
27
|
+
},
|
28
|
+
"StateUpdate": {
|
29
|
+
"type": "struct",
|
30
|
+
"type_mapping": [
|
31
|
+
["range", "Range"],
|
32
|
+
["state_object", "StateObject"],
|
33
|
+
["plasma_block_number", "BlockNumber"]
|
34
|
+
]
|
35
|
+
},
|
36
|
+
"Checkpoint": {
|
37
|
+
"type": "struct",
|
38
|
+
"type_mapping": [
|
39
|
+
["state_update", "StateUpdate"],
|
40
|
+
["sub_range", "Range"]
|
41
|
+
]
|
42
|
+
},
|
43
|
+
"Transaction": {
|
44
|
+
"type": "struct",
|
45
|
+
"type_mapping": [
|
46
|
+
["predicate", "AccountId"],
|
47
|
+
["range", "Range"],
|
48
|
+
["body", "Range"]
|
49
|
+
]
|
50
|
+
},
|
51
|
+
"TransactionBody": {
|
52
|
+
"type": "struct",
|
53
|
+
"type_mapping": [
|
54
|
+
["new_state", "StateObject"],
|
55
|
+
["origin_block", "BlockNumber"],
|
56
|
+
["max_block", "BlockNumber"]
|
57
|
+
]
|
58
|
+
},
|
59
|
+
"Challenge": {
|
60
|
+
"type": "struct",
|
61
|
+
"type_mapping": [
|
62
|
+
["challenged_checkpoint", "Checkpoint"],
|
63
|
+
["challenging_checkpoint", "Checkpoint"]
|
64
|
+
]
|
65
|
+
},
|
66
|
+
"MerkleIntervalTreeInternalNode": {
|
67
|
+
"type": "struct",
|
68
|
+
"type_mapping": [
|
69
|
+
["index", "Index"],
|
70
|
+
["hash", "Hash"]
|
71
|
+
]
|
72
|
+
},
|
73
|
+
"InclusionProof": {
|
74
|
+
"type": "struct",
|
75
|
+
"type_mapping": [
|
76
|
+
["proofs", "Vec<MerkleIntervalTreeInternalNode>"],
|
77
|
+
["idx", "u128"]
|
78
|
+
]
|
79
|
+
},
|
80
|
+
"Parameters": {
|
81
|
+
"type": "struct",
|
82
|
+
"type_mapping": [
|
83
|
+
["can_be_nominated", "bool"],
|
84
|
+
["option_expired", "u128"],
|
85
|
+
["option_p", "u32"]
|
86
|
+
]
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|