<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://lightningj.org/xsd/peers_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/peers_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:element name="NodeAnnouncementUpdateRequest" type="tns:NodeAnnouncementUpdateRequestType"/>

  <xs:element name="NodeAnnouncementUpdateResponse" type="tns:NodeAnnouncementUpdateResponseType"/>

  <xs:element name="UpdateAddressAction" type="tns:UpdateAddressActionType"/>

  <xs:element name="UpdateFeatureAction" type="tns:UpdateFeatureActionType"/>

  <xs:complexType name="UpdateAddressActionType">
    <xs:sequence>
      <xs:element name="action" type="tns:updateAction" minOccurs="0"/>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="UpdateFeatureActionType">
    <xs:sequence>
      <xs:element name="action" type="tns:updateAction" minOccurs="0"/>
      <xs:element name="featureBit" type="featureBit" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NodeAnnouncementUpdateRequestType">
    <xs:sequence>
      <xs:element name="feature_updates" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:UpdateFeatureAction" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="color" type="xs:string" minOccurs="0"/>
      <xs:element name="alias" type="xs:string" minOccurs="0"/>
      <xs:element name="address_updates" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:UpdateAddressAction" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NodeAnnouncementUpdateResponseType">
    <xs:sequence>
      <xs:element name="ops" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Op" type="OpType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="updateAction">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ADD"/>
      <xs:enumeration value="REMOVE"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

