Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
*
* required bytes encrypted_private_key = 2;
* @param value The encryptedPrivateKey to set.
* @return This builder for chaining.
*/
public Builder setEncryptedPrivateKey(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setEncryptedPrivateKey(value);
return this;
}
/**
*
* The encrypted private key
*
*
* required bytes encrypted_private_key = 2;
* @return This builder for chaining.
*/
public Builder clearEncryptedPrivateKey() {
copyOnWrite();
instance.clearEncryptedPrivateKey();
return this;
}
// @@protoc_insertion_point(builder_scope:wallet.EncryptedData)
}
private byte memoizedIsInitialized = 2;
@java.lang.Override
@java.lang.SuppressWarnings({"unchecked", "fallthrough"})
protected final java.lang.Object dynamicMethod(
com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
java.lang.Object arg0, java.lang.Object arg1) {
switch (method) {
case NEW_MUTABLE_INSTANCE: {
return new org.bitcoinj.wallet.Protos.EncryptedData();
}
case NEW_BUILDER: {
return new Builder();
}
case BUILD_MESSAGE_INFO: {
java.lang.Object[] objects = new java.lang.Object[] {
"bitField0_",
"initialisationVector_",
"encryptedPrivateKey_",
};
java.lang.String info =
"\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0002\u0001\u150a\u0000\u0002" +
"\u150a\u0001";
return newMessageInfo(DEFAULT_INSTANCE, info, objects);
}
// fall through
case GET_DEFAULT_INSTANCE: {
return DEFAULT_INSTANCE;
}
case GET_PARSER: {
com.google.protobuf.Parser parser = PARSER;
if (parser == null) {
synchronized (org.bitcoinj.wallet.Protos.EncryptedData.class) {
parser = PARSER;
if (parser == null) {
parser =
new DefaultInstanceBasedParser(
DEFAULT_INSTANCE);
PARSER = parser;
}
}
}
return parser;
}
case GET_MEMOIZED_IS_INITIALIZED: {
return memoizedIsInitialized;
}
case SET_MEMOIZED_IS_INITIALIZED: {
memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
return null;
}
}
throw new UnsupportedOperationException();
}
// @@protoc_insertion_point(class_scope:wallet.EncryptedData)
private static final org.bitcoinj.wallet.Protos.EncryptedData DEFAULT_INSTANCE;
static {
EncryptedData defaultInstance = new EncryptedData();
// New instances are implicitly immutable so no need to make
// immutable.
DEFAULT_INSTANCE = defaultInstance;
com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
EncryptedData.class, defaultInstance);
}
public static org.bitcoinj.wallet.Protos.EncryptedData getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static volatile com.google.protobuf.Parser PARSER;
public static com.google.protobuf.Parser parser() {
return DEFAULT_INSTANCE.getParserForType();
}
}
public interface DeterministicKeyOrBuilder extends
// @@protoc_insertion_point(interface_extends:wallet.DeterministicKey)
com.google.protobuf.MessageLiteOrBuilder {
/**
*
* 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;
* @return Whether the chainCode field is set.
*/
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.
*
* 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;
* @return A list containing the path.
*/
java.util.List 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;
* @return The count of path.
*/
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;
* @param index The index of the element to return.
* @return The path at the given index.
*/
int getPath(int index);
/**
*
* 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;
* @return Whether the issuedSubkeys field is set.
*/
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;
* @return The issuedSubkeys.
*/
int getIssuedSubkeys();
/**
* optional uint32 lookahead_size = 4;
* @return Whether the lookaheadSize field is set.
*/
boolean hasLookaheadSize();
/**
* optional uint32 lookahead_size = 4;
* @return The lookaheadSize.
*/
int getLookaheadSize();
/**
*
**
* 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;
* @return Whether the isFollowing field is set.
*/
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
*
* 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];
* @return Whether the sigsRequiredToSpend field is set.
*/
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];
* @return The sigsRequiredToSpend.
*/
int getSigsRequiredToSpend();
}
/**
*
**
* Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.
*
*
* Protobuf type {@code wallet.DeterministicKey}
*/
public static final class DeterministicKey extends
com.google.protobuf.GeneratedMessageLite<
DeterministicKey, DeterministicKey.Builder> implements
// @@protoc_insertion_point(message_implements:wallet.DeterministicKey)
DeterministicKeyOrBuilder {
private DeterministicKey() {
chainCode_ = com.google.protobuf.ByteString.EMPTY;
path_ = emptyIntList();
sigsRequiredToSpend_ = 1;
}
private int bitField0_;
public static final int CHAIN_CODE_FIELD_NUMBER = 1;
private com.google.protobuf.ByteString chainCode_;
/**
*
* 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;
* @return Whether the chainCode field is set.
*/
@java.lang.Override
public boolean hasChainCode() {
return ((bitField0_ & 0x00000001) != 0);
}
/**
*
* 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.
*
* 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;
* @param value The chainCode to set.
*/
private void setChainCode(com.google.protobuf.ByteString value) {
value.getClass();
bitField0_ |= 0x00000001;
chainCode_ = value;
}
/**
*
* 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.
*
* 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;
* @return A list containing the path.
*/
@java.lang.Override
public java.util.List
getPathList() {
return path_;
}
/**
*
* 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;
* @return The count of path.
*/
@java.lang.Override
public int getPathCount() {
return path_.size();
}
/**
*
* 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;
* @param index The index of the element to return.
* @return The path at the given index.
*/
@java.lang.Override
public int getPath(int index) {
return path_.getInt(index);
}
private void ensurePathIsMutable() {
com.google.protobuf.Internal.IntList tmp = path_;
if (!tmp.isModifiable()) {
path_ =
com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
}
}
/**
*
* 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;
* @param index The index to set the value at.
* @param value The path to set.
*/
private void setPath(
int index, int value) {
ensurePathIsMutable();
path_.setInt(index, value);
}
/**
*
* 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;
* @param value The path to add.
*/
private void addPath(int value) {
ensurePathIsMutable();
path_.addInt(value);
}
/**
*
* 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.
*
* 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;
*/
private void clearPath() {
path_ = emptyIntList();
}
public static final int ISSUED_SUBKEYS_FIELD_NUMBER = 3;
private int issuedSubkeys_;
/**
*
* 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;
* @return Whether the issuedSubkeys field is set.
*/
@java.lang.Override
public boolean hasIssuedSubkeys() {
return ((bitField0_ & 0x00000002) != 0);
}
/**
*
* 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;
* @return The issuedSubkeys.
*/
@java.lang.Override
public int getIssuedSubkeys() {
return issuedSubkeys_;
}
/**
*
* 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;
* @param value The issuedSubkeys to set.
*/
private void setIssuedSubkeys(int value) {
bitField0_ |= 0x00000002;
issuedSubkeys_ = value;
}
/**
*
* 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;
*/
private void clearIssuedSubkeys() {
bitField0_ = (bitField0_ & ~0x00000002);
issuedSubkeys_ = 0;
}
public static final int LOOKAHEAD_SIZE_FIELD_NUMBER = 4;
private int lookaheadSize_;
/**
* optional uint32 lookahead_size = 4;
* @return Whether the lookaheadSize field is set.
*/
@java.lang.Override
public boolean hasLookaheadSize() {
return ((bitField0_ & 0x00000004) != 0);
}
/**
* optional uint32 lookahead_size = 4;
* @return The lookaheadSize.
*/
@java.lang.Override
public int getLookaheadSize() {
return lookaheadSize_;
}
/**
* optional uint32 lookahead_size = 4;
* @param value The lookaheadSize to set.
*/
private void setLookaheadSize(int value) {
bitField0_ |= 0x00000004;
lookaheadSize_ = value;
}
/**
* optional uint32 lookahead_size = 4;
*/
private void clearLookaheadSize() {
bitField0_ = (bitField0_ & ~0x00000004);
lookaheadSize_ = 0;
}
public static final int ISFOLLOWING_FIELD_NUMBER = 5;
private boolean isFollowing_;
/**
*
**
* 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;
* @return Whether the isFollowing field is set.
*/
@java.lang.Override
public boolean hasIsFollowing() {
return ((bitField0_ & 0x00000008) != 0);
}
/**
*
**
* 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
*
**
* 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;
* @param value The isFollowing to set.
*/
private void setIsFollowing(boolean value) {
bitField0_ |= 0x00000008;
isFollowing_ = value;
}
/**
*
**
* 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;
*/
private void clearIsFollowing() {
bitField0_ = (bitField0_ & ~0x00000008);
isFollowing_ = false;
}
public static final int SIGSREQUIREDTOSPEND_FIELD_NUMBER = 6;
private int sigsRequiredToSpend_;
/**
*
* 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];
* @return Whether the sigsRequiredToSpend field is set.
*/
@java.lang.Override
public boolean hasSigsRequiredToSpend() {
return ((bitField0_ & 0x00000010) != 0);
}
/**
*
* 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];
* @return The sigsRequiredToSpend.
*/
@java.lang.Override
public int getSigsRequiredToSpend() {
return sigsRequiredToSpend_;
}
/**
*
* 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.
*
* 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.
*
**
* Data attached to a Key message that defines the data needed by the BIP32 deterministic key hierarchy algorithm.
*
*
* Protobuf type {@code wallet.DeterministicKey}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageLite.Builder<
org.bitcoinj.wallet.Protos.DeterministicKey, Builder> implements
// @@protoc_insertion_point(builder_implements:wallet.DeterministicKey)
org.bitcoinj.wallet.Protos.DeterministicKeyOrBuilder {
// Construct using org.bitcoinj.wallet.Protos.DeterministicKey.newBuilder()
private Builder() {
super(DEFAULT_INSTANCE);
}
/**
*
* 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;
* @return Whether the chainCode field is set.
*/
@java.lang.Override
public boolean hasChainCode() {
return instance.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.
*
* 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;
* @param value The chainCode to set.
* @return This builder for chaining.
*/
public Builder setChainCode(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setChainCode(value);
return this;
}
/**
*
* 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;
* @return This builder for chaining.
*/
public Builder clearChainCode() {
copyOnWrite();
instance.clearChainCode();
return this;
}
/**
*
* 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;
* @return A list containing the path.
*/
@java.lang.Override
public java.util.List
getPathList() {
return java.util.Collections.unmodifiableList(
instance.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;
* @return The count of path.
*/
@java.lang.Override
public int getPathCount() {
return instance.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;
* @param index The index of the element to return.
* @return The path at the given index.
*/
@java.lang.Override
public int getPath(int index) {
return instance.getPath(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;
* @param value The path to set.
* @return This builder for chaining.
*/
public Builder setPath(
int index, int value) {
copyOnWrite();
instance.setPath(index, value);
return this;
}
/**
*
* 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;
* @param value The path to add.
* @return This builder for chaining.
*/
public Builder addPath(int value) {
copyOnWrite();
instance.addPath(value);
return this;
}
/**
*
* 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;
* @param values The path to add.
* @return This builder for chaining.
*/
public Builder addAllPath(
java.lang.Iterable extends java.lang.Integer> values) {
copyOnWrite();
instance.addAllPath(values);
return this;
}
/**
*
* 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;
* @return This builder for chaining.
*/
public Builder clearPath() {
copyOnWrite();
instance.clearPath();
return this;
}
/**
*
* 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;
* @return Whether the issuedSubkeys field is set.
*/
@java.lang.Override
public boolean hasIssuedSubkeys() {
return instance.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;
* @return The issuedSubkeys.
*/
@java.lang.Override
public int getIssuedSubkeys() {
return instance.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;
* @param value The issuedSubkeys to set.
* @return This builder for chaining.
*/
public Builder setIssuedSubkeys(int value) {
copyOnWrite();
instance.setIssuedSubkeys(value);
return this;
}
/**
*
* 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;
* @return This builder for chaining.
*/
public Builder clearIssuedSubkeys() {
copyOnWrite();
instance.clearIssuedSubkeys();
return this;
}
/**
* optional uint32 lookahead_size = 4;
* @return Whether the lookaheadSize field is set.
*/
@java.lang.Override
public boolean hasLookaheadSize() {
return instance.hasLookaheadSize();
}
/**
* optional uint32 lookahead_size = 4;
* @return The lookaheadSize.
*/
@java.lang.Override
public int getLookaheadSize() {
return instance.getLookaheadSize();
}
/**
* optional uint32 lookahead_size = 4;
* @param value The lookaheadSize to set.
* @return This builder for chaining.
*/
public Builder setLookaheadSize(int value) {
copyOnWrite();
instance.setLookaheadSize(value);
return this;
}
/**
* optional uint32 lookahead_size = 4;
* @return This builder for chaining.
*/
public Builder clearLookaheadSize() {
copyOnWrite();
instance.clearLookaheadSize();
return this;
}
/**
*
**
* 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;
* @return Whether the isFollowing field is set.
*/
@java.lang.Override
public boolean hasIsFollowing() {
return instance.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
*
**
* 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;
* @param value The isFollowing to set.
* @return This builder for chaining.
*/
public Builder setIsFollowing(boolean value) {
copyOnWrite();
instance.setIsFollowing(value);
return this;
}
/**
*
**
* 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;
* @return This builder for chaining.
*/
public Builder clearIsFollowing() {
copyOnWrite();
instance.clearIsFollowing();
return this;
}
/**
*
* 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];
* @return Whether the sigsRequiredToSpend field is set.
*/
@java.lang.Override
public boolean hasSigsRequiredToSpend() {
return instance.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];
* @return The sigsRequiredToSpend.
*/
@java.lang.Override
public int getSigsRequiredToSpend() {
return instance.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];
* @param value The sigsRequiredToSpend to set.
* @return This builder for chaining.
*/
public Builder setSigsRequiredToSpend(int value) {
copyOnWrite();
instance.setSigsRequiredToSpend(value);
return this;
}
/**
*
* 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];
* @return This builder for chaining.
*/
public Builder clearSigsRequiredToSpend() {
copyOnWrite();
instance.clearSigsRequiredToSpend();
return this;
}
// @@protoc_insertion_point(builder_scope:wallet.DeterministicKey)
}
private byte memoizedIsInitialized = 2;
@java.lang.Override
@java.lang.SuppressWarnings({"unchecked", "fallthrough"})
protected final java.lang.Object dynamicMethod(
com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
java.lang.Object arg0, java.lang.Object arg1) {
switch (method) {
case NEW_MUTABLE_INSTANCE: {
return new org.bitcoinj.wallet.Protos.DeterministicKey();
}
case NEW_BUILDER: {
return new Builder();
}
case BUILD_MESSAGE_INFO: {
java.lang.Object[] objects = new java.lang.Object[] {
"bitField0_",
"chainCode_",
"path_",
"issuedSubkeys_",
"lookaheadSize_",
"isFollowing_",
"sigsRequiredToSpend_",
};
java.lang.String info =
"\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0001\u0001\u0001\u150a\u0000\u0002" +
"\u001d\u0003\u100b\u0001\u0004\u100b\u0002\u0005\u1007\u0003\u0006\u100b\u0004";
return newMessageInfo(DEFAULT_INSTANCE, info, objects);
}
// fall through
case GET_DEFAULT_INSTANCE: {
return DEFAULT_INSTANCE;
}
case GET_PARSER: {
com.google.protobuf.Parser parser = PARSER;
if (parser == null) {
synchronized (org.bitcoinj.wallet.Protos.DeterministicKey.class) {
parser = PARSER;
if (parser == null) {
parser =
new DefaultInstanceBasedParser(
DEFAULT_INSTANCE);
PARSER = parser;
}
}
}
return parser;
}
case GET_MEMOIZED_IS_INITIALIZED: {
return memoizedIsInitialized;
}
case SET_MEMOIZED_IS_INITIALIZED: {
memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
return null;
}
}
throw new UnsupportedOperationException();
}
// @@protoc_insertion_point(class_scope:wallet.DeterministicKey)
private static final org.bitcoinj.wallet.Protos.DeterministicKey DEFAULT_INSTANCE;
static {
DeterministicKey defaultInstance = new DeterministicKey();
// New instances are implicitly immutable so no need to make
// immutable.
DEFAULT_INSTANCE = defaultInstance;
com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
DeterministicKey.class, defaultInstance);
}
public static org.bitcoinj.wallet.Protos.DeterministicKey getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static volatile com.google.protobuf.Parser PARSER;
public static com.google.protobuf.Parser parser() {
return DEFAULT_INSTANCE.getParserForType();
}
}
public interface KeyOrBuilder extends
// @@protoc_insertion_point(interface_extends:wallet.Key)
com.google.protobuf.MessageLiteOrBuilder {
/**
* required .wallet.Key.Type type = 1;
* @return Whether the type field is set.
*/
boolean hasType();
/**
* required .wallet.Key.Type type = 1;
* @return The type.
*/
org.bitcoinj.wallet.Protos.Key.Type getType();
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @return Whether the secretBytes field is set.
*/
boolean hasSecretBytes();
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @return Whether the publicKey field is set.
*/
boolean hasPublicKey();
/**
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional string label = 4;
* @return The bytes for label.
*/
com.google.protobuf.ByteString
getLabelBytes();
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return Whether the creationTimestamp field is set.
*/
boolean hasCreationTimestamp();
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return The creationTimestamp.
*/
long getCreationTimestamp();
/**
* optional .wallet.DeterministicKey deterministic_key = 7;
* @return Whether the deterministicKey field is set.
*/
boolean hasDeterministicKey();
/**
* optional .wallet.DeterministicKey deterministic_key = 7;
* @return The deterministicKey.
*/
org.bitcoinj.wallet.Protos.DeterministicKey getDeterministicKey();
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @return Whether the deterministicSeed field is set.
*/
boolean hasDeterministicSeed();
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return A list containing the accountPath.
*/
java.util.List getAccountPathList();
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return The count of accountPath.
*/
int getAccountPathCount();
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param index The index of the element to return.
* @return The accountPath at the given index.
*/
int getAccountPath(int index);
/**
*
* Type of addresses (aka output scripts) to generate for receiving.
*
*
* optional .wallet.Key.OutputScriptType output_script_type = 11;
* @return Whether the outputScriptType field is set.
*/
boolean hasOutputScriptType();
/**
*
* Type of addresses (aka output scripts) to generate for receiving.
*
**
* A key used to control Bitcoin spending.
* Either the private key, the public key or both may be present. It is recommended that
* if the private key is provided that the public key is provided too because deriving it is slow.
* If only the public key is provided, the key can only be used to watch the blockchain and verify
* transactions, and not for spending.
*
**
* Not really a key, but rather contains the mnemonic phrase for a deterministic key hierarchy in the private_key field.
* The label and public_key fields are missing. Creation timestamp will exist.
*
**
* A key that was derived deterministically. Note that the root seed that created it may NOT be present in the
* wallet, for the case of watching wallets. A deterministic key may or may not have the private key bytes present.
* However the public key bytes and the deterministic_key field are guaranteed to exist. In a wallet where there
* is a path from this key up to a key that has (possibly encrypted) private bytes, it's expected that the private
* key can be rederived on the fly.
*
** Unencrypted - Original bitcoin secp256k1 curve
*
*
* ORIGINAL = 1;
*/
public static final int ORIGINAL_VALUE = 1;
/**
*
** Encrypted with Scrypt and AES - Original bitcoin secp256k1 curve
*
*
* ENCRYPTED_SCRYPT_AES = 2;
*/
public static final int ENCRYPTED_SCRYPT_AES_VALUE = 2;
/**
*
**
* Not really a key, but rather contains the mnemonic phrase for a deterministic key hierarchy in the private_key field.
* The label and public_key fields are missing. Creation timestamp will exist.
*
*
* DETERMINISTIC_MNEMONIC = 3;
*/
public static final int DETERMINISTIC_MNEMONIC_VALUE = 3;
/**
*
**
* A key that was derived deterministically. Note that the root seed that created it may NOT be present in the
* wallet, for the case of watching wallets. A deterministic key may or may not have the private key bytes present.
* However the public key bytes and the deterministic_key field are guaranteed to exist. In a wallet where there
* is a path from this key up to a key that has (possibly encrypted) private bytes, it's expected that the private
* key can be rederived on the fly.
*
*
* DETERMINISTIC_KEY = 4;
*/
public static final int DETERMINISTIC_KEY_VALUE = 4;
@java.lang.Override
public final int getNumber() {
return value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static Type valueOf(int value) {
return forNumber(value);
}
public static Type forNumber(int value) {
switch (value) {
case 1: return ORIGINAL;
case 2: return ENCRYPTED_SCRYPT_AES;
case 3: return DETERMINISTIC_MNEMONIC;
case 4: return DETERMINISTIC_KEY;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
Type> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
@java.lang.Override
public Type findValueByNumber(int number) {
return Type.forNumber(number);
}
};
public static com.google.protobuf.Internal.EnumVerifier
internalGetVerifier() {
return TypeVerifier.INSTANCE;
}
private static final class TypeVerifier implements
com.google.protobuf.Internal.EnumVerifier {
static final com.google.protobuf.Internal.EnumVerifier INSTANCE = new TypeVerifier();
@java.lang.Override
public boolean isInRange(int number) {
return Type.forNumber(number) != null;
}
};
private final int value;
private Type(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:wallet.Key.Type)
}
/**
* Protobuf enum {@code wallet.Key.OutputScriptType}
*/
public enum OutputScriptType
implements com.google.protobuf.Internal.EnumLite {
/**
* P2PKH = 1;
*/
P2PKH(1),
/**
* P2WPKH = 2;
*/
P2WPKH(2),
;
/**
* P2PKH = 1;
*/
public static final int P2PKH_VALUE = 1;
/**
* P2WPKH = 2;
*/
public static final int P2WPKH_VALUE = 2;
@java.lang.Override
public final int getNumber() {
return value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static OutputScriptType valueOf(int value) {
return forNumber(value);
}
public static OutputScriptType forNumber(int value) {
switch (value) {
case 1: return P2PKH;
case 2: return P2WPKH;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
OutputScriptType> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
@java.lang.Override
public OutputScriptType findValueByNumber(int number) {
return OutputScriptType.forNumber(number);
}
};
public static com.google.protobuf.Internal.EnumVerifier
internalGetVerifier() {
return OutputScriptTypeVerifier.INSTANCE;
}
private static final class OutputScriptTypeVerifier implements
com.google.protobuf.Internal.EnumVerifier {
static final com.google.protobuf.Internal.EnumVerifier INSTANCE = new OutputScriptTypeVerifier();
@java.lang.Override
public boolean isInRange(int number) {
return OutputScriptType.forNumber(number) != null;
}
};
private final int value;
private OutputScriptType(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:wallet.Key.OutputScriptType)
}
private int bitField0_;
public static final int TYPE_FIELD_NUMBER = 1;
private int type_;
/**
* required .wallet.Key.Type type = 1;
* @return Whether the type field is set.
*/
@java.lang.Override
public boolean hasType() {
return ((bitField0_ & 0x00000001) != 0);
}
/**
* required .wallet.Key.Type type = 1;
* @return The type.
*/
@java.lang.Override
public org.bitcoinj.wallet.Protos.Key.Type getType() {
org.bitcoinj.wallet.Protos.Key.Type result = org.bitcoinj.wallet.Protos.Key.Type.forNumber(type_);
return result == null ? org.bitcoinj.wallet.Protos.Key.Type.ORIGINAL : result;
}
/**
* required .wallet.Key.Type type = 1;
* @param value The type to set.
*/
private void setType(org.bitcoinj.wallet.Protos.Key.Type value) {
type_ = value.getNumber();
bitField0_ |= 0x00000001;
}
/**
* required .wallet.Key.Type type = 1;
*/
private void clearType() {
bitField0_ = (bitField0_ & ~0x00000001);
type_ = 1;
}
public static final int SECRET_BYTES_FIELD_NUMBER = 2;
private com.google.protobuf.ByteString secretBytes_;
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @return Whether the secretBytes field is set.
*/
@java.lang.Override
public boolean hasSecretBytes() {
return ((bitField0_ & 0x00000002) != 0);
}
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @param value The secretBytes to set.
*/
private void setSecretBytes(com.google.protobuf.ByteString value) {
value.getClass();
bitField0_ |= 0x00000002;
secretBytes_ = value;
}
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @return Whether the publicKey field is set.
*/
@java.lang.Override
public boolean hasPublicKey() {
return ((bitField0_ & 0x00000008) != 0);
}
/**
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @param value The publicKey to set.
*/
private void setPublicKey(com.google.protobuf.ByteString value) {
value.getClass();
bitField0_ |= 0x00000008;
publicKey_ = value;
}
/**
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional string label = 4;
* @param value The bytes for label to set.
*/
private void setLabelBytes(
com.google.protobuf.ByteString value) {
label_ = value.toStringUtf8();
bitField0_ |= 0x00000010;
}
public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 5;
private long creationTimestamp_;
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return Whether the creationTimestamp field is set.
*/
@java.lang.Override
public boolean hasCreationTimestamp() {
return ((bitField0_ & 0x00000020) != 0);
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return The creationTimestamp.
*/
@java.lang.Override
public long getCreationTimestamp() {
return creationTimestamp_;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @param value The creationTimestamp to set.
*/
private void setCreationTimestamp(long value) {
bitField0_ |= 0x00000020;
creationTimestamp_ = value;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @return Whether the deterministicSeed field is set.
*/
@java.lang.Override
public boolean hasDeterministicSeed() {
return ((bitField0_ & 0x00000080) != 0);
}
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @param value The deterministicSeed to set.
*/
private void setDeterministicSeed(com.google.protobuf.ByteString value) {
value.getClass();
bitField0_ |= 0x00000080;
deterministicSeed_ = value;
}
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return A list containing the accountPath.
*/
@java.lang.Override
public java.util.List
getAccountPathList() {
return accountPath_;
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return The count of accountPath.
*/
@java.lang.Override
public int getAccountPathCount() {
return accountPath_.size();
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param index The index of the element to return.
* @return The accountPath at the given index.
*/
@java.lang.Override
public int getAccountPath(int index) {
return accountPath_.getInt(index);
}
private int accountPathMemoizedSerializedSize = -1;
private void ensureAccountPathIsMutable() {
com.google.protobuf.Internal.IntList tmp = accountPath_;
if (!tmp.isModifiable()) {
accountPath_ =
com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
}
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param index The index to set the value at.
* @param value The accountPath to set.
*/
private void setAccountPath(
int index, int value) {
ensureAccountPathIsMutable();
accountPath_.setInt(index, value);
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param value The accountPath to add.
*/
private void addAccountPath(int value) {
ensureAccountPathIsMutable();
accountPath_.addInt(value);
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
**
* A key used to control Bitcoin spending.
* Either the private key, the public key or both may be present. It is recommended that
* if the private key is provided that the public key is provided too because deriving it is slow.
* If only the public key is provided, the key can only be used to watch the blockchain and verify
* transactions, and not for spending.
*
*
* Protobuf type {@code wallet.Key}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageLite.Builder<
org.bitcoinj.wallet.Protos.Key, Builder> implements
// @@protoc_insertion_point(builder_implements:wallet.Key)
org.bitcoinj.wallet.Protos.KeyOrBuilder {
// Construct using org.bitcoinj.wallet.Protos.Key.newBuilder()
private Builder() {
super(DEFAULT_INSTANCE);
}
/**
* required .wallet.Key.Type type = 1;
* @return Whether the type field is set.
*/
@java.lang.Override
public boolean hasType() {
return instance.hasType();
}
/**
* required .wallet.Key.Type type = 1;
* @return The type.
*/
@java.lang.Override
public org.bitcoinj.wallet.Protos.Key.Type getType() {
return instance.getType();
}
/**
* required .wallet.Key.Type type = 1;
* @param value The enum numeric value on the wire for type to set.
* @return This builder for chaining.
*/
public Builder setType(org.bitcoinj.wallet.Protos.Key.Type value) {
copyOnWrite();
instance.setType(value);
return this;
}
/**
* required .wallet.Key.Type type = 1;
* @return This builder for chaining.
*/
public Builder clearType() {
copyOnWrite();
instance.clearType();
return this;
}
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @return Whether the secretBytes field is set.
*/
@java.lang.Override
public boolean hasSecretBytes() {
return instance.hasSecretBytes();
}
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @param value The secretBytes to set.
* @return This builder for chaining.
*/
public Builder setSecretBytes(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setSecretBytes(value);
return this;
}
/**
*
* Either the private EC key bytes (without any ASN.1 wrapping), or the deterministic root seed.
* If the secret is encrypted, or this is a "watching entry" then this is missing.
*
*
* optional bytes secret_bytes = 2;
* @return This builder for chaining.
*/
public Builder clearSecretBytes() {
copyOnWrite();
instance.clearSecretBytes();
return this;
}
/**
*
* If the secret data is encrypted, then secret_bytes is missing and this field is set.
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @return Whether the publicKey field is set.
*/
@java.lang.Override
public boolean hasPublicKey() {
return instance.hasPublicKey();
}
/**
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @param value The publicKey to set.
* @return This builder for chaining.
*/
public Builder setPublicKey(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setPublicKey(value);
return this;
}
/**
*
* The public EC key derived from the private key. We allow both to be stored to avoid mobile clients having to
* do lots of slow EC math on startup. For DETERMINISTIC_MNEMONIC entries this is missing.
*
*
* optional bytes public_key = 3;
* @return This builder for chaining.
*/
public Builder clearPublicKey() {
copyOnWrite();
instance.clearPublicKey();
return this;
}
/**
*
* User-provided label associated with the key.
*
*
* optional string label = 4;
* @return Whether the label field is set.
*/
@java.lang.Override
public boolean hasLabel() {
return instance.hasLabel();
}
/**
*
*
* optional string label = 4;
* @return The bytes for label.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getLabelBytes() {
return instance.getLabelBytes();
}
/**
*
* User-provided label associated with the key.
*
*
* optional string label = 4;
* @param value The label to set.
* @return This builder for chaining.
*/
public Builder setLabel(
java.lang.String value) {
copyOnWrite();
instance.setLabel(value);
return this;
}
/**
*
* User-provided label associated with the key.
*
*
* optional string label = 4;
* @return This builder for chaining.
*/
public Builder clearLabel() {
copyOnWrite();
instance.clearLabel();
return this;
}
/**
*
* User-provided label associated with the key.
*
*
* optional string label = 4;
* @param value The bytes for label to set.
* @return This builder for chaining.
*/
public Builder setLabelBytes(
com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setLabelBytes(value);
return this;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return Whether the creationTimestamp field is set.
*/
@java.lang.Override
public boolean hasCreationTimestamp() {
return instance.hasCreationTimestamp();
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @return The creationTimestamp.
*/
@java.lang.Override
public long getCreationTimestamp() {
return instance.getCreationTimestamp();
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
*
* optional int64 creation_timestamp = 5;
* @param value The creationTimestamp to set.
* @return This builder for chaining.
*/
public Builder setCreationTimestamp(long value) {
copyOnWrite();
instance.setCreationTimestamp(value);
return this;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point. The reason it's
* optional is that keys derived from a parent don't have this data.
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @return Whether the deterministicSeed field is set.
*/
@java.lang.Override
public boolean hasDeterministicSeed() {
return instance.hasDeterministicSeed();
}
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @param value The deterministicSeed to set.
* @return This builder for chaining.
*/
public Builder setDeterministicSeed(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setDeterministicSeed(value);
return this;
}
/**
*
* The seed for a deterministic key hierarchy. Derived from the mnemonic,
* but cached here for quick startup. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* optional bytes deterministic_seed = 8;
* @return This builder for chaining.
*/
public Builder clearDeterministicSeed() {
copyOnWrite();
instance.clearDeterministicSeed();
return this;
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return A list containing the accountPath.
*/
@java.lang.Override
public java.util.List
getAccountPathList() {
return java.util.Collections.unmodifiableList(
instance.getAccountPathList());
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return The count of accountPath.
*/
@java.lang.Override
public int getAccountPathCount() {
return instance.getAccountPathCount();
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param index The index of the element to return.
* @return The accountPath at the given index.
*/
@java.lang.Override
public int getAccountPath(int index) {
return instance.getAccountPath(index);
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param value The accountPath to set.
* @return This builder for chaining.
*/
public Builder setAccountPath(
int index, int value) {
copyOnWrite();
instance.setAccountPath(index, value);
return this;
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param value The accountPath to add.
* @return This builder for chaining.
*/
public Builder addAccountPath(int value) {
copyOnWrite();
instance.addAccountPath(value);
return this;
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @param values The accountPath to add.
* @return This builder for chaining.
*/
public Builder addAllAccountPath(
java.lang.Iterable extends java.lang.Integer> values) {
copyOnWrite();
instance.addAllAccountPath(values);
return this;
}
/**
*
* The path to the root. Only applicable to a DETERMINISTIC_MNEMONIC key entry.
*
*
* repeated uint32 account_path = 10 [packed = true];
* @return This builder for chaining.
*/
public Builder clearAccountPath() {
copyOnWrite();
instance.clearAccountPath();
return this;
}
/**
*
* Type of addresses (aka output scripts) to generate for receiving.
*
*
* optional .wallet.Key.OutputScriptType output_script_type = 11;
* @return Whether the outputScriptType field is set.
*/
@java.lang.Override
public boolean hasOutputScriptType() {
return instance.hasOutputScriptType();
}
/**
*
* Type of addresses (aka output scripts) to generate for receiving.
*
* Type of addresses (aka output scripts) to generate for receiving.
*
*
* optional .wallet.Key.OutputScriptType output_script_type = 11;
* @param value The enum numeric value on the wire for outputScriptType to set.
* @return This builder for chaining.
*/
public Builder setOutputScriptType(org.bitcoinj.wallet.Protos.Key.OutputScriptType value) {
copyOnWrite();
instance.setOutputScriptType(value);
return this;
}
/**
*
* Type of addresses (aka output scripts) to generate for receiving.
*
*
* optional .wallet.Key.OutputScriptType output_script_type = 11;
* @return This builder for chaining.
*/
public Builder clearOutputScriptType() {
copyOnWrite();
instance.clearOutputScriptType();
return this;
}
// @@protoc_insertion_point(builder_scope:wallet.Key)
}
private byte memoizedIsInitialized = 2;
@java.lang.Override
@java.lang.SuppressWarnings({"unchecked", "fallthrough"})
protected final java.lang.Object dynamicMethod(
com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
java.lang.Object arg0, java.lang.Object arg1) {
switch (method) {
case NEW_MUTABLE_INSTANCE: {
return new org.bitcoinj.wallet.Protos.Key();
}
case NEW_BUILDER: {
return new Builder();
}
case BUILD_MESSAGE_INFO: {
java.lang.Object[] objects = new java.lang.Object[] {
"bitField0_",
"type_",
org.bitcoinj.wallet.Protos.Key.Type.internalGetVerifier(),
"secretBytes_",
"publicKey_",
"label_",
"creationTimestamp_",
"encryptedData_",
"deterministicKey_",
"deterministicSeed_",
"encryptedDeterministicSeed_",
"accountPath_",
"outputScriptType_",
org.bitcoinj.wallet.Protos.Key.OutputScriptType.internalGetVerifier(),
};
java.lang.String info =
"\u0001\u000b\u0000\u0001\u0001\u000b\u000b\u0000\u0001\u0004\u0001\u150c\u0000\u0002" +
"\u100a\u0001\u0003\u100a\u0003\u0004\u1008\u0004\u0005\u1002\u0005\u0006\u1409\u0002" +
"\u0007\u1409\u0006\b\u100a\u0007\t\u1409\b\n+\u000b\u100c\t";
return newMessageInfo(DEFAULT_INSTANCE, info, objects);
}
// fall through
case GET_DEFAULT_INSTANCE: {
return DEFAULT_INSTANCE;
}
case GET_PARSER: {
com.google.protobuf.Parser parser = PARSER;
if (parser == null) {
synchronized (org.bitcoinj.wallet.Protos.Key.class) {
parser = PARSER;
if (parser == null) {
parser =
new DefaultInstanceBasedParser(
DEFAULT_INSTANCE);
PARSER = parser;
}
}
}
return parser;
}
case GET_MEMOIZED_IS_INITIALIZED: {
return memoizedIsInitialized;
}
case SET_MEMOIZED_IS_INITIALIZED: {
memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
return null;
}
}
throw new UnsupportedOperationException();
}
// @@protoc_insertion_point(class_scope:wallet.Key)
private static final org.bitcoinj.wallet.Protos.Key DEFAULT_INSTANCE;
static {
Key defaultInstance = new Key();
// New instances are implicitly immutable so no need to make
// immutable.
DEFAULT_INSTANCE = defaultInstance;
com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
Key.class, defaultInstance);
}
public static org.bitcoinj.wallet.Protos.Key getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static volatile com.google.protobuf.Parser PARSER;
public static com.google.protobuf.Parser parser() {
return DEFAULT_INSTANCE.getParserForType();
}
}
public interface ScriptOrBuilder extends
// @@protoc_insertion_point(interface_extends:wallet.Script)
com.google.protobuf.MessageLiteOrBuilder {
/**
* required bytes program = 1;
* @return Whether the program field is set.
*/
boolean hasProgram();
/**
* required bytes program = 1;
* @return The program.
*/
com.google.protobuf.ByteString getProgram();
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return Whether the creationTimestamp field is set.
*/
boolean hasCreationTimestamp();
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return The creationTimestamp.
*/
long getCreationTimestamp();
}
/**
* Protobuf type {@code wallet.Script}
*/
public static final class Script extends
com.google.protobuf.GeneratedMessageLite<
Script, Script.Builder> implements
// @@protoc_insertion_point(message_implements:wallet.Script)
ScriptOrBuilder {
private Script() {
program_ = com.google.protobuf.ByteString.EMPTY;
}
private int bitField0_;
public static final int PROGRAM_FIELD_NUMBER = 1;
private com.google.protobuf.ByteString program_;
/**
* required bytes program = 1;
* @return Whether the program field is set.
*/
@java.lang.Override
public boolean hasProgram() {
return ((bitField0_ & 0x00000001) != 0);
}
/**
* required bytes program = 1;
* @return The program.
*/
@java.lang.Override
public com.google.protobuf.ByteString getProgram() {
return program_;
}
/**
* required bytes program = 1;
* @param value The program to set.
*/
private void setProgram(com.google.protobuf.ByteString value) {
value.getClass();
bitField0_ |= 0x00000001;
program_ = value;
}
/**
* required bytes program = 1;
*/
private void clearProgram() {
bitField0_ = (bitField0_ & ~0x00000001);
program_ = getDefaultInstance().getProgram();
}
public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 2;
private long creationTimestamp_;
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return Whether the creationTimestamp field is set.
*/
@java.lang.Override
public boolean hasCreationTimestamp() {
return ((bitField0_ & 0x00000002) != 0);
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return The creationTimestamp.
*/
@java.lang.Override
public long getCreationTimestamp() {
return creationTimestamp_;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @param value The creationTimestamp to set.
*/
private void setCreationTimestamp(long value) {
bitField0_ |= 0x00000002;
creationTimestamp_ = value;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
*/
private void clearCreationTimestamp() {
bitField0_ = (bitField0_ & ~0x00000002);
creationTimestamp_ = 0L;
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data, extensionRegistry);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data, extensionRegistry);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, data, extensionRegistry);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, input);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, input, extensionRegistry);
}
public static org.bitcoinj.wallet.Protos.Script parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return parseDelimitedFrom(DEFAULT_INSTANCE, input);
}
public static org.bitcoinj.wallet.Protos.Script parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, input);
}
public static org.bitcoinj.wallet.Protos.Script parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageLite.parseFrom(
DEFAULT_INSTANCE, input, extensionRegistry);
}
public static Builder newBuilder() {
return (Builder) DEFAULT_INSTANCE.createBuilder();
}
public static Builder newBuilder(org.bitcoinj.wallet.Protos.Script prototype) {
return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
}
/**
* Protobuf type {@code wallet.Script}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageLite.Builder<
org.bitcoinj.wallet.Protos.Script, Builder> implements
// @@protoc_insertion_point(builder_implements:wallet.Script)
org.bitcoinj.wallet.Protos.ScriptOrBuilder {
// Construct using org.bitcoinj.wallet.Protos.Script.newBuilder()
private Builder() {
super(DEFAULT_INSTANCE);
}
/**
* required bytes program = 1;
* @return Whether the program field is set.
*/
@java.lang.Override
public boolean hasProgram() {
return instance.hasProgram();
}
/**
* required bytes program = 1;
* @return The program.
*/
@java.lang.Override
public com.google.protobuf.ByteString getProgram() {
return instance.getProgram();
}
/**
* required bytes program = 1;
* @param value The program to set.
* @return This builder for chaining.
*/
public Builder setProgram(com.google.protobuf.ByteString value) {
copyOnWrite();
instance.setProgram(value);
return this;
}
/**
* required bytes program = 1;
* @return This builder for chaining.
*/
public Builder clearProgram() {
copyOnWrite();
instance.clearProgram();
return this;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return Whether the creationTimestamp field is set.
*/
@java.lang.Override
public boolean hasCreationTimestamp() {
return instance.hasCreationTimestamp();
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return The creationTimestamp.
*/
@java.lang.Override
public long getCreationTimestamp() {
return instance.getCreationTimestamp();
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @param value The creationTimestamp to set.
* @return This builder for chaining.
*/
public Builder setCreationTimestamp(long value) {
copyOnWrite();
instance.setCreationTimestamp(value);
return this;
}
/**
*
* Timestamp stored as millis since epoch. Useful for skipping block bodies before this point
* when watching for scripts on the blockchain.
*
*
* required int64 creation_timestamp = 2;
* @return This builder for chaining.
*/
public Builder clearCreationTimestamp() {
copyOnWrite();
instance.clearCreationTimestamp();
return this;
}
// @@protoc_insertion_point(builder_scope:wallet.Script)
}
private byte memoizedIsInitialized = 2;
@java.lang.Override
@java.lang.SuppressWarnings({"unchecked", "fallthrough"})
protected final java.lang.Object dynamicMethod(
com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
java.lang.Object arg0, java.lang.Object arg1) {
switch (method) {
case NEW_MUTABLE_INSTANCE: {
return new org.bitcoinj.wallet.Protos.Script();
}
case NEW_BUILDER: {
return new Builder();
}
case BUILD_MESSAGE_INFO: {
java.lang.Object[] objects = new java.lang.Object[] {
"bitField0_",
"program_",
"creationTimestamp_",
};
java.lang.String info =
"\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0002\u0001\u150a\u0000\u0002" +
"\u1502\u0001";
return newMessageInfo(DEFAULT_INSTANCE, info, objects);
}
// fall through
case GET_DEFAULT_INSTANCE: {
return DEFAULT_INSTANCE;
}
case GET_PARSER: {
com.google.protobuf.Parser parser = PARSER;
if (parser == null) {
synchronized (org.bitcoinj.wallet.Protos.Script.class) {
parser = PARSER;
if (parser == null) {
parser =
new DefaultInstanceBasedParser(
DEFAULT_INSTANCE);
PARSER = parser;
}
}
}
return parser;
}
case GET_MEMOIZED_IS_INITIALIZED: {
return memoizedIsInitialized;
}
case SET_MEMOIZED_IS_INITIALIZED: {
memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
return null;
}
}
throw new UnsupportedOperationException();
}
// @@protoc_insertion_point(class_scope:wallet.Script)
private static final org.bitcoinj.wallet.Protos.Script DEFAULT_INSTANCE;
static {
Script defaultInstance = new Script();
// New instances are implicitly immutable so no need to make
// immutable.
DEFAULT_INSTANCE = defaultInstance;
com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
Script.class, defaultInstance);
}
public static org.bitcoinj.wallet.Protos.Script getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static volatile com.google.protobuf.Parser