lib/contractrunner.js
function ContractRunner(config, data) {
  events.EventEmitter.call(this);

  var self = this;

  self.config = config;

  if (typeof data !== 'object' ||
    typeof data.manifest !== 'object') {

    throw new Error('ApiHandler must be instantiated with the manifest');
  }

  self._manifest = data.manifest;
  self._apis = {};
  self._manifest_hash = data.manifest_hash;
  self._instance_id = data.instance_id;
  self._additional_libs = data.additional_libs || '';
  self._env = data.env;
  self._nextFreeFileDescriptor = 4;

  // Add the manifest_hash to the manifest object so it will
  // be passed to the API modules when they are called
  self._manifest.manifest_hash = data.manifest_hash;

  // Setup sandbox instance
  self._sandbox  = new Sandbox({
    enableGdb: self.config.enableGdb,
    enableValgrind: self.config.enableValgrind,
    disableNacl: self.config.disableNacl
  });

  self._sandbox.on('exit', self.handleExit.bind(self));
}
function ContractRunner(config, data) {
  events.EventEmitter.call(this);

  var self = this;

  self.config = config;

  if (typeof data !== 'object' ||
    typeof data.manifest !== 'object') {

    throw new Error('ApiHandler must be instantiated with the manifest');
  }

  self._manifest = data.manifest;
  self._apis = {};
  self._manifest_hash = data.manifest_hash;
  self._instance_id = data.instance_id;
  self._additional_libs = data.additional_libs || '';
  self._env = data.env;
  self._nextFreeFileDescriptor = 4;

  // Add the manifest_hash to the manifest object so it will
  // be passed to the API modules when they are called
  self._manifest.manifest_hash = data.manifest_hash;

  // Setup sandbox instance
  self._sandbox  = new Sandbox({
    enableGdb: self.config.enableGdb,
    enableValgrind: self.config.enableValgrind,
    disableNacl: self.config.disableNacl
  });

  self._sandbox.on('exit', self.handleExit.bind(self));
}
function ContractRunner ( config , data ) { events . EventEmitter . call ( this ) ; var self = this ; self . config = config ; if ( typeof data !== 'object' || typeof data . manifest !== 'object' ) { throw new Error ( 'ApiHandler must be instantiated with the manifest' ) ; } self . _manifest = data . manifest ; self . _apis = { } ; self . _manifest_hash = data . manifest_hash ; self . _instance_id = data . instance_id ; self . _additional_libs = data . additional_libs || '' ; self . _env = data . env ; self . _nextFreeFileDescriptor = 4 ; // Add the manifest_hash to the manifest object so it will // be passed to the API modules when they are called self . _manifest . manifest_hash = data . manifest_hash ; // Setup sandbox instance self . _sandbox = new Sandbox ( { enableGdb : self . config . enableGdb , enableValgrind : self . config . enableValgrind , disableNacl : self . config . disableNacl } ) ; self . _sandbox . on ( 'exit' , self . handleExit . bind ( self ) ) ; }
Class to run contracts.

@param {Object} data.manifest
@param {Object} data.apis
@param {String} data.manifest_hash
Class to run contracts .