class Scale::Types::BoxProposal
Public Class Methods
decode(scale_bytes, metadata, chain_spec)
click to toggle source
# File lib/scale/types.rb, line 890 def self.decode(scale_bytes, metadata, chain_spec) puts "BEGIN " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true call_index = scale_bytes.get_next_bytes(2).bytes_to_hex[2..] call_module, call = metadata.value.call_index[call_index] call_args = call[:args].map do |arg| arg_obj = Scale::Types.get(arg[:type], chain_spec).decode(scale_bytes) {name: arg[:name], type: arg[:type], value: arg_obj.encode, value_raw: arg_obj.value} end puts " END " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true self.new({ call_index: call_index, call_function: call[:name], call_module: call_module[:name], call_args: call_args }) end
Public Instance Methods
encode()
click to toggle source
# File lib/scale/types.rb, line 909 def encode value[:call_index] + value[:call_args] .map {|call_arg| call_arg[:value]} .join("") end