Skip to content

siksum/Solc-Parser

Repository files navigation

solc-parser

The default format

pragma solidity [version];

Description

  • Version parsing method :
    • Parsing the version from the file provided by the user as input.
    • If the range is specified (e.g., >=0.5.0 <=0.8.9), the latest version within that range is installed.
      • The logic is performed based on the presence of <, <= signs.
    • If ^, ~, or >= symbols are present, the latest patch version of the corresponding minor version is retrieved.
      • �For example, ^0.8.9 would retrieve version 0.8.20. ~0.7 would retrieve version 0.7.6.
    • If >, < symbols are present, the closest patch version to the specified version is selected.

Requirements

  • Operating System: macOS (updating for Linux and Windows . . .)
  • Python Versions: Python 3.8 and above
$ pip3 install solc-parser

Usage

$ solc-parser [file_path]

Option

Retrieve the list of available solc versions for installation

[Usage]

$ solc-parser --list

[Output]

$ solc-parser --list
0.8.20
0.8.19
0.8.18
0.8.17
...
0.5.15
0.5.14
0.5.13
0.5.12



Install the solc binary

[Usage]

$ solc-parser --install [version]
  • Multiple versions can be specified, separated by spaces.
  • The solc binary will be installed under the .solc-parser/binaries directory.

[Output]

$ solc-parser --install 0.8.2
Installing solc '0.8.2'...
Version '0.8.2' installed.



Select the currently desired solc version

[Usage]

$ solc-parser --use [version]

[Output]

$ solc-parser --use 0.8.2
Switched global version to 0.8.2



Return the currently selected solc version and the list of installed versions

[Usage]

$ solc-parser --version

[Output]

$ solc-parser --version

Current version: 0.8.2

Installed versions: ['0.6.12', '0.8.2', '0.7.1', '0.8.0']



Uninstall the installed solc binaries

[Usage]

$ solc-parser --uninstall [version]
  • Multiple versions can be specified, separated by spaces.

[Output]

$ solc-parser --uninstall 0.8.2
Uninstalling solc '0.8.2'...
Version '0.8.2' uninstalled.
Version '0.8.2' was the global version. Switching to version.

Improvements and tasks to be addressed

💡 List
1. Handling wildcard (*) scenarios.
2. Implement unit test
3. Update to support Linux and Windows platforms.

About

Solc Automated Parser and Installation Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages