lnonion: work around immutability of OnionHopsDataSingle
This commit is contained in:
@@ -283,7 +283,7 @@ def decrypt_onionmsg_data_tlv(*, shared_secret: bytes, encrypted_recipient_data:
|
|||||||
|
|
||||||
def encrypt_hops_recipient_data(
|
def encrypt_hops_recipient_data(
|
||||||
tlv_stream_name: str,
|
tlv_stream_name: str,
|
||||||
hops_data: Sequence[OnionHopsDataSingle],
|
hops_data: List[OnionHopsDataSingle],
|
||||||
hop_shared_secrets: Sequence[bytes]
|
hop_shared_secrets: Sequence[bytes]
|
||||||
) -> None:
|
) -> None:
|
||||||
"""encrypt unencrypted encrypted_recipient_data for hops with blind_fields.
|
"""encrypt unencrypted encrypted_recipient_data for hops with blind_fields.
|
||||||
@@ -301,7 +301,10 @@ def encrypt_hops_recipient_data(
|
|||||||
if hops_data[i].tlv_stream_name == tlv_stream_name and 'encrypted_recipient_data' not in hops_data[i].payload:
|
if hops_data[i].tlv_stream_name == tlv_stream_name and 'encrypted_recipient_data' not in hops_data[i].payload:
|
||||||
# construct encrypted_recipient_data from blind_fields
|
# construct encrypted_recipient_data from blind_fields
|
||||||
encrypted_recipient_data = encrypt_onionmsg_data_tlv(shared_secret=hop_shared_secrets[i], **hops_data[i].blind_fields)
|
encrypted_recipient_data = encrypt_onionmsg_data_tlv(shared_secret=hop_shared_secrets[i], **hops_data[i].blind_fields)
|
||||||
hops_data[i].payload['encrypted_recipient_data'] = {erd_key: encrypted_recipient_data}
|
# work around immutablility of OnionHopsDataSingle
|
||||||
|
hop_payload = {'encrypted_recipient_data': {erd_key: encrypted_recipient_data}}
|
||||||
|
hop_payload.update(hops_data[i].payload)
|
||||||
|
hops_data[i] = OnionHopsDataSingle(tlv_stream_name=hops_data[i].tlv_stream_name, payload=hop_payload, blind_fields=hops_data[i].blind_fields)
|
||||||
|
|
||||||
|
|
||||||
def calc_hops_data_for_payment(
|
def calc_hops_data_for_payment(
|
||||||
|
|||||||
Reference in New Issue
Block a user