aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/ducks/custom-gas.js
diff options
context:
space:
mode:
authorDan Miller <danjm.com@gmail.com>2018-08-03 00:02:22 +0800
committerDan Miller <danjm.com@gmail.com>2018-12-04 11:36:04 +0800
commit342dc95410b10f042b3f8ee4135f5fef1fd6fe93 (patch)
tree83f6e8a0500e91fef1fdc9f460c03dc638e33f99 /ui/app/ducks/custom-gas.js
parent5e7409482b6fc55eafc330e4bc119f7485f068bb (diff)
downloadtangerine-wallet-browser-342dc95410b10f042b3f8ee4135f5fef1fd6fe93.tar.gz
tangerine-wallet-browser-342dc95410b10f042b3f8ee4135f5fef1fd6fe93.tar.zst
tangerine-wallet-browser-342dc95410b10f042b3f8ee4135f5fef1fd6fe93.zip
Adds the content of the advanced tab - w/o chart or dynamic content - to gas customize modal.
Diffstat (limited to 'ui/app/ducks/custom-gas.js')
-rw-r--r--ui/app/ducks/custom-gas.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/ui/app/ducks/custom-gas.js b/ui/app/ducks/custom-gas.js
new file mode 100644
index 000000000..f1f483e93
--- /dev/null
+++ b/ui/app/ducks/custom-gas.js
@@ -0,0 +1,67 @@
+import extend from 'xtend'
+
+// Actions
+const SET_CUSTOM_GAS_PRICE = 'metamask/custom-gas/SET_CUSTOM_GAS_PRICE'
+const SET_CUSTOM_GAS_LIMIT = 'metamask/custom-gas/SET_CUSTOM_GAS_LIMIT'
+const SET_CUSTOM_GAS_ERRORS = 'metamask/custom-gas/SET_CUSTOM_GAS_ERRORS'
+const RESET_CUSTOM_GAS_STATE = 'metamask/custom-gas/RESET_CUSTOM_GAS_STATE'
+
+// TODO: determine if this approach to initState is consistent with conventional ducks pattern
+const initState = {
+ price: 0,
+ limit: 21000,
+ errors: {},
+}
+
+// Reducer
+export default function reducer ({ customGas: customGasState = initState }, action = {}) {
+ const newState = extend({}, customGasState)
+
+ switch (action.type) {
+ case SET_CUSTOM_GAS_PRICE:
+ return extend(newState, {
+ price: action.value,
+ })
+ case SET_CUSTOM_GAS_LIMIT:
+ return extend(newState, {
+ limit: action.value,
+ })
+ case SET_CUSTOM_GAS_ERRORS:
+ return extend(newState, {
+ errors: {
+ ...newState.errors,
+ ...action.value,
+ },
+ })
+ case RESET_CUSTOM_GAS_STATE:
+ return extend({}, initState)
+ default:
+ return newState
+ }
+}
+
+// Action Creators
+export function setCustomGasPrice (newPrice) {
+ return {
+ type: SET_CUSTOM_GAS_PRICE,
+ value: newPrice,
+ }
+}
+
+export function setCustomGasLimit (newLimit) {
+ return {
+ type: SET_CUSTOM_GAS_LIMIT,
+ value: newLimit,
+ }
+}
+
+export function setCustomGasErrors (newErrors) {
+ return {
+ type: SET_CUSTOM_GAS_ERRORS,
+ value: newErrors,
+ }
+}
+
+export function resetCustomGasState () {
+ return { type: RESET_CUSTOM_GAS_STATE }
+}