[go: up one dir, main page]

Skip to content

Transparent Automated Liquidity Omnichain Strategies

License

Notifications You must be signed in to change notification settings

Maia-DAO/talos

Repository files navigation

TALOS

Version Test CI Lint Code Coverage Solidity License Docs Discord

Transparent Automated Liquidity Omnichain Strategies (TALOS) is a peer-to-peer system that was built to reduce the current huge barrier of entry for adoption of concentrated liquidity and elevate the current user experience, specifically for Uniswap V3.

Contributing

If you’re interested in contributing please see our contribution guidelines! This includes instructions on how to compile and run tests locally.

Documentation

A more detailed description of the project can be found in the documentation.

Architecture

Talos positions are split into two main Types:

  • Vanilla: Represent a share of one or more UNI V3 NFT positions.
  • Staked: Represent a share of one or more UNI V3 NFT positions that are all staked in our Uniswap V3 Staker.

Strategy Templates encompass rebalancing and reranging strategies that work with both Types of positions without requiring any modifications.

New Strategy Templates can easily be created by solidity developers. There are multiple audited examples with guides of some possible operations.

The first Strategy Template holds a single UNI V3 NFT that anyone can create for any pool. When the price deviates a predefined number of ticks from the center of the position, anyone can call rebalance for the pool to set it at 50/50 again. There is an associated fee to these tasks – if the cost of constantly balancing the position is too large, it either won't happen or the pool or gas depositors may incur losses.

Repository Structure

All contracts are held within the ./src folder.

Note that helper contracts used by tests are held in the ./test/utils subfolder within the contracts folder. Any new test helper contracts should be added there and all foundry tests are in the ./test folder.

src
├── base
│   └── TalosBaseStrategy.sol
├── boost-aggregator
│   └── BoostAggregator.sol
├── factories
│   ├── BoostAggregatorFactory.sol
│   ├── OptimizerFactory.sol
│   ├── TalosBaseStrategyFactory.sol
│   ├── TalosManagerFactory.sol
│   ├── TalosStrategyStakedFactory.sol
│   └── TalosStrategyVanillaFactory.sol
├── interfaces
│   ├── AutomationCompatibleInterface.sol
│   ├── IBoostAggregatorFactory.sol
│   ├── IBoostAggregator.sol
│   ├── IOptimizerFactory.sol
│   ├── ITalosBaseStrategyFactory.sol
│   ├── ITalosBaseStrategy.sol
│   ├── ITalosManagerFactory.sol
│   ├── ITalosManager.sol
│   ├── ITalosOptimizer.sol
│   ├── ITalosStrategyStakedFactory.sol
│   ├── ITalosStrategyStaked.sol
│   └── ITalosStrategyVanillaFactory.sol
├── libraries
│   ├── PoolActions.sol
│   └── PoolVariables.sol
├── strategies
│   └── TalosStrategySimple.sol
├── TalosManager.sol
├── TalosOptimizer.sol
├── TalosStrategyStaked.sol
└── TalosStrategyVanilla.sol
test
├── BoostAggregatorTest.t.sol
├── factories
│   ├── BoostAggregatorFactoryTest.t.sol
│   ├── ComputeBoostAggregator.t.sol
│   └── OptimizerFactoryTest.t.sol
├── mocks
│   ├── MockBoostAggregatorFactory.sol
│   └── MockOptimizerFactory.sol
├── TalosOptimizerTest.t.sol
├── TalosStrategyStakedTest.t.sol
├── TalosStrategyVanillaTest.t.sol
├── TalosTestor.t.sol
└── utils
    ├── libraries
    │   ├── PoolActions.sol
    │   └── PoolVariables.sol
    └── UniswapV3Assistant.t.sol

Local deployment and testing

To utilize the contracts in you can install the code in your repo with forge:

forge install https://github.com/Maia-DAO/talos

To run tests, first clone the repository, then setup .env following the .env.example file. After that, run the following command to install dependencies, compile and run tests:

forge test

License

MIT Copyright

About

Transparent Automated Liquidity Omnichain Strategies

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published