// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v3.21.12
// source: walletunlocker.proto

package lnrpc

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GenSeedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// aezeed_passphrase is an optional user provided passphrase that will be used
	// to encrypt the generated aezeed cipher seed. When using REST, this field
	// must be encoded as base64.
	AezeedPassphrase []byte `protobuf:"bytes,1,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
	// seed_entropy is an optional 16-bytes generated via CSPRNG. If not
	// specified, then a fresh set of randomness will be used to create the seed.
	// When using REST, this field must be encoded as base64.
	SeedEntropy   []byte `protobuf:"bytes,2,opt,name=seed_entropy,json=seedEntropy,proto3" json:"seed_entropy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSeedRequest) Reset() {
	*x = GenSeedRequest{}
	mi := &file_walletunlocker_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenSeedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenSeedRequest) ProtoMessage() {}

func (x *GenSeedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenSeedRequest.ProtoReflect.Descriptor instead.
func (*GenSeedRequest) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{0}
}

func (x *GenSeedRequest) GetAezeedPassphrase() []byte {
	if x != nil {
		return x.AezeedPassphrase
	}
	return nil
}

func (x *GenSeedRequest) GetSeedEntropy() []byte {
	if x != nil {
		return x.SeedEntropy
	}
	return nil
}

type GenSeedResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
	// cipher seed obtained by the user. This field is optional, as if not
	// provided, then the daemon will generate a new cipher seed for the user.
	// Otherwise, then the daemon will attempt to recover the wallet state linked
	// to this cipher seed.
	CipherSeedMnemonic []string `protobuf:"bytes,1,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"`
	// enciphered_seed are the raw aezeed cipher seed bytes. This is the raw
	// cipher text before run through our mnemonic encoding scheme.
	EncipheredSeed []byte `protobuf:"bytes,2,opt,name=enciphered_seed,json=encipheredSeed,proto3" json:"enciphered_seed,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GenSeedResponse) Reset() {
	*x = GenSeedResponse{}
	mi := &file_walletunlocker_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenSeedResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenSeedResponse) ProtoMessage() {}

func (x *GenSeedResponse) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenSeedResponse.ProtoReflect.Descriptor instead.
func (*GenSeedResponse) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{1}
}

func (x *GenSeedResponse) GetCipherSeedMnemonic() []string {
	if x != nil {
		return x.CipherSeedMnemonic
	}
	return nil
}

func (x *GenSeedResponse) GetEncipheredSeed() []byte {
	if x != nil {
		return x.EncipheredSeed
	}
	return nil
}

type InitWalletRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// wallet_password is the passphrase that should be used to encrypt the
	// wallet. This MUST be at least 8 chars in length. After creation, this
	// password is required to unlock the daemon. When using REST, this field
	// must be encoded as base64.
	WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
	// cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
	// cipher seed obtained by the user. This may have been generated by the
	// GenSeed method, or be an existing seed.
	CipherSeedMnemonic []string `protobuf:"bytes,2,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"`
	// aezeed_passphrase is an optional user provided passphrase that will be used
	// to encrypt the generated aezeed cipher seed. When using REST, this field
	// must be encoded as base64.
	AezeedPassphrase []byte `protobuf:"bytes,3,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
	// recovery_window is an optional argument specifying the address lookahead
	// when restoring a wallet seed. The recovery window applies to each
	// individual branch of the BIP44 derivation paths. Supplying a recovery
	// window of zero indicates that no addresses should be recovered, such after
	// the first initialization of the wallet.
	RecoveryWindow int32 `protobuf:"varint,4,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"`
	// channel_backups is an optional argument that allows clients to recover the
	// settled funds within a set of channels. This should be populated if the
	// user was unable to close out all channels and sweep funds before partial or
	// total data loss occurred. If specified, then after on-chain recovery of
	// funds, lnd begin to carry out the data loss recovery protocol in order to
	// recover the funds in each channel from a remote force closed transaction.
	ChannelBackups *ChanBackupSnapshot `protobuf:"bytes,5,opt,name=channel_backups,json=channelBackups,proto3" json:"channel_backups,omitempty"`
	// stateless_init is an optional argument instructing the daemon NOT to create
	// any *.macaroon files in its filesystem. If this parameter is set, then the
	// admin macaroon returned in the response MUST be stored by the caller of the
	// RPC as otherwise all access to the daemon will be lost!
	StatelessInit bool `protobuf:"varint,6,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"`
	// extended_master_key is an alternative to specifying cipher_seed_mnemonic and
	// aezeed_passphrase. Instead of deriving the master root key from the entropy
	// of an aezeed cipher seed, the given extended master root key is used
	// directly as the wallet's master key. This allows users to import/use a
	// master key from another wallet. When doing so, lnd still uses its default
	// SegWit only (BIP49/84) derivation paths and funds from custom/non-default
	// derivation paths will not automatically appear in the on-chain wallet. Using
	// an 'xprv' instead of an aezeed also has the disadvantage that the wallet's
	// birthday is not known as that is an information that's only encoded in the
	// aezeed, not the xprv. Therefore a birthday needs to be specified in
	// extended_master_key_birthday_timestamp or a "safe" default value will be
	// used.
	ExtendedMasterKey string `protobuf:"bytes,7,opt,name=extended_master_key,json=extendedMasterKey,proto3" json:"extended_master_key,omitempty"`
	// extended_master_key_birthday_timestamp is the optional unix timestamp in
	// seconds to use as the wallet's birthday when using an extended master key
	// to restore the wallet. lnd will only start scanning for funds in blocks that
	// are after the birthday which can speed up the process significantly. If the
	// birthday is not known, this should be left at its default value of 0 in
	// which case lnd will start scanning from the first SegWit block (481824 on
	// mainnet).
	ExtendedMasterKeyBirthdayTimestamp uint64 `protobuf:"varint,8,opt,name=extended_master_key_birthday_timestamp,json=extendedMasterKeyBirthdayTimestamp,proto3" json:"extended_master_key_birthday_timestamp,omitempty"`
	// watch_only is the third option of initializing a wallet: by importing
	// account xpubs only and therefore creating a watch-only wallet that does not
	// contain any private keys. That means the wallet won't be able to sign for
	// any of the keys and _needs_ to be run with a remote signer that has the
	// corresponding private keys and can serve signing RPC requests.
	WatchOnly *WatchOnly `protobuf:"bytes,9,opt,name=watch_only,json=watchOnly,proto3" json:"watch_only,omitempty"`
	// macaroon_root_key is an optional 32 byte macaroon root key that can be
	// provided when initializing the wallet rather than letting lnd generate one
	// on its own.
	MacaroonRootKey []byte `protobuf:"bytes,10,opt,name=macaroon_root_key,json=macaroonRootKey,proto3" json:"macaroon_root_key,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *InitWalletRequest) Reset() {
	*x = InitWalletRequest{}
	mi := &file_walletunlocker_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InitWalletRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InitWalletRequest) ProtoMessage() {}

func (x *InitWalletRequest) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InitWalletRequest.ProtoReflect.Descriptor instead.
func (*InitWalletRequest) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{2}
}

func (x *InitWalletRequest) GetWalletPassword() []byte {
	if x != nil {
		return x.WalletPassword
	}
	return nil
}

func (x *InitWalletRequest) GetCipherSeedMnemonic() []string {
	if x != nil {
		return x.CipherSeedMnemonic
	}
	return nil
}

func (x *InitWalletRequest) GetAezeedPassphrase() []byte {
	if x != nil {
		return x.AezeedPassphrase
	}
	return nil
}

func (x *InitWalletRequest) GetRecoveryWindow() int32 {
	if x != nil {
		return x.RecoveryWindow
	}
	return 0
}

func (x *InitWalletRequest) GetChannelBackups() *ChanBackupSnapshot {
	if x != nil {
		return x.ChannelBackups
	}
	return nil
}

func (x *InitWalletRequest) GetStatelessInit() bool {
	if x != nil {
		return x.StatelessInit
	}
	return false
}

func (x *InitWalletRequest) GetExtendedMasterKey() string {
	if x != nil {
		return x.ExtendedMasterKey
	}
	return ""
}

func (x *InitWalletRequest) GetExtendedMasterKeyBirthdayTimestamp() uint64 {
	if x != nil {
		return x.ExtendedMasterKeyBirthdayTimestamp
	}
	return 0
}

func (x *InitWalletRequest) GetWatchOnly() *WatchOnly {
	if x != nil {
		return x.WatchOnly
	}
	return nil
}

func (x *InitWalletRequest) GetMacaroonRootKey() []byte {
	if x != nil {
		return x.MacaroonRootKey
	}
	return nil
}

type InitWalletResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The binary serialized admin macaroon that can be used to access the daemon
	// after creating the wallet. If the stateless_init parameter was set to true,
	// this is the ONLY copy of the macaroon and MUST be stored safely by the
	// caller. Otherwise a copy of this macaroon is also persisted on disk by the
	// daemon, together with other macaroon files.
	AdminMacaroon []byte `protobuf:"bytes,1,opt,name=admin_macaroon,json=adminMacaroon,proto3" json:"admin_macaroon,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InitWalletResponse) Reset() {
	*x = InitWalletResponse{}
	mi := &file_walletunlocker_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InitWalletResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InitWalletResponse) ProtoMessage() {}

