Choice Exchange is an AMM protocol forked from TerraSwap, modernized to work on the Injective blockchain.
0.05% of all swap fees sent straight to the Injective burn auction basket 🔥
Choice Treasury Multisig:
inj1c2yleauy9say73tsx3dk5tvlgwwzdh96r76zv4
Choice Dev Multisig:
inj1vcszz8j58m79exzdlpa8m9u5eyu9r37u7jhm7k
| Component | Code ID |
|---|---|
| Pair | 1692 |
| Factory | 1693 |
| Burn Manager | 1690 |
| Router | 1691 |
| Farm | 1896 |
| Vault | 1897 |
| Component | Address |
|---|---|
| CW20 Adapter | inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk |
| Burn Manager | inj1yr7srge0lku4h3gd473qdlpdfw63ejdjwkh4c0 |
| Factory | inj1k9lcqtn3y92h4t3tdsu7z8qx292mhxhgsssmxg |
| Router | inj1ne2durmsx2jurvy4wgnhegv3xt6789up8xgum3 |
A security audit was performed by SCV Security and can be found here:
The Choice exchange protocol has extended the contracts of TerraSwap in several ways.
- Upgraded from cosmwasm v1 to v2.
- The LP token generated in the pair contract is now a native Injective denom made on the token factory module.
- The factory contract takes 2 additional parameters: burn_address and fee_wallet_address
The burn wallet address refers to a custom contract choice_send_to_auction which accepts both cw20 and native denoms. This contract sends the funds to the Injective burn action basket.
The fee wallet address is a wallet where a part of the swap fee is sent.
cargo build
cargo test
For a production-ready (compressed) build, run the following from the repository root:
docker run --rm -v "$(pwd)":/code \
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
cosmwasm/workspace-optimizer:0.16.1The optimized contracts are generated in the artifacts/ directory.
Set your injective cli configuration variables in the deploy script file: