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

No packages published