From fb63a2301ff76b68ab5f35d89721f726758ab8e1 Mon Sep 17 00:00:00 2001 From: Armani Ferrante Date: Thu, 21 Feb 2019 15:17:26 -0800 Subject: [PATCH] Fix import within truffle (#134) --- web3c/index.js | 24 +++++++++++++++++++++--- webpack.config.js | 6 +----- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/web3c/index.js b/web3c/index.js index 69da78d..7c41f0f 100644 --- a/web3c/index.js +++ b/web3c/index.js @@ -1,5 +1,11 @@ /* globals Web3 */ -const MraeBox = require('../crypto/subtle/mrae_box'); +let MraeBox = undefined; +if (typeof window === 'undefined' ) { + MraeBox = require('../crypto/node/mrae_box'); +} else { + MraeBox = require('../crypto/subtle/mrae_box'); +} + const Oasis = require('./oasis'); let localWeb3 = undefined; @@ -11,11 +17,23 @@ let rejectWeb3 = () => {}; /** * Web3c is a wrapper that can be invoked in the same way as Web3. * Expects Web3 v1.0 + * + * @param {Object} provider is an object conforming to the web3 provider interface. + * @param {Object?} web3 is an optional web3 object to override the localWeb3. */ -module.exports = function (provider) { +module.exports = function (provider, web3) { + if (web3) { + localWeb3 = web3; + } + + let storage = undefined; + if (typeof localStorage !== 'undefined') { + storage = localStorage; + } + localWeb3.call(this, provider); if (this.version && !this.version.api) { // v1.0 series - this.oasis = new Oasis(this, localStorage, MraeBox); + this.oasis = new Oasis(this, storage, MraeBox); } else { throw new Error('Unexpected web3 version. Web3c Expects Web3 1.0'); } diff --git a/webpack.config.js b/webpack.config.js index a21b146..99fcca0 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -29,11 +29,7 @@ module.exports = env => { path.resolve(__dirname, 'crypto'), path.resolve(__dirname, 'web3c') ], - extensions: ['.js'], - alias: { - '../crypto/node': '../crypto/subtle', - './crypto/node': './crypto/subtle', - } + extensions: ['.js'] }, output: { path: path.join(__dirname, 'output'),