This project contains the smart contracts for the Elixir Protocol integration on top of Vertex Protocol.
See the documentation, the Elixir Protocol documentation, and the Vertex Protocol documentation for more information.
Network | VertexManager | Distributor | Router WBTC (ID 1) | Router BTC-PERP (ID 2) | Router WETH (ID 3) | Router ETH-PERP (ID 4) | Router ARB (ID 5) | Router ARB-PERP (ID 6) | Router BNB-PERP (ID 8) | Router XRP-PERP (ID 10) | Router SOL-PERP (ID 12) | Router MATIC-PERP (ID 14) | Router SUI-PERP (ID 16) | Router OP-PERP (ID 18) | Router APT-PERP (ID 20) | Router LTC-PERP (ID 22) | Router BCH-PERP (ID 24) | Router COMP-PERP (ID 26) | Router MKR-PERP (ID 28) | Router MPEPE-PERP (ID 30) | Router USDT (ID 31) | Router DOGE-PERP (ID 34) | Router LINK-PERP (ID 36) | Router DYDX-PERP (ID 38) | Router CRV-PERP (ID 40) | Router VRTX (ID 41) | Router TIA-PERP (ID 44) | Router PYTH-PERP (ID 46) | Router MBONK-PERP (ID 48) | Router JTO-PERP (ID 50) | Router AVAX-PERP (ID 52) | Router INJ-PERP (ID 54) | Router SNX-PERP (ID 56) | Router ADA-PERP (ID 58) | Router IMX-PERP (ID 60) | Router MEME-PERP (ID 62) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Arbitrum Mainnet | 0x052Ab3fd33cADF9D9f227254252da3f996431f75 |
0xe3e3A6cF662a6d7b2B8A60E8aE44636C7E014476 |
0x5E5E03AaE77C667664bA47556528a947af0A4716 |
0xA760E3dF6026a462A81EEe0227921D156d94C888 |
0x86612c5C2bdAe1e8534778B6C9C5535f635Fd04e |
0x5328277109AdE587C69B90e2D6BDD004A97E1bB9 |
0x8294Ea1bdAac220B6b840B6F9d294aDf6cD069aD |
0xE2F852E5877fD6901481c6f5bb2ecD94919ba026 |
0xCE30817dB0106b0362f3310ABD43fD0623Be83D7 |
0x8e7C90103e86Ba0171c3c37F84cCdB19B93b2C62 |
0x2DCa8aB151811D7425446931Cb138072bD815DCD |
0x16e1c7beCdD3bD7171AceD6f0774e076a1a3Ccd6 |
0xF967Db12dc3eAA2bFd5958b33D3F4c787cD01394 |
0x3DfE28737C7fD444111cA30d521B75f9b0C803E7 |
0x3421bb71E71919A2a2809D1Ec3A2DFcFd8eEd890 |
0xFfF7a80Fcb3ade0379bd09B50f8dda9adcA3e17d |
0x7805db7765a61Ec70D94A262ca7F46ce2A0Cf85F |
0xA5205f83dE3D66674635Ac9642464ee6b169E5ff |
0xeAc3A369FBe6C44a137ff6Fb5dE771c1891a201E |
0xC61f8e36E763a645BbA417A3d88c1A2DDe62faa0 |
0xEe7DFBe0CE3ad8044eB36C38bDb59f56e0f86088 |
0x4662Ed14d509791A5a1Fe0376415a2A8438bd53a |
0x5B4F6c8527237038d922a9f9cC7726bE65E7f27a |
0xf06d2fd349Fc5B4BEA2F4Ac2997A8F21C1b5d025 |
0xaA19B0EC4a0E97d202B04713Ac76853Abd3dd2dA |
0x978e93303f34B06e6D23C69919eD78Bb58C5A5C1 |
0x8a55474125ffF3b0EcF22cCCBf6a3D136472B15c |
0xfF5055A951c45F699c869E415378CF7d8d2fd81A |
0x4ee684B4a9b6F5db3f68Cbf0490B5Dd7A9C575A9 |
0x4F2442e93F6759d6F0F267c00E442eb2Da0Ac609 |
0x4f4C0Cb268b22E033361F76D63b031f0Bc4489d7 |
0x86A3DE1b2CfB34cCb604dB1ca4217255E699E8d3 |
0x33FC7F79cdE6620C64354ff63cd0B7C11C421f01 |
0x1EaCB7801517f45Ab7A8714eD91B6B28CfFe842A |
0x7625866Ab6f11809b2fdE3bF79f81780D6323E3b |
0xE034469069eba2Fa87514616640c3934B8975c2B |
Arbitrum Sepolia | 0x052Ab3fd33cADF9D9f227254252da3f996431f75 |
0xe3e3A6cF662a6d7b2B8A60E8aE44636C7E014476 |
0x5E5E03AaE77C667664bA47556528a947af0A4716 |
0xA760E3dF6026a462A81EEe0227921D156d94C888 |
0x86612c5C2bdAe1e8534778B6C9C5535f635Fd04e |
0x5328277109AdE587C69B90e2D6BDD004A97E1bB9 |
0x8294Ea1bdAac220B6b840B6F9d294aDf6cD069aD |
0xE2F852E5877fD6901481c6f5bb2ecD94919ba026 |
0xCE30817dB0106b0362f3310ABD43fD0623Be83D7 |
0x8e7C90103e86Ba0171c3c37F84cCdB19B93b2C62 |
0x2DCa8aB151811D7425446931Cb138072bD815DCD |
0x16e1c7beCdD3bD7171AceD6f0774e076a1a3Ccd6 |
0xF967Db12dc3eAA2bFd5958b33D3F4c787cD01394 |
0x3DfE28737C7fD444111cA30d521B75f9b0C803E7 |
0x3421bb71E71919A2a2809D1Ec3A2DFcFd8eEd890 |
0xFfF7a80Fcb3ade0379bd09B50f8dda9adcA3e17d |
0x7805db7765a61Ec70D94A262ca7F46ce2A0Cf85F |
0xA5205f83dE3D66674635Ac9642464ee6b169E5ff |
0xeAc3A369FBe6C44a137ff6Fb5dE771c1891a201E |
0xC61f8e36E763a645BbA417A3d88c1A2DDe62faa0 |
0xEe7DFBe0CE3ad8044eB36C38bDb59f56e0f86088 |
0x4662Ed14d509791A5a1Fe0376415a2A8438bd53a |
0x5B4F6c8527237038d922a9f9cC7726bE65E7f27a |
0xf06d2fd349Fc5B4BEA2F4Ac2997A8F21C1b5d025 |
0xaA19B0EC4a0E97d202B04713Ac76853Abd3dd2dA |
0x978e93303f34B06e6D23C69919eD78Bb58C5A5C1 |
0x8a55474125ffF3b0EcF22cCCBf6a3D136472B15c |
0xfF5055A951c45F699c869E415378CF7d8d2fd81A |
0x4ee684B4a9b6F5db3f68Cbf0490B5Dd7A9C575A9 |
0x4F2442e93F6759d6F0F267c00E442eb2Da0Ac609 |
0x4f4C0Cb268b22E033361F76D63b031f0Bc4489d7 |
0x86A3DE1b2CfB34cCb604dB1ca4217255E699E8d3 |
0x33FC7F79cdE6620C64354ff63cd0B7C11C421f01 |
0x1EaCB7801517f45Ab7A8714eD91B6B28CfFe842A |
0x7625866Ab6f11809b2fdE3bF79f81780D6323E3b |
0xE034469069eba2Fa87514616640c3934B8975c2B |
You can find the technical documentation and references of the smart contracts here.
You will need a copy of Foundry installed before proceeding. See the installation guide for details.
To build the contracts:
git clone https://github.com/ElixirProtocol/vertex-contracts.git
cd vertex-contracts
forge install
forge build
In order to run unit tests, run:
forge test
For longer fuzz campaigns, run:
FOUNDRY_PROFILE="deep" forge test
After installing Slither, run:
slither src/
To check the test coverage, run:
forge coverage
To update the gas snapshots, run:
forge snapshot
In order to deploy the contracts, set the relevant constants in the respective chain script, and run the following command(s):
forge script script/deploy/DeploySepolia.s.sol:DeploySepolia -vvvv --fork-url RPC --broadcast --slow