<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://lightningj.org/xsd/walletkit_1_0" xmlns="http://lightningj.org/xsd/lndjapi_1_0" xmlns:verrpc="http://lightningj.org/xsd/verrpc_1_0" xmlns:chainnotifier="http://lightningj.org/xsd/chainnotifier_1_0" xmlns:autopilot="http://lightningj.org/xsd/autopilot_1_0" xmlns:peers="http://lightningj.org/xsd/peers_1_0" xmlns:chainkit="http://lightningj.org/xsd/chainkit_1_0" xmlns:watchtower="http://lightningj.org/xsd/watchtower_1_0" xmlns:walletkit="http://lightningj.org/xsd/walletkit_1_0" xmlns:router="http://lightningj.org/xsd/router_1_0" xmlns:dev="http://lightningj.org/xsd/dev_1_0" xmlns:invoices="http://lightningj.org/xsd/invoices_1_0" xmlns:tns="http://lightningj.org/xsd/walletkit_1_0" xmlns:wtclient="http://lightningj.org/xsd/wtclient_1_0" xmlns:stateservice="http://lightningj.org/xsd/stateservice_1_0" xmlns:neutrino="http://lightningj.org/xsd/neutrino_1_0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:walletunlocker="http://lightningj.org/xsd/walletunlocker_1_0" xmlns:signer="http://lightningj.org/xsd/signer_1_0">

  <xs:import namespace="http://lightningj.org/xsd/lndjapi_1_0" schemaLocation="./lnd_v1.xsd"/>

  <xs:import namespace="http://lightningj.org/xsd/signer_1_0" schemaLocation="./signer_v1.xsd"/>

  <xs:element name="Account" type="tns:AccountType"/>

  <xs:element name="AccountWithAddresses" type="tns:AccountWithAddressesType"/>

  <xs:element name="AddrRequest" type="tns:AddrRequestType"/>

  <xs:element name="AddrResponse" type="tns:AddrResponseType"/>

  <xs:element name="AddressProperty" type="tns:AddressPropertyType"/>

  <xs:element name="BumpFeeRequest" type="tns:BumpFeeRequestType"/>

  <xs:element name="BumpFeeResponse" type="tns:BumpFeeResponseType"/>

  <xs:element name="EstimateFeeRequest" type="tns:EstimateFeeRequestType"/>

  <xs:element name="EstimateFeeResponse" type="tns:EstimateFeeResponseType"/>

  <xs:element name="FinalizePsbtRequest" type="tns:FinalizePsbtRequestType"/>

  <xs:element name="FinalizePsbtResponse" type="tns:FinalizePsbtResponseType"/>

  <xs:element name="FundPsbtRequest" type="tns:FundPsbtRequestType"/>

  <xs:element name="FundPsbtResponse" type="tns:FundPsbtResponseType"/>

  <xs:element name="ImportAccountRequest" type="tns:ImportAccountRequestType"/>

  <xs:element name="ImportAccountResponse" type="tns:ImportAccountResponseType"/>

  <xs:element name="ImportPublicKeyRequest" type="tns:ImportPublicKeyRequestType"/>

  <xs:element name="ImportPublicKeyResponse" type="tns:ImportPublicKeyResponseType"/>

  <xs:element name="ImportTapscriptRequest" type="tns:ImportTapscriptRequestType"/>

  <xs:element name="ImportTapscriptResponse" type="tns:ImportTapscriptResponseType"/>

  <xs:element name="KeyReq" type="tns:KeyReqType"/>

  <xs:element name="LabelTransactionRequest" type="tns:LabelTransactionRequestType"/>

  <xs:element name="LabelTransactionResponse" type="tns:LabelTransactionResponseType"/>

  <xs:element name="LeaseOutputRequest" type="tns:LeaseOutputRequestType"/>

  <xs:element name="LeaseOutputResponse" type="tns:LeaseOutputResponseType"/>

  <xs:element name="ListAccountsRequest" type="tns:ListAccountsRequestType"/>

  <xs:element name="ListAccountsResponse" type="tns:ListAccountsResponseType"/>

  <xs:element name="ListAddressesRequest" type="tns:ListAddressesRequestType"/>

  <xs:element name="ListAddressesResponse" type="tns:ListAddressesResponseType"/>

  <xs:element name="ListLeasesRequest" type="tns:ListLeasesRequestType"/>

  <xs:element name="ListLeasesResponse" type="tns:ListLeasesResponseType"/>

  <xs:element name="ListSweepsRequest" type="tns:ListSweepsRequestType"/>

  <xs:element name="ListSweepsResponse" type="tns:ListSweepsResponseType"/>

  <xs:element name="ListUnspentRequest" type="tns:ListUnspentRequestType"/>

  <xs:element name="ListUnspentResponse" type="tns:ListUnspentResponseType"/>

  <xs:element name="PendingSweep" type="tns:PendingSweepType"/>

  <xs:element name="PendingSweepsRequest" type="tns:PendingSweepsRequestType"/>

  <xs:element name="PendingSweepsResponse" type="tns:PendingSweepsResponseType"/>

  <xs:element name="PublishResponse" type="tns:PublishResponseType"/>

  <xs:element name="ReleaseOutputRequest" type="tns:ReleaseOutputRequestType"/>

  <xs:element name="ReleaseOutputResponse" type="tns:ReleaseOutputResponseType"/>

  <xs:element name="RequiredReserveRequest" type="tns:RequiredReserveRequestType"/>

  <xs:element name="RequiredReserveResponse" type="tns:RequiredReserveResponseType"/>

  <xs:element name="SendOutputsRequest" type="tns:SendOutputsRequestType"/>

  <xs:element name="SendOutputsResponse" type="tns:SendOutputsResponseType"/>

  <xs:element name="SignMessageWithAddrRequest" type="tns:SignMessageWithAddrRequestType"/>

  <xs:element name="SignMessageWithAddrResponse" type="tns:SignMessageWithAddrResponseType"/>

  <xs:element name="SignPsbtRequest" type="tns:SignPsbtRequestType"/>

  <xs:element name="SignPsbtResponse" type="tns:SignPsbtResponseType"/>

  <xs:element name="TapLeaf" type="tns:TapLeafType"/>

  <xs:element name="TapscriptFullTree" type="tns:TapscriptFullTreeType"/>

  <xs:element name="TapscriptPartialReveal" type="tns:TapscriptPartialRevealType"/>

  <xs:element name="Transaction" type="tns:TransactionType"/>

  <xs:element name="TxTemplate" type="tns:TxTemplateType"/>

  <xs:element name="UtxoLease" type="tns:UtxoLeaseType"/>

  <xs:element name="VerifyMessageWithAddrRequest" type="tns:VerifyMessageWithAddrRequestType"/>

  <xs:element name="VerifyMessageWithAddrResponse" type="tns:VerifyMessageWithAddrResponseType"/>

  <xs:complexType name="ListUnspentRequestType">
    <xs:sequence>
      <xs:element name="minConfs" type="xs:int"/>
      <xs:element name="maxConfs" type="xs:int"/>
      <xs:element name="account" type="xs:string" minOccurs="0"/>
      <xs:element name="unconfirmedOnly" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListUnspentResponseType">
    <xs:sequence>
      <xs:element name="utxos" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Utxo" type="UtxoType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LeaseOutputRequestType">
    <xs:sequence>
      <xs:element name="id" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="outpoint" type="OutPointType" minOccurs="0"/>
      <xs:element name="expirationSeconds" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LeaseOutputResponseType">
    <xs:sequence>
      <xs:element name="expiration" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReleaseOutputRequestType">
    <xs:sequence>
      <xs:element name="id" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="outpoint" type="OutPointType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReleaseOutputResponseType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="KeyReqType">
    <xs:sequence>
      <xs:element name="keyFingerPrint" type="xs:int"/>
      <xs:element name="keyFamily" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddrRequestType">
    <xs:sequence>
      <xs:element name="account" type="xs:string" minOccurs="0"/>
      <xs:element name="type" type="tns:addressType" minOccurs="0"/>
      <xs:element name="change" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddrResponseType">
    <xs:sequence>
      <xs:element name="addr" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AccountType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="addressType" type="tns:addressType" minOccurs="0"/>
      <xs:element name="extendedPublicKey" type="xs:string" minOccurs="0"/>
      <xs:element name="masterKeyFingerprint" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="derivationPath" type="xs:string" minOccurs="0"/>
      <xs:element name="externalKeyCount" type="xs:int"/>
      <xs:element name="internalKeyCount" type="xs:int"/>
      <xs:element name="watchOnly" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressPropertyType">
    <xs:sequence>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
      <xs:element name="isInternal" type="xs:boolean"/>
      <xs:element name="balance" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AccountWithAddressesType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="addressType" type="tns:addressType" minOccurs="0"/>
      <xs:element name="derivationPath" type="xs:string" minOccurs="0"/>
      <xs:element name="addresses" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:AddressProperty" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListAccountsRequestType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="addressType" type="tns:addressType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListAccountsResponseType">
    <xs:sequence>
      <xs:element name="accounts" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:Account" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RequiredReserveRequestType">
    <xs:sequence>
      <xs:element name="additionalPublicChannels" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RequiredReserveResponseType">
    <xs:sequence>
      <xs:element name="requiredReserve" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListAddressesRequestType">
    <xs:sequence>
      <xs:element name="accountName" type="xs:string" minOccurs="0"/>
      <xs:element name="showCustomAccounts" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListAddressesResponseType">
    <xs:sequence>
      <xs:element name="account_with_addresses" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:AccountWithAddresses" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SignMessageWithAddrRequestType">
    <xs:sequence>
      <xs:element name="msg" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="addr" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SignMessageWithAddrResponseType">
    <xs:sequence>
      <xs:element name="signature" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VerifyMessageWithAddrRequestType">
    <xs:sequence>
      <xs:element name="msg" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="signature" type="xs:string" minOccurs="0"/>
      <xs:element name="addr" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VerifyMessageWithAddrResponseType">
    <xs:sequence>
      <xs:element name="valid" type="xs:boolean"/>
      <xs:element name="pubkey" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ImportAccountRequestType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="extendedPublicKey" type="xs:string" minOccurs="0"/>
      <xs:element name="masterKeyFingerprint" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="addressType" type="tns:addressType" minOccurs="0"/>
      <xs:element name="dryRun" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ImportAccountResponseType">
    <xs:sequence>
      <xs:element name="account" type="tns:AccountType" minOccurs="0"/>
      <xs:element name="dry_run_external_addrs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="dryRunExternalAddrs" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="dry_run_internal_addrs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="dryRunInternalAddrs" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ImportPublicKeyRequestType">
    <xs:sequence>
      <xs:element name="publicKey" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="addressType" type="tns:addressType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ImportPublicKeyResponseType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="ImportTapscriptRequestType">
    <xs:sequence>
      <xs:element name="internalPublicKey" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="fullTree" type="tns:TapscriptFullTreeType" minOccurs="0"/>
      <xs:element name="partialReveal" type="tns:TapscriptPartialRevealType" minOccurs="0"/>
      <xs:element name="rootHashOnly" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="fullKeyOnly" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TapscriptFullTreeType">
    <xs:sequence>
      <xs:element name="all_leaves" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:TapLeaf" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TapLeafType">
    <xs:sequence>
      <xs:element name="leafVersion" type="xs:int"/>
      <xs:element name="script" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TapscriptPartialRevealType">
    <xs:sequence>
      <xs:element name="revealedLeaf" type="tns:TapLeafType" minOccurs="0"/>
      <xs:element name="fullInclusionProof" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ImportTapscriptResponseType">
    <xs:sequence>
      <xs:element name="p2TrAddress" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TransactionType">
    <xs:sequence>
      <xs:element name="txHex" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="label" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PublishResponseType">
    <xs:sequence>
      <xs:element name="publishError" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SendOutputsRequestType">
    <xs:sequence>
      <xs:element name="satPerKw" type="xs:long"/>
      <xs:element name="outputs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TxOut" type="signer:TxOutType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="label" type="xs:string" minOccurs="0"/>
      <xs:element name="minConfs" type="xs:int"/>
      <xs:element name="spendUnconfirmed" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SendOutputsResponseType">
    <xs:sequence>
      <xs:element name="rawTx" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EstimateFeeRequestType">
    <xs:sequence>
      <xs:element name="confTarget" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EstimateFeeResponseType">
    <xs:sequence>
      <xs:element name="satPerKw" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PendingSweepType">
    <xs:sequence>
      <xs:element name="outpoint" type="OutPointType" minOccurs="0"/>
      <xs:element name="witnessType" type="tns:witnessType" minOccurs="0"/>
      <xs:element name="amountSat" type="xs:int"/>
      <xs:element name="satPerByte" type="xs:int"/>
      <xs:element name="broadcastAttempts" type="xs:int"/>
      <xs:element name="nextBroadcastHeight" type="xs:int"/>
      <xs:element name="requestedConfTarget" type="xs:int"/>
      <xs:element name="requestedSatPerByte" type="xs:int"/>
      <xs:element name="satPerVbyte" type="xs:long"/>
      <xs:element name="requestedSatPerVbyte" type="xs:long"/>
      <xs:element name="force" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PendingSweepsRequestType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="PendingSweepsResponseType">
    <xs:sequence>
      <xs:element name="pending_sweeps" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:PendingSweep" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BumpFeeRequestType">
    <xs:sequence>
      <xs:element name="outpoint" type="OutPointType" minOccurs="0"/>
      <xs:element name="targetConf" type="xs:int"/>
      <xs:element name="satPerByte" type="xs:int"/>
      <xs:element name="force" type="xs:boolean"/>
      <xs:element name="satPerVbyte" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BumpFeeResponseType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="ListSweepsRequestType">
    <xs:sequence>
      <xs:element name="verbose" type="xs:boolean"/>
      <xs:element name="startHeight" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListSweepsResponseType">
    <xs:sequence>
      <xs:element name="transactionDetails" type="TransactionDetailsType" minOccurs="0"/>
      <xs:element name="transactionIds" type="tns:ListSweepsResponseTransactionIDsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListSweepsResponseTransactionIDsType">
    <xs:sequence>
      <xs:element name="transaction_ids" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="transactionIds" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LabelTransactionRequestType">
    <xs:sequence>
      <xs:element name="txid" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="label" type="xs:string" minOccurs="0"/>
      <xs:element name="overwrite" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LabelTransactionResponseType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="FundPsbtRequestType">
    <xs:sequence>
      <xs:element name="psbt" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="raw" type="tns:TxTemplateType" minOccurs="0"/>
      <xs:element name="targetConf" type="xs:int"/>
      <xs:element name="satPerVbyte" type="xs:long"/>
      <xs:element name="account" type="xs:string" minOccurs="0"/>
      <xs:element name="minConfs" type="xs:int"/>
      <xs:element name="spendUnconfirmed" type="xs:boolean"/>
      <xs:element name="changeType" type="tns:changeAddressType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TxTemplateType">
    <xs:sequence>
      <xs:element name="inputs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="OutPoint" type="OutPointType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="outputsEntries" type="tns:TxTemplateOutputsEntriesType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TxTemplateOutputsEntriesType">
    <xs:sequence>
      <xs:element name="entry" type="tns:TxTemplateOutputsEntryType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TxTemplateOutputsEntryType">
    <xs:sequence>
      <xs:element name="key" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FundPsbtResponseType">
    <xs:sequence>
      <xs:element name="fundedPsbt" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="changeOutputIndex" type="xs:int"/>
      <xs:element name="locked_utxos" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:UtxoLease" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="UtxoLeaseType">
    <xs:sequence>
      <xs:element name="id" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="outpoint" type="OutPointType" minOccurs="0"/>
      <xs:element name="expiration" type="xs:long"/>
      <xs:element name="pkScript" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="value" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SignPsbtRequestType">
    <xs:sequence>
      <xs:element name="fundedPsbt" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SignPsbtResponseType">
    <xs:sequence>
      <xs:element name="signedPsbt" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="signed_inputs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="signedInputs" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FinalizePsbtRequestType">
    <xs:sequence>
      <xs:element name="fundedPsbt" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="account" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FinalizePsbtResponseType">
    <xs:sequence>
      <xs:element name="signedPsbt" type="xs:base64Binary" minOccurs="0"/>
      <xs:element name="rawFinalTx" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ListLeasesRequestType">
    <xs:all/>
  </xs:complexType>

  <xs:complexType name="ListLeasesResponseType">
    <xs:sequence>
      <xs:element name="locked_utxos" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:UtxoLease" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="addressType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UNKNOWN"/>
      <xs:enumeration value="WITNESS_PUBKEY_HASH"/>
      <xs:enumeration value="NESTED_WITNESS_PUBKEY_HASH"/>
      <xs:enumeration value="HYBRID_NESTED_WITNESS_PUBKEY_HASH"/>
      <xs:enumeration value="TAPROOT_PUBKEY"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="witnessType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UNKNOWN_WITNESS"/>
      <xs:enumeration value="COMMITMENT_TIME_LOCK"/>
      <xs:enumeration value="COMMITMENT_NO_DELAY"/>
      <xs:enumeration value="COMMITMENT_REVOKE"/>
      <xs:enumeration value="HTLC_OFFERED_REVOKE"/>
      <xs:enumeration value="HTLC_ACCEPTED_REVOKE"/>
      <xs:enumeration value="HTLC_OFFERED_TIMEOUT_SECOND_LEVEL"/>
      <xs:enumeration value="HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL"/>
      <xs:enumeration value="HTLC_OFFERED_REMOTE_TIMEOUT"/>
      <xs:enumeration value="HTLC_ACCEPTED_REMOTE_SUCCESS"/>
      <xs:enumeration value="HTLC_SECOND_LEVEL_REVOKE"/>
      <xs:enumeration value="WITNESS_KEY_HASH"/>
      <xs:enumeration value="NESTED_WITNESS_KEY_HASH"/>
      <xs:enumeration value="COMMITMENT_ANCHOR"/>
      <xs:enumeration value="COMMITMENT_NO_DELAY_TWEAKLESS"/>
      <xs:enumeration value="COMMITMENT_TO_REMOTE_CONFIRMED"/>
      <xs:enumeration value="HTLC_OFFERED_TIMEOUT_SECOND_LEVEL_INPUT_CONFIRMED"/>
      <xs:enumeration value="HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL_INPUT_CONFIRMED"/>
      <xs:enumeration value="LEASE_COMMITMENT_TIME_LOCK"/>
      <xs:enumeration value="LEASE_COMMITMENT_TO_REMOTE_CONFIRMED"/>
      <xs:enumeration value="LEASE_HTLC_OFFERED_TIMEOUT_SECOND_LEVEL"/>
      <xs:enumeration value="LEASE_HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL"/>
      <xs:enumeration value="TAPROOT_PUB_KEY_SPEND"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="changeAddressType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CHANGE_ADDRESS_TYPE_UNSPECIFIED"/>
      <xs:enumeration value="CHANGE_ADDRESS_TYPE_P2TR"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

