@ledgerhq/coin-stacks
Version:
Ledger Stacks Coin integration
35 lines (31 loc) • 1 kB
text/typescript
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
import { Account, OperationType } from "@ledgerhq/types-live";
import BigNumber from "bignumber.js";
import { StacksOperation, Transaction } from "../types";
import { getAddress } from "./utils/misc";
export const buildOptimisticOperation = (
account: Account,
transaction: Transaction,
operatioinType: OperationType = "OUT",
): StacksOperation => {
const hash = "";
const { id: accountId } = account;
const { address } = getAddress(account);
return {
id: encodeOperationId(accountId, hash, operatioinType),
hash,
type: "OUT",
senders: [address],
recipients: [transaction.recipient],
accountId,
value: transaction.amount.plus(transaction.fee || 0),
fee: transaction.fee || new BigNumber(0),
blockHash: null,
blockHeight: null,
date: new Date(),
transactionSequenceNumber: transaction.nonce?.toNumber() || 0,
extra: {
memo: transaction.memo,
},
};
};