Class Protos.DeterministicKey

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Protos.DeterministicKey.Builder
      Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageLite

        com.google.protobuf.GeneratedMessageLite.DefaultInstanceBasedParser<T extends com.google.protobuf.GeneratedMessageLite<T,​?>>, com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,​BuilderType>,​BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,​BuilderType>,​BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,​BuilderType>,​BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageLite.GeneratedExtension<ContainingType extends com.google.protobuf.MessageLite,​Type extends java.lang.Object>, com.google.protobuf.GeneratedMessageLite.MethodToInvoke, com.google.protobuf.GeneratedMessageLite.SerializedForm
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Object dynamicMethod​(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1)  
      com.google.protobuf.ByteString getChainCode()
      Random data that allows us to extend a key.
      static Protos.DeterministicKey getDefaultInstance()  
      boolean getIsFollowing()
      Flag indicating that this key is a root of a following chain.
      int getIssuedSubkeys()
      How many children of this key have been issued, that is, given to the user when they requested a fresh key? For the parents of keys being handed out, this is always less than the true number of children: the difference is called the lookahead zone.
      int getLookaheadSize()
      optional uint32 lookahead_size = 4;
      int getPath​(int index)
      The path through the key tree.
      int getPathCount()
      The path through the key tree.
      java.util.List<java.lang.Integer> getPathList()
      The path through the key tree.
      int getSigsRequiredToSpend()
      Number of signatures required to spend.
      boolean hasChainCode()
      Random data that allows us to extend a key.
      boolean hasIsFollowing()
      Flag indicating that this key is a root of a following chain.
      boolean hasIssuedSubkeys()
      How many children of this key have been issued, that is, given to the user when they requested a fresh key? For the parents of keys being handed out, this is always less than the true number of children: the difference is called the lookahead zone.
      boolean hasLookaheadSize()
      optional uint32 lookahead_size = 4;
      boolean hasSigsRequiredToSpend()
      Number of signatures required to spend.
      static Protos.DeterministicKey.Builder newBuilder()  
      static Protos.DeterministicKey.Builder newBuilder​(Protos.DeterministicKey prototype)  
      static Protos.DeterministicKey parseDelimitedFrom​(java.io.InputStream input)  
      static Protos.DeterministicKey parseDelimitedFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Protos.DeterministicKey parseFrom​(byte[] data)  
      static Protos.DeterministicKey parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Protos.DeterministicKey parseFrom​(com.google.protobuf.ByteString data)  
      static Protos.DeterministicKey parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Protos.DeterministicKey parseFrom​(com.google.protobuf.CodedInputStream input)  
      static Protos.DeterministicKey parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Protos.DeterministicKey parseFrom​(java.io.InputStream input)  
      static Protos.DeterministicKey parseFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Protos.DeterministicKey parseFrom​(java.nio.ByteBuffer data)  
      static Protos.DeterministicKey parseFrom​(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<Protos.DeterministicKey> parser()  
      • Methods inherited from class com.google.protobuf.GeneratedMessageLite

        createBuilder, createBuilder, dynamicMethod, dynamicMethod, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, emptyProtobufList, equals, getDefaultInstanceForType, getParserForType, getSerializedSize, hashCode, isInitialized, isInitialized, makeImmutable, mergeLengthDelimitedField, mergeUnknownFields, mergeVarintField, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType, newMessageInfo, newRepeatedGeneratedExtension, newSingularGeneratedExtension, parseDelimitedFrom, parseDelimitedFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parsePartialFrom, parseUnknownField, registerDefaultInstance, toBuilder, toString, writeTo
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

        getDefaultInstanceForType, isInitialized
    • Field Detail

      • CHAIN_CODE_FIELD_NUMBER

        public static final int CHAIN_CODE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ISSUED_SUBKEYS_FIELD_NUMBER

        public static final int ISSUED_SUBKEYS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOOKAHEAD_SIZE_FIELD_NUMBER

        public static final int LOOKAHEAD_SIZE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ISFOLLOWING_FIELD_NUMBER

        public static final int ISFOLLOWING_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SIGSREQUIREDTOSPEND_FIELD_NUMBER

        public static final int SIGSREQUIREDTOSPEND_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • hasChainCode

        public boolean hasChainCode()
         Random data that allows us to extend a key. Without this, we can't figure out the next key in the chain and
         should just treat it as a regular ORIGINAL type key.
         
        required bytes chain_code = 1;
        Specified by:
        hasChainCode in interface Protos.DeterministicKeyOrBuilder
        Returns:
        Whether the chainCode field is set.
      • getChainCode

        public com.google.protobuf.ByteString getChainCode()
         Random data that allows us to extend a key. Without this, we can't figure out the next key in the chain and
         should just treat it as a regular ORIGINAL type key.
         
        required bytes chain_code = 1;
        Specified by:
        getChainCode in interface Protos.DeterministicKeyOrBuilder
        Returns:
        The chainCode.
      • getPathList

        public java.util.List<java.lang.Integer> getPathList()
         The path through the key tree. Each number is encoded in the standard form: high bit set for private derivation
         and high bit unset for public derivation.
         
        repeated uint32 path = 2;
        Specified by:
        getPathList in interface Protos.DeterministicKeyOrBuilder
        Returns:
        A list containing the path.
      • getPathCount

        public int getPathCount()
         The path through the key tree. Each number is encoded in the standard form: high bit set for private derivation
         and high bit unset for public derivation.
         
        repeated uint32 path = 2;
        Specified by:
        getPathCount in interface Protos.DeterministicKeyOrBuilder
        Returns:
        The count of path.
      • getPath

        public int getPath​(int index)
         The path through the key tree. Each number is encoded in the standard form: high bit set for private derivation
         and high bit unset for public derivation.
         
        repeated uint32 path = 2;
        Specified by:
        getPath in interface Protos.DeterministicKeyOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The path at the given index.
      • hasIssuedSubkeys

        public boolean hasIssuedSubkeys()
         How many children of this key have been issued, that is, given to the user when they requested a fresh key?
         For the parents of keys being handed out, this is always less than the true number of children: the difference is
         called the lookahead zone. These keys are put into Bloom filters so we can spot transactions made by clones of
         this wallet - for instance when restoring from backup or if the seed was shared between devices.
        
         If this field is missing it means we're not issuing subkeys of this key to users.
         
        optional uint32 issued_subkeys = 3;
        Specified by:
        hasIssuedSubkeys in interface Protos.DeterministicKeyOrBuilder
        Returns:
        Whether the issuedSubkeys field is set.
      • getIssuedSubkeys

        public int getIssuedSubkeys()
         How many children of this key have been issued, that is, given to the user when they requested a fresh key?
         For the parents of keys being handed out, this is always less than the true number of children: the difference is
         called the lookahead zone. These keys are put into Bloom filters so we can spot transactions made by clones of
         this wallet - for instance when restoring from backup or if the seed was shared between devices.
        
         If this field is missing it means we're not issuing subkeys of this key to users.
         
        optional uint32 issued_subkeys = 3;
        Specified by:
        getIssuedSubkeys in interface Protos.DeterministicKeyOrBuilder
        Returns:
        The issuedSubkeys.
      • hasIsFollowing

        public boolean hasIsFollowing()
        
         Flag indicating that this key is a root of a following chain. This chain is following the next non-following chain.
         Following/followed chains concept was used for married keychains, where the set of keys combined together to produce
         a single P2SH multisignature address. It is currently unused, but this flag is preserved.
         
        optional bool isFollowing = 5;
        Specified by:
        hasIsFollowing in interface Protos.DeterministicKeyOrBuilder
        Returns:
        Whether the isFollowing field is set.
      • getIsFollowing

        public boolean getIsFollowing()
        
         Flag indicating that this key is a root of a following chain. This chain is following the next non-following chain.
         Following/followed chains concept was used for married keychains, where the set of keys combined together to produce
         a single P2SH multisignature address. It is currently unused, but this flag is preserved.
         
        optional bool isFollowing = 5;
        Specified by:
        getIsFollowing in interface Protos.DeterministicKeyOrBuilder
        Returns:
        The isFollowing.
      • hasSigsRequiredToSpend

        public boolean hasSigsRequiredToSpend()
         Number of signatures required to spend. This field was needed only for married keychains to reconstruct KeyChain
         and represents the N value from N-of-M CHECKMULTISIG script. It is currently unused, but this number is preserved.
         For regular single keychains it will always be 1.
         
        optional uint32 sigsRequiredToSpend = 6 [default = 1];
        Specified by:
        hasSigsRequiredToSpend in interface Protos.DeterministicKeyOrBuilder
        Returns:
        Whether the sigsRequiredToSpend field is set.
      • getSigsRequiredToSpend

        public int getSigsRequiredToSpend()
         Number of signatures required to spend. This field was needed only for married keychains to reconstruct KeyChain
         and represents the N value from N-of-M CHECKMULTISIG script. It is currently unused, but this number is preserved.
         For regular single keychains it will always be 1.
         
        optional uint32 sigsRequiredToSpend = 6 [default = 1];
        Specified by:
        getSigsRequiredToSpend in interface Protos.DeterministicKeyOrBuilder
        Returns:
        The sigsRequiredToSpend.
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(java.nio.ByteBuffer data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(java.nio.ByteBuffer data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(com.google.protobuf.ByteString data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(com.google.protobuf.ByteString data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(byte[] data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(byte[] data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(java.io.InputStream input)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(java.io.InputStream input,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Protos.DeterministicKey parseDelimitedFrom​(java.io.InputStream input)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Protos.DeterministicKey parseDelimitedFrom​(java.io.InputStream input,
                                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(com.google.protobuf.CodedInputStream input)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Protos.DeterministicKey parseFrom​(com.google.protobuf.CodedInputStream input,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • dynamicMethod

        protected final java.lang.Object dynamicMethod​(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
                                                       java.lang.Object arg0,
                                                       java.lang.Object arg1)
        Specified by:
        dynamicMethod in class com.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,​Protos.DeterministicKey.Builder>