func: function getPrice(string _datasource, uint _gaslimit, address _addr)
      private
      returns (uint _dsprice)
      {
          uint gasprice_ = addr_gasPrice[_addr];
          if (
                  (offchainPayment[_addr])
              ||(
                  (_gaslimit <= 200000)&&
                  (reqc[_addr] == 0)&&
                  (gasprice_ <= gasprice)&&
                  (tx.origin != cbAddress())
              )
          ) return 0;
  
          if (gasprice_ == 0) gasprice_ = gasprice;
          _dsprice = price[sha3(_datasource, addr_proofType[_addr])];
          _dsprice += _gaslimit*gasprice_;
          return _dsprice;
      }