UNPKG

@ixily/activ

Version:

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

75 lines (74 loc) 4.61 kB
import { IMessDbView } from '../../'; import { CONTRACT_INTERFACES, IChain, IPortfolioView, MyIdeaKeys } from '../../../../../'; interface Creator { creatorWallet: string; strategies: Set<string>; strategiesByOldest: string[]; createdIdeasIndexesByOldest: string[]; } interface IRebalanceMap { index: number; reference: string; ideaIndexes: string[]; } interface MyContractDb { contractUniqueKey: string; chain: IChain; contractAddress: string; creators: Map<string, Creator>; creatorsByOldest: string[]; userAccessStrategies: Map<string, Set<string>>; userSubscribedToStrategies: Map<string, Set<string>>; userAccessIdeaNfts: Map<string, Set<number>>; userAccessIdeaIndexesByOldest: Map<string, string[]>; userAccessIdeaKeysByStrategy: Map<string, Map<string, Set<number>>>; publicStrategies: Set<string>; publicStrategiesByOldest: string[]; publicStrategiesFilled: Map<string, CONTRACT_INTERFACES.ITradeIdeaStrategy>; ideaIndexByOldest: string[]; publicIdeaIndexByOldest: string[]; ideaIndexByStrategyByOldest: Map<string, string[]>; ideaIndexToKeys: Map<string, MyIdeaKeys>; ideaIndexToData: Map<string, CONTRACT_INTERFACES.ITradeIdea>; allocationStrategyPortfolios: Map<string, IPortfolioView | 'ENCRYPTED'>; allocationRebalances: Map<string, IRebalanceMap[]>; } export interface MyDbViewState { contractDbs: Map<string, MyContractDb>; contractsByOldest: string[]; } declare const getContractsInMemoryState: () => MyDbViewState; declare const setContractsInMemoryState: (_state: MyDbViewState) => void; interface IContractsInMemoryDbView extends IMessDbView { listAllContracts: () => Promise<string[]>; listAllStrategiesByContractAndUser: (uniqueContractKey: string, userWallet: string) => Promise<string[]>; getStrategyLastIdea: (uniqueStrategyReference: string) => Promise<CONTRACT_INTERFACES.ITradeIdea>; getStrategy: (uniqueStrategyReference: string) => Promise<CONTRACT_INTERFACES.ITradeIdeaStrategy>; getStrategyCreator: (uniqueStrategyReference: string) => Promise<CONTRACT_INTERFACES.ITradeIdeaCreator>; getCreator: (uniqueContractKey: string, creatorWallet: string) => Promise<CONTRACT_INTERFACES.ITradeIdeaCreator>; getStrategyWithCreator: (uniqueStrategyReference: string) => Promise<{ strategy: CONTRACT_INTERFACES.ITradeIdeaStrategy; creator: CONTRACT_INTERFACES.ITradeIdeaCreator; }>; listAllIdeasIndexesByStrategy: (uniqueStrategyKey: string) => Promise<string[]>; listAllIdeasKeysByStrategy: (uniqueStrategyKey: string) => Promise<MyIdeaKeys[]>; listAllIdeasIndexesByContract: (uniqueContractKey: string) => Promise<string[]>; listAllPublicIdeasIndexesByContract: (uniqueContractKey: string) => Promise<string[]>; listCreatedByIdeasIndexesByContract: (uniqueContractKey: string, creatorWallet: string) => Promise<string[]>; listOwnedByIdeasIndexesByContract: (uniqueContractKey: string, ownerWallet: string) => Promise<string[]>; listOwnedByIdeasKeysByContract: (uniqueContractKey: string, ownerWallet: string) => Promise<MyIdeaKeys[]>; getIdeaKeys: (ideaIndex: string) => Promise<MyIdeaKeys>; getIdeaData: (ideaIndex: string) => Promise<CONTRACT_INTERFACES.ITradeIdea>; listContractCreatorStrategies: (uniqueContractKey: string, creatorWallet: string) => Promise<string[]>; listContractUserWithAccessibleIdeasStrategies: (uniqueContractKey: string, userWallet: string) => Promise<string[]>; listContractUserSubscribedToIdeasStrategies: (uniqueContractKey: string, userWallet: string) => Promise<string[]>; listContractUserAccessibleIdeas: (uniqueContractKey: string, userWallet: string) => Promise<number[]>; listContractUserAccessibleIdeasByStrategy: (uniqueContractKey: string, userWallet: string, uniqueStrategyKey: string) => Promise<number[]>; listContractWithPublicIdeasStrategies: (uniqueContractKey: string) => Promise<string[]>; getStrategyPortfolio: (uniqueStrategyReference: string) => Promise<IPortfolioView | 'ENCRYPTED'>; getStrategyRebalances: (uniqueStrategyReference: string) => Promise<IRebalanceMap[]>; getStrategyRebalance: (uniqueStrategyReference: string, rebalanceReference: string) => Promise<IRebalanceMap>; getStrategyRebalancesInPeriod: (uniqueStrategyReference: string, startDate: number, endDate: number) => Promise<IRebalanceMap[]>; } declare const contractsInMemoryDbView: IContractsInMemoryDbView; export { IContractsInMemoryDbView, contractsInMemoryDbView, getContractsInMemoryState, setContractsInMemoryState, };