syntax = "proto3";

// We can't change this to swapserverrpc, it would be a breaking change because
// the package name is also contained in the HTTP URIs and old clients would
// call the wrong endpoints. Luckily with the go_package option we can have
// different golang and RPC package names to fix protobuf namespace conflicts.
package looprpc;

option go_package = "github.com/lightninglabs/loop/swapserverrpc";

message HopHint {
    // The public key of the node at the start of the channel.
    string node_id = 1;

    // The unique identifier of the channel.
    uint64 chan_id = 2;

    // The base fee of the channel denominated in millisatoshis.
    uint32 fee_base_msat = 3;

    /*
    The fee rate of the channel for sending one satoshi across it denominated in
    millionths of a satoshi.
    */
    uint32 fee_proportional_millionths = 4;

    // The time-lock delta of the channel.
    uint32 cltv_expiry_delta = 5;
}

message RouteHint {
    /*
    A list of hop hints that when chained together can assist in reaching a
    specific destination.
    */
    repeated HopHint hop_hints = 1;
}
