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 ++++++----------------------------- 1 file changed, 7 insertions(+), 36 deletions(-) (limited to 'impls/monero.dart/lib/src') 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]; } -- cgit v1.2.3