@remix-project/remix-analyzer
TypeScript icon, indicating that this package has built-in type declarations

0.5.59 • Public • Published

Remix Analyzer

npm version npm npm GitHub contributions welcome

@remix-project/remix-analyzer is a tool to perform static analysis on Solidity smart contracts to check security vulnerabilities and bad development practices. It works underneath Remix IDE "SOLIDITY STATIC ANALYSIS" plugin which is used to run analysis for a compiled contract according to selected modules.

Installation

@remix-project/remix-analyzer is an NPM package and can be installed using NPM as:

yarn add @remix-project/remix-analyzer

How to use

@remix-project/remix-analyzer exports below interface:

import { CompilationResult, AnalyzerModule, AnalysisReport } from 'types';
declare type ModuleObj = {
    name: string;
    mod: AnalyzerModule;
};
export default class staticAnalysisRunner {
    /**
     * Run analysis (Used by IDE)
     * @param compilationResult contract compilation result
     * @param toRun module indexes (compiled from remix IDE)
     * @param callback callback
     */
    run(compilationResult: CompilationResult, toRun: number[], callback: ((reports: AnalysisReport[]) => void)): void;
    
    /**
     * Run analysis passing list of modules to run
     * @param compilationResult contract compilation result
     * @param modules analysis module
     * @param callback callback
     */
    runWithModuleList(compilationResult: CompilationResult, modules: ModuleObj[], callback: ((reports: AnalysisReport[]) => void)): void;
    
    /**
     * Get list of all analysis modules
     */
    modules(): any[];
}

One can import the module and use the available methods to run analysis. Related type descriptions can be seen here.

Details of modules are explained in official remix-ide documentation.

Contribute

Please feel free to open an issue or a pull request.

In case you want to add some code, do have a look at our contribution guidelines here. Reach us on Gitter in case of any queries.

License

MIT © 2018-21 Remix Team

Readme

Keywords

none

Package Sidebar

Install

npm i @remix-project/remix-analyzer

Weekly Downloads

46

Version

0.5.59

License

MIT

Unpacked Size

282 kB

Total Files

96

Last publish

Collaborators

  • ryestew
  • yann300
  • aniket-engg
  • ioedeveloper