Skip to content

Latest commit

 

History

History
 
 

pools

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

curve-contract/contracts/pools

Deployed Curve pool contracts.

Subdirectories

Each subdirectory holds contracts and other files specific to a single Curve pool.

Development

Adding a New Pool

  • Contracts for a new pool should be placed in their own subdirectory using the same name as is given on the website.
  • The LP token contract does not need to be included, unless it deviates from the standard contracts within contracts/testing
  • Each subdirectory must contain a pooldata.json file using the structure given below. This is required in order to initialize fixtures when running the test suite.
{
    "lp_contract": "CurveTokenV1", // LP token contract to use with this pool, from `contracts/tokens`
    "wrapped_contract": "yERC20",  // mock wrapped coin contract to use, from `contracts/testing`
    "coins": [                     // each list item represents 1 swappable coin within the pool
        {
            "decimals": 18,         // number of decimal places for the underlying coin
            "tethered": false,      // does the token contract return `None` on a successful transfer/approve?
            "wrapped": true,        // is wrapping used for this coin?
            "wrapped_decimals": 18  // decimal places for the wrapped coin - can be omitted if wrapped == false
        },
    ]
}