Files
lspd/rpc/lspd.proto
2019-07-22 15:12:35 +03:00

59 lines
1.9 KiB
Protocol Buffer

syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.lspd.service";
option java_outer_classname = "LspdProto";
package lspd;
service ChannelOpener {
rpc ChannelInformation(ChannelInformationRequest)
returns (ChannelInformationReply) {}
rpc OpenChannel(OpenChannelRequest) returns (OpenChannelReply) {}
}
message ChannelInformationRequest {
/// The identity pubkey of the Lightning node
string pubkey = 1 [ json_name = "pubkey" ];
}
message ChannelInformationReply {
/// The name of of lsp
string name = 1 [ json_name = "name" ];
/// The identity pubkey of the Lightning node
string pubkey = 2 [ json_name = "pubkey" ];
/// The network location of the lightning node, e.g. `12.34.56.78:9012` or
/// `localhost:10011`
string host = 3 [ json_name = "host" ];
/// The channel capacity in satoshis
int64 channel_capacity = 4 [ json_name = "channel_capacity" ];
/// The target number of blocks that the funding transaction should be
/// confirmed by.
int32 target_conf = 5 [ json_name = "target_conf" ];
/// The base fee charged regardless of the number of milli-satoshis sent.
int64 base_fee_msat = 6 [ json_name = "base_fee_msat" ];
/// The effective fee rate in milli-satoshis. The precision of this value goes
/// up to 6 decimal places, so 1e-6.
double fee_rate = 7 [ json_name = "fee_rate" ];
/// The required timelock delta for HTLCs forwarded over the channel.
uint32 time_lock_delta = 8 [ json_name = "time_lock_delta" ];
/// The minimum value in millisatoshi we will require for incoming HTLCs on
/// the channel.
int64 min_htlc_msat = 9 [ json_name = "min_htlc_msat" ];
}
message OpenChannelRequest {
/// The identity pubkey of the Lightning node
string pubkey = 1 [ json_name = "pubkey" ];
}
message OpenChannelReply {
/// The transaction hash
string tx_hash = 1 [ json_name = "tx_hash" ];
/// The output index
uint32 output_index = 2 [ json_name = "output_index"];
}