Class: BitcoinPayable::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/bitcoin_payable/address.rb

Class Method Summary collapse

Class Method Details

.create(id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/bitcoin_payable/address.rb', line 4

def self.create(id)
  if BitcoinPayable.config.master_seed
    config = {
      seed_hex: BitcoinPayable.config.master_seed
    }
    config.merge!(network: :bitcoin_testnet) if BitcoinPayable.config.testnet
    master = MoneyTree::Master.new config
    node = master.node_for_path "m/0/#{id}"

  elsif BitcoinPayable.config.master_public_key
    master = MoneyTree::Node.from_serialized_address BitcoinPayable.config.master_public_key
    node = master.node_for_path id.to_s
  else
    raise "MASTER_SEED or MASTER_PUBLIC_KEY is required"
  end

  node.to_address
end