fix(keycard): keycard fix

This commit is contained in:
Pravdyvy 2026-06-15 16:13:22 +03:00
parent 09f539a136
commit 1eb03cedfb
3 changed files with 6915 additions and 1264 deletions

8168
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
inputs = {
logos-module-builder.url = "github:logos-co/logos-module-builder";
nix-bundle-lgx.url = "github:logos-co/nix-bundle-lgx";
logos-execution-zone.url = "github:logos-blockchain/lssa?rev=c37a3c30a96515cba756174da1da4137ff025d7f"; # branch with the latest functionality
logos-execution-zone.url = "github:logos-blockchain/lssa?rev=71d33743e187b7a07bd6349d8e15d9d1dfb6f89d"; # branch with the latest functionality
};
outputs = inputs@{ logos-module-builder, ... }:

View File

@ -583,9 +583,11 @@ QString LogosExecutionZoneWalletModule::transfer_shielded(
// Bandaid, I am not sure, how exactly identifiers should be used.
FfiU128 identifier {};
// Analogous, keycart not yet supported
const char *key_path = nullptr;
FfiTransferResult result{};
const WalletFfiError error = wallet_ffi_transfer_shielded(walletHandle, &fromId, &toKeys, &identifier, &amount, &result);
const WalletFfiError error = wallet_ffi_transfer_shielded(walletHandle, &fromId, &toKeys, &identifier, &amount, key_path, &result);
free(const_cast<uint8_t*>(toKeys.viewing_public_key));
if (error != SUCCESS) {
qWarning() << "transfer_shielded: wallet FFI error" << error;
@ -680,8 +682,11 @@ QString LogosExecutionZoneWalletModule::transfer_shielded_owned(
return transferResultToJson(nullptr, QStringLiteral("transfer_shielded_owned: amount_le16_hex must be 32 hex characters (16 bytes)"));
}
// Keycart not yet supported
const char *key_path = nullptr;
FfiTransferResult result{};
const WalletFfiError error = wallet_ffi_transfer_shielded_owned(walletHandle, &fromId, &toId, &amount, &result);
const WalletFfiError error = wallet_ffi_transfer_shielded_owned(walletHandle, &fromId, &toId, &amount, key_path, &result);
if (error != SUCCESS) {
qWarning() << "transfer_shielded_owned: wallet FFI error" << error;
return transferResultToJson(nullptr, QStringLiteral("transfer_shielded_owned: wallet FFI error ") + QString::number(error));