Technical architecture of noya
Noya at its core is a vault that allows people who deposit into this vault, to benefit from the actions of the strategy manager and complying with the security setting of the vault.
Last updated
Noya at its core is a vault that allows people who deposit into this vault, to benefit from the actions of the strategy manager and complying with the security setting of the vault.
Last updated
Vaults
Noya consists of multiple vaults that each of them is created for a specified intent and security settings.
Registry
Vaults are defined in the registry contract. In each chain we have a singleton registry contract that is responsible for holding and serving the vaults information.
AccountingManager
AccountingManager is the user entry point. It's handling the shares of the vaults (erc20 tokens) and pricing of these shares.
Connectors
This set of smart contracts are responsible for connecting to a protocol. They all support the IConnector interface, but each of them could have different functions to deposit into protocols. For example, the contract "UNIv3Connector.sol" is responsible for creating and managing positions in uniswap v3. They are also responsible for calculating the TVL of the positions based on the base token of the vault. For this example, it's calculating how much tokens we hold in each uniswap position and then convert that value into the base token using value oracles.
Value oracle
This contract is allowing us to calculate the value of a token based on another. We can define routes in this contract (we have a price source for tokens A-B, B-C, C-D and we want to get the price of A-D. we can define the route of [B,C] in the smart contract and it loops through the route to get the price of A-D. At the moment we are using 2 main oracles, 1. chainlink oracle 2. uniswap v3 TWAP
Swap handler + lifi
This contract is responsible for managing swap. It's a modular component which means we can have multiple implementations of swaps withing this contract, but for now we are using lifi as the implementation for swaps and bridges.
Keeper contract
This is the multiSig contract that is responsible for executing the strategies.