1.0.0 • Published 11 months ago

@xinfin/osx-versions v1.0.0

Weekly downloads
-
License
AGPL-3.0-or-later
Repository
github
Last release
11 months ago

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

  1. Update commit_hashes.json with the new version name and the associated commit hash.
  2. Run the create-contract-versions.ts script to build and generate the new version:
yarn build:contracts
  1. 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.

1.0.0

11 months ago