Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains - Omit embedded publish git dirs and empty placeholders from index Made-with: Cursor
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Pool Access — Standard DODO Dashboard, API, and MCP
|
||||
|
||||
**Last Updated:** 2026-02-28
|
||||
**Last Updated:** 2026-04-02
|
||||
**Purpose:** Whether all designed pools (61 across 6 networks) can be accessed via the **standard DODO dashboard**, **API**, and **MCP**, and what is required.
|
||||
|
||||
---
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
| Access method | Chain 138 pools | cW* edge pools (5 public chains) | Requirement |
|
||||
|---------------|------------------|-----------------------------------|-------------|
|
||||
| **Standard DODO dashboard** | ❌ No | ⚠️ Only if real DODO + chain supported | 138 uses Mock DVM; dashboard does not support custom chain 138. |
|
||||
| **API (token-aggregation)** | ✅ Yes | ✅ Yes (when env set) | Chain 138: set `CHAIN_138_DODO_PMM_INTEGRATION=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d`. cW* chains 1, 10, 56, 100, 137: added to dex-factories and chains.ts; set `CHAIN_*_DODO_PMM_INTEGRATION` or `CHAIN_*_DODO_POOL_MANAGER` and run indexer for those chains. |
|
||||
| **MCP (ai-mcp-pmm-controller)** | ✅ Yes (after allowlist) | ⚠️ Per-chain + allowlist | Chain 138: MockDVMPool now has getOraclePrice, _K_, _LP_FEE_RATE_ so dodo_pmm_v2_like profile works; add each pool to allowlist and set RPC to 138. Other chains: one MCP instance per chain + allowlist. |
|
||||
| **Standard DODO dashboard** | ❌ No | ⚠️ Only if real DODO + chain supported | Chain 138 is still a custom chain, so the standard DODO dashboard does not index it even though the pools now use the official DODO V2 DVM-backed stack. |
|
||||
| **API (token-aggregation)** | ✅ Yes | ✅ Yes (when env set) | Chain 138: set `CHAIN_138_DODO_PMM_INTEGRATION=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895`. cW* chains 1, 10, 56, 100, 137: added to dex-factories and chains.ts; set `CHAIN_*_DODO_PMM_INTEGRATION` or `CHAIN_*_DODO_POOL_MANAGER` and run indexer for those chains. |
|
||||
| **MCP (ai-mcp-pmm-controller)** | ✅ Yes (after allowlist) | ⚠️ Per-chain + allowlist | Chain 138: official DODO V2-style pools can use the `dodo_pmm_v2_like` profile; add each pool to allowlist and set RPC to 138. Other chains: one MCP instance per chain + allowlist. |
|
||||
|
||||
**Not all pools can be accessed by all three today.** Below is what works, what’s missing, and what to change.
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
| Pool scope | Accessible? | Reason |
|
||||
|------------|-------------|--------|
|
||||
| **Chain 138** (10 pools) | ❌ **No** | Chain 138 is a **custom/private** chain. The standard DODO dashboard only supports chains DODO officially supports (e.g. Ethereum, BSC, Polygon, Arbitrum). It does not connect to Chain 138 or index Mock DVM pools. |
|
||||
| **Chain 138** (10 pools) | ❌ **No** | Chain 138 is a **custom/private** chain. The standard DODO dashboard only supports chains DODO officially supports (e.g. Ethereum, BSC, Polygon, Arbitrum). It does not connect to Chain 138 even though Chain 138 now uses the official DODO V2 DVM-backed contracts. |
|
||||
| **cW* edge pools** (51 on chains 1, 10, 56, 100, 137) | ⚠️ **Only if** | (1) Pools are **real DODO protocol** pools on that chain, and (2) DODO’s dashboard **supports that chain**. If you deploy via your own factory or a fork, they will not appear unless DODO adds your contracts/chain. |
|
||||
| **Private / bridge / other** | ❌ No | Private and bridge LPs are not part of the public DODO frontend. |
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
| Pool scope | Accessible? | Requirement |
|
||||
|------------|-------------|-------------|
|
||||
| **Chain 138** | ✅ **Yes** | Set `CHAIN_138_DODO_PMM_INTEGRATION=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d` (and RPC) in the service env. The pool indexer uses `getAllPools()`, then `getPoolConfig`, `getPoolReserves`, `getPoolPriceOrOracle` per pool. Once pools exist and the indexer runs, they appear in `/api/v1/tokens`, `/api/v1/pools`, `/api/v1/quote`, and report endpoints. |
|
||||
| **Chain 138** | ✅ **Yes** | Set `CHAIN_138_DODO_PMM_INTEGRATION=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` (and RPC) in the service env. The pool indexer uses `getAllPools()`, then `getPoolConfig`, `getPoolReserves`, `getPoolPriceOrOracle` per pool. Once pools exist and the indexer runs, they appear in `/api/v1/tokens`, `/api/v1/pools`, `/api/v1/quote`, and report endpoints. |
|
||||
| **ALL Mainnet (651940)** | ⚠️ **If configured** | Set `CHAIN_651940_DODO_POOL_MANAGER` (and optional `dodoPmmIntegration`) in dex-factories / env. Today no DODO pool list is documented for 651940. |
|
||||
| **cW* edge (chains 1, 10, 56, 100, 137)** | ✅ **Yes** (when env set) | `dex-factories.ts` and `chains.ts` now include chainIds 1, 10, 56, 100, 137. Set `CHAIN_*_DODO_PMM_INTEGRATION` or `CHAIN_*_DODO_POOL_MANAGER` (and `CHAIN_*_RPC_URL`) so the indexer can index DODO/pools on those chains. |
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
| Pool scope | Accessible? | Requirement |
|
||||
|------------|-------------|-------------|
|
||||
| **Chain 138** | ✅ **Yes** (after allowlist) | (1) **Allowlist:** Add each pool address and base/quote token to `config/allowlist.json` with profile `dodo_pmm_v2_like`. (2) **MockDVMPool** was updated to expose `getOraclePrice()`, `_K_`, `_LP_FEE_RATE_` so the existing MCP profile works. Pools created from a **new** MockDVMFactory (deployed after this change) are MCP-ready; pools from an existing factory may need a new factory deploy to get the updated pool bytecode. (3) Run MCP with `CHAIN=138` and `RPC_URL` pointing to Chain 138. |
|
||||
| **Chain 138** | ✅ **Yes** (after allowlist) | (1) **Allowlist:** Add each pool address and base/quote token to `config/allowlist.json` with profile `dodo_pmm_v2_like`. (2) Run MCP with `CHAIN=138` and `RPC_URL` pointing to Chain 138. |
|
||||
| **cW* edge (each chain)** | ⚠️ **Per chain** | One MCP instance is single-chain (`CHAIN`, `RPC_URL`). For each of the 5 chains: run an MCP instance (or add multi-chain support), add that chain’s pool addresses to the allowlist, and use a profile that matches the pool interface (DODO v2–like or custom). |
|
||||
|
||||
**Conclusion:** **Yes** for any pool **after** (1) allowlisting, (2) profile/interface alignment (Chain 138 needs mock profile or MockDVMPool stubs), (3) correct RPC per chain.
|
||||
@@ -67,13 +67,12 @@
|
||||
|
||||
### API
|
||||
|
||||
- **Chain 138:** Set `CHAIN_138_DODO_PMM_INTEGRATION` and run the indexer; no code change needed.
|
||||
- **Chain 138:** Set `CHAIN_138_DODO_PMM_INTEGRATION=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` and run the indexer; no code change needed.
|
||||
- **cW*:** Chain configs and DODO env-driven entries for 1, 10, 56, 100, 137 are in `dex-factories.ts` and `chains.ts`. Set `CHAIN_*_DODO_PMM_INTEGRATION` or `CHAIN_*_DODO_POOL_MANAGER` and `CHAIN_*_RPC_URL` per chain and run the indexer for those chains.
|
||||
|
||||
### MCP
|
||||
|
||||
- **Chain 138:**
|
||||
- `MockDVMPool.sol` now includes `getOraclePrice()`, `_K_`, and `_LP_FEE_RATE_` so the default `dodo_pmm_v2_like` profile works.
|
||||
- Add each pool to `allowlist.json` with base/quote tokens and profile `dodo_pmm_v2_like`.
|
||||
- Run MCP with `CHAIN=138` and Chain 138 `RPC_URL`.
|
||||
- **cW* (each chain):**
|
||||
@@ -87,9 +86,9 @@
|
||||
|
||||
| Access | Chain 138 (10) | cW* (51 on 5 chains) |
|
||||
|--------|-----------------|----------------------|
|
||||
| **Standard DODO dashboard** | ❌ No (custom chain + Mock DVM) | ⚠️ Only if real DODO on supported chain |
|
||||
| **Standard DODO dashboard** | ❌ No (custom chain) | ⚠️ Only if real DODO on supported chain |
|
||||
| **API** | ✅ Yes (set integration env, run indexer) | ✅ Yes when CHAIN_*_DODO_* and RPC env set for each chain |
|
||||
| **MCP** | ✅ Yes after allowlist + RPC (MockDVMPool has profile-compatible view methods) | ⚠️ Yes per chain after allowlist + profile + RPC |
|
||||
| **MCP** | ✅ Yes after allowlist + RPC | ⚠️ Yes per chain after allowlist + profile + RPC |
|
||||
|
||||
So: **all pools can be accessed via API and MCP** once the above config and code changes are in place; **they cannot all be accessed by the standard DODO dashboard** (138 never; cW* only in the special case above).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user