Skip to content

Commit

Permalink
Merge pull request #2648 from kaloudis/lnd-v0.18.4-beta
Browse files Browse the repository at this point in the history
LND: v0.18.4-beta
  • Loading branch information
kaloudis authored Dec 19, 2024
2 parents 5a6ee43 + d626c36 commit 92f24dd
Show file tree
Hide file tree
Showing 45 changed files with 17,856 additions and 10,239 deletions.
6 changes: 3 additions & 3 deletions fetch-libraries.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
VERSION=v0.18.3-beta-zeus.previous-events
VERSION=v0.18.4-beta-zeus

ANDROID_FILE=Lndmobile.aar
IOS_FILE=Lndmobile.xcframework

ANDROID_SHA256='a48b39675d1442611546cb22b07c8440f44d7917a77962f1f50fe558a679c220'
IOS_SHA256='de9831c586b31008bfca1d48d9b4e11bbae2adcd2127b614530d8e7259f1bcf4'
ANDROID_SHA256='8f3f569fd603fb101d7de08a7f9e017cb7267fd24da549908b7733b40e54393f'
IOS_SHA256='159e63de8b4a14a402f885adb88c9b34a66c7f6c8a15cbb3c5cc2ba44a5c1bd6'

FILE_PATH=https://github.com/ZeusLN/lnd/releases/download/$VERSION/

Expand Down
59 changes: 58 additions & 1 deletion proto/invoicesrpc/invoices.proto
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,19 @@ service Invoices {
rpc SettleInvoice (SettleInvoiceMsg) returns (SettleInvoiceResp);

/*
LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced
LookupInvoiceV2 attempts to look up at invoice. An invoice can be referenced
using either its payment hash, payment address, or set ID.
*/
rpc LookupInvoiceV2 (LookupInvoiceMsg) returns (lnrpc.Invoice);

/*
HtlcModifier is a bidirectional streaming RPC that allows a client to
intercept and modify the HTLCs that attempt to settle the given invoice. The
server will send HTLCs of invoices to the client and the client can modify
some aspects of the HTLC in order to pass the invoice acceptance tests.
*/
rpc HtlcModifier (stream HtlcModifyResponse)
returns (stream HtlcModifyRequest);
}

message CancelInvoiceMsg {
Expand Down Expand Up @@ -192,3 +201,51 @@ message LookupInvoiceMsg {

LookupModifier lookup_modifier = 4;
}

// CircuitKey is a unique identifier for an HTLC.
message CircuitKey {
// The id of the channel that the is part of this circuit.
uint64 chan_id = 1;

// The index of the incoming htlc in the incoming channel.
uint64 htlc_id = 2;
}

message HtlcModifyRequest {
// The invoice the intercepted HTLC is attempting to settle. The HTLCs in
// the invoice are only HTLCs that have already been accepted or settled,
// not including the current intercepted HTLC.
lnrpc.Invoice invoice = 1;

// The unique identifier of the HTLC of this intercepted HTLC.
CircuitKey exit_htlc_circuit_key = 2;

// The amount in milli-satoshi that the exit HTLC is attempting to pay.
uint64 exit_htlc_amt = 3;

// The absolute expiry height of the exit HTLC.
uint32 exit_htlc_expiry = 4;

// The current block height.
uint32 current_height = 5;

// The wire message custom records of the exit HTLC.
map<uint64, bytes> exit_htlc_wire_custom_records = 6;
}

message HtlcModifyResponse {
// The circuit key of the HTLC that the client wants to modify.
CircuitKey circuit_key = 1;

// The modified amount in milli-satoshi that the exit HTLC is paying. This
// value can be different from the actual on-chain HTLC amount, in case the
// HTLC carries other valuable items, as can be the case with custom channel
// types.
optional uint64 amt_paid = 2;

// This flag indicates whether the HTLCs associated with the invoices should
// be cancelled. The interceptor client may set this field if some
// unexpected behavior is encountered. Setting this will ignore the amt_paid
// field.
bool cancel_set = 3;
}
Loading

0 comments on commit 92f24dd

Please sign in to comment.