func (x *InitWalletResponse) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InitWalletResponse.ProtoReflect.Descriptor instead.
func (*InitWalletResponse) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{3}
}

func (x *InitWalletResponse) GetAdminMacaroon() []byte {
	if x != nil {
		return x.AdminMacaroon
	}
	return nil
}

type WatchOnly struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The unix timestamp in seconds of when the master key was created. lnd will
	// only start scanning for funds in blocks that are after the birthday which
	// can speed up the process significantly. If the birthday is not known, this
	// should be left at its default value of 0 in which case lnd will start
	// scanning from the first SegWit block (481824 on mainnet).
	MasterKeyBirthdayTimestamp uint64 `protobuf:"varint,1,opt,name=master_key_birthday_timestamp,json=masterKeyBirthdayTimestamp,proto3" json:"master_key_birthday_timestamp,omitempty"`
	// The fingerprint of the root key (also known as the key with derivation path
	// m/) from which the account public keys were derived from. This may be
	// required by some hardware wallets for proper identification and signing. The
	// bytes must be in big-endian order.
	MasterKeyFingerprint []byte `protobuf:"bytes,2,opt,name=master_key_fingerprint,json=masterKeyFingerprint,proto3" json:"master_key_fingerprint,omitempty"`
	// The list of accounts to import. There _must_ be an account for all of lnd's
	// main key scopes: BIP49/BIP84 (m/49'/0'/0', m/84'/0'/0', note that the
	// coin type is always 0, even for testnet/regtest) and lnd's internal key
	// scope (m/1017'/<coin_type>'/<account>'), where account is the key family as
	// defined in `keychain/derivation.go` (currently indices 0 to 9).
	Accounts      []*WatchOnlyAccount `protobuf:"bytes,3,rep,name=accounts,proto3" json:"accounts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchOnly) Reset() {
	*x = WatchOnly{}
	mi := &file_walletunlocker_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchOnly) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchOnly) ProtoMessage() {}

func (x *WatchOnly) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchOnly.ProtoReflect.Descriptor instead.
func (*WatchOnly) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{4}
}

func (x *WatchOnly) GetMasterKeyBirthdayTimestamp() uint64 {
	if x != nil {
		return x.MasterKeyBirthdayTimestamp
	}
	return 0
}

func (x *WatchOnly) GetMasterKeyFingerprint() []byte {
	if x != nil {
		return x.MasterKeyFingerprint
	}
	return nil
}

func (x *WatchOnly) GetAccounts() []*WatchOnlyAccount {
	if x != nil {
		return x.Accounts
	}
	return nil
}

type WatchOnlyAccount struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Purpose is the first number in the derivation path, must be either 49, 84
	// or 1017.
	Purpose uint32 `protobuf:"varint,1,opt,name=purpose,proto3" json:"purpose,omitempty"`
	// Coin type is the second number in the derivation path, this is _always_ 0
	// for purposes 49 and 84. It only needs to be set to 1 for purpose 1017 on
	// testnet or regtest.
	CoinType uint32 `protobuf:"varint,2,opt,name=coin_type,json=coinType,proto3" json:"coin_type,omitempty"`
	// Account is the third number in the derivation path. For purposes 49 and 84
	// at least the default account (index 0) needs to be created but optional
	// additional accounts are allowed. For purpose 1017 there needs to be exactly
	// one account for each of the key families defined in `keychain/derivation.go`
	// (currently indices 0 to 9)
	Account uint32 `protobuf:"varint,3,opt,name=account,proto3" json:"account,omitempty"`
	// The extended public key at depth 3 for the given account.
	Xpub          string `protobuf:"bytes,4,opt,name=xpub,proto3" json:"xpub,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchOnlyAccount) Reset() {
	*x = WatchOnlyAccount{}
	mi := &file_walletunlocker_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchOnlyAccount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchOnlyAccount) ProtoMessage() {}

