github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/blockapps-ba-master/server/lib/bid/bid.js (about)

     1  const ba = require('blockapps-rest');
     2  const rest = ba.rest;
     3  const util = ba.common.util;
     4  const config = ba.common.config;
     5  
     6  const contractName = 'Bid';
     7  const contractFilename = `${config.libPath}/bid/contracts/Bid.sol`;
     8  
     9  const ErrorCodes = rest.getEnums(`${config.libPath}/common/ErrorCodes.sol`).ErrorCodes;
    10  
    11  function* uploadContract(admin, args) {
    12    const contract = yield rest.uploadContract(admin, contractName, contractFilename, args);
    13    yield compileSearch(contract);
    14    contract.src = 'removed';
    15    return setContract(admin, contract);
    16  }
    17  
    18  function setContract(admin, contract) {
    19    contract.getState = function* () {
    20      return yield rest.getState(contract);
    21    }
    22    return contract;
    23  }
    24  
    25  function* compileSearch(contract) {
    26    rest.verbose('compileSearch', contract.codeHash);
    27    if (yield rest.isSearchable(contract.codeHash)) {
    28      return;
    29    }
    30    const searchable = [contractName];
    31    yield rest.compileSearch(searchable, contractName, contractFilename);
    32  }
    33  
    34  module.exports = {
    35    compileSearch: compileSearch,
    36    uploadContract: uploadContract,
    37    // constants
    38    contractName: contractName,
    39  };