Class ChildNumber

  • All Implemented Interfaces:
    java.lang.Comparable<ChildNumber>

    public class ChildNumber
    extends java.lang.Object
    implements java.lang.Comparable<ChildNumber>

    This is just a wrapper for the i (child number) as per BIP 32 with a boolean getter for the most significant bit and a getter for the actual 0-based child number. A List of these forms a path through a DeterministicHierarchy. This class is immutable.

    • Constructor Summary

      Constructors 
      Constructor Description
      ChildNumber​(int i)  
      ChildNumber​(int childNumber, boolean isHardened)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(ChildNumber other)  
      boolean equals​(java.lang.Object o)  
      int getI()
      Returns the uint32 encoded form of the path element, including the most significant bit.
      int hashCode()  
      int i()
      Returns the uint32 encoded form of the path element, including the most significant bit.
      boolean isHardened()  
      int num()
      Returns the child number without the hardening bit set (i.e.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • HARDENED_BIT

        public static final int HARDENED_BIT
        The bit that's set in the child number to indicate whether this key is "hardened". Given a hardened key, it is not possible to derive a child public key if you know only the hardened public key. With a non-hardened key this is possible, so you can derive trees of public keys given only a public parent, but the downside is that it's possible to leak private keys if you disclose a parent public key and a child private key (elliptic curve maths allows you to work upwards).
        See Also:
        Constant Field Values
      • ZERO_HARDENED

        public static final ChildNumber ZERO_HARDENED
      • ONE_HARDENED

        public static final ChildNumber ONE_HARDENED
    • Constructor Detail

      • ChildNumber

        public ChildNumber​(int childNumber,
                           boolean isHardened)
      • ChildNumber

        public ChildNumber​(int i)
    • Method Detail

      • getI

        public int getI()
        Returns the uint32 encoded form of the path element, including the most significant bit.
      • i

        public int i()
        Returns the uint32 encoded form of the path element, including the most significant bit.
      • isHardened

        public boolean isHardened()
      • num

        public int num()
        Returns the child number without the hardening bit set (i.e. index in that part of the tree).
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • compareTo

        public int compareTo​(ChildNumber other)
        Specified by:
        compareTo in interface java.lang.Comparable<ChildNumber>