@xinfin/osx-versions
v1.0.0
Published
The Aragon OSx contract versions
Downloads
3
Keywords
Readme
Aragon OSx Contracts Versions
A package to manage different contract versions and provide easy access to their ABI, types, and active contracts.
Installation
npm install @xinfin/osx-versions
or
yarn add @xinfin/osx-versions
Usage
Import Active contracts:
// import active contracts from a specific version
import {v1_2_0_active_contracts} from '@xinfin/osx-versions';
const mumbaiActiveContracts = v1_2_0_active_contracts.mumbai;
Import a specific contract source code from a specific version:
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.8.17;
// import legacy contracts from a specific version
import {DAO} from '@xinfin/osx-versions/versions/v1_0_1/contracts/core/dao/DAO.sol';
// .....
Generate typechain
To generate TypeChain if needed:
find <path-to>/artifacts/@xinfin/osx-versions/versions/ -name '*.json' -type f | grep -v '.dbg.json' | xargs typechain --target=ethers-v5 --out-dir <path-to>/typechain/osx-versions/versions/"
Adding new contract versions
- Update
commit_hashes.json
with the new version name and the associated commit hash. - Run the
create-contract-versions.ts
script to build and generate the new version:
yarn build:contracts
- Run the Rollup build process:
yarn build:npm
Contributing
Contributions are welcome! Feel free to open a pull request or create an issue to report bugs or request features.
License
This project is licensed under the AGPL-3.0-or-later License.