@pooltogether/versioning
v1.0.0-beta.7
Published
Versions of the PoolTogether contracts
Downloads
17
Readme
PoolTogether Contract Versioning Tool
Ever wonder what version the contract you are looking at is? This tool is aimed to ease this pain with a package that provides a simple API to gain more information about contract versions.
How to use
- Add the package to your project using
yarn add @pooltogether/versioning
- Import into .ts file using
import * as ContractVersions from @pooltogether/versioning
- Call below methods on `ContractVersions, for example:
const mainnet_v3_3_1_contracts = ContractVersions.findByVersionAndChainId("v3.3.1",1)
How to update
- Ensure .envrc variables are set and run
direnv allow
andnvm use
- Upon deploying a new version of contracts (for example v3.3.1) be sure to
git tag
this as a release - Import these files as an npm package using the npm:@version as the source
- Run
yarn reinstall
. This will fetch all the contract versions, parse and fire some synchronous rpc calls. This may take some time and require retrying if API rate limits are hit. - You can now seach by Address, Bytecode, ContractName, and Version as per the following API's
Note: if a new network is added, a JSON RPC endpoint must also be added.
FindByVersion
Returns all contracts for version:
function findByVersion(version: string, includeBytecode: boolean = false): ContractInterface[]
Returns all contracts for version and chainId:
function findByVersionAndChainId(version: string, chainId:number, includeBytecode: boolean = false): ContractInterface[]
FindByAddress
Returns all contracts matching address and chainId:
function findByAddressAndChainId(address: string, chainId: number, includeBytecode: boolean = false): ContractInterface[]
FindByBytecode
Returns all contracts matching bytecode:
function findByBytecode(bytecode: string): ContractInterface[]
FindByContractName
Returns all contracts matching contract name:
function findByContractName(contractName: string, includeBytecode: boolean = false): ContractInterface[]
Returns all contracts matching contract name and ChainId:
function findByContractNameAndChainId(contractName: string, chainId: number, includeBytecode: boolean = false): ContractInterface[]
Development
yarn && direnv allow && yarn generate && yarn start