mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-25 08:13:12 +00:00
The create-pool / new-position flow carried its own network layer:
AMM_UI_NETWORK + AMM_UI_DEVNET_FILE (a devnet.json) or a bundled
config/networks.json supplied the AMM program id and token set, and a
JSON-RPC channel/checkpoint "identity probe" gated the flow to a verified
network. Main already exposes all of this the way the Swap view consumes it,
so collapse onto those sources instead of a parallel system:
- ammProgramId <- $AMM_PROGRAM_BIN (derived like swapExactInput's program id;
doubles as the quote's network fingerprint so a quote can't
be replayed against a different deployment)
- tokenIds <- $TOKENS_CONFIG (amm-tokens.json), same as the Swap picker
- sequencer <- the wallet config (already surfaced via syncWalletState)
networkSnapshot() builds the ActiveNetworkSnapshot from those; status is
"ready"/"config_missing", gated to "loading" until wallet state resolves so no
module reads happen during construction. The channel probe is gone — submit
needs no channelId (the wallet module supplies the channel via
submitPublicTransaction), so the whole verification apparatus was overhead.
Removes: AMM_UI_NETWORK / AMM_UI_DEVNET_FILE, devnet.json / networks.json, the
ActiveNetwork class (+ its test) and its QNetwork channel probe, and Qt6Network.
ActiveNetwork.h keeps only the ActiveNetworkSnapshot struct. Run command drops
the AMM_UI_* vars:
```
LEE_WALLET_HOME_DIR=… AMM_PROGRAM_BIN=… TOKENS_CONFIG=… nix run .#amm-ui
```
69 lines
2.0 KiB
CMake
69 lines
2.0 KiB
CMake
cmake_minimum_required(VERSION 3.21)
|
|
project(AmmUiPlugin LANGUAGES CXX)
|
|
|
|
find_package(Qt6 6.8 REQUIRED COMPONENTS Core Gui Network Qml Quick QuickControls2)
|
|
qt_standard_project_setup(REQUIRES 6.8)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(BASE58 REQUIRED IMPORTED_TARGET libbase58)
|
|
|
|
include(CTest)
|
|
|
|
if(DEFINED ENV{LOGOS_MODULE_BUILDER_ROOT})
|
|
include($ENV{LOGOS_MODULE_BUILDER_ROOT}/cmake/LogosModule.cmake)
|
|
else()
|
|
message(FATAL_ERROR "LogosModule.cmake not found. Set LOGOS_MODULE_BUILDER_ROOT.")
|
|
endif()
|
|
|
|
set(LOGOS_WALLET_SOURCE_DIR
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../shared/wallet"
|
|
CACHE PATH "Path to the shared Logos wallet module"
|
|
)
|
|
set(LOGOS_WALLET_GENERATED_DIR
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/generated_code"
|
|
CACHE PATH "Path to generated Logos SDK sources"
|
|
)
|
|
add_subdirectory("${LOGOS_WALLET_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/shared-wallet")
|
|
|
|
# ui_qml module with a hand-written C++ backend (QtRO .rep view contract +
|
|
# generated *SimpleSource/*ViewPluginBase). Mirrors the LEZ wallet UI module.
|
|
logos_module(
|
|
NAME amm_ui
|
|
REP_FILE src/AmmUiBackend.rep
|
|
SOURCES
|
|
src/AmmUiPluginInterface.h
|
|
src/AmmUiPlugin.h
|
|
src/AmmUiPlugin.cpp
|
|
src/AmmUiBackend.h
|
|
src/AmmUiBackend.cpp
|
|
src/ActiveNetwork.h
|
|
src/AmmClient.h
|
|
src/AmmClient.cpp
|
|
src/NewPositionRuntime.h
|
|
src/NewPositionRuntime.cpp
|
|
FIND_PACKAGES
|
|
Qt6Gui
|
|
LINK_LIBRARIES
|
|
Qt6::Gui
|
|
PkgConfig::BASE58
|
|
LINK_TARGETS
|
|
logos_wallet_access
|
|
EXTERNAL_LIBS
|
|
amm_client_ffi
|
|
amm_client
|
|
)
|
|
|
|
if(BUILD_TESTING)
|
|
add_executable(amm_new_position_runtime_test
|
|
tests/cpp/NewPositionRuntimeTest.cpp
|
|
src/NewPositionRuntime.cpp
|
|
)
|
|
target_include_directories(amm_new_position_runtime_test PRIVATE src)
|
|
target_link_libraries(amm_new_position_runtime_test PRIVATE
|
|
Qt6::Core
|
|
PkgConfig::BASE58
|
|
logos_wallet_access
|
|
)
|
|
add_test(NAME amm_new_position_runtime COMMAND amm_new_position_runtime_test)
|
|
endif()
|