@cdxprotocol/vault v1.2.0
________/\\\\\\\\\___/\\\\\\\\\\\\______/\\\_______/\\\_
_____/\\\////////___\/\\\////////\\\___\///\\\___/\\\/__
___/\\\/____________\/\\\______\//\\\____\///\\\\\\/____
__/\\\______________\/\\\_______\/\\\______\//\\\\______
_\/\\\______________\/\\\_______\/\\\_______\/\\\\______
_\//\\\_____________\/\\\_______\/\\\_______/\\\\\\_____
__\///\\\___________\/\\\_______/\\\______/\\\////\\\___
____\////\\\\\\\\\__\/\\\\\\\\\\\\/_____/\\\/___\///\\\_
_______\/////////___\////////////______\///_______\///__
CDX
System Overview
CDX-core: a set of solidity contracts that implement the core functionalities, PR displays and on chain interactions.
CDX-operator: a light-weighted NodeJS service that handles customer front-end requests. The operator service is also the main point of entry for maintenance, customer inquiry, and manual upgrade, system servicing for our tech team.
CDX-modulator: a high durability, high throughput, medium latency, high privilege service that runs in the backend of customer service flow and oversees CDX core for certain sub-routines that don't fit in the solidity world, such as hedging, arbitrage, pricing, sourcing etc.
CDX-bridge: a separate service much like the CDX-modulator but stand alone in different service stacks for security and operational reasons. The CDX-bridge monitors the balance sheets between the main Contract wallet definition and the vault. This service in theory should preserve the gain/loss balance between these wallets and is responsible for providing customer rewards to the main Contract.
Getting Started CDX-core
- Install
node
- Create an environment file named
.env
and fill the next environment variables
# Add Alchemy or Infura provider keys, alchemy takes preference at the config level
ETHERSCAN_API_KEY=""
PRIVATE_KEY = ""
FORKING=""
GOERLI= ""
Clone
git clone https://github.com/Web3Z-Labs/CDX-core.git
cd CDX-core
Installation
yarn or npm install
Compile
yarn compile or npm run compile
Test
yarn test or npm run test
Verify
npx hardhat verify --network <NETWORK> <CONTRACT_ADDRESS> <CONSTRUCTOR_PARAMETERS>
Download Hardhat
Follow the Openzeppelin guide
Develop tracking issues: Linear