@@ -437,6 +437,12 @@ while still allowing signature validation.
437437 1 . type: 90 (` invreq_paths ` )
438438 2 . data:
439439 * [ ` ...*blinded_path ` :` paths ` ]
440+ 1 . type: 91 (` invreq_bip_353_name ` )
441+ 2 . data:
442+ * [ ` u8 ` :` name_len ` ]
443+ * [ ` name_len*byte ` :` name ` ]
444+ * [ ` u8 ` :` domain_len ` ]
445+ * [ ` domain_len*byte ` :` domain ` ]
440446 1 . type: 240 (` signature ` )
441447 2 . data:
442448 * [ ` bip340sig ` :` sig ` ]
@@ -481,6 +487,10 @@ The writer:
481487 (e.g. milli-satoshis for bitcoin) for ` invreq_chain ` (or for bitcoin, if there is no ` invreq_chain ` ).
482488 - if it supports bolt12 invoice request features:
483489 - MUST set ` invreq_features ` .` features ` to the bitmap of features.
490+ - if it received the offer from which it constructed this ` invoice_request ` using BIP 353 resolution:
491+ - MUST include ` invreq_bip_353_name ` with,
492+ - ` name ` set to the post-₿, pre-@ part of the BIP 353 HRN,
493+ - ` domain ` set to the post-@ part of the BIP 353 HRN.
484494
485495The reader:
486496 - MUST reject the invoice request if ` invreq_payer_id ` or ` invreq_metadata ` are not present.
@@ -528,6 +538,9 @@ The reader:
528538 - MUST use ` invreq_paths ` if present, otherwise MUST use ` invreq_payer_id ` as the node id to send to.
529539 - if ` invreq_chain ` is not present:
530540 - MUST reject the invoice request if bitcoin is not a supported chain.
541+ - if ` invreq_bip_353_name ` is present:
542+ - MUST reject the invoice request if ` name ` or ` domain ` contain any bytes which are not
543+ ` 0 ` -` 9 ` , ` a ` -` z ` , ` A ` -` Z ` , ` - ` , ` _ ` or ` . ` .
531544 - otherwise:
532545 - MUST reject the invoice request if ` invreq_chain ` .` chain ` is not a supported chain.
533546
0 commit comments