class Scale::Types::MetadataV13Module
Public Class Methods
decode(scale_bytes)
click to toggle source
# File lib/metadata/metadata_v13.rb, line 127 def self.decode(scale_bytes) name = String.decode(scale_bytes).value result = { name: name } has_storage = Bool.decode(scale_bytes).value if has_storage storage = MetadataV13ModuleStorage.decode(scale_bytes).value result[:storage] = storage result[:prefix] = storage[:prefix] end has_calls = Bool.decode(scale_bytes).value if has_calls calls = Scale::Types.get("Vec<MetadataModuleCall>").decode(scale_bytes).value result[:calls] = calls.map(&:value) end has_events = Bool.decode(scale_bytes).value if has_events events = Scale::Types.get("Vec<MetadataModuleEvent>").decode(scale_bytes).value result[:events] = events.map(&:value) end result[:constants] = Scale::Types.get("Vec<MetadataV7ModuleConstants>").decode(scale_bytes).value.map(&:value) result[:errors] = Scale::Types.get("Vec<MetadataModuleError>").decode(scale_bytes).value.map(&:value) result[:index] = U8.decode(scale_bytes).value MetadataV13Module.new(result) end