class Scale::Types::MetadataV0Module
Public Class Methods
decode(scale_bytes)
click to toggle source
# File lib/metadata/metadata_v0.rb, line 94 def self.decode(scale_bytes) prefix = Bytes.decode(scale_bytes).value name = Bytes.decode(scale_bytes).value call_name = Bytes.decode(scale_bytes).value functions = Scale::Types.get("Vec<MetadataV0ModuleFunction>").decode(scale_bytes).value.map(&:value) result = { prefix: prefix, module: { name: name, call: { name: call_name, functions: functions } } } has_storage = Bool.decode(scale_bytes).value if has_storage storage_prefix = Bytes.decode(scale_bytes).value storage = Scale::Types.get("Vec<MetadataV0ModuleStorage>").decode(scale_bytes).value.map(&:value) result[:storage] = { prefix: storage_prefix, functions: storage } end MetadataV0Module.new(result) end