+ /**
+ * Creates an [`InvoiceBuilder`] for the request with the given required fields.
+ *
+ * Unless [`InvoiceBuilder::relative_expiry`] is set, the invoice will expire two hours after
+ * `created_at`, which is used to set [`Bolt12Invoice::created_at`]. Useful for `no-std` builds
+ * where [`std::time::SystemTime`] is not available.
+ *
+ * The caller is expected to remember the preimage of `payment_hash` in order to claim a payment
+ * for the invoice.
+ *
+ * The `payment_paths` parameter is useful for maintaining the payment recipient's privacy. It
+ * must contain one or more elements ordered from most-preferred to least-preferred, if there's
+ * a preference. Note, however, that any privacy is lost if a public node id was used for
+ * [`Offer::signing_pubkey`].
+ *
+ * Errors if the request contains unknown required features.
+ *
+ * # Note
+ *
+ * If the originating [`Offer`] was created using [`OfferBuilder::deriving_signing_pubkey`],
+ * then use [`InvoiceRequest::verify`] and [`VerifiedInvoiceRequest`] methods instead.
+ *
+ * [`Bolt12Invoice::created_at`]: crate::offers::invoice::Bolt12Invoice::created_at
+ * [`OfferBuilder::deriving_signing_pubkey`]: crate::offers::offer::OfferBuilder::deriving_signing_pubkey
+ */
+ public respond_with_no_std(payment_paths: TwoTuple_BlindedPayInfoBlindedPathZ[], payment_hash: Uint8Array, created_at: bigint): Result_InvoiceWithExplicitSigningPubkeyBuilderBolt12SemanticErrorZ {
+ const ret: bigint = bindings.VerifiedInvoiceRequest_respond_with_no_std(this.ptr, bindings.encodeUint64Array(payment_paths.map(payment_paths_conv_37 => CommonBase.get_ptr_of(payment_paths_conv_37))), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), created_at);
+ const ret_hu_conv: Result_InvoiceWithExplicitSigningPubkeyBuilderBolt12SemanticErrorZ = Result_InvoiceWithExplicitSigningPubkeyBuilderBolt12SemanticErrorZ.constr_from_ptr(ret);
+ return ret_hu_conv;
+ }
+
+ /**
+ * Creates an [`InvoiceBuilder`] for the request using the given required fields and that uses
+ * derived signing keys from the originating [`Offer`] to sign the [`Bolt12Invoice`]. Must use
+ * the same [`ExpandedKey`] as the one used to create the offer.
+ *
+ * See [`InvoiceRequest::respond_with_no_std`] for further details.
+ *
+ * [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice
+ */
+ public respond_using_derived_keys_no_std(payment_paths: TwoTuple_BlindedPayInfoBlindedPathZ[], payment_hash: Uint8Array, created_at: bigint): Result_InvoiceWithDerivedSigningPubkeyBuilderBolt12SemanticErrorZ {
+ const ret: bigint = bindings.VerifiedInvoiceRequest_respond_using_derived_keys_no_std(this.ptr, bindings.encodeUint64Array(payment_paths.map(payment_paths_conv_37 => CommonBase.get_ptr_of(payment_paths_conv_37))), bindings.encodeUint8Array(bindings.check_arr_len(payment_hash, 32)), created_at);
+ const ret_hu_conv: Result_InvoiceWithDerivedSigningPubkeyBuilderBolt12SemanticErrorZ = Result_InvoiceWithDerivedSigningPubkeyBuilderBolt12SemanticErrorZ.constr_from_ptr(ret);
+ return ret_hu_conv;
+ }
+