mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-25 08:13:12 +00:00
Add a "Create Pool" flow to the AMM app that lets a user open a new liquidity position — seeding a pool's initial liquidity — from token selection and amount entry, through a confirmation dialog, to on-chain submission. - client crate (apps/amm/client): pure, testable protocol logic — account decoding, pair/position modelling, and quote/plan computation — exposed to the app over a C ABI (config/networks.json drives network selection). - C++ runtime + backend: AmmClient, ActiveNetwork, and NewPositionRuntime, wired into AmmUiBackend (new resolve/quote/submit slots). - QML flow: NewPositionForm, NewPositionFlow state, NewPositionConfirmation- Dialog, TokenSelectorModal, and reusable Amm* presentational components (theme, surfaces, buttons) + AmountMath.js. - tests: C++ (NewPositionRuntimeTest, ActiveNetworkTest) and QML (tst_NewPositionForm, tst_LiquidityPage, tst_TokenAmountInput, …).
14 lines
480 B
Rust
14 lines
480 B
Rust
use amm_client::{config_id, ConfigIdRequest, NEW_POSITION_SCHEMA};
|
|
|
|
#[test]
|
|
fn direct_rust_api_does_not_require_ffi() {
|
|
let response = config_id(ConfigIdRequest {
|
|
amm_program_id: "0000000000000000000000000000000000000000000000000000000000000000".into(),
|
|
})
|
|
.expect("valid program ID should produce a response");
|
|
|
|
assert_eq!(response["status"], "ok");
|
|
assert!(response["configId"].is_string());
|
|
assert_eq!(NEW_POSITION_SCHEMA, "new-position.v1");
|
|
}
|