/// /// import { CrossLevPosition, IsoLevPosition, PortfolioAssetAttributes, PortfolioElementLabel, PortfolioElementTypeType, SourceRef, TokenYield, UsdValue } from '@sonarwatch/portfolio-core'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; export type Params = { type: PortfolioElementTypeType; label: PortfolioElementLabel; name?: string; tags?: string[]; platformId?: string; contract?: string; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; netApy?: number; }; export type LiquidityParams = { name?: string; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; }; export type ConcentratedLiquidityParams = { addressA: string | PublicKey; addressB: string | PublicKey; liquidity: number | BigNumber | string; tickCurrentIndex: number | BigNumber | string; tickLowerIndex: number | BigNumber | string; tickUpperIndex: number | BigNumber | string; currentSqrtPrice?: number | BigNumber | string; poolLiquidity?: number | BigNumber | string; feeRate?: number | BigNumber | string; swapVolume24h?: number | BigNumber | string; roundUp?: boolean; name?: string; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; }; export type PortfolioAssetGenericParams = { address?: string | PublicKey; amount?: number | BigNumber | string; price?: number | BigNumber; attributes?: PortfolioAssetAttributes; value?: number | BigNumber; name?: string; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; }; export type PortfolioAssetCollectibleParams = { address: string | PublicKey; amount?: number | BigNumber | string; collection: { name: string; floorPrice: number | BigNumber | string; imageUri?: string; }; attributes?: PortfolioAssetAttributes; name?: string; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; }; export type PortfolioAssetTokenParams = { address: string | PublicKey; amount: number | BigNumber | string; attributes?: PortfolioAssetAttributes; alreadyShifted?: boolean; sourceRefs?: SourceRef[]; ref?: string | PublicKey; link?: string; tokenYield?: TokenYield; }; export type PortfolioAssetPricedTokenParams = { address: string | PublicKey; amount: number | BigNumber | string; attributes?: PortfolioAssetAttributes; price: number | BigNumber; ref?: string | PublicKey; }; export type TradeParams = { inputAsset: Omit & { amount?: number | BigNumber | string; }; outputAsset: Omit & { amount?: number | BigNumber | string; }; initialInputAmount: number | BigNumber | string; expectedOutputAmount?: number | BigNumber | string; withdrawnOutputAmount: number | BigNumber | string; createdAt?: number; expireAt?: number; }; export type IsoLevPositionParams = Omit & { value?: UsdValue; }; export type CrossLevPositionParams = CrossLevPosition;