Client

VerX provides a client which can be used to submit verification jobs to VerX.

Installation

The VerX client can be downloaded from here

Dependencies

To use the VerX client, you need to install the following dependencies:

Usage

The VerX client is used as follows:

usage: client.py [-h] -f FLATFILE -d DEPLOYER -s SPEC [SPEC ...] -o OUTPUT
                 [-p PARALLEL]

The following three inputs are required:

  • FLATFILE is a Solidity flat file (no import statements) that contains the contracts to be verified.
  • DEPLOYER is a deployment script, defining how the contracts are deployed and initialized, as defined in Quick Start.
  • SPEC is a file that defines a property to be verified. The property must follow the syntax defined in the Specification Language.

When done, the client returns the VerX response formated in JSON, as defined in the VerX API.

Authorization

To use the client you need to provide your username and password. The VerX verification server uses JWT tokens for the authentication. The client asks the username/password when it is first ran, and creates access_token file in the CWD of the script. The client may ask you to re-enter the password if the token needs to be refreshed or cannot be found in the CWD.