code: function run() {
      for (let pathName of getPathNames("contracts")) {
          let contractName = path.basename(pathName, ".sol");
          if (input.contracts.hasOwnProperty(contractName))
              post(contractName, getSourceCode(pathName));
      }
  }
docs: input example: { "network"        : "api", // use "api" for mainnet or "api-<testnet>" for testnet "apiKey"         : "",    // generate this value at https://etherscan.io/myapikey "compilerVersion": "v0.4.24+commit.e67f0147", "optimization"   : {"used": 1, "runs": 200}, "contracts"      : { "Contract1": {"addr": "0x0000000000000000000000000000000000000001", "args": "<abi-encoded constructor arguments>"}, "Contract2": {"addr": "0x0000000000000000000000000000000000000002", "args": "<abi-encoded constructor arguments>"}, "Contract3": {"addr": "0x0000000000000000000000000000000000000003", "args": "<abi-encoded constructor arguments>"} } }