/* tslint:disable */ /* eslint-disable */ // @ts-nocheck /** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; /** * Information about the dynamic bonding curve if one exists for the Coin * @export * @interface CoinInsightsDynamicBondingCurve */ export interface CoinInsightsDynamicBondingCurve { /** * Address of the bonding curve pool * @type {string} * @memberof CoinInsightsDynamicBondingCurve */ address: string; /** * Current price in the pool's quote token (e.g., AUDIO) * @type {number} * @memberof CoinInsightsDynamicBondingCurve */ price: number; /** * Current price in USD * @type {number} * @memberof CoinInsightsDynamicBondingCurve */ priceUSD: number; /** * Progress along the bonding curve (0.0 - 1.0) * @type {number} * @memberof CoinInsightsDynamicBondingCurve */ curveProgress: number; /** * Whether the bonding curve has been migrated * @type {boolean} * @memberof CoinInsightsDynamicBondingCurve */ isMigrated?: boolean; /** * Creator quote fee for the bonding curve * @type {number} * @memberof CoinInsightsDynamicBondingCurve */ creatorQuoteFee: number; /** * Total trading quote fee accumulated * @type {number} * @memberof CoinInsightsDynamicBondingCurve */ totalTradingQuoteFee: number; /** * Address of the pool creator's wallet * @type {string} * @memberof CoinInsightsDynamicBondingCurve */ creatorWalletAddress: string; } /** * Check if a given object implements the CoinInsightsDynamicBondingCurve interface. */ export function instanceOfCoinInsightsDynamicBondingCurve(value: object): value is CoinInsightsDynamicBondingCurve { let isInstance = true; isInstance = isInstance && "address" in value && value["address"] !== undefined; isInstance = isInstance && "price" in value && value["price"] !== undefined; isInstance = isInstance && "priceUSD" in value && value["priceUSD"] !== undefined; isInstance = isInstance && "curveProgress" in value && value["curveProgress"] !== undefined; isInstance = isInstance && "creatorQuoteFee" in value && value["creatorQuoteFee"] !== undefined; isInstance = isInstance && "totalTradingQuoteFee" in value && value["totalTradingQuoteFee"] !== undefined; isInstance = isInstance && "creatorWalletAddress" in value && value["creatorWalletAddress"] !== undefined; return isInstance; } export function CoinInsightsDynamicBondingCurveFromJSON(json: any): CoinInsightsDynamicBondingCurve { return CoinInsightsDynamicBondingCurveFromJSONTyped(json, false); } export function CoinInsightsDynamicBondingCurveFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoinInsightsDynamicBondingCurve { if ((json === undefined) || (json === null)) { return json; } return { 'address': json['address'], 'price': json['price'], 'priceUSD': json['priceUSD'], 'curveProgress': json['curveProgress'], 'isMigrated': !exists(json, 'isMigrated') ? undefined : json['isMigrated'], 'creatorQuoteFee': json['creatorQuoteFee'], 'totalTradingQuoteFee': json['totalTradingQuoteFee'], 'creatorWalletAddress': json['creatorWalletAddress'], }; } export function CoinInsightsDynamicBondingCurveToJSON(value?: CoinInsightsDynamicBondingCurve | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'address': value.address, 'price': value.price, 'priceUSD': value.priceUSD, 'curveProgress': value.curveProgress, 'isMigrated': value.isMigrated, 'creatorQuoteFee': value.creatorQuoteFee, 'totalTradingQuoteFee': value.totalTradingQuoteFee, 'creatorWalletAddress': value.creatorWalletAddress, }; }