JSPM

  • Created
  • Published
  • Downloads 1514
  • Score
    100M100P100Q122240F
  • License ISC

Solidity code used by other Venus projects

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@venusprotocol/solidity-utilities) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    GitHub Actions GitHub Actions

    Development

    Prerequisites

    Installing

    
    yarn install
    

    Linting and code formatting

    Linting is done using eslint for typescript and solhint for solidity. Prettier is used to format solidity and typescript files.

    To check linting and formatting on all files run:

    $ yarn lint

    Linting command can be run with the fix flag to fix eligible errors automatically

    $ yarn lint:sol --fix
    $ yarn lint:ts --fix

    To pretty all files run:

    $ yarn prettier

    Run Tests

    
    npx hardhat test
    
    • To run fork tests add FORK_MAINNET=true PRIVATE_KEY and QUICK_NODE_KEY in the .env file.

    Releases and Versioning

    Releases are automatically managed using semantic-release and commit messages.

    Deployment

    
    npx hardhat deploy
    
    • This command will execute all the deployment scripts in ./deploy directory
    • The default network will be hardhat
    • Deployment to another network: - Make sure the desired network is configured in hardhat.config.ts - Add PRIVATE_KEY variable in .env file - Execute deploy command by adding --network <network_name> in the deploy command above - E.g. npx hardhat deploy --network bsctestnet
    • Execution of single or custom set of scripts is possible, if:
      • In the deployment scripts you have added tags for example: - func.tags = ["MockTokens"];
      • Once this is done, adding --tags "<tag_name>,<tag_name>..." to the deployment command will execute only the scripts containing the tags.

    Verify Contracts

    npx hardhat etherscan-verify --network <network-name>

    Hardhat Commands

    
    npx hardhat accounts
    
    npx hardhat compile
    
    npx hardhat clean
    
    npx hardhat test
    
    npx hardhat node
    
    npx hardhat help
    
    REPORT_GAS=true npx hardhat test
    
    npx hardhat coverage
    
    TS_NODE_FILES=true npx ts-node scripts/deploy.ts
    
    npx eslint '**/*.{js,ts}'
    
    npx eslint '**/*.{js,ts}' --fix
    
    npx prettier '**/*.{json,sol,md}' --check
    
    npx prettier '**/*.{json,sol,md}' --write
    
    npx solhint 'contracts/**/*.sol'
    
    npx solhint 'contracts/**/*.sol' --fix
    

    Documentation

    Documentation is autogenerated using solidity-docgen.

    They can be generated by running yarn docgen