update-payjoin (#2281)

* feat: upgrade to flutter_payjoin 0.23.0

* fix: dependency discrepancy freezed_annotation

* feat(cw_bitcoin): use latest payjoin deps

* ci: update rust toolchain

* Update pubspec.yaml

* trial: downgrade flutter payjoin ffi

* some checks

* trial 2

* [skip ci] use correct image for CI

* fix: bump flutter sdk to 3.29.0

* partial revert

---------

Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
Konstantin Ullrich 2025-06-11 18:44:06 +02:00 committed by GitHub
parent b0edf1fe75
commit 8457a45c2a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 477 additions and 346 deletions

View file

@ -9,6 +9,8 @@ import 'package:http/http.dart' as http;
import 'package:payjoin_flutter/common.dart';
import 'package:payjoin_flutter/send.dart';
import 'package:payjoin_flutter/src/generated/frb_generated.dart' as pj;
import 'package:payjoin_flutter/src/generated/api/send/error.dart' as pj_error;
import 'package:payjoin_flutter/uri.dart' as pj_uri;
enum PayjoinSenderRequestTypes {
requestPosted,
@ -29,7 +31,7 @@ class PayjoinSenderWorker {
final senderJson = args[1] as String;
final pjUrl = args[2] as String;
final sender = Sender.fromJson(senderJson);
final sender = Sender.fromJson(json: senderJson);
final worker = PayjoinSenderWorker._(sendPort, pjUrl);
try {
@ -51,9 +53,7 @@ class PayjoinSenderWorker {
return await _runSenderV2(sender, httpClient);
} catch (e) {
printV(e);
if (e is PayjoinException &&
// TODO condition on error type instead of message content
e.message?.contains('parse receiver public key') == true) {
if (e is pj_error.FfiCreateRequestError) {
return await _runSenderV1(sender, httpClient);
} else if (e is HttpException) {
printV(e);
@ -68,7 +68,8 @@ class PayjoinSenderWorker {
Future<String> _runSenderV2(Sender sender, http.Client httpClient) async {
try {
final postRequest = await sender.extractV2(
ohttpProxyUrl: await PayjoinManager.randomOhttpRelayUrl(),
ohttpProxyUrl:
await pj_uri.Url.fromStr(PayjoinManager.randomOhttpRelayUrl()),
);
final postResult = await _postRequest(httpClient, postRequest.$1);