logos-blockchain-module/src/i_logos_blockchain_module.h

30 lines
939 B
C
Raw Normal View History

#ifndef I_LOGOS_BLOCKCHAIN_MODULE_API_H
#define I_LOGOS_BLOCKCHAIN_MODULE_API_H
2025-12-17 10:55:13 +01:00
#include "known_addresses.h"
2026-02-16 16:15:04 +01:00
#include <core/interface.h>
2026-01-22 23:36:47 +01:00
2026-02-02 17:27:25 +01:00
class ILogosBlockchainModule {
2025-12-17 10:55:13 +01:00
public:
2026-02-02 17:27:25 +01:00
virtual ~ILogosBlockchainModule() = default;
2025-12-17 10:55:13 +01:00
2026-01-22 23:36:47 +01:00
// Logos Core
2026-02-02 17:27:25 +01:00
virtual void initLogos(LogosAPI* logosAPIInstance) = 0;
2025-12-17 10:55:13 +01:00
2026-01-22 23:36:47 +01:00
// Node
2026-02-02 17:27:25 +01:00
virtual int start(const QString& config_path, const QString& deployment) = 0;
virtual int stop() = 0;
2026-02-04 15:56:51 +01:00
virtual int wallet_get_balance(
const uint8_t* wallet_address,
const HeaderId* optional_tip,
BalanceResult* output_balance
) = 0;
2026-02-02 17:27:25 +01:00
virtual int wallet_transfer_funds(const TransferFundsArguments* transfer_funds_arguments, Hash* output_hash) = 0;
virtual int wallet_get_known_addresses(lb::KnownAddresses* output) = 0;
2025-12-17 10:55:13 +01:00
};
2025-12-19 15:53:41 +01:00
#define ILogosBlockchainModule_iid "org.logos.ilogosblockchainmodule"
Q_DECLARE_INTERFACE(ILogosBlockchainModule, ILogosBlockchainModule_iid)
2025-12-19 15:53:41 +01:00
#endif