Current section
Files
Jump to
Current section
Files
lib/key/hd/derivation_path/parser/change.ex
defmodule BitcoinLib.Key.HD.DerivationPath.Parser.Change do
# https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change
@receiving_chain_value 0
@receiving_chain_atom :receiving_chain
@change_chain_value 1
@change_chain_atom :change_chain
@invalid_atom :invalid
@doc """
Converts an integer into an atom representing the receiving or change chain
## Examples
iex> BitcoinLib.Key.HD.DerivationPath.Parser.Change.parse(0)
:receiving_chain
"""
@spec parse(integer()) :: :receiving_chain | :change_chain | :invalid
def parse(value) when is_integer(value) do
case value do
@receiving_chain_value -> @receiving_chain_atom
@change_chain_value -> @change_chain_atom
_ -> @invalid_atom
end
end
def parse(hash) do
hash
end
end