func (x *WatchOnlyAccount) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchOnlyAccount.ProtoReflect.Descriptor instead.
func (*WatchOnlyAccount) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{5}
}

func (x *WatchOnlyAccount) GetPurpose() uint32 {
	if x != nil {
		return x.Purpose
	}
	return 0
}

func (x *WatchOnlyAccount) GetCoinType() uint32 {
	if x != nil {
		return x.CoinType
	}
	return 0
}

func (x *WatchOnlyAccount) GetAccount() uint32 {
	if x != nil {
		return x.Account
	}
	return 0
}

func (x *WatchOnlyAccount) GetXpub() string {
	if x != nil {
		return x.Xpub
	}
	return ""
}

type UnlockWalletRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// wallet_password should be the current valid passphrase for the daemon. This
	// will be required to decrypt on-disk material that the daemon requires to
	// function properly. When using REST, this field must be encoded as base64.
	WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
	// recovery_window is an optional argument specifying the address lookahead
	// when restoring a wallet seed. The recovery window applies to each
	// individual branch of the BIP44 derivation paths. Supplying a recovery
	// window of zero indicates that no addresses should be recovered, such after
	// the first initialization of the wallet.
	RecoveryWindow int32 `protobuf:"varint,2,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"`
	// channel_backups is an optional argument that allows clients to recover the
	// settled funds within a set of channels. This should be populated if the
	// user was unable to close out all channels and sweep funds before partial or
	// total data loss occurred. If specified, then after on-chain recovery of
	// funds, lnd begin to carry out the data loss recovery protocol in order to
	// recover the funds in each channel from a remote force closed transaction.
	ChannelBackups *ChanBackupSnapshot `protobuf:"bytes,3,opt,name=channel_backups,json=channelBackups,proto3" json:"channel_backups,omitempty"`
	// stateless_init is an optional argument instructing the daemon NOT to create
	// any *.macaroon files in its file system.
	StatelessInit bool `protobuf:"varint,4,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnlockWalletRequest) Reset() {
	*x = UnlockWalletRequest{}
	mi := &file_walletunlocker_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnlockWalletRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnlockWalletRequest) ProtoMessage() {}

func (x *UnlockWalletRequest) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnlockWalletRequest.ProtoReflect.Descriptor instead.
func (*UnlockWalletRequest) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{6}
}

func (x *UnlockWalletRequest) GetWalletPassword() []byte {
	if x != nil {
		return x.WalletPassword
	}
	return nil
}

func (x *UnlockWalletRequest) GetRecoveryWindow() int32 {
	if x != nil {
		return x.RecoveryWindow
	}
	return 0
}

func (x *UnlockWalletRequest) GetChannelBackups() *ChanBackupSnapshot {
	if x != nil {
		return x.ChannelBackups
	}
	return nil
}

func (x *UnlockWalletRequest) GetStatelessInit() bool {
	if x != nil {
		return x.StatelessInit
	}
	return false
}

type UnlockWalletResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnlockWalletResponse) Reset() {
	*x = UnlockWalletResponse{}
	mi := &file_walletunlocker_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnlockWalletResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnlockWalletResponse) ProtoMessage() {}

func (x *UnlockWalletResponse) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnlockWalletResponse.ProtoReflect.Descriptor instead.
func (*UnlockWalletResponse) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{7}
}

type ChangePasswordRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// current_password should be the current valid passphrase used to unlock the
	// daemon. When using REST, this field must be encoded as base64.
	CurrentPassword []byte `protobuf:"bytes,1,opt,name=current_password,json=currentPassword,proto3" json:"current_password,omitempty"`
	// new_password should be the new passphrase that will be needed to unlock the
	// daemon. When using REST, this field must be encoded as base64.
	NewPassword []byte `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"`
	// stateless_init is an optional argument instructing the daemon NOT to create
	// any *.macaroon files in its filesystem. If this parameter is set, then the
	// admin macaroon returned in the response MUST be stored by the caller of the
	// RPC as otherwise all access to the daemon will be lost!
	StatelessInit bool `protobuf:"varint,3,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"`
	// new_macaroon_root_key is an optional argument instructing the daemon to
	// rotate the macaroon root key when set to true. This will invalidate all
	// previously generated macaroons.
	NewMacaroonRootKey bool `protobuf:"varint,4,opt,name=new_macaroon_root_key,json=newMacaroonRootKey,proto3" json:"new_macaroon_root_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ChangePasswordRequest) Reset() {
	*x = ChangePasswordRequest{}
	mi := &file_walletunlocker_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ChangePasswordRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChangePasswordRequest) ProtoMessage() {}

func (x *ChangePasswordRequest) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangePasswordRequest.ProtoReflect.Descriptor instead.
func (*ChangePasswordRequest) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{8}
}

func (x *ChangePasswordRequest) GetCurrentPassword() []byte {
	if x != nil {
		return x.CurrentPassword
	}
	return nil
}

func (x *ChangePasswordRequest) GetNewPassword() []byte {
	if x != nil {
		return x.NewPassword
	}
	return nil
}

func (x *ChangePasswordRequest) GetStatelessInit() bool {
	if x != nil {
		return x.StatelessInit
	}
	return false
}

func (x *ChangePasswordRequest) GetNewMacaroonRootKey() bool {
	if x != nil {
		return x.NewMacaroonRootKey
	}
	return false
}

type ChangePasswordResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The binary serialized admin macaroon that can be used to access the daemon
	// after rotating the macaroon root key. If both the stateless_init and
	// new_macaroon_root_key parameter were set to true, this is the ONLY copy of
	// the macaroon that was created from the new root key and MUST be stored
	// safely by the caller. Otherwise a copy of this macaroon is also persisted on
	// disk by the daemon, together with other macaroon files.
	AdminMacaroon []byte `protobuf:"bytes,1,opt,name=admin_macaroon,json=adminMacaroon,proto3" json:"admin_macaroon,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangePasswordResponse) Reset() {
	*x = ChangePasswordResponse{}
	mi := &file_walletunlocker_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ChangePasswordResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChangePasswordResponse) ProtoMessage() {}

