summaryrefslogtreecommitdiff
path: root/impls/monero.dart/lib/src
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2026-05-06 13:48:00 -0400
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2026-05-07 11:28:22 -0400
commit7b95d7276fc321cf7eab88475c51b2829b8e4188 (patch)
tree2cfe0c0984d86cacbf53ee1cb33ee536fc3979df /impls/monero.dart/lib/src
parentbc8d1a0b75b97156d71579581b4cdfe58c777ed2 (diff)
Diffstat (limited to 'impls/monero.dart/lib/src')
-rw-r--r--impls/monero.dart/lib/src/generated_bindings_monero.g.dart125
-rw-r--r--impls/monero.dart/lib/src/monero.dart44
-rw-r--r--impls/monero.dart/lib/src/wallet2.dart6
3 files changed, 112 insertions, 63 deletions
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<int Function(ffi.Pointer<ffi.Void>)>();
- 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<ffi.NativeFunction<ffi.Bool Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Int)>>(
'MONERO_Wallet_getStateIsConnected');
late final _MONERO_Wallet_getStateIsConnected =
- _MONERO_Wallet_getStateIsConnectedPtr.asFunction<bool Function()>();
+ _MONERO_Wallet_getStateIsConnectedPtr.asFunction<bool Function(int)>();
- ffi.Pointer<ffi.UnsignedChar> MONERO_Wallet_getSendToDevice() {
- return _MONERO_Wallet_getSendToDevice();
+ ffi.Pointer<ffi.UnsignedChar> MONERO_Wallet_getSendToDevice(
+ int device,
+ ) {
+ return _MONERO_Wallet_getSendToDevice(
+ device,
+ );
}
- late final _MONERO_Wallet_getSendToDevicePtr =
- _lookup<ffi.NativeFunction<ffi.Pointer<ffi.UnsignedChar> Function()>>(
- 'MONERO_Wallet_getSendToDevice');
+ late final _MONERO_Wallet_getSendToDevicePtr = _lookup<
+ ffi.NativeFunction<ffi.Pointer<ffi.UnsignedChar> Function(ffi.Int)>>(
+ 'MONERO_Wallet_getSendToDevice');
late final _MONERO_Wallet_getSendToDevice = _MONERO_Wallet_getSendToDevicePtr
- .asFunction<ffi.Pointer<ffi.UnsignedChar> Function()>();
+ .asFunction<ffi.Pointer<ffi.UnsignedChar> 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<ffi.NativeFunction<ffi.Size Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Size Function(ffi.Int)>>(
'MONERO_Wallet_getSendToDeviceLength');
late final _MONERO_Wallet_getSendToDeviceLength =
- _MONERO_Wallet_getSendToDeviceLengthPtr.asFunction<int Function()>();
+ _MONERO_Wallet_getSendToDeviceLengthPtr.asFunction<int Function(int)>();
- ffi.Pointer<ffi.UnsignedChar> MONERO_Wallet_getReceivedFromDevice() {
- return _MONERO_Wallet_getReceivedFromDevice();
+ ffi.Pointer<ffi.UnsignedChar> MONERO_Wallet_getReceivedFromDevice(
+ int device,
+ ) {
+ return _MONERO_Wallet_getReceivedFromDevice(
+ device,
+ );
}
- late final _MONERO_Wallet_getReceivedFromDevicePtr =
- _lookup<ffi.NativeFunction<ffi.Pointer<ffi.UnsignedChar> Function()>>(
- 'MONERO_Wallet_getReceivedFromDevice');
+ late final _MONERO_Wallet_getReceivedFromDevicePtr = _lookup<
+ ffi.NativeFunction<ffi.Pointer<ffi.UnsignedChar> Function(ffi.Int)>>(
+ 'MONERO_Wallet_getReceivedFromDevice');
late final _MONERO_Wallet_getReceivedFromDevice =
_MONERO_Wallet_getReceivedFromDevicePtr.asFunction<
- ffi.Pointer<ffi.UnsignedChar> Function()>();
+ ffi.Pointer<ffi.UnsignedChar> 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<ffi.NativeFunction<ffi.Size Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Size Function(ffi.Int)>>(
'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<ffi.NativeFunction<ffi.Bool Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Int)>>(
'MONERO_Wallet_getWaitsForDeviceSend');
late final _MONERO_Wallet_getWaitsForDeviceSend =
- _MONERO_Wallet_getWaitsForDeviceSendPtr.asFunction<bool Function()>();
+ _MONERO_Wallet_getWaitsForDeviceSendPtr.asFunction<bool Function(int)>();
- 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<ffi.NativeFunction<ffi.Bool Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Int)>>(
'MONERO_Wallet_getWaitsForDeviceReceive');
late final _MONERO_Wallet_getWaitsForDeviceReceive =
- _MONERO_Wallet_getWaitsForDeviceReceivePtr.asFunction<bool Function()>();
+ _MONERO_Wallet_getWaitsForDeviceReceivePtr.asFunction<
+ bool Function(int)>();
void MONERO_Wallet_setDeviceReceivedData(
+ int device,
ffi.Pointer<ffi.UnsignedChar> 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.UnsignedChar>,
+ ffi.Void Function(ffi.Int, ffi.Pointer<ffi.UnsignedChar>,
ffi.Size)>>('MONERO_Wallet_setDeviceReceivedData');
late final _MONERO_Wallet_setDeviceReceivedData =
_MONERO_Wallet_setDeviceReceivedDataPtr.asFunction<
- void Function(ffi.Pointer<ffi.UnsignedChar>, int)>();
+ void Function(int, ffi.Pointer<ffi.UnsignedChar>, int)>();
void MONERO_Wallet_setDeviceSendData(
+ int device,
ffi.Pointer<ffi.UnsignedChar> 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.UnsignedChar>,
+ ffi.Void Function(ffi.Int, ffi.Pointer<ffi.UnsignedChar>,
ffi.Size)>>('MONERO_Wallet_setDeviceSendData');
late final _MONERO_Wallet_setDeviceSendData =
_MONERO_Wallet_setDeviceSendDataPtr.asFunction<
- void Function(ffi.Pointer<ffi.UnsignedChar>, int)>();
+ void Function(int, ffi.Pointer<ffi.UnsignedChar>, int)>();
- void MONERO_Wallet_setLedgerCallback(
+ void MONERO_Wallet_setDeviceCallback(
+ int device,
ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<ffi.UnsignedChar> 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<ffi.UnsignedChar> 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<ffi.UnsignedChar> 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<UnsignedChar> getReceivedFromDevice() {
- return monero.Wallet_getReceivedFromDevice();
+ static Pointer<UnsignedChar> 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<UnsignedChar> getSendToDevice() {
- return monero.Wallet_getSendToDevice();
+ static Pointer<UnsignedChar> 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<UnsignedChar> data, int len) {
- monero.Wallet_setDeviceReceivedData(data, len);
+ static void setDeviceReceivedData(Wallet2Device device, Pointer<UnsignedChar> data, int len) {
+ monero.Wallet_setDeviceReceivedData(device.index, data, len);
}
- static void setDeviceSendData(Pointer<UnsignedChar> data, int len) {
- monero.Wallet_setDeviceSendData(data, len);
+ static void setDeviceSendData(Wallet2Device device, Pointer<UnsignedChar> data, int len) {
+ monero.Wallet_setDeviceSendData(device.index, data, len);
}
+ @Deprecated("use setDeviceCallback(Wallet2Device.ledger, callback)")
static void setLedgerCallback(Pointer<NativeFunction<Void Function(Pointer<UnsignedChar>, UnsignedInt)>> callback) {
- monero.Wallet_setLedgerCallback(callback);
+ setDeviceCallback(Wallet2Device.ledger, callback);
+ }
+
+ static void setDeviceCallback(Wallet2Device device, Pointer<NativeFunction<Void Function(Pointer<UnsignedChar>, 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