Catalog npm
Back to packageRELEASE DETAILS

0.1.0

npm

@0xgabi/hardhat-aragon

Aragon Hardhat plugin

aragonethereumhardhathardhat-pluginsmart-contracts
Published12 Feb 2022
Direct dependencies35
Transitive dependenciesNot calculated

README

Current package documentation

Aragon Hardhat plugin

Hardhat plugin for publishing Aragon apps to Aragon Package Manager.

Required plugins

This plugin requires:

Installation

yarn add --dev @1hve/hardhat-aragon @nomiclabs/hardhat-ethers ethers hardhat-deploy

And add the following statement to your hardhat.config.js:

require('@1hive/hardhat-aragon')
require('@nomiclabs/hardhat-ethers')
require('hardhat-deploy')

Or, if you are using TypeScript, add this to your hardhat.config.ts:

import '@1hive/hardhat-aragon'
import '@nomiclabs/hardhat-ethers'
import 'hardhat-deploy'

Tasks

This plugin provides the publish task, which allows you to publish an Aragon app to the Aragon Package Manager.

Usage

hardhat [GLOBAL HARDHAT OPTIONS] publish --contract <STRING> [--dry-run] [--only-content] [--skip-app-build] [--skip-validation] bump [...constructorArgs]

Options

  • --contract: Contract address previously deployed.
  • --dry-run: Output tx data without broadcasting.
  • --only-content: Prevents contract compilation, deployment, and artifact generation.
  • --skip-app-build: Skip application build.
  • --skip-validation: Skip validation of artifacts files.

Positional Arguments

  • bump: Type of bump (major, minor or patch) or semantic version

  • constructorArgs: Constructor arguments for the app contract. (default: [])

Config extensions

You need to add the following aragon config to your hardhat.config file:

module.exports = {
  networks: {
    mainnet: { ... }
  },
  aragon: {
    appEnsName: string // counter.open.aragonpm.eth
    appContractName: string // Counter
  }
};

Additionaly you can also configure the optional aragon and ipfs configs:

