`@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 plugin "SOLIDITY STATIC ANALYSIS" which is used to run analysis for a compiled contract according to selected modules.
`@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:
remix-debug wrap other remix-* libraries and can be used to debug Ethereum transactions.
`@remix-project/remix-debug` is a tool to to debug Ethereum transactions on different Remix environments (VM, testnet etc.). It works underneath Remix IDE "DEBUGGER" plugin which is used to analyse step-to-step executioon of a transaction to debug it.
+ [Installation](#installation)
+ [Development](#development)
### Installation
`@remix-project/remix-debug` is an NPM package and can be installed using NPM as:
## Installation
`npm install @remix-project/remix-debug`
### How to use
```bash
npm install remix-debug
```
`@remix-project/remix-debug` can be used as:
## Development
```ts
```javascript
var Debugger = require('remix-debug').EthDebugger
var BreakpointManager = require('remix-debug').BreakpointManager
check the given pair fileIndex/line against registered breakpoints
`isComplete(direction, defaultToLimit)` : return True if the storage at @arg address is complete
`function hasBreakpoint()` :
return true if current manager has breakpoint
`initialMappingsLocation((fileIndex, line)` : return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction
`function add(sourceLocation)` :
add a new breakpoint to the manager
`mappingsLocation()` : return all the possible mappings locations for the current context (cached) and current mapping slot. returns state changes during the current transaction
`function remove(sourceLocation)` :
remove a breakpoint from the manager
`extractMappingsLocationChanges(sourceLocation)` : retrieve mapping location changes from the storage changes.
return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction
`function mappingsLocation()` :
return all the possible mappings locations for the current context (cached) and current mapping slot. returns state changes during the current transaction
retrieve mapping location changes from the storage changes.
- - - -
`storageSlot(slot, tx, stepIndex, address, callback)` : return True if the storage at @arg address is complete
`StorageResolver()` :
`isComplete(address)` : return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction
return True if the storage at @arg address is complete
In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries.
`function isComplete(address)` :
return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction