lib/metadata/metadata_v14.rb in scale_rb-0.1.7 vs lib/metadata/metadata_v14.rb in scale_rb-0.1.8
- old
+ new
@@ -12,15 +12,34 @@
metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
p._get(:name) == pallet_name
end
end
+ def get_module_by_index(pallet_index, metadata)
+ metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
+ p._get(:index) == pallet_index
+ end
+ end
+
def get_storage_item(pallet_name, item_name, metadata)
pallet = get_module(pallet_name, metadata)
raise "Pallet `#{pallet_name}` not found" if pallet.nil?
pallet._get(:storage)._get(:items).find do |item|
item._get(:name) == item_name
end
+ end
+
+ def get_calls_type(pallet_name, metadata)
+ type_id = get_calls_type_id(pallet_name, metadata)
+ metadata._get(:metadata)._get(:v14)._get(:lookup)._get(:types).find do |type|
+ type._get(:id) == type_id
+ end
+ end
+
+ def get_calls_type_id(pallet_name, metadata)
+ pallet = get_module(pallet_name, metadata)
+ raise "Pallet `#{pallet_name}` not found" if pallet.nil?
+ pallet._get(:calls)._get(:type)
end
end
TYPES = {
MetadataV14: {