embark-compiler

npm i embark-compiler

Readme

embark-compiler

Embark compiler module

Abstracts the compiler interface and exposes a plugin api to register contract extensions and how to handle them. It accepts command requests to compile and returns the aggregated compilation result.

API

command: compiler:contracts:compile

arguments:

  • contractFiles -
  • options - config object {isCoverage: boolean (default: false)}

    response:

    • error
    • compiledObject - compilation result
      {
        runtimeBytecode: <deployed bytecode>
        realRuntimeByteCode: <deployed bytecode without swarm hash>
        code: <bytecode>
        abiDefinition: <abi object>
    
        swarmHash: (optional)
        gasEstimates: (optional)
        functionHashes: (optional)
        filename: (optional) <contract relative filename>
        originalFilename: (optional) <contract real filename>
      }
    

    example:

    import { File } from 'src/lib/core/file.js';
    const contractFiles = [(new File({path: "simplestorage.sol", type: "custom", resolver: (cb) => { return cb(".. contract code...") }}))];
    
    embark.events.request("compiler:contracts:compile", contractFiles, {}, (err, compiledObject) => {
    })
    
    

    Plugins

    This module enables the registerCompiler plugin API. see documentation

    embark.registerCompiler

    arguments:

    • extension - extension of the contract language (e.g .sol)
    • response callback
      • contractFiles: filenames matching the extension
      • callback(error, compiledObject)

    Visit framework.embarklabs.io to get started with Embark.

Jump To