zepio/services/shielded-transactions.js

48 lines
952 B
JavaScript
Raw Normal View History

// @flow
import electronStore from '../config/electron-store';
const STORE_KEY = 'SHIELDED_TRANSACTIONS';
type ShieldedTransaction = {|
category: 'send' | 'receive',
time: number,
address: string,
amount: number,
memo: ?string,
|};
// eslint-disable-next-line
export const listShieldedTransactions = (
pagination: ?{
offset: number,
count: number,
},
): Array<ShieldedTransaction> => {
const transactions = electronStore.has(STORE_KEY) ? electronStore.get(STORE_KEY) : [];
if (!pagination) return transactions;
const { offset = 0, count = 10 } = pagination;
return transactions.slice(offset - 1, offset + count);
};
export const saveShieldedTransaction = ({
category,
time,
address,
amount,
memo,
}: ShieldedTransaction): void => {
electronStore.set(
STORE_KEY,
listShieldedTransactions().concat({
category,
time,
address,
amount,
memo: memo || '',
}),
);
};