module Xpring::Util

Various utilities

Public Class Methods

byte_string_from_hex_bytes(input) click to toggle source

@param input [Array<Integer>] @return [String]

# File lib/xpring/util.rb, line 70
def self.byte_string_from_hex_bytes(input)
  input.pack("C*")
end
byte_string_from_string(input) click to toggle source

@param input [#to_s] @return [String]

# File lib/xpring/util.rb, line 76
def self.byte_string_from_string(input)
  byte_string_from_hex_bytes(
    hex_bytes_from_string(input),
  )
end
decode(x_address) click to toggle source

@param x_address [#to_s] @return [Hash<Symbol, Object>]

# File lib/xpring/util.rb, line 52
    def self.decode(x_address)
      Javascript.run do
        <<~JAVASCRIPT
          #{Javascript::ENTRY_POINT}.Utils.decodeXAddress('#{x_address}');
        JAVASCRIPT
      end
    end
encode(classic_address, tag: nil, test: false) click to toggle source

@param classic_address [#to_s] @param tag [#to_s, nil] @param test [true, false] @return [String]

# File lib/xpring/util.rb, line 42
    def self.encode(classic_address, tag: nil, test: false)
      Javascript.run do
        <<~JAVASCRIPT
          #{Javascript::ENTRY_POINT}.Utils.encodeXAddress('#{classic_address}', #{tag&.to_s}, #{test});
        JAVASCRIPT
      end
    end
hex_bytes_from_string(input) click to toggle source

@param input [#to_s] @return [Array<Integer>]

# File lib/xpring/util.rb, line 62
def self.hex_bytes_from_string(input)
  input.to_s.chars.each_slice(2).map do |*pair|
    pair.join.hex
  end
end
valid_address?(address) click to toggle source

@param address [#to_s] @return [true, false]

# File lib/xpring/util.rb, line 10
    def self.valid_address?(address)
      Javascript.run do
        <<~JAVASCRIPT
          #{Javascript::ENTRY_POINT}.Utils.isValidAddress('#{address}');
        JAVASCRIPT
      end == true
    end
valid_classic_address?(address) click to toggle source

@param address [#to_s] @return [true, false]

# File lib/xpring/util.rb, line 30
    def self.valid_classic_address?(address)
      Javascript.run do
        <<~JAVASCRIPT
          #{Javascript::ENTRY_POINT}.Utils.isValidClassicAddress('#{address}');
        JAVASCRIPT
      end == true
    end
valid_x_address?(address) click to toggle source

@param address [#to_s] @return [true, false]

# File lib/xpring/util.rb, line 20
    def self.valid_x_address?(address)
      Javascript.run do
        <<~JAVASCRIPT
          #{Javascript::ENTRY_POINT}.Utils.isValidXAddress('#{address}');
        JAVASCRIPT
      end == true
    end