aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/util
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-11-03 04:48:31 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-11-03 05:39:12 +0800
commit5fc2483be776cab90e7ff868b27536a85d6764c9 (patch)
tree1dedb81a97b4c57c763d4f56cb4952d5df4b586f /packages/instant/src/util
parentec83a1d9e735573fe51df7a5854424c0ad4101fb (diff)
downloaddexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar.gz
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar.bz2
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar.lz
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar.xz
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.tar.zst
dexon-sol-tools-5fc2483be776cab90e7ff868b27536a85d6764c9.zip
feat(instant): pass in provider through props, fallback to injected provider
Diffstat (limited to 'packages/instant/src/util')
-rw-r--r--packages/instant/src/util/address.ts4
-rw-r--r--packages/instant/src/util/assert.ts2
-rw-r--r--packages/instant/src/util/injected_provider.ts16
-rw-r--r--packages/instant/src/util/provider.ts12
-rw-r--r--packages/instant/src/util/web3_wrapper.ts5
5 files changed, 19 insertions, 20 deletions
diff --git a/packages/instant/src/util/address.ts b/packages/instant/src/util/address.ts
index 14d42d8c0..b21863a8e 100644
--- a/packages/instant/src/util/address.ts
+++ b/packages/instant/src/util/address.ts
@@ -1,6 +1,6 @@
-import { web3Wrapper } from '../util/web3_wrapper';
+import { Web3Wrapper } from '@0x/web3-wrapper';
-export const getBestAddress = async (): Promise<string | undefined> => {
+export const getBestAddress = async (web3Wrapper: Web3Wrapper): Promise<string | undefined> => {
const addresses = await web3Wrapper.getAvailableAddressesAsync();
return addresses[0];
};
diff --git a/packages/instant/src/util/assert.ts b/packages/instant/src/util/assert.ts
index 20f8ddaee..99e177993 100644
--- a/packages/instant/src/util/assert.ts
+++ b/packages/instant/src/util/assert.ts
@@ -41,7 +41,7 @@ export const assert = {
assert.isUri(`${variableName}.imageUrl`, metaData.imageUrl);
}
},
- isValidaffiliateInfo(variableName: string, affiliateInfo: AffiliateInfo): void {
+ isValidAffiliateInfo(variableName: string, affiliateInfo: AffiliateInfo): void {
assert.isETHAddressHex(`${variableName}.recipientAddress`, affiliateInfo.feeRecipient);
assert.isNumber(`${variableName}.percentage`, affiliateInfo.feePercentage);
assert.assert(
diff --git a/packages/instant/src/util/injected_provider.ts b/packages/instant/src/util/injected_provider.ts
new file mode 100644
index 000000000..40f9e2da5
--- /dev/null
+++ b/packages/instant/src/util/injected_provider.ts
@@ -0,0 +1,16 @@
+import { Provider } from 'ethereum-types';
+import * as _ from 'lodash';
+
+export const getInjectedProvider = (): Provider => {
+ const injectedProviderIfExists = (window as any).ethereum;
+ if (!_.isUndefined(injectedProviderIfExists)) {
+ // TODO: call enable here when implementing wallet connection flow
+ return injectedProviderIfExists;
+ }
+ const injectedWeb3IfExists = (window as any).web3;
+ if (!_.isUndefined(injectedWeb3IfExists.currentProvider)) {
+ return injectedWeb3IfExists.currentProvider;
+ } else {
+ throw new Error(`No injected web3 found`);
+ }
+};
diff --git a/packages/instant/src/util/provider.ts b/packages/instant/src/util/provider.ts
deleted file mode 100644
index 49705fd11..000000000
--- a/packages/instant/src/util/provider.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Provider } from 'ethereum-types';
-
-export const getProvider = (): Provider => {
- const injectedWeb3 = (window as any).web3 || undefined;
- try {
- // Use MetaMask/Mist provider
- return injectedWeb3.currentProvider;
- } catch (err) {
- // Throws when user doesn't have MetaMask/Mist running
- throw new Error(`No injected web3 found: ${err}`);
- }
-};
diff --git a/packages/instant/src/util/web3_wrapper.ts b/packages/instant/src/util/web3_wrapper.ts
deleted file mode 100644
index 24dcd9076..000000000
--- a/packages/instant/src/util/web3_wrapper.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Web3Wrapper } from '@0x/web3-wrapper';
-
-import { getProvider } from './provider';
-
-export const web3Wrapper = new Web3Wrapper(getProvider());