mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-08-26 06:31:19 +00:00
- 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.
33 lines
1.3 KiB
C++
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;
|
|
};
|