Skip to main content

Class: ChromaticMarket

Represents a Chromatic Market and provides methods to interact with it.

Constructors​

constructor​

• new ChromaticMarket(_client)

Creates a new instance of ChromaticMarket.

Parameters​

NameTypeDescription
_clientClientThe Chromatic Client instance.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:20

Methods​

clbToken​

▸ clbToken(marketAddress): Promise<`0x${string}`>

Retrieves the CLB token address associated with a specific market.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.

Returns​

Promise<`0x${string}`>

A promise that resolves to the CLB token contract address.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:75


clbTokenMeta​

▸ clbTokenMeta(marketAddress, tokenId): Promise<{ decimals: number ; description: string ; image: string ; name: string }>

Retrieves the metadata of a CLB token associated with a specific market and token ID.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.
tokenIdbigintThe ID of the CLB token.

Returns​

Promise<{ decimals: number ; description: string ; image: string ; name: string }>

A promise that resolves to the CLB token metadata.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:87


contracts​

▸ contracts(): Object

Retrieves the contract instances associated with the Chromatic Market.

Returns​

Object

An object containing the contract instances.

NameType
clbToken(marketAddress: `0x${string}`) => Promise<ContractClbToken>
market(marketAddress: `0x${string}`) => ContractChromaticMarket
oracleProvider(marketAddress: `0x${string}`) => Promise<ContractIOracleProvider>
settlementToken(marketAddress: `0x${string}`) => Promise<ContractIErc20Metadata>

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:26


getCurrentPrice​

▸ getCurrentPrice(marketAddress): Promise<{ price: bigint ; timestamp: bigint ; version: bigint }>

Retrieves the current price from the OracleProvider contract associated with a specific market.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.

Returns​

Promise<{ price: bigint ; timestamp: bigint ; version: bigint }>

A promise that resolves to the current price.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:122


getCurrentPrices​

▸ getCurrentPrices(marketAddresses): Promise<{ market: `0x${string}` = address; value: { price: bigint ; timestamp: bigint ; version: bigint } }[]>

Retrieves the current prices from the OracleProvider contracts associated with multiple markets.

Parameters​

NameTypeDescription
marketAddresses`0x${string}`[]An array of market addresses.

Returns​

Promise<{ market: `0x${string}` = address; value: { price: bigint ; timestamp: bigint ; version: bigint } }[]>

A promise that resolves to an array of market addresses and their corresponding current prices.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:146


getMarketName​

▸ getMarketName(marketAddress): Promise<string>

Retrieves the name of the market from the OracleProvider contract associated with a specific market.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.

Returns​

Promise<string>

A promise that resolves to the market name.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:134


oracleProvider​

▸ oracleProvider(marketAddress): Promise<`0x${string}`>

Retrieves the OracleProvider contract associated with a specific market.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.

Returns​

Promise<`0x${string}`>

A promise that resolves to the OracleProvider contract instance.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:110


settlementToken​

▸ settlementToken(marketAddress): Promise<`0x${string}`>

Retrieves the settlement token address associated with a specific market.

Parameters​

NameTypeDescription
marketAddress`0x${string}`The address of the market.

Returns​

Promise<`0x${string}`>

A promise that resolves to the settlement token contract address.

Defined in​

packages/sdk-viem/src/entities/ChromaticMarket.ts:64