Multisol is a CLI application for verifying Solidity contracts on Etherscan.
You give it the path to your target contract and it generates a directory with that contract and all its dependencies at the same relative path. Multisol refactors the source code to import dependencies from their new location.
This works only if you're a user of macOS.
$ brew tap paulrberg/multisol
$ brew install multisol
Cargo works across operating systems, but it requires you to have Cargo installed on your machine.
$ cargo install multisol
Archives of precompiled binaries for multisol are available for macOS, Linux and Windows in our releases page.
Use this installation option if you are in doubt with regard to the others.
The listing below will generate a folder named "multisol-balancesheet" that can be used to verify the source code for a
deployed instance of the BalanceSheet.sol
contract part of the hifi monorepo.
git clone https://github.com/hifi-finance/hifi /tmp/example
cd /tmp/example
yarn install
yarn build
cd packages/protocol
multisol contracts/BalanceSheet.sol
After the folder is generated, you go to the contract's tab on Etherscan, click the "Verify & Publish" button and select the "Solidity (Multi-Part files)" option in the dropdown. Then, you upload the folder, hit submit and voilà, your contract is verified on Etherscan!
import {symbol1 as alias} from "filename"
This project was inspired by Solt, but Multisol is different insofar it uses the multi-part compilation option on Etherscan, while Solt uses standard json input format.
This project is licensed under MIT.