The @aragon/osx-commons-configs
provides configurations and helpers for said
configurations necessary for the development of plugins and the OSx protocol.
This includes:
- Networks
- if it is a testnet or not
- chain ID
- alias for ethers
- Deployments of the OSx protocol grouped by network
- Version
- Contract name
- Contract address
- Deployment transaction
- Block number when the contract was deployed (which can differ from when the contract was activated and put in use)
The configuration doesn't provide the RPC URL by default, but you can set your preferred ones with the addRpcUrlToNetwork
function.
Use npm or yarn to install @aragon/osx-commons-configs.
npm install @aragon/osx-commons-configs
yarn add @aragon/osx-commons-configs
To execute library tests just run:
yarn test
The list of contract artifacts on src/deployments/json
is deprecated and will be removed in the future.
Instead, use the appropriate artifacts package for each component:
- https://www.npmjs.com/package/@aragon/osx-artifacts
- https://www.npmjs.com/package/@aragon/admin-plugin-artifacts
- https://www.npmjs.com/package/@aragon/multisig-plugin-artifacts
- https://www.npmjs.com/package/@aragon/token-voting-plugin-artifacts
- https://www.npmjs.com/package/@aragon/staged-proposal-processor-plugin-artifacts
To generate the src/deployments/json/<network>.json
files, use the provided sync-factory-addresses.ts
script like so:
# Define your parameters
export RPC_URL="https://server/api"
SRC_PROTOCOL_ADDRESSES=".../protocol-factory/artifacts/addresses-<network>-<timestamp>.json"
SRC_DEPLOYMENT_RUN_FILE=".../protocol-factory/broadcast/Deploy.s.sol/<chain-id>/run-latest.json"
OUTPUT_FILE="./src/deployments/json/<network>.json"
# Run the script
deno run --allow-read --allow-write=./src/deployments/json --allow-env --allow-run=cast \
scripts/sync-factory-artifacts.ts \
$SRC_PROTOCOL_ADDRESSES $SRC_DEPLOYMENT_RUN_FILE $OUTPUT_FILE
You can also generate most of the same file by only sourcing addreses.json
:
# Define your parameters
export RPC_URL="https://server/api"
export ETHERSCAN_API_KEY="..."
export ETHERSCAN_API_URL_BASE="https://api.etherscan.io"
SRC_PROTOCOL_ADDRESSES=".../protocol-factory/artifacts/addresses-<network>-<timestamp>.json"
OUTPUT_FILE="./src/deployments/json/<network>.json"
# Run the script
deno run --allow-read --allow-write=./src/deployments/json --allow-net --allow-env --allow-run=cast \
scripts/sync-factory-artifacts-single.ts \
$SRC_PROTOCOL_ADDRESSES $OUTPUT_FILE
Note: Deno and Foundry are required.
If you believe you've found a security issue, we encourage you to notify us. We welcome working with you to resolve the issue promptly.
Security Contact Email: sirt@aragon.org
Please do not use the issue tracker for security issues.