Files
lez-programs/apps/amm/src/AmmClient.h
T
Ricardo Guilherme Schmidt 2f029d4c91 feat: Introduce SequencerClient for enhanced account management and transaction querying
- Added SequencerClient class to handle asynchronous account reads and transaction queries.
- Updated NewPositionRuntime to integrate SequencerClient, allowing for improved wallet account management.
- Modified existing tests to accommodate changes in the new position schema from v1 to v2.
- Enhanced QML tests to validate new position form behavior with updated holding selections and context handling.
- Refactored code to ensure compatibility with the new SequencerClient functionalities.
2026-07-18 19:55:15 -03:00

33 lines
1.3 KiB
C++

#pragma once
#include <QJsonObject>
struct AmmClientResult {
bool ok = false;
QJsonObject value;
};
class AmmClient {
public:
virtual ~AmmClient() = default;
virtual AmmClientResult configId(const QJsonObject& request) const = 0;
virtual AmmClientResult tokenIds(const QJsonObject& request) const = 0;
virtual AmmClientResult pairIds(const QJsonObject& request) const = 0;
virtual AmmClientResult context(const QJsonObject& request) const = 0;
virtual AmmClientResult quote(const QJsonObject& request) const = 0;
virtual AmmClientResult plan(const QJsonObject& request) const = 0;
virtual AmmClientResult normalizeAccountRpc(const QJsonObject& request) const = 0;
};
class BundledAmmClient final : public AmmClient {
public:
AmmClientResult configId(const QJsonObject& request) const override;
AmmClientResult tokenIds(const QJsonObject& request) const override;
AmmClientResult pairIds(const QJsonObject& request) const override;
AmmClientResult context(const QJsonObject& request) const override;
AmmClientResult quote(const QJsonObject& request) const override;
AmmClientResult plan(const QJsonObject& request) const override;
AmmClientResult normalizeAccountRpc(const QJsonObject& request) const override;
};