Package org.bitcoinj.protobuf.wallet
Class Protos.DeterministicKey
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite<MessageType,BuilderType>
-
- com.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,Protos.DeterministicKey.Builder>
-
- org.bitcoinj.protobuf.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 typewallet.DeterministicKey
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProtos.DeterministicKey.BuilderData 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
-
-
Field Summary
Fields Modifier and Type Field Description static intCHAIN_CODE_FIELD_NUMBERstatic intISFOLLOWING_FIELD_NUMBERstatic intISSUED_SUBKEYS_FIELD_NUMBERstatic intLOOKAHEAD_SIZE_FIELD_NUMBERstatic intPATH_FIELD_NUMBERstatic intSIGSREQUIREDTOSPEND_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.ObjectdynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1)com.google.protobuf.ByteStringgetChainCode()Random data that allows us to extend a key.static Protos.DeterministicKeygetDefaultInstance()booleangetIsFollowing()Flag indicating that this key is a root of a following chain.intgetIssuedSubkeys()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.intgetLookaheadSize()optional uint32 lookahead_size = 4;intgetPath(int index)The path through the key tree.intgetPathCount()The path through the key tree.java.util.List<java.lang.Integer>getPathList()The path through the key tree.intgetSigsRequiredToSpend()Number of signatures required to spend.booleanhasChainCode()Random data that allows us to extend a key.booleanhasIsFollowing()Flag indicating that this key is a root of a following chain.booleanhasIssuedSubkeys()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.booleanhasLookaheadSize()optional uint32 lookahead_size = 4;booleanhasSigsRequiredToSpend()Number of signatures required to spend.static Protos.DeterministicKey.BuildernewBuilder()static Protos.DeterministicKey.BuildernewBuilder(Protos.DeterministicKey prototype)static Protos.DeterministicKeyparseDelimitedFrom(java.io.InputStream input)static Protos.DeterministicKeyparseDelimitedFrom(java.io.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(java.io.InputStream input)static Protos.DeterministicKeyparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static Protos.DeterministicKeyparseFrom(java.nio.ByteBuffer data)static Protos.DeterministicKeyparseFrom(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
-
-
-
-
Field Detail
-
CHAIN_CODE_FIELD_NUMBER
public static final int CHAIN_CODE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PATH_FIELD_NUMBER
public static final int PATH_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:
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
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:
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 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:
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 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:
getIsFollowingin interfaceProtos.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:
hasSigsRequiredToSpendin interfaceProtos.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:
getSigsRequiredToSpendin interfaceProtos.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
-
newBuilder
public static Protos.DeterministicKey.Builder newBuilder()
-
newBuilder
public static Protos.DeterministicKey.Builder newBuilder(Protos.DeterministicKey prototype)
-
dynamicMethod
protected final java.lang.Object dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1)- Specified by:
dynamicMethodin classcom.google.protobuf.GeneratedMessageLite<Protos.DeterministicKey,Protos.DeterministicKey.Builder>
-
getDefaultInstance
public static Protos.DeterministicKey getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<Protos.DeterministicKey> parser()
-
-