import BigNumber from "bignumber.js"; import { OracleDefinition } from "./OracleDefinition"; import { ExternalToken, OraclePriceAssertion } from "./OraclePriceAssertion"; import { OraclePriceCrossRateAssertion } from "./OraclePriceCrossRateAssertion"; import { TokenClassKey } from "./TokenClass"; import { TokenInstanceKey } from "./TokenInstance"; import { ChainCallDTO, SubmitCallDTO } from "./dtos"; export declare class OracleDefinitionDto extends SubmitCallDTO { name: string; authorities: string[]; } export declare class FetchOracleDefinitionsDto extends ChainCallDTO { name?: string | undefined; bookmark?: string | undefined; limit?: number | undefined; } export declare class FetchOracleAssertionsDto extends ChainCallDTO { oracle?: string | undefined; identity?: string | undefined; txid?: string | undefined; bookmark?: string | undefined; limit?: number | undefined; } export declare class FetchOracleDefinitionsResponse extends ChainCallDTO { static DEFAULT_LIMIT: number; results: OracleDefinition[]; bookmark?: string | undefined; } export declare class OraclePriceAssertionDto extends SubmitCallDTO { oracle: string; identity: string; baseToken?: TokenInstanceKey; externalBaseToken?: ExternalToken; quoteToken?: TokenInstanceKey; externalQuoteToken?: ExternalToken; exchangeRate: BigNumber; source?: string; sourceUrl?: string; timestamp: number; } export declare class FetchOraclePriceAssertionsResponse extends ChainCallDTO { static DEFAULT_LIMIT: number; results: OraclePriceAssertion[]; bookmark?: string | undefined; } export declare class OraclePriceCrossRateAssertionDto extends SubmitCallDTO { oracle: string; identity: string; baseTokenCrossRate: OraclePriceAssertionDto; quoteTokenCrossRate: OraclePriceAssertionDto; crossRateToken?: TokenInstanceKey; externalCrossRateToken?: ExternalToken; crossRate: BigNumber; validateCrossRateTokenKeys(): void; /** * @description * * Calculate the cross-rate using the instantiated instance's * base and quote token exchange rates. * * Requires valid cross-rate token keys: For our purposes we expect the * base exchange rate and the quote exchange rate to use a common * quote token to faciliate the cross-rate calculation. * * @remarks * * The quote token exchange rate is inverted to yield a cross-rate * exchange of "$n of quote token per 1 base token." * * @example * * Quote GALA in TON using hypothetical exchange rates: * * GALA is quoted in USD at $0.025 USD per GALA (quoteTokenCrossRate). * * TON is quoted in USD at $5.50 USD per TON. (baseTokenCrossRate). * * The GALA cross-rate is inverted, yielding 40 GALA per 1 USD. * * Multiply USD/TON x GALA/USD to yield a cross-rate of 220 GALA per 1 TON. * */ calculateCrossRate(): BigNumber; validateCrossRate(): void; } export declare class FetchOraclePriceCrossRateAssertionsResponse extends ChainCallDTO { static DEFAULT_LIMIT: number; results: OraclePriceCrossRateAssertion[]; bookmark?: string; } export declare class DeleteOracleAssertionsDto extends SubmitCallDTO { static MAX_LIMIT: number; chainKeys: string[]; } export declare class DeleteOracleDefinitionDto extends SubmitCallDTO { name: string; } export declare class OracleBridgeFeeAssertionDto extends SubmitCallDTO { galaExchangeRate?: OraclePriceAssertionDto; galaExchangeCrossRate?: OraclePriceCrossRateAssertionDto; galaDecimals: number; bridgeToken: TokenClassKey; bridgeTokenIsNonFungible: boolean; estimatedTxFeeUnitsTotal: BigNumber; estimatedPricePerTxFeeUnit: BigNumber; estimatedTotalTxFeeInExternalToken: BigNumber; estimatedTotalTxFeeInGala: BigNumber; timestamp: number; signingIdentity: string; } //# sourceMappingURL=oracle.d.ts.map