mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-17 12:29:27 +00:00
Implement one create-pool and add-liquidity workflow. Add searchable token resolution, direct opening-price and deposit editing, optimistic pool activation, and base58 transaction IDs. Isolate network, wallet, AMM client, and runtime boundaries. Stabilize quote, submission, refresh, and pool-probe state while consolidating liquidity tests and removing obsolete liquidity paths.
31 lines
1.1 KiB
C++
31 lines
1.1 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;
|
|
};
|
|
|
|
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;
|
|
};
|