From 8f6d215e0f538fd5046ab972afaf270f4c4bfbe1 Mon Sep 17 00:00:00 2001 From: Konstantin Ullrich Date: Mon, 16 Sep 2024 16:18:03 +0200 Subject: Migrate to ledger flutter plus --- impls/monero.dart/lib/src/ledger.dart | 43 ++++++----------------------------- impls/monero.dart/pubspec.yaml | 6 ++--- 2 files changed, 10 insertions(+), 39 deletions(-) diff --git a/impls/monero.dart/lib/src/ledger.dart b/impls/monero.dart/lib/src/ledger.dart index fe2e3df..166bcf4 100644 --- a/impls/monero.dart/lib/src/ledger.dart +++ b/impls/monero.dart/lib/src/ledger.dart @@ -3,17 +3,13 @@ import 'dart:ffi'; import 'dart:typed_data'; import 'package:ffi/ffi.dart'; -import 'package:ledger_flutter/src/ledger.dart'; -import 'package:ledger_flutter/src/ledger/ledger_operation.dart'; -import 'package:ledger_flutter/src/models/ledger_device.dart'; -import 'package:ledger_flutter/src/utils/buffer.dart'; +import 'package:ledger_flutter_plus/ledger_flutter_plus.dart'; import 'package:monero/monero.dart' as monero; Timer? _ledgerExchangeTimer; String _lastLedgerRequest = ''; -void enableLedgerExchange( - monero.wallet ptr, Ledger ledger, LedgerDevice device) { +void enableLedgerExchange(monero.wallet ptr, LedgerConnection connection) { _ledgerExchangeTimer = Timer.periodic(Duration(milliseconds: 1), (_) async { final ledgerRequestLength = monero.Wallet_getSendToDeviceLength(ptr); final ledgerRequest = monero.Wallet_getSendToDevice(ptr) @@ -22,7 +18,7 @@ void enableLedgerExchange( if (ledgerRequestLength > 0 && _lastLedgerRequest != ledgerRequest.join()) { _lastLedgerRequest = ledgerRequest.join(); - final response = await exchange(ledger, device, ledgerRequest); + final response = await exchange(connection, ledgerRequest); final Pointer result = malloc(response.length); for (var i = 0; i < response.length; i++) { @@ -42,43 +38,18 @@ void disableLedgerExchange() { _ledgerExchangeTimer?.cancel(); } -Future exchange( - Ledger ledger, LedgerDevice device, Uint8List data) async { - return ledger.sendOperation( - device, - ExchangeOperation( - cla: 0x00, - ins: 0x00, - p1: 0x00, - p2: 0x00, - inputData: data, - ), - ); -} +Future exchange(LedgerConnection connection, Uint8List data) async => + connection.sendOperation(ExchangeOperation(data)); class ExchangeOperation extends LedgerOperation { - final int cla; - final int ins; - final int p1; - final int p2; final Uint8List inputData; - ExchangeOperation({ - required this.cla, - required this.ins, - required this.p1, - required this.p2, - required this.inputData, - }); + ExchangeOperation(this.inputData); @override Future read(ByteDataReader reader) async => reader.read(reader.remainingLength); @override - Future> write(ByteDataWriter writer) async { - writer.write(inputData); - - return [writer.toBytes()]; - } + Future> write(ByteDataWriter writer) async => [inputData]; } diff --git a/impls/monero.dart/pubspec.yaml b/impls/monero.dart/pubspec.yaml index 4c6254b..4f42964 100644 --- a/impls/monero.dart/pubspec.yaml +++ b/impls/monero.dart/pubspec.yaml @@ -8,10 +8,10 @@ environment: dependencies: ffi: ^2.1.0 - ledger_flutter: + ledger_flutter_plus: git: - url: https://github.com/MrCyjaneK/ledger-flutter - ref: d68f1be485717bedad0779ee6114afec1896fbc9 + url: https://github.com/cake-tech/ledger-flutter-plus + ref: cake-v1 dev_dependencies: lints: ^4.0.0 -- cgit v1.2.3