Add new pool implementation contracts to TwoCrypto factory

Summary:

Add two new CryptoSwap implementations to the existing Factory that enable refilling the pool’s re-centering budget. This lets fx/yb pools maintain tight external price tracking during low-fee periods without need for wash trading.

Abstract:

Register two donation-enabled CryptoSwap pool implementations in the Factory so new pools can use add_liquidity(donate=True) mechanism that (a) is counted as fees to LPs and (b) funds the pool’s re-centering budget towards an on-chain MA oracle. No DAO spend or fee-split change.

Motivation:

Current twocrypto pools can drift from fair value; when fees are thin, they lack budget to recentre, degrading depth and UX. For FX and yield-basis pairs, small periodic refills transparently fund re-centering while rewarding LPs via fee accounting.

Specification:

Factory: 0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F

Twocrypto (0% DAO fee) for yb pools where the DAO benefits indirectly (see yb post):
0x986fAfB173801D9F82a01d9FfD71f1e1c080D2c2 → id = keccak256(“yb”)

Twocrypto (50% DAO fee) for FX/regular pairs using refills:
0xbab4CA419DF4e9ED96435823990C64deAD976a9F → id = keccak256(“donations”)

Security:

Audit engagement has been ongoing for months; code iterated multiple times with auditors. All identified issues have been fixed. Finalized report will be shared publicly soon.

Actions:

set_pool0_impl = (0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F, "set_pool_implementation",0x986fAfB173801D9F82a01d9FfD71f1e1c080D2c2, int(keccak(text="yb").hex(), 16))
set_pool50_impl = (0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F, "set_pool_implementation", 0xbab4CA419DF4e9ED96435823990C64deAD976a9F, int(keccak(text="donations").hex(), 16))

Poll:

4 Likes