@ixily/activ
Version:
Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.
56 lines (50 loc) • 1.64 kB
text/typescript
import { CONTRACT_INTERFACES as CI } from '../..'
export interface IPortfolioEntry {
reference?: string
pricing: CI.ITradeIdeaPricing
tracker?: string
notes: string
title?: string // only for open
asset: {
ticker: string
description?: string // only for open
image?: CI.ITradeIdeaImage // only for open
alternativeProviderSymbols?: CI.ITradeIdeaIdeaAlternativeProviderSymbol[] // only for open
}
direction?: 'long' | 'short' // only for open
// reuse in open and for calculate adjustment
allocation: number
}
export interface IPortfolioStrategyRequest {
reference: string
name?: string
description?: string
image?: CI.ITradeIdeaImage
externalLink?: string
}
export interface IPortfolioCreatorRequest {
name: string
walletAddress?: string
company?: string
url?: string
companyLogo?: CI.ITradeIdeaImage
}
export interface IPortfolioRequest {
strategy: IPortfolioStrategyRequest
creator: IPortfolioCreatorRequest
portfolio: IPortfolioEntry[]
// undefined means public. Empty array means private. Otherwise, it is a list of wallets that can access the idea.
accessWallets?: string[] | undefined | 'public'
// devSettings?: {
// // in a future will disable this
// croupierUrl?: string
// environment?: 'dev' | 'prod' // we need this minor field (easy and will not affect anything)
// }
}
export interface IPortfolioAssetRequest {
strategy: IPortfolioStrategyRequest
creator: IPortfolioCreatorRequest
portfolioAsset: IPortfolioEntry
// undefined means public. Empty array means private. Otherwise, it is a list of wallets that can access the idea.
accessWallets?: string[] | undefined | 'public'
}