Package org.bitcoinj.wallet
Class Protos.DeterministicKey
java.lang.Object
com.google.protobuf.AbstractMessageLite<MessageType,BuilderType>
com.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,Protos.DeterministicKey.Builder>
org.bitcoinj.wallet.Protos.DeterministicKey
- All Implemented Interfaces:
com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,Protos.DeterministicKeyOrBuilder
- Enclosing class:
- Protos
public static final class Protos.DeterministicKey
extends com.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,Protos.DeterministicKey.Builder>
implements Protos.DeterministicKeyOrBuilder
Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.Protobuf type
wallet.DeterministicKey-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classData 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 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 -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageLite
memoizedSerializedSize, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionprotected final ObjectdynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1) com.google.protobuf.ByteStringRandom data that allows us to extend a key.static Protos.DeterministicKeybooleanFlag indicating that this key is a root of a following chain.intHow 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.intoptional uint32 lookahead_size = 4;intgetPath(int index) The path through the key tree.intThe path through the key tree.The path through the key tree.intNumber of signatures required to spend.booleanRandom data that allows us to extend a key.booleanFlag indicating that this key is a root of a following chain.booleanHow 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.booleanoptional uint32 lookahead_size = 4;booleanNumber of signatures required to spend.newBuilder(Protos.DeterministicKey prototype) static Protos.DeterministicKeyparseDelimitedFrom(InputStream input) static Protos.DeterministicKeyparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static Protos.DeterministicKeyparseFrom(byte[] data) static Protos.DeterministicKeyparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static Protos.DeterministicKeyparseFrom(com.google.protobuf.ByteString data) static Protos.DeterministicKeyparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static Protos.DeterministicKeyparseFrom(com.google.protobuf.CodedInputStream input) static Protos.DeterministicKeyparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static Protos.DeterministicKeyparseFrom(InputStream input) static Protos.DeterministicKeyparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static Protos.DeterministicKeyparseFrom(ByteBuffer data) static Protos.DeterministicKeyparseFrom(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, writeToMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType, isInitialized
-
Field Details
-
CHAIN_CODE_FIELD_NUMBER
public static final int CHAIN_CODE_FIELD_NUMBER- See Also:
-
PATH_FIELD_NUMBER
public static final int PATH_FIELD_NUMBER- See Also:
-
ISSUED_SUBKEYS_FIELD_NUMBER
public static final int ISSUED_SUBKEYS_FIELD_NUMBER- See Also:
-
LOOKAHEAD_SIZE_FIELD_NUMBER
public static final int LOOKAHEAD_SIZE_FIELD_NUMBER- See Also:
-
ISFOLLOWING_FIELD_NUMBER
public static final int ISFOLLOWING_FIELD_NUMBER- See Also:
-
SIGSREQUIREDTOSPEND_FIELD_NUMBER
public static final int SIGSREQUIREDTOSPEND_FIELD_NUMBER- See Also:
-
-
Method Details
-
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:
hasChainCodein interfaceProtos.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:
getChainCodein interfaceProtos.DeterministicKeyOrBuilder- Returns:
- The chainCode.
-
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:
getPathListin interfaceProtos.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:
getPathCountin interfaceProtos.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:
getPathin interfaceProtos.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:
hasIssuedSubkeysin interfaceProtos.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:
getIssuedSubkeysin interfaceProtos.DeterministicKeyOrBuilder- Returns:
- The issuedSubkeys.
-
hasLookaheadSize
public boolean hasLookaheadSize()optional uint32 lookahead_size = 4;- Specified by:
hasLookaheadSizein interfaceProtos.DeterministicKeyOrBuilder- Returns:
- Whether the lookaheadSize field is set.
-
getLookaheadSize
public int getLookaheadSize()optional uint32 lookahead_size = 4;- Specified by:
getLookaheadSizein interfaceProtos.DeterministicKeyOrBuilder- Returns:
- The lookaheadSize.
-
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 is used for married keychains, where the set of keys combined together to produce a single P2SH multisignature address
optional bool isFollowing = 5;- Specified by:
hasIsFollowingin interfaceProtos.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 is used for married keychains, where the set of keys combined together to produce a single P2SH multisignature address
optional bool isFollowing = 5;- Specified by:
getIsFollowingin interfaceProtos.DeterministicKeyOrBuilder- Returns:
- The isFollowing.
-
hasSigsRequiredToSpend
public boolean hasSigsRequiredToSpend()Number of signatures required to spend. This field is needed only for married keychains to reconstruct KeyChain and represents the N value from N-of-M CHECKMULTISIG script. For regular single keychains it will always be 1.
optional uint32 sigsRequiredToSpend = 6 [default = 1];- Specified by:
hasSigsRequiredToSpendin interfaceProtos.DeterministicKeyOrBuilder- Returns:
- Whether the sigsRequiredToSpend field is set.
-
getSigsRequiredToSpend
public int getSigsRequiredToSpend()Number of signatures required to spend. This field is needed only for married keychains to reconstruct KeyChain and represents the N value from N-of-M CHECKMULTISIG script. For regular single keychains it will always be 1.
optional uint32 sigsRequiredToSpend = 6 [default = 1];- Specified by:
getSigsRequiredToSpendin interfaceProtos.DeterministicKeyOrBuilder- Returns:
- The sigsRequiredToSpend.
-
parseFrom
public static Protos.DeterministicKey parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Protos.DeterministicKey parseFrom(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
- Throws:
IOException
-
parseFrom
public static Protos.DeterministicKey parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static Protos.DeterministicKey parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static Protos.DeterministicKey parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static Protos.DeterministicKey parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilder
-
newBuilder
-
dynamicMethod
protected final Object dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1) - Specified by:
dynamicMethodin classcom.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,Protos.DeterministicKey.Builder>
-
getDefaultInstance
-
parser
-