scale_rb 0.1.5 → 0.1.6
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/client/http_client.rb +5 -2
- data/lib/metadata/metadata_v10.rb +1 -0
- data/lib/metadata/metadata_v11.rb +1 -0
- data/lib/metadata/metadata_v12.rb +1 -0
- data/lib/metadata/metadata_v13.rb +1 -0
- data/lib/metadata/metadata_v14.rb +1 -0
- data/lib/metadata/metadata_v9.rb +1 -0
- data/lib/portable_codec.rb +6 -0
- data/lib/scale_rb/version.rb +1 -1
- data/lib/storage_helper.rb +11 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c6c07616c5b65f7aee2b0504956231534d94cd3df9eba9320e4a22d2a38aed2
|
4
|
+
data.tar.gz: f2f3572c5d7ed389d5772c6245fb2e02eb75d57cf5ff28b78a8db82642d47402
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1709366a718feafae82a60b5a5aeb05e5e78fbc3160c151de66b2be25e62ad3f6031c50db0097cc1880c00ec263962f45b4cf3fcb6f4ccd0d13ab48ce9b84976
|
7
|
+
data.tar.gz: 231963a7fc17cc7d25ec5aded79120f11733e97d81edf58f4f2fc31edbb11865b435bd286b9817db744d98bad8751433eb68e809d567f9590d5ee70c5687b97d
|
data/Gemfile.lock
CHANGED
data/lib/client/http_client.rb
CHANGED
@@ -104,9 +104,10 @@ module ScaleRb
|
|
104
104
|
# },
|
105
105
|
# ..
|
106
106
|
#
|
107
|
+
# TODO: part of the key is provided, but not all
|
107
108
|
def get_storage(url, pallet_name, item_name, key, value, registry, at = nil)
|
108
109
|
# map, but no key's value provided. get all storages under the partial storage key
|
109
|
-
if
|
110
|
+
if key && (key[:value].nil? || key[:value].empty?)
|
110
111
|
partial_storage_key = StorageHelper.encode_storage_key(pallet_name, item_name).to_hex
|
111
112
|
get_storages_by_partial_key(
|
112
113
|
url,
|
@@ -124,10 +125,11 @@ module ScaleRb
|
|
124
125
|
end
|
125
126
|
|
126
127
|
def get_storage2(url, pallet_name, item_name, value_of_key, metadata, at = nil)
|
127
|
-
raise '
|
128
|
+
raise 'Metadata should not be nil' if metadata.nil?
|
128
129
|
|
129
130
|
registry = Metadata.build_registry(metadata)
|
130
131
|
item = Metadata.get_storage_item(pallet_name, item_name, metadata)
|
132
|
+
raise "No such storage item: `#{pallet_name}`.`#{item_name}`" if item.nil?
|
131
133
|
|
132
134
|
modifier = item._get(:modifier) # Default | Optional
|
133
135
|
fallback = item._get(:fallback)
|
@@ -135,6 +137,7 @@ module ScaleRb
|
|
135
137
|
|
136
138
|
plain = type._get(:plain)
|
137
139
|
map = type._get(:map)
|
140
|
+
# debug
|
138
141
|
|
139
142
|
key, value =
|
140
143
|
if plain
|
@@ -11,6 +11,7 @@ module Metadata
|
|
11
11
|
|
12
12
|
def get_storage_item(module_name, item_name, metadata)
|
13
13
|
modula = get_module(module_name, metadata)
|
14
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
14
15
|
modula._get(:storage)._get(:items).find do |item|
|
15
16
|
item._get(:name) == item_name
|
16
17
|
end
|
@@ -11,6 +11,7 @@ module Metadata
|
|
11
11
|
|
12
12
|
def get_storage_item(module_name, item_name, metadata)
|
13
13
|
modula = get_module(module_name, metadata)
|
14
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
14
15
|
modula._get(:storage)._get(:items).find do |item|
|
15
16
|
item._get(:name) == item_name
|
16
17
|
end
|
@@ -11,6 +11,7 @@ module Metadata
|
|
11
11
|
|
12
12
|
def get_storage_item(module_name, item_name, metadata)
|
13
13
|
modula = get_module(module_name, metadata)
|
14
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
14
15
|
modula._get(:storage)._get(:items).find do |item|
|
15
16
|
item._get(:name) == item_name
|
16
17
|
end
|
@@ -11,6 +11,7 @@ module Metadata
|
|
11
11
|
|
12
12
|
def get_storage_item(module_name, item_name, metadata)
|
13
13
|
modula = get_module(module_name, metadata)
|
14
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
14
15
|
modula._get(:storage)._get(:items).find do |item|
|
15
16
|
item._get(:name) == item_name
|
16
17
|
end
|
@@ -16,6 +16,7 @@ module Metadata
|
|
16
16
|
|
17
17
|
def get_storage_item(pallet_name, item_name, metadata)
|
18
18
|
pallet = get_module(pallet_name, metadata)
|
19
|
+
raise "Pallet `#{pallet_name}` not found" if pallet.nil?
|
19
20
|
pallet._get(:storage)._get(:items).find do |item|
|
20
21
|
item._get(:name) == item_name
|
21
22
|
end
|
data/lib/metadata/metadata_v9.rb
CHANGED
@@ -11,6 +11,7 @@ module Metadata
|
|
11
11
|
|
12
12
|
def get_storage_item(module_name, item_name, metadata)
|
13
13
|
modula = get_module(module_name, metadata)
|
14
|
+
raise "Module `#{module_name}` not found" if modula.nil?
|
14
15
|
modula._get(:storage)._get(:items).find do |item|
|
15
16
|
item._get(:name) == item_name
|
16
17
|
end
|
data/lib/portable_codec.rb
CHANGED
@@ -134,6 +134,9 @@ module PortableCodec
|
|
134
134
|
raise TypeNotFound, "id: #{id}" if type.nil?
|
135
135
|
|
136
136
|
type_def = type._get(:def)
|
137
|
+
# debug
|
138
|
+
# p type_def
|
139
|
+
# p value
|
137
140
|
|
138
141
|
return encode_primitive(type_def, value) if type_def._key?(:primitive)
|
139
142
|
return encode_compact(value) if type_def._key?(:compact)
|
@@ -188,6 +191,9 @@ module PortableCodec
|
|
188
191
|
fields = composite_type._get(:fields)
|
189
192
|
# reduce composite level when composite only has one field without name
|
190
193
|
if fields.length == 1 && fields.first._get(:name).nil?
|
194
|
+
# debug
|
195
|
+
# p fields.first._get(:type)
|
196
|
+
# p value
|
191
197
|
encode(fields.first._get(:type), value, registry)
|
192
198
|
else
|
193
199
|
values =
|
data/lib/scale_rb/version.rb
CHANGED
data/lib/storage_helper.rb
CHANGED
@@ -12,11 +12,11 @@ module StorageHelper
|
|
12
12
|
|
13
13
|
if key && registry
|
14
14
|
|
15
|
-
|
15
|
+
key_types, key_values =
|
16
16
|
if key[:hashers].length == 1
|
17
17
|
[
|
18
18
|
[key[:type]],
|
19
|
-
|
19
|
+
key[:value]
|
20
20
|
]
|
21
21
|
else
|
22
22
|
[
|
@@ -25,7 +25,13 @@ module StorageHelper
|
|
25
25
|
]
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
# debug
|
29
|
+
# p "encode_storage_key -----------------------"
|
30
|
+
# p key_types
|
31
|
+
# p key_values
|
32
|
+
# p "encode_storage_key -----------------------"
|
33
|
+
raise "Key's value doesn't match key's type, key's value: #{key_values.inspect}, but key's type: #{key_types.inspect}. Please check your key's value." if key_types.class != key_values.class || key_types.length != key_values.length
|
34
|
+
storage_key + PortableCodec._encode_types_with_hashers(key_types, key_values, registry, key[:hashers])
|
29
35
|
else
|
30
36
|
storage_key
|
31
37
|
end
|
@@ -35,9 +41,10 @@ module StorageHelper
|
|
35
41
|
# type: portable type id
|
36
42
|
# optional: boolean
|
37
43
|
# fallback: hex string
|
44
|
+
# returns nil or data
|
38
45
|
def decode_storage(data, type, optional, fallback, registry)
|
39
46
|
data ||= (optional ? nil : fallback)
|
40
|
-
PortableCodec.decode(type, data.to_bytes, registry)[0]
|
47
|
+
PortableCodec.decode(type, data.to_bytes, registry)[0] if data
|
41
48
|
end
|
42
49
|
|
43
50
|
# storage_item: the storage item from metadata
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scale_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aki Wu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: blake2b_rs
|