aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/redux/actions.ts
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-10-18 01:30:29 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-10-18 01:30:29 +0800
commit84057934c6cda3fe3e4f86cf686b163db017cf9e (patch)
tree0160c132e134fb04106f232834f0ed021d06ebd5 /packages/instant/src/redux/actions.ts
parentaa1085c8f3866da4965c0102be27c0f5e19b3db6 (diff)
parentc767404ad09ca9fdacf9ab43c0e6b13fc70bffb9 (diff)
downloaddexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar.gz
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar.bz2
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar.lz
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar.xz
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.tar.zst
dexon-0x-contracts-84057934c6cda3fe3e4f86cf686b163db017cf9e.zip
Merge branch 'development' into feature/website/asset-buyer-docs
* development: (31 commits) Update CODEOWNERS Update CODEOWNERS Update CODEOWNERS Add leo to CODEOWNERS on some packages fix(monorepo-scripts): Format date as UTC not local time. Bump max bundle size for instant fix: dont use enum string as type as typedoc gets confused feat: export AssetData from order-utils feat: export AssetData from utils chore: temporarily increase the bundle size for instant Remove order-utils from dependencies Run tests on circle CI Add tests for format and use toFixed instead of round for usd Remove expiry buffer seconds option from AssetBuyer init Add ts-optchain and use it instead of lodash get Hide USD price when ETH-USD price is not available Rename OrderDetailsRow to EthAmountRow fix: add Steve's github account to about page, and capitalize AppFolio correctly Put boundNoop in a util file Add tnxHash to buy button callbacks ...
Diffstat (limited to 'packages/instant/src/redux/actions.ts')
-rw-r--r--packages/instant/src/redux/actions.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/instant/src/redux/actions.ts b/packages/instant/src/redux/actions.ts
new file mode 100644
index 000000000..7d07b4950
--- /dev/null
+++ b/packages/instant/src/redux/actions.ts
@@ -0,0 +1,36 @@
+import { BuyQuote } from '@0xproject/asset-buyer';
+import { BigNumber } from '@0xproject/utils';
+import * as _ from 'lodash';
+
+import { ActionsUnion, AsyncProcessState } from '../types';
+
+export interface PlainAction<T extends string> {
+ type: T;
+}
+
+export interface ActionWithPayload<T extends string, P> extends PlainAction<T> {
+ data: P;
+}
+
+export type Action = ActionsUnion<typeof actions>;
+
+function createAction<T extends string>(type: T): PlainAction<T>;
+function createAction<T extends string, P>(type: T, data: P): ActionWithPayload<T, P>;
+function createAction<T extends string, P>(type: T, data?: P): PlainAction<T> | ActionWithPayload<T, P> {
+ return _.isUndefined(data) ? { type } : { type, data };
+}
+
+export enum ActionTypes {
+ UPDATE_ETH_USD_PRICE = 'UPDATE_ETH_USD_PRICE',
+ UPDATE_SELECTED_ASSET_AMOUNT = 'UPDATE_SELECTED_ASSET_AMOUNT',
+ UPDATE_SELECTED_ASSET_BUY_STATE = 'UPDATE_SELECTED_ASSET_BUY_STATE',
+ UPDATE_LATEST_BUY_QUOTE = 'UPDATE_LATEST_BUY_QUOTE',
+}
+
+export const actions = {
+ updateEthUsdPrice: (price?: BigNumber) => createAction(ActionTypes.UPDATE_ETH_USD_PRICE, price),
+ updateSelectedAssetAmount: (amount?: BigNumber) => createAction(ActionTypes.UPDATE_SELECTED_ASSET_AMOUNT, amount),
+ updateSelectedAssetBuyState: (buyState: AsyncProcessState) =>
+ createAction(ActionTypes.UPDATE_SELECTED_ASSET_BUY_STATE, buyState),
+ updateLatestBuyQuote: (buyQuote?: BuyQuote) => createAction(ActionTypes.UPDATE_LATEST_BUY_QUOTE, buyQuote),
+};