scale_rb 0.1.15 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/address.rb +85 -89
- data/lib/client/abstract_ws_client.rb +85 -81
- data/lib/client/http_client.rb +35 -4
- data/lib/client/http_client_metadata.rb +1 -1
- data/lib/client/http_client_storage.rb +6 -6
- data/lib/client/rpc_request_builder.rb +44 -42
- data/lib/codec.rb +11 -11
- data/lib/hasher.rb +39 -37
- data/lib/metadata/metadata.rb +130 -122
- data/lib/metadata/metadata_v10.rb +72 -69
- data/lib/metadata/metadata_v11.rb +78 -75
- data/lib/metadata/metadata_v12.rb +42 -39
- data/lib/metadata/metadata_v13.rb +71 -68
- data/lib/metadata/metadata_v14.rb +185 -181
- data/lib/metadata/metadata_v9.rb +92 -89
- data/lib/monkey_patching.rb +22 -22
- data/lib/portable_codec.rb +236 -232
- data/lib/scale_rb/version.rb +1 -1
- data/lib/scale_rb.rb +0 -1
- data/lib/storage_helper.rb +52 -50
- data/scale_rb.gemspec +6 -1
- metadata +15 -15
@@ -1,86 +1,89 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
4
|
-
module
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
module ScaleRb
|
4
|
+
module Metadata
|
5
|
+
module MetadataV11
|
6
|
+
class << self
|
7
|
+
def get_module(module_name, metadata)
|
8
|
+
metadata._get(:metadata)._get(:v11)._get(:modules).find do |m|
|
9
|
+
m._get(:name) == module_name
|
10
|
+
end
|
9
11
|
end
|
10
|
-
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
def get_storage_item(module_name, item_name, metadata)
|
14
|
+
modula = get_module(module_name, metadata)
|
15
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
16
|
+
|
17
|
+
modula._get(:storage)._get(:items).find do |item|
|
18
|
+
item._get(:name) == item_name
|
19
|
+
end
|
17
20
|
end
|
18
21
|
end
|
19
|
-
end
|
20
22
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
23
|
+
TYPES = {
|
24
|
+
ErrorMetadataV11: 'ErrorMetadataV10',
|
25
|
+
EventMetadataV11: 'EventMetadataV10',
|
26
|
+
ExtrinsicMetadataV11: {
|
27
|
+
version: 'u8',
|
28
|
+
signedExtensions: 'Vec<Text>'
|
29
|
+
},
|
30
|
+
FunctionArgumentMetadataV11: 'FunctionArgumentMetadataV10',
|
31
|
+
FunctionMetadataV11: 'FunctionMetadataV10',
|
32
|
+
MetadataV11: {
|
33
|
+
modules: 'Vec<ModuleMetadataV11>',
|
34
|
+
extrinsic: 'ExtrinsicMetadataV11'
|
35
|
+
},
|
36
|
+
ModuleConstantMetadataV11: 'ModuleConstantMetadataV10',
|
37
|
+
ModuleMetadataV11: {
|
38
|
+
name: 'Text',
|
39
|
+
storage: 'Option<StorageMetadataV11>',
|
40
|
+
calls: 'Option<Vec<FunctionMetadataV11>>',
|
41
|
+
events: 'Option<Vec<EventMetadataV11>>',
|
42
|
+
constants: 'Vec<ModuleConstantMetadataV11>',
|
43
|
+
errors: 'Vec<ErrorMetadataV11>'
|
44
|
+
},
|
45
|
+
StorageEntryModifierV11: 'StorageEntryModifierV10',
|
46
|
+
StorageEntryMetadataV11: {
|
47
|
+
name: 'Text',
|
48
|
+
modifier: 'StorageEntryModifierV11',
|
49
|
+
type: 'StorageEntryTypeV11',
|
50
|
+
fallback: 'Bytes',
|
51
|
+
docs: 'Vec<Text>'
|
52
|
+
},
|
53
|
+
StorageEntryTypeV11: {
|
54
|
+
_enum: {
|
55
|
+
Plain: 'Type',
|
56
|
+
Map: {
|
57
|
+
hasher: 'StorageHasherV11',
|
58
|
+
key: 'Type',
|
59
|
+
value: 'Type',
|
60
|
+
linked: 'bool'
|
61
|
+
},
|
62
|
+
DoubleMap: {
|
63
|
+
hasher: 'StorageHasherV11',
|
64
|
+
key1: 'Type',
|
65
|
+
key2: 'Type',
|
66
|
+
value: 'Type',
|
67
|
+
key2Hasher: 'StorageHasherV11'
|
68
|
+
}
|
66
69
|
}
|
70
|
+
},
|
71
|
+
StorageMetadataV11: {
|
72
|
+
prefix: 'Text',
|
73
|
+
items: 'Vec<StorageEntryMetadataV11>'
|
74
|
+
},
|
75
|
+
StorageHasherV11: {
|
76
|
+
_enum: %w[
|
77
|
+
Blake2_128
|
78
|
+
Blake2_256
|
79
|
+
Blake2_128Concat
|
80
|
+
Twox128
|
81
|
+
Twox256
|
82
|
+
Twox64Concat
|
83
|
+
Identity
|
84
|
+
]
|
67
85
|
}
|
68
|
-
}
|
69
|
-
|
70
|
-
prefix: 'Text',
|
71
|
-
items: 'Vec<StorageEntryMetadataV11>'
|
72
|
-
},
|
73
|
-
StorageHasherV11: {
|
74
|
-
_enum: %w[
|
75
|
-
Blake2_128
|
76
|
-
Blake2_256
|
77
|
-
Blake2_128Concat
|
78
|
-
Twox128
|
79
|
-
Twox256
|
80
|
-
Twox64Concat
|
81
|
-
Identity
|
82
|
-
]
|
83
|
-
}
|
84
|
-
}.freeze
|
86
|
+
}.freeze
|
87
|
+
end
|
85
88
|
end
|
86
89
|
end
|
@@ -1,48 +1,51 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
4
|
-
module
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
module ScaleRb
|
4
|
+
module Metadata
|
5
|
+
module MetadataV12
|
6
|
+
class << self
|
7
|
+
def get_module(module_name, metadata)
|
8
|
+
metadata._get(:metadata)._get(:v12)._get(:modules).find do |m|
|
9
|
+
m._get(:name) == module_name
|
10
|
+
end
|
9
11
|
end
|
10
|
-
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
def get_storage_item(module_name, item_name, metadata)
|
14
|
+
modula = get_module(module_name, metadata)
|
15
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
16
|
+
|
17
|
+
modula._get(:storage)._get(:items).find do |item|
|
18
|
+
item._get(:name) == item_name
|
19
|
+
end
|
17
20
|
end
|
18
21
|
end
|
19
|
-
end
|
20
22
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
23
|
+
TYPES = {
|
24
|
+
ErrorMetadataV12: 'ErrorMetadataV11',
|
25
|
+
EventMetadataV12: 'EventMetadataV11',
|
26
|
+
ExtrinsicMetadataV12: 'ExtrinsicMetadataV11',
|
27
|
+
FunctionArgumentMetadataV12: 'FunctionArgumentMetadataV11',
|
28
|
+
FunctionMetadataV12: 'FunctionMetadataV11',
|
29
|
+
MetadataV12: {
|
30
|
+
modules: 'Vec<ModuleMetadataV12>',
|
31
|
+
extrinsic: 'ExtrinsicMetadataV12'
|
32
|
+
},
|
33
|
+
ModuleConstantMetadataV12: 'ModuleConstantMetadataV11',
|
34
|
+
ModuleMetadataV12: {
|
35
|
+
name: 'Text',
|
36
|
+
storage: 'Option<StorageMetadataV12>',
|
37
|
+
calls: 'Option<Vec<FunctionMetadataV12>>',
|
38
|
+
events: 'Option<Vec<EventMetadataV12>>',
|
39
|
+
constants: 'Vec<ModuleConstantMetadataV12>',
|
40
|
+
errors: 'Vec<ErrorMetadataV12>',
|
41
|
+
index: 'u8'
|
42
|
+
},
|
43
|
+
StorageEntryModifierV12: 'StorageEntryModifierV11',
|
44
|
+
StorageEntryMetadataV12: 'StorageEntryMetadataV11',
|
45
|
+
StorageEntryTypeV12: 'StorageEntryTypeV11',
|
46
|
+
StorageMetadataV12: 'StorageMetadataV11',
|
47
|
+
StorageHasherV12: 'StorageHasherV11'
|
48
|
+
}.freeze
|
49
|
+
end
|
47
50
|
end
|
48
51
|
end
|
@@ -1,79 +1,82 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
4
|
-
module
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
module ScaleRb
|
4
|
+
module Metadata
|
5
|
+
module MetadataV13
|
6
|
+
class << self
|
7
|
+
def get_module(module_name, metadata)
|
8
|
+
metadata._get(:metadata)._get(:v13)._get(:modules).find do |m|
|
9
|
+
m._get(:name) == module_name
|
10
|
+
end
|
9
11
|
end
|
10
|
-
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
def get_storage_item(module_name, item_name, metadata)
|
14
|
+
modula = get_module(module_name, metadata)
|
15
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
16
|
+
|
17
|
+
modula._get(:storage)._get(:items).find do |item|
|
18
|
+
item._get(:name) == item_name
|
19
|
+
end
|
17
20
|
end
|
18
21
|
end
|
19
|
-
end
|
20
22
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
TYPES = {
|
24
|
+
MetadataV13: {
|
25
|
+
modules: 'Vec<ModuleMetadataV13>',
|
26
|
+
extrinsic: 'ExtrinsicMetadataV13'
|
27
|
+
},
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
29
|
+
ModuleMetadataV13: {
|
30
|
+
name: 'Text',
|
31
|
+
storage: 'Option<StorageMetadataV13>',
|
32
|
+
calls: 'Option<Vec<FunctionMetadataV13>>',
|
33
|
+
events: 'Option<Vec<EventMetadataV13>>',
|
34
|
+
constants: 'Vec<ModuleConstantMetadataV13>',
|
35
|
+
errors: 'Vec<ErrorMetadataV13>',
|
36
|
+
index: 'u8'
|
37
|
+
},
|
38
|
+
StorageMetadataV13: {
|
39
|
+
prefix: 'Text',
|
40
|
+
items: 'Vec<StorageEntryMetadataV13>'
|
41
|
+
},
|
42
|
+
StorageEntryMetadataV13: {
|
43
|
+
name: 'Text',
|
44
|
+
modifier: 'StorageEntryModifierV13',
|
45
|
+
type: 'StorageEntryTypeV13',
|
46
|
+
fallback: 'Bytes',
|
47
|
+
docs: 'Vec<Text>'
|
48
|
+
},
|
49
|
+
StorageEntryModifierV13: 'StorageEntryModifierV12',
|
50
|
+
StorageEntryTypeV13: {
|
51
|
+
_enum: {
|
52
|
+
plain: 'Type',
|
53
|
+
map: {
|
54
|
+
hasher: 'StorageHasherV13',
|
55
|
+
key: 'Type',
|
56
|
+
value: 'Type',
|
57
|
+
linked: 'bool'
|
58
|
+
},
|
59
|
+
doubleMap: {
|
60
|
+
hasher: 'StorageHasherV13',
|
61
|
+
key1: 'Type',
|
62
|
+
key2: 'Type',
|
63
|
+
value: 'Type',
|
64
|
+
key2Hasher: 'StorageHasherV13'
|
65
|
+
},
|
66
|
+
nMap: {
|
67
|
+
keyVec: 'Vec<Type>',
|
68
|
+
hashers: 'Vec<StorageHasherV13>',
|
69
|
+
value: 'Type'
|
70
|
+
}
|
68
71
|
}
|
69
|
-
}
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
72
|
+
},
|
73
|
+
StorageHasherV13: 'StorageHasherV12',
|
74
|
+
FunctionMetadataV13: 'FunctionMetadataV12',
|
75
|
+
EventMetadataV13: 'EventMetadataV12',
|
76
|
+
ModuleConstantMetadataV13: 'ModuleConstantMetadataV12',
|
77
|
+
ErrorMetadataV13: 'ErrorMetadataV12',
|
78
|
+
ExtrinsicMetadataV13: 'ExtrinsicMetadataV12'
|
79
|
+
}.freeze
|
80
|
+
end
|
78
81
|
end
|
79
82
|
end
|