From 7b95d7276fc321cf7eab88475c51b2829b8e4188 Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Wed, 6 May 2026 13:48:00 -0400 Subject: trezor --- impls/monero.dart/lib/monero.dart | 46 ++++---- .../lib/src/generated_bindings_monero.g.dart | 125 +++++++++++++-------- impls/monero.dart/lib/src/monero.dart | 44 ++++---- impls/monero.dart/lib/src/wallet2.dart | 6 + 4 files changed, 138 insertions(+), 83 deletions(-) (limited to 'impls/monero.dart/lib') diff --git a/impls/monero.dart/lib/monero.dart b/impls/monero.dart/lib/monero.dart index ce19d4e..44bb8a9 100644 --- a/impls/monero.dart/lib/monero.dart +++ b/impls/monero.dart/lib/monero.dart @@ -72,6 +72,7 @@ library; // ignore_for_file: non_constant_identifier_names, camel_case_types import 'dart:ffi'; +import 'dart:html_common'; import 'dart:io'; import 'package:ffi/ffi.dart'; @@ -3515,91 +3516,96 @@ int MONERO_Wallet_getBytesSent(wallet ptr) { } @Deprecated("TODO") -bool Wallet_getStateIsConnected() { +bool Wallet_getStateIsConnected(int device) { debugStart?.call('MONERO_Wallet_getStateIsConnected'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getStateIsConnected(); + final ret = lib!.MONERO_Wallet_getStateIsConnected(device); debugEnd?.call('MONERO_Wallet_getStateIsConnected'); return ret; } @Deprecated("TODO") -Pointer Wallet_getSendToDevice() { +Pointer Wallet_getSendToDevice(int device) { debugStart?.call('MONERO_Wallet_getSendToDevice'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getSendToDevice(); + final ret = lib!.MONERO_Wallet_getSendToDevice(device); debugEnd?.call('MONERO_Wallet_getSendToDevice'); return ret; } @Deprecated("TODO") -int Wallet_getSendToDeviceLength() { +int Wallet_getSendToDeviceLength(int device) { debugStart?.call('MONERO_Wallet_getSendToDeviceLength'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getSendToDeviceLength(); + final ret = lib!.MONERO_Wallet_getSendToDeviceLength(device); debugEnd?.call('MONERO_Wallet_getSendToDeviceLength'); return ret; } @Deprecated("TODO") -Pointer Wallet_getReceivedFromDevice() { +Pointer Wallet_getReceivedFromDevice(int device) { debugStart?.call('MONERO_Wallet_getReceivedFromDevice'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getReceivedFromDevice(); + final ret = lib!.MONERO_Wallet_getReceivedFromDevice(device); debugEnd?.call('MONERO_Wallet_getReceivedFromDevice'); return ret; } @Deprecated("TODO") -int Wallet_getReceivedFromDeviceLength() { +int Wallet_getReceivedFromDeviceLength(int device) { debugStart?.call('MONERO_Wallet_getReceivedFromDeviceLength'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getReceivedFromDeviceLength(); + final ret = lib!.MONERO_Wallet_getReceivedFromDeviceLength(device); debugEnd?.call('MONERO_Wallet_getReceivedFromDeviceLength'); return ret; } @Deprecated("TODO") -bool Wallet_getWaitsForDeviceSend() { +bool Wallet_getWaitsForDeviceSend(int device) { debugStart?.call('MONERO_Wallet_getWaitsForDeviceSend'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getWaitsForDeviceSend(); + final ret = lib!.MONERO_Wallet_getWaitsForDeviceSend(device); debugEnd?.call('MONERO_Wallet_getWaitsForDeviceSend'); return ret; } @Deprecated("TODO") -bool Wallet_getWaitsForDeviceReceive() { +bool Wallet_getWaitsForDeviceReceive(int device) { debugStart?.call('MONERO_Wallet_getWaitsForDeviceReceive'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_getWaitsForDeviceReceive(); + final ret = lib!.MONERO_Wallet_getWaitsForDeviceReceive(device); debugEnd?.call('MONERO_Wallet_getWaitsForDeviceReceive'); return ret; } @Deprecated("TODO") -void Wallet_setDeviceReceivedData(Pointer data, int len) { +void Wallet_setDeviceReceivedData(int device, Pointer data, int len) { debugStart?.call('MONERO_Wallet_setDeviceReceivedData'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_setDeviceReceivedData(data, len); + final ret = lib!.MONERO_Wallet_setDeviceReceivedData(device, data, len); debugEnd?.call('MONERO_Wallet_setDeviceReceivedData'); return ret; } @Deprecated("TODO") -void Wallet_setDeviceSendData(Pointer data, int len) { +void Wallet_setDeviceSendData(int device, Pointer data, int len) { debugStart?.call('MONERO_Wallet_setDeviceSendData'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_setDeviceSendData(data, len); + final ret = lib!.MONERO_Wallet_setDeviceSendData(device, data, len); debugEnd?.call('MONERO_Wallet_setDeviceSendData'); return ret; } -@Deprecated("TODO") +@Deprecated("Use Wallet_setDeviceCallback(1, callback) instead") void Wallet_setLedgerCallback(Pointer, UnsignedInt)>> callback) { + return Wallet_setDeviceCallback(1, callback); +} + +@Deprecated("TODO") +void Wallet_setDeviceCallback(int device, Pointer, UnsignedInt)>> callback) { debugStart?.call('MONERO_Wallet_setDeviceSendData'); lib ??= MoneroC(DynamicLibrary.open(libPath)); - final ret = lib!.MONERO_Wallet_setLedgerCallback(callback); + final ret = lib!.MONERO_Wallet_setDeviceCallback(device, callback); debugEnd?.call('MONERO_Wallet_setDeviceSendData'); return ret; } diff --git a/impls/monero.dart/lib/src/generated_bindings_monero.g.dart b/impls/monero.dart/lib/src/generated_bindings_monero.g.dart index b757806..b348f8b 100644 --- a/impls/monero.dart/lib/src/generated_bindings_monero.g.dart +++ b/impls/monero.dart/lib/src/generated_bindings_monero.g.dart @@ -4351,83 +4351,114 @@ class MoneroC { late final _MONERO_Wallet_getBytesSent = _MONERO_Wallet_getBytesSentPtr .asFunction)>(); - bool MONERO_Wallet_getStateIsConnected() { - return _MONERO_Wallet_getStateIsConnected(); + bool MONERO_Wallet_getStateIsConnected( + int device, + ) { + return _MONERO_Wallet_getStateIsConnected( + device, + ); } late final _MONERO_Wallet_getStateIsConnectedPtr = - _lookup>( + _lookup>( 'MONERO_Wallet_getStateIsConnected'); late final _MONERO_Wallet_getStateIsConnected = - _MONERO_Wallet_getStateIsConnectedPtr.asFunction(); + _MONERO_Wallet_getStateIsConnectedPtr.asFunction(); - ffi.Pointer MONERO_Wallet_getSendToDevice() { - return _MONERO_Wallet_getSendToDevice(); + ffi.Pointer MONERO_Wallet_getSendToDevice( + int device, + ) { + return _MONERO_Wallet_getSendToDevice( + device, + ); } - late final _MONERO_Wallet_getSendToDevicePtr = - _lookup Function()>>( - 'MONERO_Wallet_getSendToDevice'); + late final _MONERO_Wallet_getSendToDevicePtr = _lookup< + ffi.NativeFunction Function(ffi.Int)>>( + 'MONERO_Wallet_getSendToDevice'); late final _MONERO_Wallet_getSendToDevice = _MONERO_Wallet_getSendToDevicePtr - .asFunction Function()>(); + .asFunction Function(int)>(); - int MONERO_Wallet_getSendToDeviceLength() { - return _MONERO_Wallet_getSendToDeviceLength(); + int MONERO_Wallet_getSendToDeviceLength( + int device, + ) { + return _MONERO_Wallet_getSendToDeviceLength( + device, + ); } late final _MONERO_Wallet_getSendToDeviceLengthPtr = - _lookup>( + _lookup>( 'MONERO_Wallet_getSendToDeviceLength'); late final _MONERO_Wallet_getSendToDeviceLength = - _MONERO_Wallet_getSendToDeviceLengthPtr.asFunction(); + _MONERO_Wallet_getSendToDeviceLengthPtr.asFunction(); - ffi.Pointer MONERO_Wallet_getReceivedFromDevice() { - return _MONERO_Wallet_getReceivedFromDevice(); + ffi.Pointer MONERO_Wallet_getReceivedFromDevice( + int device, + ) { + return _MONERO_Wallet_getReceivedFromDevice( + device, + ); } - late final _MONERO_Wallet_getReceivedFromDevicePtr = - _lookup Function()>>( - 'MONERO_Wallet_getReceivedFromDevice'); + late final _MONERO_Wallet_getReceivedFromDevicePtr = _lookup< + ffi.NativeFunction Function(ffi.Int)>>( + 'MONERO_Wallet_getReceivedFromDevice'); late final _MONERO_Wallet_getReceivedFromDevice = _MONERO_Wallet_getReceivedFromDevicePtr.asFunction< - ffi.Pointer Function()>(); + ffi.Pointer Function(int)>(); - int MONERO_Wallet_getReceivedFromDeviceLength() { - return _MONERO_Wallet_getReceivedFromDeviceLength(); + int MONERO_Wallet_getReceivedFromDeviceLength( + int device, + ) { + return _MONERO_Wallet_getReceivedFromDeviceLength( + device, + ); } late final _MONERO_Wallet_getReceivedFromDeviceLengthPtr = - _lookup>( + _lookup>( 'MONERO_Wallet_getReceivedFromDeviceLength'); late final _MONERO_Wallet_getReceivedFromDeviceLength = _MONERO_Wallet_getReceivedFromDeviceLengthPtr.asFunction< - int Function()>(); + int Function(int)>(); - bool MONERO_Wallet_getWaitsForDeviceSend() { - return _MONERO_Wallet_getWaitsForDeviceSend(); + bool MONERO_Wallet_getWaitsForDeviceSend( + int device, + ) { + return _MONERO_Wallet_getWaitsForDeviceSend( + device, + ); } late final _MONERO_Wallet_getWaitsForDeviceSendPtr = - _lookup>( + _lookup>( 'MONERO_Wallet_getWaitsForDeviceSend'); late final _MONERO_Wallet_getWaitsForDeviceSend = - _MONERO_Wallet_getWaitsForDeviceSendPtr.asFunction(); + _MONERO_Wallet_getWaitsForDeviceSendPtr.asFunction(); - bool MONERO_Wallet_getWaitsForDeviceReceive() { - return _MONERO_Wallet_getWaitsForDeviceReceive(); + bool MONERO_Wallet_getWaitsForDeviceReceive( + int device, + ) { + return _MONERO_Wallet_getWaitsForDeviceReceive( + device, + ); } late final _MONERO_Wallet_getWaitsForDeviceReceivePtr = - _lookup>( + _lookup>( 'MONERO_Wallet_getWaitsForDeviceReceive'); late final _MONERO_Wallet_getWaitsForDeviceReceive = - _MONERO_Wallet_getWaitsForDeviceReceivePtr.asFunction(); + _MONERO_Wallet_getWaitsForDeviceReceivePtr.asFunction< + bool Function(int)>(); void MONERO_Wallet_setDeviceReceivedData( + int device, ffi.Pointer data, int len, ) { return _MONERO_Wallet_setDeviceReceivedData( + device, data, len, ); @@ -4435,17 +4466,19 @@ class MoneroC { late final _MONERO_Wallet_setDeviceReceivedDataPtr = _lookup< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, + ffi.Void Function(ffi.Int, ffi.Pointer, ffi.Size)>>('MONERO_Wallet_setDeviceReceivedData'); late final _MONERO_Wallet_setDeviceReceivedData = _MONERO_Wallet_setDeviceReceivedDataPtr.asFunction< - void Function(ffi.Pointer, int)>(); + void Function(int, ffi.Pointer, int)>(); void MONERO_Wallet_setDeviceSendData( + int device, ffi.Pointer data, int len, ) { return _MONERO_Wallet_setDeviceSendData( + device, data, len, ); @@ -4453,36 +4486,40 @@ class MoneroC { late final _MONERO_Wallet_setDeviceSendDataPtr = _lookup< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, + ffi.Void Function(ffi.Int, ffi.Pointer, ffi.Size)>>('MONERO_Wallet_setDeviceSendData'); late final _MONERO_Wallet_setDeviceSendData = _MONERO_Wallet_setDeviceSendDataPtr.asFunction< - void Function(ffi.Pointer, int)>(); + void Function(int, ffi.Pointer, int)>(); - void MONERO_Wallet_setLedgerCallback( + void MONERO_Wallet_setDeviceCallback( + int device, ffi.Pointer< ffi.NativeFunction< ffi.Void Function(ffi.Pointer command, ffi.UnsignedInt cmd_len)>> - sendToLedgerDevice, + sendToDeviceCallback, ) { - return _MONERO_Wallet_setLedgerCallback( - sendToLedgerDevice, + return _MONERO_Wallet_setDeviceCallback( + device, + sendToDeviceCallback, ); } - late final _MONERO_Wallet_setLedgerCallbackPtr = _lookup< + late final _MONERO_Wallet_setDeviceCallbackPtr = _lookup< ffi.NativeFunction< ffi.Void Function( + ffi.Int, ffi.Pointer< ffi.NativeFunction< ffi.Void Function( ffi.Pointer command, ffi.UnsignedInt cmd_len)>>)>>( - 'MONERO_Wallet_setLedgerCallback'); - late final _MONERO_Wallet_setLedgerCallback = - _MONERO_Wallet_setLedgerCallbackPtr.asFunction< + 'MONERO_Wallet_setDeviceCallback'); + late final _MONERO_Wallet_setDeviceCallback = + _MONERO_Wallet_setDeviceCallbackPtr.asFunction< void Function( + int, ffi.Pointer< ffi.NativeFunction< ffi.Void Function(ffi.Pointer command, diff --git a/impls/monero.dart/lib/src/monero.dart b/impls/monero.dart/lib/src/monero.dart index e142d6b..c4dc93d 100644 --- a/impls/monero.dart/lib/src/monero.dart +++ b/impls/monero.dart/lib/src/monero.dart @@ -1,6 +1,7 @@ // ignore_for_file: deprecated_member_use_from_same_package import 'dart:ffi'; +import 'dart:html_common'; import 'package:monero/monero.dart' as monero; import 'package:monero/src/wallet2.dart'; @@ -1033,12 +1034,12 @@ class MoneroWallet implements Wallet2Wallet { return monero.Wallet_getPolyseed(walletPtr, passphrase: passphrase); } - static Pointer getReceivedFromDevice() { - return monero.Wallet_getReceivedFromDevice(); + static Pointer getReceivedFromDevice(Wallet2Device device) { + return monero.Wallet_getReceivedFromDevice(device.index); } - static int getReceivedFromDeviceLength() { - return monero.Wallet_getReceivedFromDeviceLength(); + static int getReceivedFromDeviceLength(Wallet2Device device) { + return monero.Wallet_getReceivedFromDeviceLength(device.index); } @override @@ -1051,16 +1052,16 @@ class MoneroWallet implements Wallet2Wallet { return monero.Wallet_getSeedLanguage(walletPtr); } - static Pointer getSendToDevice() { - return monero.Wallet_getSendToDevice(); + static Pointer getSendToDevice(Wallet2Device device) { + return monero.Wallet_getSendToDevice(device.index); } - static int getSendToDeviceLength() { - return monero.Wallet_getSendToDeviceLength(); + static int getSendToDeviceLength(Wallet2Device device) { + return monero.Wallet_getSendToDeviceLength(device.index); } - static bool getStateIsConnected() { - return monero.Wallet_getStateIsConnected(); + static bool getStateIsConnected(Wallet2Device device) { + return monero.Wallet_getStateIsConnected(device.index); } @override @@ -1078,12 +1079,12 @@ class MoneroWallet implements Wallet2Wallet { return monero.Wallet_getUserNote(walletPtr, txid: txid); } - static bool getWaitsForDeviceReceive() { - return monero.Wallet_getWaitsForDeviceReceive(); + static bool getWaitsForDeviceReceive(Wallet2Device device) { + return monero.Wallet_getWaitsForDeviceReceive(device.index); } - static bool getWaitsForDeviceSend() { - return monero.Wallet_getWaitsForDeviceSend(); + static bool getWaitsForDeviceSend(Wallet2Device device) { + return monero.Wallet_getWaitsForDeviceSend(device.index); } @override @@ -1350,16 +1351,21 @@ class MoneroWallet implements Wallet2Wallet { return monero.Wallet_setDevicePin(walletPtr, passphrase: passphrase); } - static void setDeviceReceivedData(Pointer data, int len) { - monero.Wallet_setDeviceReceivedData(data, len); + static void setDeviceReceivedData(Wallet2Device device, Pointer data, int len) { + monero.Wallet_setDeviceReceivedData(device.index, data, len); } - static void setDeviceSendData(Pointer data, int len) { - monero.Wallet_setDeviceSendData(data, len); + static void setDeviceSendData(Wallet2Device device, Pointer data, int len) { + monero.Wallet_setDeviceSendData(device.index, data, len); } + @Deprecated("use setDeviceCallback(Wallet2Device.ledger, callback)") static void setLedgerCallback(Pointer, UnsignedInt)>> callback) { - monero.Wallet_setLedgerCallback(callback); + setDeviceCallback(Wallet2Device.ledger, callback); + } + + static void setDeviceCallback(Wallet2Device device, Pointer, UnsignedInt)>> callback) { + monero.Wallet_setDeviceCallback(device.index, callback); } @override diff --git a/impls/monero.dart/lib/src/wallet2.dart b/impls/monero.dart/lib/src/wallet2.dart index 8c41ffa..46be758 100644 --- a/impls/monero.dart/lib/src/wallet2.dart +++ b/impls/monero.dart/lib/src/wallet2.dart @@ -403,4 +403,10 @@ abstract class Wallet2WalletManagerFactory { void setLogLevel(int level); void setLogCategories(String categories); Wallet2WalletManager getWalletManager(); +} + +enum Wallet2Device { + software, + ledger, + trezor } \ No newline at end of file -- cgit v1.2.3