checkNoMixedInputScripts method

  1. @override
Future<MaybeInputsSeen> checkNoMixedInputScripts({
  1. dynamic hint,
})

Make sure that the original transaction inputs have never been seen before. This prevents probing attacks. This prevents reentrant Payjoin, where a sender proposes a Payjoin PSBT as a new Original PSBT for a new Payjoin.

Implementation

@override
Future<MaybeInputsSeen> checkNoMixedInputScripts({hint}) async {
  try {
    final res = await super.checkNoMixedInputScripts();
    return MaybeInputsSeen._(field0: res.field0);
  } on error.PayjoinError catch (e) {
    throw mapPayjoinError(e);
  }
}