class CoinAddressValidators::XrpValidator

Constants

XRPBASE58

Public Instance Methods

valid?(address) click to toggle source
# File lib/coin-address-validators.rb, line 69
def valid?(address)
  hex = XRPBASE58.decode(address).bth
  addr = hex[0...-8].rjust(42, "0")
  checksum = hex[-8..-1]
  Digest::SHA256.hexdigest(Digest::SHA256.digest(addr.htb))[0...8] == checksum
rescue BaseX::InvalidNumeral => e
  false
end