Git Product home page Git Product logo

factory-repro's Introduction

CI Status

balancer-core-v2

Prototypes for the v2 architecture

Requirements

Installation

Run yarn to download all dependencies.

Usage

All common tasks are implemented as scripts in the package.json, and can be run by passing them as arguments to yarn.

yarn compile and yarn test are the two main Solidity workflow tasks, and both have watch modes variants (yarn test:watch). Note that yarn test does not compile files: if running tests and changing Solidity source code at the same time, it is recommended to run both commands in watch mode in two separate terminals (tests will run automatically on recompilation).

Gas measurements of common tasks can be obtained by running yarn benchmark.

Directories

  • contracts: source code for all smart contracts in the system.
    • vault stores the code for the Vault contract, which is split across a number of files to ease development.
    • pools keeps the code for the different Pool types and related contracts, such as factories.
    • test holds contracts that are only used for testing purposes, often with lax access control patterns and other 'unsafe' properties.
  • test: unit tests for each smart contract, using ethers and waffle chai matchers. The helpers subdirectory holds utilities used to simplify writing assertions, deploying test contracts, etc., with the overall goal of making tests more ergonomic and less verbose.
  • scripts: these execute tasks unrelated to testing, such as gas benchmarking, deployment, etc. The helpers subdirectory contains specialized utilities for our project to e.g. make deployment easier - some of these are also used in the tests.

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.