@pooltogether/versioning
v1.0.0-beta.7
Published
Versions of the PoolTogether contracts
Downloads
8
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