MyCrypto/common/actions/wallet.js

74 lines
1.3 KiB
JavaScript
Raw Normal View History

2017-06-29 23:03:11 +00:00
// @flow
import BaseWallet from 'libs/wallet/base';
import Big from 'big.js';
2017-06-29 23:03:11 +00:00
/*** Unlock Private Key ***/
export type PrivateKeyUnlockParams = {
key: string,
password: string
};
2017-06-29 23:03:11 +00:00
export type UnlockPrivateKeyAction = {
2017-07-04 03:21:19 +00:00
type: 'WALLET_UNLOCK_PRIVATE_KEY',
payload: PrivateKeyUnlockParams
2017-06-29 23:03:11 +00:00
};
export function unlockPrivateKey(
value: PrivateKeyUnlockParams
): UnlockPrivateKeyAction {
2017-07-04 03:21:19 +00:00
return {
type: 'WALLET_UNLOCK_PRIVATE_KEY',
payload: value
};
2017-06-29 23:03:11 +00:00
}
/*** Set Wallet ***/
export type SetWalletAction = {
type: 'WALLET_SET',
payload: BaseWallet
};
export function setWallet(value: BaseWallet): SetWalletAction {
return {
type: 'WALLET_SET',
payload: value
};
}
/*** Set Balance ***/
export type SetBalanceAction = {
type: 'WALLET_SET_BALANCE',
payload: Big
};
export function setBalance(value: Big): SetBalanceAction {
2017-07-04 03:21:19 +00:00
return {
type: 'WALLET_SET_BALANCE',
2017-07-04 03:21:19 +00:00
payload: value
};
2017-06-29 23:03:11 +00:00
}
2017-07-03 23:59:27 +00:00
/*** Set Token Balance ***/
export type SetTokenBalancesAction = {
type: 'WALLET_SET_TOKEN_BALANCES',
payload: {
[string]: Big
}
};
export function setTokenBalances(payload: {
[string]: Big
}): SetTokenBalancesAction {
2017-07-04 03:21:19 +00:00
return {
type: 'WALLET_SET_TOKEN_BALANCES',
payload
2017-07-04 03:21:19 +00:00
};
2017-07-03 23:59:27 +00:00
}
/*** Union Type ***/
export type WalletAction =
| UnlockPrivateKeyAction
| SetWalletAction
| SetBalanceAction
| SetTokenBalancesAction;