112 lines
2.1 KiB
JavaScript
112 lines
2.1 KiB
JavaScript
// @flow
|
|
import BaseWallet from 'libs/wallet/base';
|
|
import Big from 'bignumber.js';
|
|
|
|
/*** Unlock Private Key ***/
|
|
export type PrivateKeyUnlockParams = {
|
|
key: string,
|
|
password: string
|
|
};
|
|
|
|
export type UnlockPrivateKeyAction = {
|
|
type: 'WALLET_UNLOCK_PRIVATE_KEY',
|
|
payload: PrivateKeyUnlockParams
|
|
};
|
|
|
|
export function unlockPrivateKey(
|
|
value: PrivateKeyUnlockParams
|
|
): UnlockPrivateKeyAction {
|
|
return {
|
|
type: 'WALLET_UNLOCK_PRIVATE_KEY',
|
|
payload: value
|
|
};
|
|
}
|
|
|
|
/*** Unlock Keystore File ***/
|
|
export type KeystoreUnlockParams = {
|
|
file: string,
|
|
password: string
|
|
};
|
|
|
|
export type UnlockKeystoreAction = {
|
|
type: 'WALLET_UNLOCK_KEYSTORE',
|
|
payload: KeystoreUnlockParams
|
|
};
|
|
|
|
export function unlockKeystore(
|
|
value: KeystoreUnlockParams
|
|
): UnlockKeystoreAction {
|
|
return {
|
|
type: 'WALLET_UNLOCK_KEYSTORE',
|
|
payload: value
|
|
};
|
|
}
|
|
|
|
/*** 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 {
|
|
return {
|
|
type: 'WALLET_SET_BALANCE',
|
|
payload: value
|
|
};
|
|
}
|
|
|
|
/*** Set Token Balance ***/
|
|
export type SetTokenBalancesAction = {
|
|
type: 'WALLET_SET_TOKEN_BALANCES',
|
|
payload: {
|
|
[string]: Big
|
|
}
|
|
};
|
|
|
|
export function setTokenBalances(payload: {
|
|
[string]: Big
|
|
}): SetTokenBalancesAction {
|
|
return {
|
|
type: 'WALLET_SET_TOKEN_BALANCES',
|
|
payload
|
|
};
|
|
}
|
|
|
|
/*** Broadcast Tx ***/
|
|
export type BroadcastTxRequestedAction = {
|
|
type: 'WALLET_BROADCAST_TX_REQUESTED',
|
|
payload: {
|
|
signedTx: string
|
|
}
|
|
};
|
|
|
|
export function broadcastTx(signedTx: string): BroadcastTxRequestedAction {
|
|
return {
|
|
type: 'WALLET_BROADCAST_TX_REQUESTED',
|
|
payload: {
|
|
signedTx
|
|
}
|
|
};
|
|
}
|
|
|
|
/*** Union Type ***/
|
|
export type WalletAction =
|
|
| UnlockPrivateKeyAction
|
|
| SetWalletAction
|
|
| SetBalanceAction
|
|
| SetTokenBalancesAction
|
|
| BroadcastTxRequestedAction;
|