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 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
-
-
Field Summary
Fields Modifier and Type Field Description static int
CHAIN_CODE_FIELD_NUMBER
static int
ISFOLLOWING_FIELD_NUMBER
static int
ISSUED_SUBKEYS_FIELD_NUMBER
static int
LOOKAHEAD_SIZE_FIELD_NUMBER
static int
PATH_FIELD_NUMBER
static int
SIGSREQUIREDTOSPEND_FIELD_NUMBER
-
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
-
-
-
-
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:
hasChainCode
in 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:
getChainCode
in 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:
getPathList
in 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:
getPathCount
in 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:
getPath
in 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:
hasIssuedSubkeys
in 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:
getIssuedSubkeys
in interfaceProtos.DeterministicKeyOrBuilder
- Returns:
- The issuedSubkeys.
-
hasLookaheadSize
public boolean hasLookaheadSize()
optional uint32 lookahead_size = 4;
- Specified by:
hasLookaheadSize
in interfaceProtos.DeterministicKeyOrBuilder
- Returns:
- Whether the lookaheadSize field is set.
-
getLookaheadSize
public int getLookaheadSize()
optional uint32 lookahead_size = 4;
- Specified by:
getLookaheadSize
in 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:
hasIsFollowing
in 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:
getIsFollowing
in 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:
hasSigsRequiredToSpend
in 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:
getSigsRequiredToSpend
in 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:
dynamicMethod
in 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()
-
-