Skip to content

About

All Dex223 contracts without external dependencies

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Dex223 contracts

Ethereum mainnet deployment

Deployed 2026-09-22 at commit 44927a3 from 0x9467a00F2DFBF392254133ff36c291c618dF6f54 (current factory owner). Transaction record: deployments/mainnet.json. All contracts are verified on Etherscan. Quote library, token validator and factory have the same address and bytecode on Sepolia.

On 2026-09-23, before any pool existed, the factory's pool library was replaced (#60: delivery failures are named, and token return values are checked) with 0x7219…5001, so every pool uses it. The original library 0x9321361bdDc23a16E90ae18081c7E758e6481Eb6, which matches Sepolia, is no longer used by the factory.

Name Address
WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
TOKEN_CONVERTER 0xe7E969012557f25bECddB717A3aa2f4789ba9f9a
POOL_LIBRARY 0x7219ebDfFD7EF54d3d1F1B7C174ce470f3825001
QUOTE_LIBRARY 0x079784c215F9F2f2b8118A7a0bD916A0ddbcB92d
TOKEN_VALIDATOR 0x269Dac0FB22e207468e3D91a0d39088Ae9CaD7e6
FACTORY 0xeA0A163e0196Bf1500B1B41d3ADdA0476dC137eb
SWAP_ROUTER 0xc06C5F3a889DCDF23D54B4fB8FCE3DE2707199ED
POSITION_MANAGER 0x2A40FF7c062336dC82A502aB38EBD3579e42BAE1
QUOTER 0x2C44c27a41BCE8BF679b306284d68C1245eE4c52
CORE_AUTOLISTING 0x83E1e7f47536515db9Ec4D7C4024e7395CD11A48
FREE_AUTOLISTING 0xCc46E110426958E83e9298d46a50572691065eC5
AUTOLISTINGS_REGISTRY 0x105F43A70aFCEd0493545D04C1d5687DF4b3f48f
ERC223_TOKEN_DEPLOYER 0xe3391c70A6b71bC26D6F77437590306006aD0ddb
REVENUE (V1) 0xbA75fA26BB88BccEB74a967E4cA2FBfe99d6CE6e
POOL_INIT_CODE_HASH 0xe125afe94932872c7162b66e1bb1587d6fc76d525d248bb20e9e0484a99ec486

RevenueV1 stakes D223 (ERC-20 0x675e…DD67 / ERC-223 0x0908…80dd) and its factory is 0xeA0A…. Its claim_delay (the lock after each stake, for both unstaking and claiming) and assigned_avg_staking_duration (the reward period) are both the 10 day default. Do not factory.setOwner(Revenue). No pools exist yet; once they do, the factory owner runs scripts/revenue-enable-fees.ts, then scripts/revenue-collect.ts with REVENUE=0xbA75….

Ethereum mainnet deployment (previous, superseded 2026-09-22)

Do not use for new integrations. Its position manager did not bind collect() to the NFT's pool (fixed in #57).

Name Address
WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
TOKEN_CONVERTER 0xe7E969012557f25bECddB717A3aa2f4789ba9f9a
POOL_LIBRARY 0xfA5930D2Ef1b6231e220aeDda88E28C4E8F0F3a0
FACTORY 0x8dae173016f65F61e90631Ee5f28C9E47b1ebc06
SWAP_ROUTER 0x09127e22961c61c2b252b23ff97e6d4689ac13a9
POSITION_MANAGER 0xFd4cE11db9db9433286734304049526E9336139E
POOL_INIT_CODE_HASH 0xa5fa1f34aae4b83ab2690d3f3df6f78e99959a1f2eb8aa4c11ba10586677338d
POOL_USDC_WETH 0x82Cc735b39a3992be7b47bEb9AE7519aC92ed562
CORE_AUTOLISTING 0x029f10E06Dc7d6264f9432ACA3F52572543c48e0
FREE_AUTOLISTING 0xa7089d8cbcc47543388a346dd6ebf0b05106a477
AUTOLISTINGS_REGISTRY 0x105F43A70aFCEd0493545D04C1d5687DF4b3f48f
ERC223_TOKEN_DEPLOYER 0xe3391c70A6b71bC26D6F77437590306006aD0ddb