func (x *ChangePasswordResponse) ProtoReflect() protoreflect.Message {
	mi := &file_walletunlocker_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangePasswordResponse.ProtoReflect.Descriptor instead.
func (*ChangePasswordResponse) Descriptor() ([]byte, []int) {
	return file_walletunlocker_proto_rawDescGZIP(), []int{9}
}

func (x *ChangePasswordResponse) GetAdminMacaroon() []byte {
	if x != nil {
		return x.AdminMacaroon
	}
	return nil
}

var File_walletunlocker_proto protoreflect.FileDescriptor

const file_walletunlocker_proto_rawDesc = "" +
	"\n" +
	"\x14walletunlocker.proto\x12\x05lnrpc\x1a\x0flightning.proto\"`\n" +
	"\x0eGenSeedRequest\x12+\n" +
	"\x11aezeed_passphrase\x18\x01 \x01(\fR\x10aezeedPassphrase\x12!\n" +
	"\fseed_entropy\x18\x02 \x01(\fR\vseedEntropy\"l\n" +
	"\x0fGenSeedResponse\x120\n" +
	"\x14cipher_seed_mnemonic\x18\x01 \x03(\tR\x12cipherSeedMnemonic\x12'\n" +
	"\x0fenciphered_seed\x18\x02 \x01(\fR\x0eencipheredSeed\"\x90\x04\n" +
	"\x11InitWalletRequest\x12'\n" +
	"\x0fwallet_password\x18\x01 \x01(\fR\x0ewalletPassword\x120\n" +
	"\x14cipher_seed_mnemonic\x18\x02 \x03(\tR\x12cipherSeedMnemonic\x12+\n" +
	"\x11aezeed_passphrase\x18\x03 \x01(\fR\x10aezeedPassphrase\x12'\n" +
	"\x0frecovery_window\x18\x04 \x01(\x05R\x0erecoveryWindow\x12B\n" +
	"\x0fchannel_backups\x18\x05 \x01(\v2\x19.lnrpc.ChanBackupSnapshotR\x0echannelBackups\x12%\n" +
	"\x0estateless_init\x18\x06 \x01(\bR\rstatelessInit\x12.\n" +
	"\x13extended_master_key\x18\a \x01(\tR\x11extendedMasterKey\x12R\n" +
	"&extended_master_key_birthday_timestamp\x18\b \x01(\x04R\"extendedMasterKeyBirthdayTimestamp\x12/\n" +
	"\n" +
	"watch_only\x18\t \x01(\v2\x10.lnrpc.WatchOnlyR\twatchOnly\x12*\n" +
	"\x11macaroon_root_key\x18\n" +
	" \x01(\fR\x0fmacaroonRootKey\";\n" +
	"\x12InitWalletResponse\x12%\n" +
	"\x0eadmin_macaroon\x18\x01 \x01(\fR\radminMacaroon\"\xb9\x01\n" +
	"\tWatchOnly\x12A\n" +
	"\x1dmaster_key_birthday_timestamp\x18\x01 \x01(\x04R\x1amasterKeyBirthdayTimestamp\x124\n" +
	"\x16master_key_fingerprint\x18\x02 \x01(\fR\x14masterKeyFingerprint\x123\n" +
	"\baccounts\x18\x03 \x03(\v2\x17.lnrpc.WatchOnlyAccountR\baccounts\"w\n" +
	"\x10WatchOnlyAccount\x12\x18\n" +
	"\apurpose\x18\x01 \x01(\rR\apurpose\x12\x1b\n" +
	"\tcoin_type\x18\x02 \x01(\rR\bcoinType\x12\x18\n" +
	"\aaccount\x18\x03 \x01(\rR\aaccount\x12\x12\n" +
	"\x04xpub\x18\x04 \x01(\tR\x04xpub\"\xd2\x01\n" +
	"\x13UnlockWalletRequest\x12'\n" +
	"\x0fwallet_password\x18\x01 \x01(\fR\x0ewalletPassword\x12'\n" +
	"\x0frecovery_window\x18\x02 \x01(\x05R\x0erecoveryWindow\x12B\n" +
	"\x0fchannel_backups\x18\x03 \x01(\v2\x19.lnrpc.ChanBackupSnapshotR\x0echannelBackups\x12%\n" +
	"\x0estateless_init\x18\x04 \x01(\bR\rstatelessInit\"\x16\n" +
	"\x14UnlockWalletResponse\"\xbf\x01\n" +
	"\x15ChangePasswordRequest\x12)\n" +
	"\x10current_password\x18\x01 \x01(\fR\x0fcurrentPassword\x12!\n" +
	"\fnew_password\x18\x02 \x01(\fR\vnewPassword\x12%\n" +
	"\x0estateless_init\x18\x03 \x01(\bR\rstatelessInit\x121\n" +
	"\x15new_macaroon_root_key\x18\x04 \x01(\bR\x12newMacaroonRootKey\"?\n" +
	"\x16ChangePasswordResponse\x12%\n" +
	"\x0eadmin_macaroon\x18\x01 \x01(\fR\radminMacaroon2\xa5\x02\n" +
	"\x0eWalletUnlocker\x128\n" +
	"\aGenSeed\x12\x15.lnrpc.GenSeedRequest\x1a\x16.lnrpc.GenSeedResponse\x12A\n" +
	"\n" +
	"InitWallet\x12\x18.lnrpc.InitWalletRequest\x1a\x19.lnrpc.InitWalletResponse\x12G\n" +
	"\fUnlockWallet\x12\x1a.lnrpc.UnlockWalletRequest\x1a\x1b.lnrpc.UnlockWalletResponse\x12M\n" +
	"\x0eChangePassword\x12\x1c.lnrpc.ChangePasswordRequest\x1a\x1d.lnrpc.ChangePasswordResponseB'Z%github.com/lightningnetwork/lnd/lnrpcb\x06proto3"

var (
	file_walletunlocker_proto_rawDescOnce sync.Once
	file_walletunlocker_proto_rawDescData []byte
)

func file_walletunlocker_proto_rawDescGZIP() []byte {
	file_walletunlocker_proto_rawDescOnce.Do(func() {
		file_walletunlocker_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_walletunlocker_proto_rawDesc), len(file_walletunlocker_proto_rawDesc)))
	})
	return file_walletunlocker_proto_rawDescData
}

var file_walletunlocker_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_walletunlocker_proto_goTypes = []any{
	(*GenSeedRequest)(nil),         // 0: lnrpc.GenSeedRequest
	(*GenSeedResponse)(nil),        // 1: lnrpc.GenSeedResponse
	(*InitWalletRequest)(nil),      // 2: lnrpc.InitWalletRequest
	(*InitWalletResponse)(nil),     // 3: lnrpc.InitWalletResponse
	(*WatchOnly)(nil),              // 4: lnrpc.WatchOnly
	(*WatchOnlyAccount)(nil),       // 5: lnrpc.WatchOnlyAccount
	(*UnlockWalletRequest)(nil),    // 6: lnrpc.UnlockWalletRequest
	(*UnlockWalletResponse)(nil),   // 7: lnrpc.UnlockWalletResponse
	(*ChangePasswordRequest)(nil),  // 8: lnrpc.ChangePasswordRequest
	(*ChangePasswordResponse)(nil), // 9: lnrpc.ChangePasswordResponse
	(*ChanBackupSnapshot)(nil),     // 10: lnrpc.ChanBackupSnapshot
}
var file_walletunlocker_proto_depIdxs = []int32{
	10, // 0: lnrpc.InitWalletRequest.channel_backups:type_name -> lnrpc.ChanBackupSnapshot
	4,  // 1: lnrpc.InitWalletRequest.watch_only:type_name -> lnrpc.WatchOnly
	5,  // 2: lnrpc.WatchOnly.accounts:type_name -> lnrpc.WatchOnlyAccount
	10, // 3: lnrpc.UnlockWalletRequest.channel_backups:type_name -> lnrpc.ChanBackupSnapshot
	0,  // 4: lnrpc.WalletUnlocker.GenSeed:input_type -> lnrpc.GenSeedRequest
	2,  // 5: lnrpc.WalletUnlocker.InitWallet:input_type -> lnrpc.InitWalletRequest
	6,  // 6: lnrpc.WalletUnlocker.UnlockWallet:input_type -> lnrpc.UnlockWalletRequest
	8,  // 7: lnrpc.WalletUnlocker.ChangePassword:input_type -> lnrpc.ChangePasswordRequest
	1,  // 8: lnrpc.WalletUnlocker.GenSeed:output_type -> lnrpc.GenSeedResponse
	3,  // 9: lnrpc.WalletUnlocker.InitWallet:output_type -> lnrpc.InitWalletResponse
	7,  // 10: lnrpc.WalletUnlocker.UnlockWallet:output_type -> lnrpc.UnlockWalletResponse
	9,  // 11: lnrpc.WalletUnlocker.ChangePassword:output_type -> lnrpc.ChangePasswordResponse
	8,  // [8:12] is the sub-list for method output_type
	4,  // [4:8] is the sub-list for method input_type
	4,  // [4:4] is the sub-list for extension type_name
	4,  // [4:4] is the sub-list for extension extendee
	0,  // [0:4] is the sub-list for field type_name
}

func init() { file_walletunlocker_proto_init() }
func file_walletunlocker_proto_init() {
	if File_walletunlocker_proto != nil {
		return
	}
	file_lightning_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_walletunlocker_proto_rawDesc), len(file_walletunlocker_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_walletunlocker_proto_goTypes,
		DependencyIndexes: file_walletunlocker_proto_depIdxs,
		MessageInfos:      file_walletunlocker_proto_msgTypes,
	}.Build()
	File_walletunlocker_proto = out.File
	file_walletunlocker_proto_goTypes = nil
	file_walletunlocker_proto_depIdxs = nil
}
