{
  "swagger": "2.0",
  "info": {
    "title": "devrpc/dev.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "Dev"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/v2/dev/importgraph": {
      "post": {
        "summary": "lncli: `importgraph`\nImportGraph imports a ChannelGraph into the graph database. Should only be\nused for development.",
        "operationId": "Dev_ImportGraph",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/devrpcImportGraphResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Returns a new instance of the directed channel graph.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/lnrpcChannelGraph"
            }
          }
        ],
        "tags": [
          "Dev"
        ]
      }
    },
    "/v2/dev/quiesce": {
      "post": {
        "summary": "Quiesce instructs a channel to initiate the quiescence (stfu) protocol. This\nRPC is for testing purposes only. The commit that adds it will be removed\nonce interop is confirmed.",
        "operationId": "Dev_Quiesce",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/devrpcQuiescenceResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/devrpcQuiescenceRequest"
            }
          }
        ],
        "tags": [
          "Dev"
        ]
      }
    }
  },
  "definitions": {
    "devrpcImportGraphResponse": {
      "type": "object"
    },
    "devrpcQuiescenceRequest": {
      "type": "object",
      "properties": {
        "chan_id": {
          "$ref": "#/definitions/lnrpcChannelPoint",
          "title": "The channel point of the channel we wish to quiesce"
        }
      }
    },
    "devrpcQuiescenceResponse": {
      "type": "object",
      "properties": {
        "initiator": {
          "type": "boolean",
          "title": "Indicates whether or not we hold the initiator role or not once the\nnegotiation completes"
        }
      }
    },
    "lnrpcChannelAuthProof": {
      "type": "object",
      "properties": {
        "node_sig1": {
          "type": "string",
          "format": "byte",
          "description": "node_sig1 are the raw bytes of the first node signature encoded\nin DER format."
        },
        "bitcoin_sig1": {
          "type": "string",
          "format": "byte",
          "description": "bitcoin_sig1 are the raw bytes of the first bitcoin signature of the\nMultiSigKey key of the channel encoded in DER format."
        },
        "node_sig2": {
          "type": "string",
          "format": "byte",
          "description": "node_sig2 are the raw bytes of the second node signature encoded\nin DER format."
        },
        "bitcoin_sig2": {
          "type": "string",
          "format": "byte",
          "description": "bitcoin_sig2 are the raw bytes of the second bitcoin signature of the\nMultiSigKey key of the channel encoded in DER format."
        }
      },
      "description": "ChannelAuthProof is the authentication proof (the signature portion) for a\nchannel. Using the four signatures contained in the struct, and some\nauxiliary knowledge (the funding script, node identities, and outpoint) nodes\non the network are able to validate the authenticity and existence of a\nchannel."
    },
    "lnrpcChannelEdge": {
      "type": "object",
      "properties": {
        "channel_id": {
          "type": "string",
          "format": "uint64",
          "description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
        },
        "chan_point": {
          "type": "string"
        },
        "last_update": {
          "type": "integer",
          "format": "int64"
        },
        "node1_pub": {
          "type": "string"
        },
        "node2_pub": {
          "type": "string"
        },
        "capacity": {
          "type": "string",
          "format": "int64"
        },
        "node1_policy": {
          "$ref": "#/definitions/lnrpcRoutingPolicy"
        },
        "node2_policy": {
          "$ref": "#/definitions/lnrpcRoutingPolicy"
        },
        "custom_records": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "description": "Custom channel announcement tlv records."
        },
        "auth_proof": {
          "$ref": "#/definitions/lnrpcChannelAuthProof",
          "description": "Authentication proof for this channel. This proof contains a set of\nsignatures binding four identities, which attests to the legitimacy of\nthe advertised channel. This only is available for advertised channels.\nThis field is not filled by default. Pass include_auth_proof flag to\nDescribeGraph, GetNodeInfo or GetChanInfo to get this data."
        }
      },
      "description": "A fully authenticated channel along with all its unique attributes.\nOnce an authenticated channel announcement has been processed on the network,\nthen an instance of ChannelEdgeInfo encapsulating the channels attributes is\nstored. The other portions relevant to routing policy of a channel are stored\nwithin a ChannelEdgePolicy for each direction of the channel."
    },
    "lnrpcChannelGraph": {
      "type": "object",
      "properties": {
        "nodes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/lnrpcLightningNode"
          },
          "title": "The list of `LightningNode`s in this channel graph"
        },
        "edges": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/lnrpcChannelEdge"
          },
          "title": "The list of `ChannelEdge`s in this channel graph"
        }
      },
      "description": "Returns a new instance of the directed channel graph."
    },
    "lnrpcChannelPoint": {
      "type": "object",
      "properties": {
        "funding_txid_bytes": {
          "type": "string",
          "format": "byte",
          "description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64."
        },
        "funding_txid_str": {
          "type": "string",
          "description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction."
        },
        "output_index": {
          "type": "integer",
          "format": "int64",
          "title": "The index of the output of the funding transaction"
        }
      }
    },
    "lnrpcFeature": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "is_required": {
          "type": "boolean"
        },
        "is_known": {
          "type": "boolean"
        }
      }
    },
    "lnrpcLightningNode": {
      "type": "object",
      "properties": {
        "last_update": {
          "type": "integer",
          "format": "int64"
        },
        "pub_key": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "addresses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/lnrpcNodeAddress"
          }
        },
        "color": {
          "type": "string"
        },
        "features": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/lnrpcFeature"
          }
        },
        "custom_records": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "description": "Custom node announcement tlv records."
        }
      },
      "description": "An individual vertex/node within the channel graph. A node is\nconnected to other nodes by one or more channel edges emanating from it. As the\ngraph is directed, a node will also have an incoming edge attached to it for\neach outgoing edge."
    },
    "lnrpcNodeAddress": {
      "type": "object",
      "properties": {
        "network": {
          "type": "string"
        },
        "addr": {
          "type": "string"
        }
      }
    },
    "lnrpcRoutingPolicy": {
      "type": "object",
      "properties": {
        "time_lock_delta": {
          "type": "integer",
          "format": "int64"
        },
        "min_htlc": {
          "type": "string",
          "format": "int64"
        },
        "fee_base_msat": {
          "type": "string",
          "format": "int64"
        },
        "fee_rate_milli_msat": {
          "type": "string",
          "format": "int64"
        },
        "disabled": {
          "type": "boolean"
        },
        "max_htlc_msat": {
          "type": "string",
          "format": "uint64"
        },
        "last_update": {
          "type": "integer",
          "format": "int64"
        },
        "custom_records": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "description": "Custom channel update tlv records. These are customized fields that are\nnot defined by LND and cannot be extracted."
        },
        "inbound_fee_base_msat": {
          "type": "integer",
          "format": "int32"
        },
        "inbound_fee_rate_milli_msat": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "rpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    }
  }
}
