diff --git a/src/chains/models.ts b/src/chains/models.ts index db4fe29..daff6be 100644 --- a/src/chains/models.ts +++ b/src/chains/models.ts @@ -1,4 +1,4 @@ -import { ChainType } from "./chain.enums"; +import { ChainSymbol, ChainType } from "./chain.enums"; /** * Contains blockchain's basic information @@ -7,7 +7,7 @@ export interface BasicChainProperties { /** * The symbol of the chain representing one of the supported blockchain networks (e.g., "ETH" for Ethereum). For more details, see: {@link ChainSymbol}. */ - chainSymbol: string; + chainSymbol: ChainSymbol; /** * Common Blockchain Id
* A 0x-prefixed hexadecimal string
diff --git a/src/client/core-api/core-api-mapper.ts b/src/client/core-api/core-api-mapper.ts index 190a91c..21678f9 100644 --- a/src/client/core-api/core-api-mapper.ts +++ b/src/client/core-api/core-api-mapper.ts @@ -1,4 +1,5 @@ import { Chains } from "../../chains"; +import { ChainSymbol } from "../../chains/chain.enums"; import { ChainDetails, ChainDetailsMap, @@ -75,7 +76,7 @@ function mapMessengerKeyDtoToMessenger(dto: MessengerKeyDTO): Messenger | null { function mapTransferTimeFromDto(dto: TransferTimeDTO): TransferTime { return Object.entries(dto).reduce((result, [key, value]) => { - result[key] = mapMessengerTransferTimeFromDto(value); + result[key as ChainSymbol] = mapMessengerTransferTimeFromDto(value); return result; }, {}); } diff --git a/src/client/core-api/core-api.model.ts b/src/client/core-api/core-api.model.ts index 4ac239a..5a10683 100644 --- a/src/client/core-api/core-api.model.ts +++ b/src/client/core-api/core-api.model.ts @@ -1,3 +1,4 @@ +import { ChainSymbol } from "../../chains/chain.enums"; import { PoolInfo } from "../../tokens-info"; export type ChainDetailsResponse = Record; @@ -97,8 +98,8 @@ export interface CheckAddressResponse { export interface TransferStatusResponse { txId: string; - sourceChainSymbol: string; - destinationChainSymbol: string; + sourceChainSymbol: ChainSymbol; + destinationChainSymbol: ChainSymbol; sendAmount: string; sendAmountFormatted: number; @@ -155,8 +156,8 @@ export interface BridgeTransaction { isClaimable?: boolean; } -export type PoolInfoResponse = Record; -export type PendingInfoResponse = Record; +export type PoolInfoResponse = Record; +export type PendingInfoResponse = Partial>; export type TokenPendingInfoDTO = Record; export interface PendingInfoDTO { diff --git a/src/tokens-info/tokens-info.model.ts b/src/tokens-info/tokens-info.model.ts index 0aad1c8..f72a30b 100644 --- a/src/tokens-info/tokens-info.model.ts +++ b/src/tokens-info/tokens-info.model.ts @@ -1,3 +1,4 @@ +import { ChainSymbol } from "../chains/chain.enums"; import { BasicChainProperties } from "../chains/models"; import { Messenger } from "../client/core-api/core-api.model"; @@ -175,10 +176,12 @@ export interface PoolInfo { * Type representing transfer times for various blockchain chains. * * @typedef {Record} TransferTime - * @property {string} chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., "ETH" for Ethereum). For more details, see: {@link ChainSymbol}. + * @property {chain} chainSymbol * @property {MessengerTransferTime} transferTime - The average transfer time details for the specified chain. */ -export type TransferTime = Record; +export type TransferTime = { + [chain in ChainSymbol]?: MessengerTransferTime; +}; /** * Contains Avg transaction time withing different messenger protocols