module.exports = {
  networks: {
    mainnet: { ... }
  },
  aragon: {
    appEnsName: string // counter.open.aragonpm.eth
    appContractName: string // Counter
    appRoles: Role[]
    appSrcPath: string // app/
    appBuildOutputPath: string // dist/
    appBuildScript: string  // build/
    ignoreFilesPath: string // .
  },
  ipfs: {
    url: string // https://ipfs.infura.io:5001/
    gateway: string // https://ipfs.io/
    pinata: {
      key: "YOUR_PINATA_API_KEY"
      secret: "YOUR_PINATA_API_SECRET_KEY"
    }
  }

Where Role has the interface:

interface Role {
  name: string // 'Create new payments'
  id: string // 'CREATE_PAYMENTS_ROLE'
  params: string[] //  ['Token address', ... ]
}

Finally the plugin also extend the hardhat network configuration to allow a custom appEnsName and ensRegistry per network:

networks: {
    hardhat: {
      ensRegistry: '0xaafca6b0c89521752e559650206d7c925fd0e530',
    },
    rinkeby: {
      appEnsName: 'counter.aragonpm.eth',
      ensRegistry: '0x98df287b6c145399aaa709692c8d308357bc085d',
      ...
    },
  },

Environment extensions

This plugins adds an ipfs object to the Hardhat Runtime Environment.

This object has the same API that ipfs-http-client.

This object is already initialized and ready to interact with the IPFS network. You can configure the node url to connect with on the hardhat.config file.

Note
The plugin default url is http://localhost:5001/ assuming you have a local IPFS node at that endpoint running. You can configure a custom url node like https://ipfs.infura.io:5001/ if you don't want to run your own node.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 39

Native requirements
35 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
@solidity-parser/parser
Environment
{
  "local_name": "@solidity-parser/parser",
  "alias": false,
  "peer_metadata": null
}
^0.6.0runtime
chalk
Environment
{
  "local_name": "chalk",
  "alias": false,
  "peer_metadata": null
}
^4.1.1runtime
execa
Environment
{
  "local_name": "execa",
  "alias": false,
  "peer_metadata": null
}
^5.0.0runtime
fs-extra
Environment
{
  "local_name": "fs-extra",
  "alias": false,
  "peer_metadata": null
}
^8.1.0runtime
ipfs-http-client
Environment
{
  "local_name": "ipfs-http-client",
  "alias": false,
  "peer_metadata": null
}
^52.0.0runtime
node-fetch
Environment
{
  "local_name": "node-fetch",
  "alias": false,
  "peer_metadata": null
}
^2.6.1runtime
@aragon/abis
Environment
{
  "local_name": "@aragon/abis",
  "alias": false,
  "peer_metadata": null
}
^1.1.0development
@nomiclabs/hardhat-ethers
Environment
{
  "local_name": "@nomiclabs/hardhat-ethers",
  "alias": false,
  "peer_metadata": null
}
^2.0.2development
@types/chai
Environment
{
  "local_name": "@types/chai",
  "alias": false,
  "peer_metadata": null
}
^4.2.5development
@types/fs-extra
Environment
{
  "local_name": "@types/fs-extra",
  "alias": false,
  "peer_metadata": null
}
^8.1.0development
@types/lodash
Environment
{
  "local_name": "@types/lodash",
  "alias": false,
  "peer_metadata": null
}
^4.14.169development
@types/mocha
Environment
{
  "local_name": "@types/mocha",
  "alias": false,
  "peer_metadata": null
}
^5.2.7development
@types/node
Environment
{
  "local_name": "@types/node",
  "alias": false,
  "peer_metadata": null
}
12.7.5development
@types/node-fetch
Environment
{
  "local_name": "@types/node-fetch",
  "alias": false,
  "peer_metadata": null
}
^2.5.5development
@types/semver
Environment
{
  "local_name": "@types/semver",
  "alias": false,
  "peer_metadata": null
}
^7.1.0development
@types/sinon
Environment
{
  "local_name": "@types/sinon",
  "alias": false,
  "peer_metadata": null
}
^7.5.2development
@typescript-eslint/eslint-plugin
Environment
{
  "local_name": "@typescript-eslint/eslint-plugin",
  "alias": false,
  "peer_metadata": null
}
^2.16.0development
@typescript-eslint/parser
Environment
{
  "local_name": "@typescript-eslint/parser",
  "alias": false,
  "peer_metadata": null
}
^2.16.0development
bignumber.js
Environment
{
  "local_name": "bignumber.js",
  "alias": false,
  "peer_metadata": null
}
^9.0.0development
chai
Environment
{
  "local_name": "chai",
  "alias": false,
  "peer_metadata": null
}
^4.2.0development
codecov
Environment
{
  "local_name": "codecov",
  "alias": false,
  "peer_metadata": null
}
^3.6.5development
dotenv
Environment
{
  "local_name": "dotenv",
  "alias": false,
  "peer_metadata": null
}
^8.2.0development
eslint
Environment
{
  "local_name": "eslint",
  "alias": false,
  "peer_metadata": null
}
^6.8.0development
eslint-config-prettier
Environment
{
  "local_name": "eslint-config-prettier",
  "alias": false,
  "peer_metadata": null
}
^6.9.0development
eslint-plugin-prettier
Environment
{
  "local_name": "eslint-plugin-prettier",
  "alias": false,
  "peer_metadata": null
}
^3.1.2development
ethers
Environment
{
  "local_name": "ethers",
  "alias": false,
  "peer_metadata": null
}
^5.5.1development
hardhat
Environment
{
  "local_name": "hardhat",
  "alias": false,
  "peer_metadata": null
}
^2.6.7development
hardhat-deploy
Environment
{
  "local_name": "hardhat-deploy",
  "alias": false,
  "peer_metadata": null
}
^0.9.4development
kill-port
Environment
{
  "local_name": "kill-port",
  "alias": false,
  "peer_metadata": null
}
^1.6.0development
mocha
Environment
{
  "local_name": "mocha",
  "alias": false,
  "peer_metadata": null
}
^7.1.2development
nyc
Environment
{
  "local_name": "nyc",
  "alias": false,
  "peer_metadata": null
}
^15.0.1development
prettier
Environment
{
  "local_name": "prettier",
  "alias": false,
  "peer_metadata": null
}
2.0.5development
sinon
Environment
{
  "local_name": "sinon",
  "alias": false,
  "peer_metadata": null
}
^9.0.1development
ts-node
Environment
{
  "local_name": "ts-node",
  "alias": false,
  "peer_metadata": null
}
^8.1.0development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^4.2.4development
@nomiclabs/hardhat-ethers
Environment
{
  "local_name": "@nomiclabs/hardhat-ethers",
  "alias": false,
  "peer_metadata": null
}
^2.0.2peer
ethers
Environment
{
  "local_name": "ethers",
  "alias": false,
  "peer_metadata": null
}
^5.5.1peer
hardhat
Environment
{
  "local_name": "hardhat",
  "alias": false,
  "peer_metadata": null
}
^2.6.7peer
hardhat-deploy
Environment
{
  "local_name": "hardhat-deploy",
  "alias": false,
  "peer_metadata": null
}
^0.9.4peer

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-6pKCnbbvDce+yhxHlNo3LLVugbC+qFYKkilWRWvdJU6Vb3u323TME02lke6JHuzmBfl3dv2Blo8hCpDgERTKfA==",
  "shasum": "be1b5e0b5d0e9a5397c88a14456774ff43f45b88",
  "tarball": "https://registry.npmjs.org/@0xgabi/hardhat-aragon/-/hardhat-aragon-0.1.0.tgz",
  "fileCount": 212,
  "unpackedSize": 257764,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCCxWCRA9TVsSAnZWagAAHI4P/iLpI9N+u1FTgZ8aAhf0\nJI1vm6tMmE6HaadDWthN2704kkduJRcmR5eZioO9y8xR2p62dJB5s3H5XSF6\nXtggy6p0ZkMZBVFAB65+GTbSU+nvm1JVKOQ5b+3Nf83GZvdu/SXRT6oHp5e9\nHmvLHiPjr9bDzfB6RhXCw1UWruDeGsaJ/ovzCuYjQjczO4qKN5rPLL7j35OG\ncQWgRjkCRnSr9INrkKtjos3aDmJThM3LGziXGrRV0HL9dsG5gL6a0Mcw16zy\nlWS3ZGwJS1ou0PvUT1ZHIQwGvsIG+sICRgjAxzZhHwyED4Sw/catYUsBDsEJ\nsrjEs7MKymIyZyO6kPGbN5UnQ1SQSJ6eSdKfLxN5CuKd1k+gn6wEGayC4n/O\n8Tv5PZ0LIl+4E+6NRF5wzmSgI+TFdnxRhUB/MGWLxWntksuvtAXQ77d7oPy8\npWdspfz2XwX3Q68z1QKHKvc3OX0vUYbE+J6/fbhedKU3oY3lwjbv6ZcvrGy0\ntuFaENx7BA/J8ul06wMdCMmdTDlMnbtdjw95QaoQubsQeuN0BBAhCI1CxrDw\nsVMXu4qhHoF/6DPpHomf7+cnFHLL8bHPKuZal7V7JGMJJ3mMmshFhVYrsTiV\nitdMEtYo86O4383kqg7BJnKiUXB0FfuzIHoPfxTyJv3N/+y4biOpyPeOFneK\nBkHq\r\n=q22/\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIQC6FcyXRajGobWhorz7FHQbekC+rxS1cKSAW3VO0wu9dQIgTCQV5SXdnJUym43jmQCpaqhzGSECLuPPt4kiGRQVW2o="
    }
  ]
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 08:55 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:291d1afeaaa1cbcabe94c461cc3a8622d32bbc2a7fc35f0deee6e3a1b5262315

Other collected versions

0.0.430 OctView all collected versions →