From 4a2924040ee5754e1ab241e8dcd9d5e3e594f2c8 Mon Sep 17 00:00:00 2001 From: jbesraa Date: Wed, 26 Jun 2024 21:22:54 +0300 Subject: [PATCH] Rewrite `send::error::ResponseError` docs --- payjoin/src/send/error.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/payjoin/src/send/error.rs b/payjoin/src/send/error.rs index 69a3f1a8..73ee23e1 100644 --- a/payjoin/src/send/error.rs +++ b/payjoin/src/send/error.rs @@ -269,19 +269,24 @@ impl From for CreateRequestError { fn from(value: InternalCreateRequestError) -> Self { CreateRequestError(value) } } -/// Represent an error returned by the receiver. +/// Represent an error returned by Payjoin receiver. pub enum ResponseError { - /// `WellKnown` errors following the BIP78 spec - /// https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki#user-content-Receivers_well_known_errors - /// These errors are displayed to end users. + /// `WellKnown` Errors are defined in the [`BIP78::ReceiverWellKnownError`] spec. /// - /// The `WellKnownError` represents `errorCode` and `message`. + /// It is safe to display `WellKnown` errors to end users. + /// + /// [`BIP78::ReceiverWellKnownError`]: https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki#user-content-Receivers_well_known_errors WellKnown(WellKnownError), - /// `Unrecognized` errors are errors that are not well known and are only displayed in debug logs. - /// They are not displayed to end users. + /// `Unrecognized` Errors are NOT defined in the [`BIP78::ReceiverWellKnownError`] spec. + /// + /// Its not safe to display `Unrecognized` errors to end users as they could be used + /// maliciously to phish a non technical user. Only display them in debug logs. + /// + /// [`BIP78::ReceiverWellKnownError`]: https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki#user-content-Receivers_well_known_errors Unrecognized { error_code: String, message: String }, - /// `Validation` errors are errors that are caused by malformed responses. - /// They are only displayed in debug logs. + /// Errors caused by malformed responses. + /// + /// These errors are only displayed in debug logs. Validation(ValidationError), }