pooltogether-versioning
v1.0.0PoolTogether 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
- 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 Github URL 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. - You can now seach by Address, Bytecode, ContractName, and Contract 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[]
Returns all contracts matching address across all networks:
function findByAddress(address: string, includeBytecode: boolean = false): ContractInterface[]
Returns the contract which created the contract at the address and chainId passed. NOTE: asychronous - requires network calls.
async function findCreatingProxyFactory(address: string, chainId: number, includeBytecode: boolean = false): Promise<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
Source Code
github.com:pooltogether/pool...Metadata
- MIT
- Whatever
- Unknown
- released 3/30/2021