Skip to main content

Exchange interfaces

These interfaces helps to tie tokens to mechanics

export interface IAsset extends IIdBase {
components: Array<IAssetComponent>;
}

export interface IAssetComponent extends IIdBase {
tokenType: TokenType;
contractId: number;
contract?: IContract;
templateId: number | null;
template?: ITemplate;
amount: string;
asset?: IAsset;
assetId: number;
}

export enum ExchangeType {
ITEM = "ITEM",
PRICE = "PRICE",
}

export interface IAssetComponentHistory extends IIdBase {
exchangeType: ExchangeType;
historyId: number;
history?: IEventHistory;
contractId: number;
contract?: IContract;
tokenId: number | null;
token?: IToken;
amount: string;
}