GithubHelp home page GithubHelp logo

cryptoalgebra / algebra Goto Github PK

View Code? Open in Web Editor NEW
46.0 7.0 31.0 16.76 MB

Algebra AMM main repository

Home Page: https://algebra.finance

Shell 0.01% TypeScript 57.53% JavaScript 1.75% Solidity 40.71%
amm defi dex

algebra's Introduction

Algebra

Innovative DEX with concentrated liquidity and customizable plugins.

Tests status Echidna status Tests status Tests status

Echidna status Echidna status Echidna status Echidna status

Docs

The documentation page is located at: https://docs.algebra.finance/

Versions

Please note that different DEX-partners of our protocol may use different versions of the protocol. This repo contains the latest version: Algebra Integral.

A page describing the versions used by partners can be found in the documentation: partners page

Previous versions of the protocol have been moved to separate repositories:

Algebra V1.9

Algebra V1

Packages

Core: https://www.npmjs.com/package/@cryptoalgebra/integral-core

Periphery: https://www.npmjs.com/package/@cryptoalgebra/integral-periphery

Farming: https://www.npmjs.com/package/@cryptoalgebra/integral-farming

Basic plugin: https://www.npmjs.com/package/@cryptoalgebra/integral-base-plugin

Build

Requires npm >= 8.0.0

To install dependencies, you need to run the command in the root directory:

$ npm run bootstrap

This will download and install dependencies for all modules and set up husky hooks.

To compile a specific module, you need to run the following command in the module folder:

$ npm run compile

Tests

Tests for a specific module are run by the following command in the module folder:

$ npm run test

Tests coverage

To get a test coverage for specific module, you need to run the following command in the module folder:

$ npm run coverage

Deploy

Firstly you need to create .env file in the root directory of project as in env.example.

To deploy all modules in specific network:

$ node scripts/deployAll.js <network>

algebra's People

Contributors

0xvolosnikov avatar adityakode avatar debych avatar fourlen avatar iliaazhel avatar lifopam avatar paoloswap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

algebra's Issues

Strict pragmas in interfaces

It would be really convenient if interfaces in tokenomics section were having non-strict pragmas (e. g. pragma solidity >=0.8.0 instead of current pragma solidity =0.8.17). Right now it's impossible to load this repo as a foundry lib and use interfaces in contracts for projects using different versions

It would be great if you could update it in other branches too, because as i understand, quickswap runs on 1.1.0 version or lower

Hard to Integrate

I'm building compounder.fi, a protocol to help liquidity providers earn compound interest (by reinvesting unclaimed fees). I've been trying to integrate with you and your partner's platforms but it is ridiculously hard to do so.

  • Docs are almost nonexistent (besides the statically generated ones from hardhat and the minimal ones on the website)
  • Implementations are different across protocols (ran into an issue where two globalState functions returned entirely different things)
  • protocols don't provide docs either, and don't even provide links to their deployed contracts -> required me to manually dig on chain to find them
  • nonfungiblepositionmanager is the same one as uniswap's in this repo but different in the deployed contracts
  • quickswap literally deploys the CONTRACT TESTS when they create2 their pools

Algebra is an awesome protocol, but the lack of docs and standards makes it really hard to work with.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.