class TonSdk::Abi::AbiContract

Attributes

abi_version[R]
data[R]
events[R]
fields[R]
functions[R]
header[R]
version[R]

Public Class Methods

from_json(j) click to toggle source
# File lib/ton_sdk_client/abi.rb, line 585
def self.from_json(j)
  return nil if j.nil?

  fn_s = if j["functions"].nil?
    []
  else
    j["functions"].compact.map { |x| AbiFunction.from_json(x) }
  end

  ev_s = if j["events"].nil?
    []
  else
    j["events"].compact.map { |x| AbiEvent.from_json(x) }
  end

  dt_s = if j["data"].nil?
    []
  else
    j["data"].compact.map {|x| AbiData.from_json(x) }
  end

  fl_s = if j["fields"].nil?
    []
  else
    j["fields"].compact.map {|x| AbiParam.from_json(x) }
  end

  self.new(
    abi_version: j["ABI version"],
    version: j["version"],
    header: j["header"],
    functions: fn_s,
    events: ev_s,
    data: dt_s,
    fields: fl_s
  )
end
new( abi_version: nil, version: nil, header: [], functions: [], events: [], data: [], fields: [] ) click to toggle source
# File lib/ton_sdk_client/abi.rb, line 554
def initialize(
  abi_version: nil,
  version: nil,
  header: [],
  functions: [],
  events: [],
  data: [],
  fields: []
)
  @abi_version = abi_version
  @version = version
  @header = header
  @functions = functions
  @events = events
  @data = data
  @fields = fields
end

Public Instance Methods

to_h() click to toggle source
# File lib/ton_sdk_client/abi.rb, line 572
def to_h
  {
    abi_version: @abi_version,
    :"ABI version" => @abi_version, #TODO
    version: @version,
    header: @header,
    functions: @functions&.map(&:to_h),
    events: @events&.map(&:to_h),
    data: @data&.map(&:to_h),
    fields: @fields&.map(&:to_h)
  }
end