Browse Source

trampoline: use trampoline policy for intermediate forwarders

master
bitromortac 4 years ago
parent
commit
58dd8996fb
No known key found for this signature in database
GPG Key ID: 1965063FC13BEBE2
  1. 24
      electrum/trampoline.py

24
electrum/trampoline.py

@ -186,16 +186,22 @@ def create_trampoline_route(
route[-1].outgoing_node_id = invoice_pubkey route[-1].outgoing_node_id = invoice_pubkey
else: # end-to-end trampoline else: # end-to-end trampoline
if r_tag_chosen_for_e2e_trampoline: if r_tag_chosen_for_e2e_trampoline:
pubkey, scid, feebase, feerate, cltv = r_tag_chosen_for_e2e_trampoline pubkey = r_tag_chosen_for_e2e_trampoline[0]
if route[-1].end_node != pubkey: if route[-1].end_node != pubkey:
route.append( # We don't use the forwarding policy from the route hint, which
TrampolineEdge( # is only valid for legacy forwarding. Trampoline forwarders require
start_node=route[-1].end_node, # higher fees and cltv deltas.
end_node=pubkey, trampoline_fee_level = trampoline_fee_levels[pubkey]
fee_base_msat=feebase, if trampoline_fee_level < len(TRAMPOLINE_FEES):
fee_proportional_millionths=feerate, fee_policy = TRAMPOLINE_FEES[trampoline_fee_level]
cltv_expiry_delta=cltv, route.append(
node_features=trampoline_features)) TrampolineEdge(
start_node=route[-1].end_node,
end_node=pubkey,
fee_base_msat=fee_policy['fee_base_msat'],
fee_proportional_millionths=fee_policy['fee_proportional_millionths'],
cltv_expiry_delta=fee_policy['cltv_expiry_delta'],
node_features=trampoline_features))
# Final edge (not part of the route if payment is legacy, but eclair requires an encrypted blob) # Final edge (not part of the route if payment is legacy, but eclair requires an encrypted blob)
route.append( route.append(

Loading…
Cancel
Save