reticulum-js
    Preparing search index...
    • Decrypts and reconstructs an LXMF message from a channel inner_blob.

      Inverse of wrapChannelMessage: EC-decrypts with the channel identity, verifies the RTID magic, extracts the embedded sender public key, and feeds the reconstructed LXMF wire block to Message.deserialize. The sender identity is cached via Destination.remember so subsequent messages from the same sender validate without the prelude.

      The returned signatureValid is the integrity check: a forged sender_identity_pub produces a signature mismatch.

      Parameters

      • opts: {
            channelDeliveryHash: Uint8Array<ArrayBufferLike>;
            channelIdentity: Identity;
            innerBlob: Uint8Array<ArrayBufferLike>;
        }
        • channelDeliveryHash: Uint8Array<ArrayBufferLike>

          Channel's lxmf.delivery destination hash (prepended to the LXMF tail before deserialisation).

        • channelIdentity: Identity

          Channel's derived Identity (holds the private key used to EC-decrypt).

        • innerBlob: Uint8Array<ArrayBufferLike>

          EC-encrypted channel message (no channel-hash prefix, no stamp).

      Returns Promise<
          {
              message: LXMessage;
              senderIdentity: Identity;
              senderPub: Uint8Array;
              signatureValid: boolean;
              sourceHash: Uint8Array;
          },
      >

      when decryption fails, the magic is absent, or the LXMF tail cannot be parsed.