# LeverageX

### General Description

The LeverageX product consists of several contracts that operate through the Diamond architecture. All calls are directed to the `JavMultiCollatDiamond` contract, which then delegates execution to various libraries based on the selected logic.

### Faucets

* [javborrowingfees](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javborrowingfees "mention") -  Storage and interaction with borrowing fees
* [javfeetiers](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javfeetiers "mention") - Storage and interaction with fee at different levels of interaction with orders
* [javpairsstorage](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javpairsstorage "mention") -Stores information about all pairs and their configurations
* [javpriceaggregator](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javpriceaggregator "mention") - Allows to receive and update the price of pairs at the time of opening/closing/updating trades
* [javpriceimpact](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javpriceimpact "mention") - Stores the necessary information to interact with price impact logic
* [javreferrals](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javreferrals "mention") - stores information about the referral system leverageX
* [javtradinginteractions](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javtradinginteractions "mention") - Allows to open/close/update trades
* [javtradingprocessing](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javtradingprocessing "mention") - Support faucet for **JavTradingInteractions** that allows to manage different types of orders (market, limit and etc).
* [javtradingstorage](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javtradingstorage "mention") - Stores information about all trades

### Additional contracts

* [javborrowingprovider](https://docs.javsphere.com/engineering/smart-contracts/leveragex/javborrowingprovider "mention") - A contract that allows investors to invest tokens to generate profits through the LLP token. And for traders, it allows them to use the available tokens while trading
* [llptoken](https://docs.javsphere.com/engineering/smart-contracts/leveragex/llptoken "mention") - token that is purchased through a borrowing provider and participates in the earn side
