From 4a7ea7e6f2d54cf752e0fd447bb93e9333a68cf5 Mon Sep 17 00:00:00 2001 From: shaojunda Date: Thu, 19 Sep 2019 20:13:09 +0800 Subject: [PATCH] feat: change to class method --- lib/ckb/address.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/ckb/address.rb b/lib/ckb/address.rb index 3fd76ab6..7d6b40f0 100644 --- a/lib/ckb/address.rb +++ b/lib/ckb/address.rb @@ -35,12 +35,13 @@ def generate # see https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0021-ckb-address-format/0021-ckb-address-format.md for more info. # @param [String] hash160 # @return [String] - def generate_short_payload_hash160_address(hash160) + def self.generate_short_payload_hash160_address(hash160, mode: DEFAULT_MODE) + prefix = prefix(mode: mode) hash160_bin = [hash160[2..-1]].pack("H*") type = [TYPES[0]].pack("H*") code_hash_index = [CODE_HASH_INDEXES[1]].pack("H*") payload = type + code_hash_index + hash160_bin - ConvertAddress.encode(@prefix, payload) + ConvertAddress.encode(prefix, payload) end # Generates full payload format address @@ -50,7 +51,8 @@ def generate_short_payload_hash160_address(hash160) # @param [String] code_hash # @param [String[]] args # @return [String] - def generate_full_payload_address(format_type, code_hash, args) + def self.generate_full_payload_address(format_type, code_hash, args, mode: DEFAULT_MODE) + prefix = prefix(mode: mode) format_type = Utils.to_hex(format_type)[2..-1].rjust(2, '0') raise InvalidFormatTypeError.new("Invalid format type") unless TYPES[1..-1].include?(format_type) raise InvalidArgsTypeError.new("Args should be an array") unless args.is_a?(Array) @@ -66,7 +68,7 @@ def generate_full_payload_address(format_type, code_hash, args) end end - CKB::ConvertAddress.encode(@prefix, payload) + CKB::ConvertAddress.encode(prefix, payload) end alias to_s generate