syntax = "proto3"; import "google/api/annotations.proto"; package looprpc; service SwapServer { rpc LoopOutTerms(ServerLoopOutTermsRequest) returns (ServerLoopOutTerms); rpc NewLoopOutSwap(ServerLoopOutRequest) returns (ServerLoopOutResponse); rpc LoopOutQuote(ServerLoopOutQuoteRequest) returns (ServerLoopOutQuote); rpc LoopInTerms(ServerLoopInTermsRequest) returns (ServerLoopInTerms); rpc NewLoopInSwap(ServerLoopInRequest) returns (ServerLoopInResponse); rpc LoopInQuote(ServerLoopInQuoteRequest) returns (ServerLoopInQuoteResponse); } message ServerLoopOutRequest { bytes receiver_key = 1; bytes swap_hash = 2; uint64 amt = 3; /// The unix time in seconds we want the on-chain swap to be published by. int64 swap_publication_deadline = 4; } message ServerLoopOutResponse { string swap_invoice= 1; string prepay_invoice = 2; bytes sender_key = 3; int32 expiry = 4; } message ServerLoopOutQuoteRequest { /// The swap amount. If zero, a quote for a maximum amt swap will be given. uint64 amt = 1; /// The unix time in seconds we want the on-chain swap to be published by. int64 swap_publication_deadline = 2; } message ServerLoopOutQuote { string swap_payment_dest = 1; /// The total estimated swap fee given the quote amt. int64 swap_fee = 2; /// Deprecated, total swap fee given quote amt is calculated in swap_fee. int64 swap_fee_rate = 3 [deprecated = true]; uint64 prepay_amt = 4; uint64 min_swap_amount = 5 [deprecated = true]; uint64 max_swap_amount = 6 [deprecated = true]; int32 cltv_delta = 7; } message ServerLoopOutTermsRequest { } message ServerLoopOutTerms { uint64 min_swap_amount = 1; uint64 max_swap_amount = 2; } message ServerLoopInRequest { bytes sender_key = 1; bytes swap_hash = 2; uint64 amt = 3; string swap_invoice = 4; bytes last_hop = 5; } message ServerLoopInResponse { bytes receiver_key = 1; int32 expiry = 2; } message ServerLoopInQuoteRequest { /// The swap amount. If zero, a quote for a maximum amt swap will be given. uint64 amt = 1; } message ServerLoopInQuoteResponse { int64 swap_fee = 1; int64 swap_fee_rate = 2 [deprecated=true]; uint64 min_swap_amount = 4 [deprecated=true]; uint64 max_swap_amount = 5 [deprecated=true]; int32 cltv_delta = 6; } message ServerLoopInTermsRequest { } message ServerLoopInTerms { uint64 min_swap_amount = 1; uint64 max_swap_amount = 2; }