Sepolia testnet deployment (Quoteswap supported)

  • Factory 0x5D63230470AB553195dfaf794de3e94C69d150f9
  • Router 0x99504dbaa0f9368e9341c15f67377d55ed4ac690
  • NFPM 0x068754a9fd1923d5c7b2da008c56ba0ef0958d7e
  • Auto-listing Registry (verified) 0x6ee7518400c14e8046252E3cC1670FC8093e618F
  • Core Testnet Auto-listing (verified / 100 SepWEI per token) 0x8a1839E6b7b4538a15de8865891FcE6e24a27ddA
  • Free Testnet Auto-listing (verified) 0xBC5fC0bbd73DF985Cc28c9367407f9FfB1FD4CC3
  • RevenueV1 0xB5581C5500B3b68c5F3855518e7646304e84f9D2. Staking tokens: RED ERC-20 0x1DEf… / ERC-223 0x0a67…. claim_delay (the lock) and assigned_avg_staking_duration (the reward period) are both set to 5 minutes (300 s) for testing; mainnet uses the 10 day default for both. Do not factory.setOwner(Revenue); the factory owner runs scripts/revenue-enable-fees.ts and scripts/revenue-collect.ts. Record: deployments/sepolia.json.
  • Revenue contract (testnet, legacy Revenue_old, not used by the Revenue UI) 0x4e38fB6f9243d2aC91C490230375FeDE1E0aD7F2
  • Router (tokenReceived restricted) 0x1f611e17c3a45f87d3edd14acd42b2113db9a4dd
  • Margin Oracle (verified, TWAP window 1800 s) 0x5DaD3C2D6741Fce6cD20B05a04116120A414C4AA
  • Margin Module: redeploy pending with npx hardhat run scripts/deploy-margin.ts --network sepolia (router 0x9950...c690). The first deploy at 0xd28b7a588aA384BCBCD80Ab18bA8D4e34c37A67b is bound to router 0x1f61...a4dd, which cannot reach this factory's pools, so its swaps and liquidations revert. Do not use it.
  • Safe Send PaymentReceiver (verified, owner and payout 0x9467…6f54) 0x32480C1Edc5e51eca39FfF766cDdd9087DfC34E9 and SafeSendRouter (verified, converter 0x5847...0D9F) 0x7b58D9B037C4AC84eE06208Bc0fF95Ba9b84AC7e, deployed from main at 9a64abb (#79, #81, #82, #83). They replace the earlier #79 build at 0x3a6f...2f86 / 0x8552...8a95, whose receiver cannot withdraw tokens whose transfer returns nothing and moves ownership in one step. Do not use it.

Sepolia testnet deployment (deprecated)

Name Address
WETH9 0xb16F35c0Ae2912430DAc15764477E179D9B9EbEa
TOKEN_CONVERTER 0x5847f5C0E09182d9e75fE8B1617786F62fee0D9F
POOL_LIBRARY 0xc087468af4264f14a07abb52c63a099c93637604
FACTORY 0x3BD240DC11601223e35F2b803905b832c2798c2c
SWAP_ROUTER 0x6d1a12d5921692f240CcDD9d4b7cAc2cCeD1BEd2
POSITION_MANAGER 0x091249267d085055fa2f281fa3f6c0cf4bf70bae
POOL_INIT_CODE_HASH 0xf381c67d48673ceb8a17b53722647aee43310f100cd97f25bfcc628958372b8b
POOL_USDC_WETH 0x3B2E627DbDd6B8cc2CbA9B71154b32C9bb5Ed5d3
CORE_AUTOLISTING 0x5c24027303865b744f2794945aee88eA56F1F5ee
FREE_AUTOLISTING 0x8D13f2795228aB18faeFBdF9461E7E46b5853Bc5
AUTOLISTINGS_REGISTRY 0xF3129265872004bD235de4Ac5e312254D962cC38
Utility CFG 2 (test helper) 0x6D0e2CD13e1506924182d2197EE64D53CA8ba8a2
Margin Module 0xa64c8C9e13185e54dF846a7AC3265b9Be4E96104

Ethereum mainnet deployment (deprecated)

Name Address
WETH9 0xb16F35c0Ae2912430DAc15764477E179D9B9EbEa
TOKEN_CONVERTER 0xe831FDB60Dc18c264f1B45cadAFD5f2f2993EE83
POOL_LIBRARY 0x1bc27faa75002e1f034e57c9e62236c2e0f7ed16
FACTORY 0x6228e33cea2a9bdfb7dfe09087841cb56f683f04
SWAP_ROUTER 0xBE65a8dabc45d394E40B81977485096F4ee17558
POSITION_MANAGER 0xca666abfdf2d31a3f4efff8ced7c6504389e51ba
POOL_INIT_CODE_HASH 0xcaa18af2f32aa83067a3bf5052fe7f4e6025a374579f128fd30bff2c48511b61

Helpers

  1. Run local virtual node:
yarn run hardhat:node
  1. Compile contracts:
yarn run hardhat:compile

or use force to re-compile all contratcs

yarn run hardhat:compile:force
  1. Prepare JSON files for contract verification. Search for output files in ./artifacts/solidity-json folder
yarn run hardhat:verify

Contracts tests

  1. Run ALL tests:
yarn run hardhat:test
  1. Update values for GAS tests:
yarn run hardhat:test:update
  1. Run only SwapRouter tests:
yarn run hardhat:test:router
  1. Run only SwapRouter GAS tests:
yarn run hardhat:test:routergas
  1. Run only Factory tests:
yarn run hardhat:test:factory
  1. Run only Pool tests:
yarn run hardhat:test:pool
  1. Run only Pool Swaps tests:
yarn run hardhat:test:poolswaps
  1. Run only NonfungiblePositionManager tests:
yarn run hardhat:test:nfpm
  1. Run only AutoListing tests:
yarn run hardhat:test:autolist

About

All Dex223 contracts without external dependencies

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages