aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/redux/async_data.ts
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-11-01 10:20:37 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-11-01 10:21:06 +0800
commit6091ee732d208eaf9889087b8308dfd0427b9be5 (patch)
treec13189159cc172c9f82340a8d3a2bd69eed47f6e /packages/instant/src/redux/async_data.ts
parent8c336925601127c759ad4cfbca119368a2edfd56 (diff)
downloaddexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar.gz
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar.bz2
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar.lz
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar.xz
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.tar.zst
dexon-sol-tools-6091ee732d208eaf9889087b8308dfd0427b9be5.zip
feat: modify public API to allow for passing in available assets, or fetch assets from SRA
Diffstat (limited to 'packages/instant/src/redux/async_data.ts')
-rw-r--r--packages/instant/src/redux/async_data.ts25
1 files changed, 18 insertions, 7 deletions
diff --git a/packages/instant/src/redux/async_data.ts b/packages/instant/src/redux/async_data.ts
index 4ed89bdc3..f8dbe9fd4 100644
--- a/packages/instant/src/redux/async_data.ts
+++ b/packages/instant/src/redux/async_data.ts
@@ -1,22 +1,33 @@
+import * as _ from 'lodash';
+
import { BIG_NUMBER_ZERO } from '../constants';
+import { assetUtils } from '../util/asset';
import { coinbaseApi } from '../util/coinbase_api';
-import { ActionTypes } from './actions';
-
+import { actions } from './actions';
import { Store } from './store';
export const asyncData = {
- fetchAndDispatchToStore: async (store: Store) => {
+ fetchEthPriceAndDispatchToStore: async (store: Store) => {
let ethUsdPrice = BIG_NUMBER_ZERO;
try {
ethUsdPrice = await coinbaseApi.getEthUsdPrice();
} catch (e) {
// ignore
} finally {
- store.dispatch({
- type: ActionTypes.UPDATE_ETH_USD_PRICE,
- data: ethUsdPrice,
- });
+ store.dispatch(actions.updateEthUsdPrice(ethUsdPrice));
+ }
+ },
+ fetchAvailableAssetDatasAndDispatchToStore: async (store: Store) => {
+ const { assetBuyer, assetMetaDataMap, network } = store.getState();
+ if (!_.isUndefined(assetBuyer)) {
+ try {
+ const assetDatas = await assetBuyer.getAvailableAssetDatasAsync();
+ const assets = assetUtils.createAssetsFromAssetDatas(assetDatas, assetMetaDataMap, network);
+ store.dispatch(actions.setAvailableAssets(assets));
+ } catch (e) {
+ // ignore
+ }
}
},
};