ZERA DEX Proxy Contract Update Proposal
Summary
This proposal updates the smart contracts referenced by zera_dex_proxy and zera_dex_proxy_v1.
The proposal only changes what contracts the proxies point to. The new contracts contain one-time callable functions that address a current issue causing some swap executions to behave inconsistently on the ZERA DEX.
Scope of Change
zera_dex_proxy Update
- Update zera_dex_proxy to call a new contract
- The new contract includes a one-time callable function to transfer derived coins from old pool derived wallets to new proxy derived wallets
New contract:
zera_dex_proxy_v1 Update
- Update zera_dex_proxy_v1 to call a new contract
- The new contract includes a one-time callable function to update the pool derived wallet stored in contract state
New contract:
Contract Behavior
- Governance only updates proxy targets
- The migration functions are publicly callable
- Any user may execute the required functions
- Each function can only be executed once
- After execution, the functions are no longer accessible
Reason for Change
There is currently an issue caused by outdated derived wallet references, resulting in occasional inconsistencies in swap execution on the ZERA DEX.
These updates:
- Migrate derived wallet balances to the correct proxy-controlled wallets
- Update stored pool references to the correct derived wallets
- Restore consistent swap functionality
Governance Actions
If approved, governance will execute the following actions:
- Update zera_dex_proxy to call dex_update_v2
- Update zera_dex_proxy_v1 to call zera_dex_v2
Final Notes
- This is a corrective and migration update
- No token supply changes occur
- No user balances are lost
- Migration execution is permissionless but limited to one-time use
- Intended to restore consistent DEX swap functionality