UNPKG

@ixily/activ

Version:

Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.

32 lines (29 loc) 1.08 kB
import { CONTRACT } from '../../../../' import CI = CONTRACT.CONTRACT_INTERFACES import queryChainContract = CONTRACT.CONTRACT_TOOLS.queryChain const getAllStillNotClosedLatestIdeas = ( cachedStrategyState: CI.IStrategyState, ): CI.ITradeIdea[] => { const allOrderedIdeas = queryChainContract.getAllIdeas(cachedStrategyState) const stillNotClosedLatestIdeas = new Map<number, CI.ITradeIdea>() const stillNotClosedList = new Set<number>() for (const idea of allOrderedIdeas) { if (typeof idea.idea === 'string') { stillNotClosedList.add(idea.content.ideaKey!) stillNotClosedLatestIdeas.set(idea.content.ideaKey!, idea) } else { if (idea.idea.kind !== 'close') { stillNotClosedList.add(idea.content.ideaKey!) stillNotClosedLatestIdeas.set(idea.content.ideaKey!, idea) } else { stillNotClosedList.delete(idea.content.ideaKey!) stillNotClosedLatestIdeas.delete(idea.content.ideaKey!) } } } return Array.from(stillNotClosedLatestIdeas.values()) } export const querychain = { ...queryChainContract, getAllStillNotClosedLatestIdeas, }