Skip to main content

Variable: curatedOptionDetailsSchema

const curatedOptionDetailsSchema: ZodObject<{
borrowAllowed: ZodDefault<ZodBoolean>;
collateralAmount: ZodString;
collateralAsset: ZodObject<{
address: ZodString;
cashLike: ZodOptional<ZodBoolean>;
chain: ZodOptional<ZodString>;
coinGeckoId: ZodOptional<ZodString>;
decimals: ZodOptional<ZodNumber>;
lastKnownPriceUsd: ZodOptional<ZodNumber>;
logoUrl: ZodOptional<ZodString>;
name: ZodOptional<ZodString>;
rwa: ZodOptional<ZodBoolean>;
symbol: ZodOptional<ZodString>;
volatility: ZodOptional<ZodNumber>;
}, "strip", ZodTypeAny, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}>;
domain: ZodNumber;
endTimestamp: ZodNumber;
premiumAmount: ZodString;
premiumAsset: ZodObject<{
address: ZodString;
cashLike: ZodOptional<ZodBoolean>;
chain: ZodOptional<ZodString>;
coinGeckoId: ZodOptional<ZodString>;
decimals: ZodOptional<ZodNumber>;
lastKnownPriceUsd: ZodOptional<ZodNumber>;
logoUrl: ZodOptional<ZodString>;
name: ZodOptional<ZodString>;
rwa: ZodOptional<ZodBoolean>;
symbol: ZodOptional<ZodString>;
volatility: ZodOptional<ZodNumber>;
}, "strip", ZodTypeAny, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}>;
settlementAmount: ZodString;
settlementAsset: ZodObject<{
address: ZodString;
cashLike: ZodOptional<ZodBoolean>;
chain: ZodOptional<ZodString>;
coinGeckoId: ZodOptional<ZodString>;
decimals: ZodOptional<ZodNumber>;
lastKnownPriceUsd: ZodOptional<ZodNumber>;
logoUrl: ZodOptional<ZodString>;
name: ZodOptional<ZodString>;
rwa: ZodOptional<ZodBoolean>;
symbol: ZodOptional<ZodString>;
volatility: ZodOptional<ZodNumber>;
}, "strip", ZodTypeAny, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}, {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
}>;
settlementLayer: ZodString;
startTimestamp: ZodNumber;
}, "strip", ZodTypeAny, {
borrowAllowed: boolean;
collateralAmount: string;
collateralAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
domain: number;
endTimestamp: number;
premiumAmount: string;
premiumAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
settlementAmount: string;
settlementAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
settlementLayer: string;
startTimestamp: number;
}, {
borrowAllowed?: boolean;
collateralAmount: string;
collateralAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
domain: number;
endTimestamp: number;
premiumAmount: string;
premiumAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
settlementAmount: string;
settlementAsset: {
address: string;
cashLike?: boolean;
chain?: string;
coinGeckoId?: string;
decimals?: number;
lastKnownPriceUsd?: number;
logoUrl?: string;
name?: string;
rwa?: boolean;
symbol?: string;
volatility?: number;
};
settlementLayer: string;
startTimestamp: number;
}>;

Defined in: packages/overcast-core/src/assets/index.ts:229

OptionDetails with its asset fields resolved to Asset and its native amounts as decimal strings (wire form). Defined as a zod schema so it can validate broadcast DTOs; the type is inferred from it.