diff --git a/config/all-mainnet-pool-creation-matrix.json b/config/all-mainnet-pool-creation-matrix.json index 110ecebd..fd63b70c 100644 --- a/config/all-mainnet-pool-creation-matrix.json +++ b/config/all-mainnet-pool-creation-matrix.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "generatedAt": "2026-04-29T05:52:00Z", + "generatedAt": "2026-04-29T06:18:00Z", "description": "Canonical pool-creation matrix for ALL Mainnet public spend readiness. Pools must exist here before funding.", "lifecycle": [ "planned", @@ -14,6 +14,7 @@ "dodo_pmm", "single_sided_pmm", "uniswap_v2", + "uniswap_v3", "sushiswap_v2", "curve_stable", "balancer_weighted", @@ -22,7 +23,7 @@ ], "statusCounts": { "planned": 83, - "canary_passed": 4, + "canary_passed": 5, "created": 17, "live_read": 8 }, @@ -34,7 +35,8 @@ "curve_stable": 11, "balancer_weighted": 11, "aave_backstop": 11, - "oneinch_aggregator": 11 + "oneinch_aggregator": 11, + "uniswap_v3": 1 }, "rows": [ { @@ -8623,6 +8625,135 @@ "notes": [ "Secondary protocol surface; promote only after underlying liquidity exists" ] + }, + { + "poolId": "651940-uniswap_v3-wall-ausdt", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v3", + "poolType": "concentrated_liquidity", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "AUSDT", + "address": "0x015B1897Ed5279930bC2Be46F661894d219292A6" + }, + "factoryAddress": "0xF1a334465C5DD628492780B39Be68D561A9AecA2", + "routerAddress": "0xe9Ea1B70803c18C4CEb8839D5D68681c7903511B", + "poolAddress": "0x9e0FC06BA367b51a0aBc5c0924306088DBB0e9c4", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": "0x74eccf9affb0e0938c2168ebdf7ef63a26964483", + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": "0x31884f84555210FFB36a19D2471b8eBc7372d0A8", + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": "0xb9E29cFa1f89d369671E640d0BB3aD94Cab43965", + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": "0xb9E29cFa1f89d369671E640d0BB3aD94Cab43965", + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "ready", + "missingRequiredVaultRoles": [], + "feeBps": 30, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "uniswap_v3_position_manager_seed", + "status": "canary_passed", + "requiredForSpend": true, + "canaryEvidence": { + "generatedAt": "2026-04-29T06:17:00Z", + "sourceFile": "config/all-mainnet-uniswap-v3-deployment.json", + "canaryTransactions": [ + { + "direction": "base_to_quote", + "txHash": "0xddf85aed18a6d872ac72d4f57b241e44946881e404f4f17cb7271180c8caa183", + "amountInRaw": "1000000", + "amountOutRaw": "996999", + "tokenIn": "WALL", + "tokenOut": "AUSDT", + "executor": "UniswapV3.SwapRouter.exactInputSingle" + } + ], + "notes": [ + "Tiny live canary swap executed through the official ALL Mainnet Uniswap V3 SwapRouter." + ] + }, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet official Uniswap V3 pool stack deployed from upstream Uniswap V3 artifacts.", + "AUSDT/WALL 0.30% pool initialized at 1:1 sqrtPriceX96 and seeded through NonfungiblePositionManager.", + "Standalone SwapRouter and Quoter are live and tested; EnhancedSwapRouterV2 V3 provider remains disabled until adapter quote compatibility is fixed." + ], + "infrastructure": { + "nftDescriptorLibrary": "0xb53E8A0A19fB381537c6f28D37b7C2f7DC29EF02", + "nonfungibleTokenPositionDescriptor": "0x2a76C73458A0C11df4e0E43004598480d6D1E768", + "factory": "0xF1a334465C5DD628492780B39Be68D561A9AecA2", + "swapRouter": "0xe9Ea1B70803c18C4CEb8839D5D68681c7903511B", + "quoter": "0x0ecC56077325863c80cbe516D63e0afAFf7EA579", + "quoterV2": "0x024Ff178BaB7e6fa1794c3A216D2B299C3F295d2", + "nonfungiblePositionManager": "0xD29422211e1f2C1015FBb5dC2004657Dd8318aF6", + "pool": "0x9e0FC06BA367b51a0aBc5c0924306088DBB0e9c4", + "enhancedRouterV2": "0xb905fEfA56b028221E2Bc248Bbcd41141dc7aeD3" + }, + "createdEvidence": { + "onChainVerifiedAt": "2026-04-29T06:14:00Z", + "transactionHash": "0x2570e85a18b191c3b053d4ee7c94ee7512cc0682345c58771a448c66fb9a3a73", + "verification": "UniswapV3Factory.getPool(AUSDT,WALL,3000) resolves to pool address; pool has code and liquidity." + }, + "reserveEvidence": { + "generatedAt": "2026-04-29T06:14:00Z", + "liquidityRaw": "1000000000000000000", + "sqrtPriceX96": "79228162514264337593543950336", + "tick": 0, + "mintTxHash": "0x64660f089eac210ff94a1a01ffcdc1e3d9dc82739589b781d9ef18d8247a4754", + "liveReadStatus": "nonzero_liquidity" + }, + "routerRouteEvidence": { + "routerAddress": "0xb905fEfA56b028221E2Bc248Bbcd41141dc7aeD3", + "providerAddress": "0x36F65027D21e151F0b7810bae1E94b225AC7Ba9e", + "registeredTransactions": [ + "0xe4deaa28fe206c54e8325b2fc2dc957fcb85382cccd4e25c9f6f2a01b9d76f73", + "0x67d00f7e8d6c78e7e2d0fe381ffd71651dff15d39ad73fef6435b025061e6550", + "0x1dcf7fc79f35fb9752a5de405c6c4027f4e6e4e7ba640d03ddd61be52709548e", + "0x88030036f8b7c30d1dbe01be6cd2bd326d48f095c72196bddc943b4edd135010" + ], + "quoteCheck": { + "amountInRaw": "1000000", + "amountOutRaw": "1999999", + "slippageBps": 30, + "routerQuoteExecutable": true + } + } } ] } diff --git a/config/all-mainnet-uniswap-v3-deployment.json b/config/all-mainnet-uniswap-v3-deployment.json new file mode 100644 index 00000000..6623b499 --- /dev/null +++ b/config/all-mainnet-uniswap-v3-deployment.json @@ -0,0 +1,68 @@ +{ + "generatedAt": "2026-04-29T06:18:00Z", + "chainId": 651940, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "fee": 3000, + "tokens": { + "WETH": "0x798F6762BB40d6801A593459d08F890603D3979C", + "WALL": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4", + "AUSDT": "0x015B1897Ed5279930bC2Be46F661894d219292A6", + "token0": "0x015B1897Ed5279930bC2Be46F661894d219292A6", + "token1": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "contracts": { + "nftDescriptorLibrary": "0xb53E8A0A19fB381537c6f28D37b7C2f7DC29EF02", + "nonfungibleTokenPositionDescriptor": "0x2a76C73458A0C11df4e0E43004598480d6D1E768", + "factory": "0xF1a334465C5DD628492780B39Be68D561A9AecA2", + "swapRouter": "0xe9Ea1B70803c18C4CEb8839D5D68681c7903511B", + "quoter": "0x0ecC56077325863c80cbe516D63e0afAFf7EA579", + "quoterV2": "0x024Ff178BaB7e6fa1794c3A216D2B299C3F295d2", + "nonfungiblePositionManager": "0xD29422211e1f2C1015FBb5dC2004657Dd8318aF6", + "pool": "0x9e0FC06BA367b51a0aBc5c0924306088DBB0e9c4" + }, + "transactions": { + "nftDescriptorLibrary": "0x774202382ec2d29cced671b34c2b951682f60d3e60afd7fe64c13488cb341e32", + "nonfungibleTokenPositionDescriptor": "0xc6b98fc36e4c3b1d4d2e80efd4acacc31e2af2ff45de04f9fb066dcfffd380d3", + "factory": "0xb6e46b6d145cc707f12f4cf8980bf81d7b5b8d3bea9416737a7465c186b0fefd", + "swapRouter": "0x5fd7d021e8ac1bad918a1eb470a116f9dc6e750c102a5512e05391858296cc53", + "quoter": "0x0d5c14d3264c5abd70990349911a6eb3076f41feb2db93ccf74b2de022cd087f", + "quoterV2": "0x774327c7e7a7650fbfd9d28a8becbd88f86eb8f942a825980052bc50484aa54c", + "nonfungiblePositionManager": "0xe5be3fa83bd676051e2cc5ff990768d3de87e49a387d94be77352eaf1c38545f" + }, + "poolState": { + "sqrtPriceX96": "79228162514264337593543950336", + "tick": 0, + "liquidity": "1000000000000000000" + }, + "name": "ALL Mainnet Uniswap V3 Deployment Evidence", + "version": "0.1.0", + "network": "ALL Mainnet (Alltra)", + "evmVersion": "upstream-uniswap-artifacts-solc-0.7.x", + "packageSources": { + "v3Core": "@uniswap/v3-core@1.0.1", + "v3Periphery": "@uniswap/v3-periphery@1.4.4", + "swapRouterContracts": "@uniswap/swap-router-contracts@1.3.1" + }, + "poolStateAfterRouterSwap": { + "testedAt": "2026-04-29T06:17:00Z", + "swapRouter": "0xe9Ea1B70803c18C4CEb8839D5D68681c7903511B", + "direction": "WALL_TO_AUSDT", + "amountInRaw": "1000000", + "amountOutRaw": "996999", + "approveTxHash": "0x572d1c6b2d0cdf6248913cd995e80196fbe0717017411c2251637afbfa825e1f", + "swapTxHash": "0xddf85aed18a6d872ac72d4f57b241e44946881e404f4f17cb7271180c8caa183", + "gasUsed": "119111" + }, + "enhancedRouterIntegration": { + "enhancedSwapRouterV2": "0xb905fEfA56b028221E2Bc248Bbcd41141dc7aeD3", + "routeConfigured": true, + "providerEnabled": false, + "providerDisabledReason": "Existing UniswapV3RouteExecutorAdapter uses staticcall into the official Uniswap Quoter; the upstream Quoter is callable directly but does not return through that adapter staticcall path. Standalone SwapRouter/Quoter/Pool stack is live; enhanced-router V3 provider remains disabled until adapter quote compatibility is fixed.", + "routeSetTransactions": [ + "0xa40b24889ab3ad985936562ee3690dafd14bfb1676ff49806a6fcb45c7704ef5", + "0x848fd6c7cedaebe7787c2f15a931b73afde709dac100cb745eab2d9eaa6da86c" + ], + "providerEnableTxHash": "0x4b430081582e1f2db5fedc904b8e90e137480dcae2f1e0a41dd25490f05394c7", + "providerDisableTxHash": "0x78b8ce4fdc296585ace36dd8c8318731cc5526115e712b14d1ad630c4f63aba6" + } +} diff --git a/config/allmainnet-non-dodo-protocol-surface.json b/config/allmainnet-non-dodo-protocol-surface.json index 7959e357..b5595874 100644 --- a/config/allmainnet-non-dodo-protocol-surface.json +++ b/config/allmainnet-non-dodo-protocol-surface.json @@ -913,14 +913,25 @@ { "name": "Uniswap V3", "family": "uniswap_v3", - "status": "env_placeholder_only", - "factoryAddress": null, - "routerAddress": null, + "status": "standalone_live_router_quoter_pool_deployed", + "factoryAddress": "0xF1a334465C5DD628492780B39Be68D561A9AecA2", + "routerAddress": "0xe9Ea1B70803c18C4CEb8839D5D68681c7903511B", "notes": [ - "Referenced in token-aggregation dex-factory config and docs as an env-driven surface.", - "Do not treat as routable until real factory/router/pool addresses are committed.", - "The EnhancedSwapRouterV2 Uniswap V3 adapter is deployed but disabled on ALL Mainnet because no canonical Uniswap V3 factory/router/quoter/pool stack is committed." - ] + "Official Uniswap V3 factory, legacy SwapRouter, Quoter, QuoterV2, NonfungiblePositionManager, and AUSDT/WALL 0.30% pool are deployed on ALL Mainnet.", + "The standalone SwapRouter path was tested with a tiny WALL -> AUSDT canary swap.", + "EnhancedSwapRouterV2 route config was written, but provider 1 remains disabled because the current UniswapV3RouteExecutorAdapter staticcall quote path is incompatible with the upstream Quoter behavior." + ], + "quoterAddress": "0x0ecC56077325863c80cbe516D63e0afAFf7EA579", + "quoterV2Address": "0x024Ff178BaB7e6fa1794c3A216D2B299C3F295d2", + "positionManagerAddress": "0xD29422211e1f2C1015FBb5dC2004657Dd8318aF6", + "descriptorAddress": "0x2a76C73458A0C11df4e0E43004598480d6D1E768", + "poolAddress": "0x9e0FC06BA367b51a0aBc5c0924306088DBB0e9c4", + "inventoryRef": "config/all-mainnet-pool-creation-matrix.json", + "deploymentEvidenceRef": "config/all-mainnet-uniswap-v3-deployment.json", + "publishedPoolIds": [ + "651940-uniswap_v3-wall-ausdt" + ], + "enhancedRouterProviderStatus": "disabled_adapter_quote_compatibility_pending" }, { "name": "DODO PMM",