@cheqd/sdk
Version:
A TypeScript SDK built with CosmJS to interact with the cheqd network ledger
563 lines • 33.2 kB
TypeScript
import { QueryActiveExchangeRatesResponse, QueryAggregatePrevoteResponse, QueryAggregatePrevotesResponse, QueryAggregateVotesResponse, QueryEMAResponse, QueryExchangeRatesResponse, QueryFeederDelegationResponse, QueryMedianDeviationsResponse, QueryMediansResponse, QueryMissCounterResponse, QueryParamsResponse, QuerySlashWindowResponse, QuerySMAResponse, QueryValidatorRewardSetResponse, QueryWMAResponse, QueryAggregateVoteResponse, MsgAggregateExchangeRatePrevote, MsgAggregateExchangeRateVote, MsgDelegateFeedConsent, MsgLegacyGovUpdateParams, MsgGovUpdateParams, MsgGovAddDenoms, MsgGovRemoveCurrencyPairProviders, MsgGovRemoveCurrencyDeviationThresholds, MsgGovCancelUpdateParamPlan, ConvertUSDCtoCHEQResponse } from '@cheqd/ts-proto/cheqd/oracle/v2/index.js';
import { EncodeObject, GeneratedType } from '@cosmjs/proto-signing';
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from './_.js';
import { DeliverTxResponse, QueryClient } from '@cosmjs/stargate';
import { DidStdFee, IContext, QueryExtensionSetup } from '../types.js';
import { CheqdQuerier } from '../querier.js';
import { CheqdSigningStargateClient } from '../signer.js';
import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin.js';
/** Default extension key for Oracle-related query operations */
export declare const defaultOracleExtensionKey: "oracle";
/**
* Protobuf message type for Oracle operations.
* Used for consistent message type identification across the module.
*/
export declare const protobufLiterals: {
/** Request to fetch exchange rates for specific denoms. */
readonly QueryExchangeRates: "QueryExchangeRates";
/** Response containing the exchange rates payload. */
readonly QueryExchangeRatesResponse: "QueryExchangeRatesResponse";
/** Request to list all active exchange rate denoms. */
readonly QueryActiveExchangeRates: "QueryActiveExchangeRates";
/** Response providing the currently active exchange rate denoms. */
readonly QueryActiveExchangeRatesResponse: "QueryActiveExchangeRatesResponse";
/** Request to retrieve the feeder delegation for a validator. */
readonly QueryFeederDelegation: "QueryFeederDelegation";
/** Response with feeder delegation details. */
readonly QueryFeederDelegationResponse: "QueryFeederDelegationResponse";
/** Request to obtain a validator's miss counter. */
readonly QueryMissCounter: "QueryMissCounter";
/** Response returning the miss counter value. */
readonly QueryMissCounterResponse: "QueryMissCounterResponse";
/** Request to inspect the current slash window information. */
readonly QuerySlashWindow: "QuerySlashWindow";
/** Response detailing the slash window configuration. */
readonly QuerySlashWindowResponse: "QuerySlashWindowResponse";
/** Request for a validator's aggregate prevote. */
readonly QueryAggregatePrevote: "QueryAggregatePrevote";
/** Response containing the aggregate prevote. */
readonly QueryAggregatePrevoteResponse: "QueryAggregatePrevoteResponse";
/** Request for all aggregate prevotes on the network. */
readonly QueryAggregatePrevotes: "QueryAggregatePrevotes";
/** Response listing all aggregate prevotes. */
readonly QueryAggregatePrevotesResponse: "QueryAggregatePrevotesResponse";
/** Request for aggregate votes from a validator. */
readonly QueryAggregateVotes: "QueryAggregateVotes";
/** Response carrying aggregate votes. */
readonly QueryAggregateVotesResponse: "QueryAggregateVotesResponse";
/** Request to fetch the oracle module parameters. */
readonly QueryParams: "QueryParams";
/** Response returning the oracle module parameters. */
readonly QueryParamsResponse: "QueryParamsResponse";
/** Request for price medians across denoms. */
readonly QueryMedians: "QueryMedians";
/** Response containing price medians. */
readonly QueryMediansResponse: "QueryMediansResponse";
/** Request for median deviations to assess volatility. */
readonly QueryMedianDeviations: "QueryMedianDeviations";
/** Response returning median deviation values. */
readonly QueryMedianDeviationsResponse: "QueryMedianDeviationsResponse";
/** Request to fetch the validator reward set. */
readonly QueryValidatorRewardSet: "QueryValidatorRewardSet";
/** Response with validator reward set data. */
readonly QueryValidatorRewardSetResponse: "QueryValidatorRewardSetResponse";
/** Request for an exponential moving average price. */
readonly QueryEMARequest: "QueryEMARequest";
/** Response containing exponential moving average data. */
readonly QueryEMAResponse: "QueryEMAResponse";
/** Request for a weighted moving average price. */
readonly QueryWMARequest: "QueryWMARequest";
/** Response containing weighted moving average data. */
readonly QueryWMAResponse: "QueryWMAResponse";
/** Request for a simple moving average price. */
readonly QuerySMARequest: "QuerySMARequest";
/** Response containing simple moving average data. */
readonly QuerySMAResponse: "QuerySMAResponse";
/** Request to convert a USDC amount into CHEQ. */
readonly ConvertUSDCtoCHEQRequest: "ConvertUSDCtoCHEQRequest";
/** Response returning the converted CHEQ amount. */
readonly ConvertUSDCtoCHEQResponse: "ConvertUSDCtoCHEQResponse";
/** Message to submit an aggregate exchange rate prevote. */
readonly MsgAggregateExchangeRatePrevote: "MsgAggregateExchangeRatePrevote";
/** Message that defines the MsgAggregateExchangeRatePrevote response type. */
readonly MsgAggregateExchangeRatePrevoteResponse: "MsgAggregateExchangeRatePrevoteResponse";
/** Message to submit an aggregate exchange rate vote. */
readonly MsgAggregateExchangeRateVote: "MsgAggregateExchangeRateVote";
/** Message that defines the MsgAggregateExchangeRateVote response type. */
readonly MsgAggregateExchangeRateVoteResponse: "MsgAggregateExchangeRateVoteResponse";
/** Message to delegate oracle voting rights to another address. */
readonly MsgDelegateFeedConsent: "MsgDelegateFeedConsent";
/** Message that defines the MsgDelegateFeedConsent response type. */
readonly MsgDelegateFeedConsentResponse: "MsgDelegateFeedConsentResponse";
/** Message that defines the MsgLegacyGovUpdateParams request type. */
readonly MsgLegacyGovUpdateParams: "MsgLegacyGovUpdateParams";
/** Message that defines the MsgLegacyGovUpdateParams response type. */
readonly MsgLegacyGovUpdateParamsResponse: "MsgLegacyGovUpdateParamsResponse";
/** Message that defines the MsgGovUpdateParams request type. */
readonly MsgGovUpdateParams: "MsgGovUpdateParams";
/** Message that defines the MsgGovUpdateParams response type. */
readonly MsgGovUpdateParamsResponse: "MsgGovUpdateParamsResponse";
/** Message that defines the MsgGovAddDenoms request type. */
readonly MsgGovAddDenoms: "MsgGovAddDenoms";
/** Message that defines the MsgGovAddDenoms response type. */
readonly MsgGovAddDenomsResponse: "MsgGovAddDenomsResponse";
/** Message that defines the MsgGovRemoveCurrencyPairProviders request type. */
readonly MsgGovRemoveCurrencyPairProviders: "MsgGovRemoveCurrencyPairProviders";
/** Message that defines the MsgGovRemoveCurrencyPairProviders response type. */
readonly MsgGovRemoveCurrencyPairProvidersResponse: "MsgGovRemoveCurrencyPairProvidersResponse";
/** Message that defines the MsgGovRemoveCurrencyDeviationThresholds request type. */
readonly MsgGovRemoveCurrencyDeviationThresholds: "MsgGovRemoveCurrencyDeviationThresholds";
/** Message that defines the MsgGovRemoveCurrencyDeviationThresholds response type. */
readonly MsgGovRemoveCurrencyDeviationThresholdsResponse: "MsgGovRemoveCurrencyDeviationThresholdsResponse";
/** Message that defines the MsgGovCancelUpdateParamPlan request type. */
readonly MsgGovCancelUpdateParamPlan: "MsgGovCancelUpdateParamPlan";
/** Message that defines the MsgGovCancelUpdateParamPlan response type. */
readonly MsgGovCancelUpdateParamPlanResponse: "MsgGovCancelUpdateParamPlanResponse";
};
/** Type URL for MsgAggregateExchangeRatePrevote messages */
export declare const typeUrlMsgAggregateExchangeRatePrevote = "/cheqd.oracle.v2.MsgAggregateExchangeRatePrevote";
/** Type URL for MsgAggregateExchangeRatePrevoteResponse messages */
export declare const typeUrlMsgAggregateExchangeRatePrevoteResponse = "/cheqd.oracle.v2.MsgAggregateExchangeRatePrevoteResponse";
/** Type URL for MsgAggregateExchangeRateVote messages */
export declare const typeUrlMsgAggregateExchangeRateVote = "/cheqd.oracle.v2.MsgAggregateExchangeRateVote";
/** Type URL for MsgAggregateExchangeRateVoteResponse messages */
export declare const typeUrlMsgAggregateExchangeRateVoteResponse = "/cheqd.oracle.v2.MsgAggregateExchangeRateVoteResponse";
/** Type URL for MsgDelegateFeedConsent messages */
export declare const typeUrlMsgDelegateFeedConsent = "/cheqd.oracle.v2.MsgDelegateFeedConsent";
/** Type URL for MsgDelegateFeedConsentResponse messages */
export declare const typeUrlMsgDelegateFeedConsentResponse = "/cheqd.oracle.v2.MsgDelegateFeedConsentResponse";
/** Type URL for MsgLegacyGovUpdateParams messages */
export declare const typeUrlMsgLegacyGovUpdateParams = "/cheqd.oracle.v2.MsgLegacyGovUpdateParams";
/** Type URL for MsgLegacyGovUpdateParamsResponse messages */
export declare const typeUrlMsgLegacyGovUpdateParamsResponse = "/cheqd.oracle.v2.MsgLegacyGovUpdateParamsResponse";
/** Type URL for MsgGovUpdateParams messages */
export declare const typeUrlMsgGovUpdateParams = "/cheqd.oracle.v2.MsgGovUpdateParams";
/** Type URL for MsgGovUpdateParamsResponse messages */
export declare const typeUrlMsgGovUpdateParamsResponse = "/cheqd.oracle.v2.MsgGovUpdateParamsResponse";
/** Type URL for MsgGovAddDenoms messages */
export declare const typeUrlMsgGovAddDenoms = "/cheqd.oracle.v2.MsgGovAddDenoms";
/** Type URL for MsgGovAddDenomsResponse messages */
export declare const typeUrlMsgGovAddDenomsResponse = "/cheqd.oracle.v2.MsgGovAddDenomsResponse";
/** Type URL for MsgGovRemoveCurrencyPairProviders messages */
export declare const typeUrlMsgGovRemoveCurrencyPairProviders = "/cheqd.oracle.v2.MsgGovRemoveCurrencyPairProviders";
/** Type URL for MsgGovRemoveCurrencyPairProvidersResponse messages */
export declare const typeUrlMsgGovRemoveCurrencyPairProvidersResponse = "/cheqd.oracle.v2.MsgGovRemoveCurrencyPairProvidersResponse";
/** Type URL for MsgGovRemoveCurrencyDeviationThresholds messages */
export declare const typeUrlMsgGovRemoveCurrencyDeviationThresholds = "/cheqd.oracle.v2.MsgGovRemoveCurrencyDeviationThresholds";
/** Type URL for MsgGovRemoveCurrencyDeviationThresholdsResponse messages */
export declare const typeUrlMsgGovRemoveCurrencyDeviationThresholdsResponse = "/cheqd.oracle.v2.MsgGovRemoveCurrencyDeviationThresholdsResponse";
/** Type URL for MsgGovCancelUpdateParamPlan messages */
export declare const typeUrlMsgGovCancelUpdateParamPlan = "/cheqd.oracle.v2.MsgGovCancelUpdateParamPlan";
/** Type URL for MsgGovCancelUpdateParamPlanResponse messages */
export declare const typeUrlMsgGovCancelUpdateParamPlanResponse = "/cheqd.oracle.v2.MsgGovCancelUpdateParamPlanResponse";
/**
* Encode object interface for MsgAggregateExchangeRatePrevote
*/
export interface MsgAggregateExchangeRatePrevoteEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgAggregateExchangeRatePrevote;
value: Uint8Array;
}
/**
* Encode object interface for MsgAggregateExchangeRateVote
*/
export interface MsgAggregateExchangeRateVoteEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgAggregateExchangeRateVote;
value: Uint8Array;
}
/**
* Encode object interface for MsgDelegateFeedConsent
*/
export interface MsgDelegateFeedConsentEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgDelegateFeedConsent;
value: Uint8Array;
}
/**
* Encode object interface for MsgLegacyGovUpdateParams
*/
export interface MsgLegacyGovUpdateParamsEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgLegacyGovUpdateParams;
value: Uint8Array;
}
/**
* Encode object interface for MsgGovUpdateParams
*/
export interface MsgGovUpdateParamsEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgGovUpdateParams;
value: Uint8Array;
}
/**
* Encode object interface for MsgGovAddDenoms
*/
export interface MsgGovAddDenomsEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgGovAddDenoms;
value: Uint8Array;
}
/**
* Encode object interface for MsgGovRemoveCurrencyPairProviders
*/
export interface MsgGovRemoveCurrencyPairProvidersEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgGovRemoveCurrencyPairProviders;
value: Uint8Array;
}
/**
* Encode object interface for MsgGovRemoveCurrencyDeviationThresholds
*/
export interface MsgGovRemoveCurrencyDeviationThresholdsEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgGovRemoveCurrencyDeviationThresholds;
value: Uint8Array;
}
/**
* Encode object interface for MsgGovCancelUpdateParamPlan
*/
export interface MsgGovCancelUpdateParamPlanEncodeObject extends EncodeObject {
typeUrl: typeof typeUrlMsgGovCancelUpdateParamPlan;
value: Uint8Array;
}
/**
* Type guard function to check if an object is a MsgAggregateExchangeRatePrevoteEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgAggregateExchangeRatePrevoteEncodeObject, false otherwise
*/
export declare function isMsgAggregateExchangeRatePrevoteEncodeObject(obj: EncodeObject): obj is MsgAggregateExchangeRatePrevoteEncodeObject;
/**
* Type guard function to check if an object is a MsgAggregateExchangeRateVoteEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgAggregateExchangeRateVoteEncodeObject, false otherwise
*/
export declare function isMsgAggregateExchangeRateVoteEncodeObject(obj: EncodeObject): obj is MsgAggregateExchangeRateVoteEncodeObject;
/**
* Type guard function to check if an object is a MsgDelegateFeedConsentEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgDelegateFeedConsentEncodeObject, false otherwise
*/
export declare function isMsgDelegateFeedConsentEncodeObject(obj: EncodeObject): obj is MsgDelegateFeedConsentEncodeObject;
/**
* Type guard function to check if an object is a MsgLegacyGovUpdateParamsEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgLegacyGovUpdateParamsEncodeObject, false otherwise
*/
export declare function isMsgLegacyGovUpdateParamsEncodeObject(obj: EncodeObject): obj is MsgLegacyGovUpdateParamsEncodeObject;
/**
* Type guard function to check if an object is a MsgGovUpdateParamsEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgGovUpdateParamsEncodeObject, false otherwise
*/
export declare function isMsgGovUpdateParamsEncodeObject(obj: EncodeObject): obj is MsgGovUpdateParamsEncodeObject;
/**
* Type guard function to check if an object is a MsgGovAddDenomsEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgGovAddDenomsEncodeObject, false otherwise
*/
export declare function isMsgGovAddDenomsEncodeObject(obj: EncodeObject): obj is MsgGovAddDenomsEncodeObject;
/**
* Type guard function to check if an object is a MsgGovRemoveCurrencyPairProvidersEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgGovRemoveCurrencyPairProvidersEncodeObject, false otherwise
*/
export declare function isMsgGovRemoveCurrencyPairProvidersEncodeObject(obj: EncodeObject): obj is MsgGovRemoveCurrencyPairProvidersEncodeObject;
/**
* Type guard function to check if an object is a MsgGovRemoveCurrencyDeviationThresholdsEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgGovRemoveCurrencyDeviationThresholdsEncodeObject, false otherwise
*/
export declare function isMsgGovRemoveCurrencyDeviationThresholdsEncodeObject(obj: EncodeObject): obj is MsgGovRemoveCurrencyDeviationThresholdsEncodeObject;
/**
* Type guard function to check if an object is a MsgGovCancelUpdateParamPlanEncodeObject
* @param obj - EncodeObject to check
* @returns True if the object is a MsgGovCancelUpdateParamPlanEncodeObject, false otherwise
*/
export declare function isMsgGovCancelUpdateParamPlanEncodeObject(obj: EncodeObject): obj is MsgGovCancelUpdateParamPlanEncodeObject;
/** Enumeration of WMA strategies */
export declare const WMAStrategies: {
/** Balanced (linear) strategy */
readonly BALANCED: "BALANCED";
/** Recent (weighted) strategy */
readonly RECENT: "RECENT";
/** Oldest (weighted) strategy */
readonly OLDEST: "OLDEST";
/** Custom weights strategy */
readonly CUSTOM: "CUSTOM";
};
/** Enumeration of moving averages */
export declare const MovingAverages: {
/** Exponential Moving Average */
readonly EMA: "ema";
/** Weighted Moving Average */
readonly WMA: "wma";
/** Simple Moving Average */
readonly SMA: "sma";
};
/** Type representing WMA strategies */
export type WMAStrategy = (typeof WMAStrategies)[keyof typeof WMAStrategies];
/** Type representing moving averages */
export type MovingAverage = (typeof MovingAverages)[keyof typeof MovingAverages];
/** Minimal importable version of the Oracle module for clean external interfaces */
export type MinimalImportableOracleModule = MinimalImportableCheqdSDKModule<OracleModule>;
/**
* Oracle extension interface for querier functionality.
* Provides methods for querying oracle exchange rates, moving averages and other oracle-related data.
*/
export type OracleExtension = {
readonly [defaultOracleExtensionKey]: {
/** Queries the exchange rate for a given denom */
readonly queryExchangeRates: (denom: string) => Promise<QueryExchangeRatesResponse>;
/** Query all active exchange rate denoms */
readonly queryActiveExchangeRates: () => Promise<QueryActiveExchangeRatesResponse>;
/** Query feeder delegation for a validator */
readonly queryFeederDelegation: (validatorAddr: string) => Promise<QueryFeederDelegationResponse>;
/** Query miss counter for a validator */
readonly queryMissCounter: (validatorAddr: string) => Promise<QueryMissCounterResponse>;
/** Query current slash window information */
readonly querySlashWindow: () => Promise<QuerySlashWindowResponse>;
/** Query aggregate prevote for a validator */
readonly queryAggregatePrevote: (validatorAddr: string) => Promise<QueryAggregatePrevoteResponse>;
/** Query aggregate prevotes */
readonly queryAggregatePrevotes: () => Promise<QueryAggregatePrevotesResponse>;
/** Query aggregate vote for a validator */
readonly queryAggregateVote: (validatorAddr: string) => Promise<QueryAggregateVoteResponse>;
/** Query aggregate votes for a validator */
readonly queryAggregateVotes: (validatorAddr: string) => Promise<QueryAggregateVotesResponse>;
/** Query oracle module parameters */
readonly queryParams: () => Promise<QueryParamsResponse>;
/** Query price medians */
readonly queryMedians: (denom: string, numStamps: number) => Promise<QueryMediansResponse>;
/** Query price median deviations */
readonly queryMedianDeviations: (denom: string) => Promise<QueryMedianDeviationsResponse>;
/** Query validator reward set */
readonly queryValidatorRewardSet: () => Promise<QueryValidatorRewardSetResponse>;
/** Query exponential moving average price */
readonly queryEMA: (denom: string) => Promise<QueryEMAResponse>;
/** Query weighted moving average price */
readonly queryWMA: (denom: string, strategy?: WMAStrategy, weights?: bigint[]) => Promise<QueryWMAResponse>;
/** Query simple moving average price */
readonly querySMA: (denom: string) => Promise<QuerySMAResponse>;
/** Convert USD values to CHEQ */
readonly convertUSDtoCHEQ: (usdAmount: string, movingAverage: MovingAverage, wmaStrategy?: WMAStrategy, weights?: bigint[]) => Promise<ConvertUSDCtoCHEQResponse>;
};
};
/** Options to control how oracle governance messages are wrapped in MsgSubmitProposal. */
export interface OracleGovProposalOptions {
readonly deposit?: Coin[];
readonly metadata?: string;
readonly summary?: string;
readonly expedited?: boolean;
}
/** Sets up the Oracle extension for the querier client.
* Creates and configures the Oracle-specific query methods.
* @param base - Base QueryClient to extend
* @returns Configured Oracle extension with query methods
*/
export declare const setupOracleExtension: (base: QueryClient) => OracleExtension;
/**
* Oracle Module class providing comprehensive access to Oracle functionalities.
* Handles both querying and transaction operations related to the Oracle module.
*/
export declare class OracleModule extends AbstractCheqdSDKModule {
static readonly registryTypes: Iterable<[string, GeneratedType]>;
/** Base denomination tickers for Cheqd network Oracle */
static readonly baseDenomTickers: {
readonly CHEQ: "CHEQ";
readonly USDC: "USDC";
readonly USDT: "USDT";
};
/** Querier extension setup function for Oracle operations */
static readonly querierExtensionSetup: QueryExtensionSetup<OracleExtension>;
/** Querier instance with Oracle extension capabilities */
querier: CheqdQuerier & OracleExtension;
/**
* Constructs a new Oracle module instance.
*
* @param signer - Signing client for blockchain transactions
* @param querier - Querier client with Oracle extension for data retrieval
*/
constructor(signer: CheqdSigningStargateClient, querier: CheqdQuerier & OracleExtension);
/**
* Gets the registry types for Oracle message encoding/decoding.
*
* @returns Iterable of [typeUrl, GeneratedType] pairs for the registry
*/
getRegistryTypes(): Iterable<[string, GeneratedType]>;
/**
* Gets the querier extension setup for Oracle operations.
*
* @returns Query extension setup function for Oracle functionality
*/
getQuerierExtensionSetup(): QueryExtensionSetup<OracleExtension>;
/**
* Queries the module parameters from the blockchain.
*
* @returns Promise resolving to the QueryParamsResponse containing module parameters
*/
queryParams(): Promise<QueryParamsResponse>;
/**
* Queries the exchange rate for a specific denom.
* @param denom - The denomination to query the exchange rate for
* @returns Promise resolving to the QueryExchangeRatesResponse containing the exchange rate
*/
queryExchangeRate(denom: string): Promise<QueryExchangeRatesResponse>;
/**
* Queries all active exchange rate denoms.
* @returns Promise resolving to the QueryActiveExchangeRatesResponse containing active denoms
*/
queryActiveExchangeRates(): Promise<QueryActiveExchangeRatesResponse>;
/**
* Queries the Exponential Moving Average (EMA) for a given denom.
* @param denom - The denomination to query the EMA for
* @returns Promise resolving to the QueryEMAResponse containing the EMA price in string Decimal format
*/
queryEMA(denom: string): Promise<QueryEMAResponse>;
/**
* Queries the Weighted Moving Average (WMA) for a given denom.
* @param denom - The denomination to query the WMA for
* @param strategy - Optional WMA strategy, defaults to 'BALANCED'
* @param weights - Optional custom weights for the WMA calculation
* @returns Promise resolving to the QueryWMAResponse containing the WMA price in string Decimal format
*/
queryWMA(denom: string, strategy?: WMAStrategy, weights?: number[]): Promise<QueryWMAResponse>;
/**
* Queries the Simple Moving Average (SMA) for a given denom.
* @param denom - The denomination to query the SMA for
* @returns Promise resolving to the QuerySMAResponse containing the SMA price in string Decimal format
*/
querySMA(denom: string): Promise<QuerySMAResponse>;
/**
* Converts a USD amount to CHEQ using the specified moving average type.
* @param usdAmount - The USD amount to convert
* @param movingAverage - The type of moving average to use for conversion
* @param wmaStrategy - Optional WMA strategy, defaults to 'BALANCED'
* @param weights - Optional custom weights for WMA calculation
* @returns Promise resolving to the ConvertUSDCtoCHEQResponse containing the converted CHEQ amount
*/
convertUSDtoCHEQ(usdAmount: string, movingAverage: MovingAverage, wmaStrategy?: WMAStrategy, weights?: number[]): Promise<ConvertUSDCtoCHEQResponse>;
/**
* Broadcasts an aggregate exchange rate prevote transaction.
*
* @param payload - Message payload describing the prevote
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @returns Promise resolving to the DeliverTxResponse
*/
aggregateExchangeRatePrevoteTx(payload: MsgAggregateExchangeRatePrevote, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
/**
* Broadcasts an aggregate exchange rate vote transaction.
*
* @param payload - Message payload describing the vote
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @returns Promise resolving to the DeliverTxResponse
*/
aggregateExchangeRateVoteTx(payload: MsgAggregateExchangeRateVote, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
/**
* Delegates feed consent between operator and delegate.
*
* @param payload - Message payload describing the delegation
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @returns Promise resolving to the DeliverTxResponse
*/
delegateFeedConsentTx(payload: MsgDelegateFeedConsent, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
/**
* Submits a legacy governance update params transaction via MsgSubmitProposal.
*
* @param payload - Legacy governance update parameters payload
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
legacyGovUpdateParamsTx(payload: MsgLegacyGovUpdateParams, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Submits a governance update params transaction via MsgSubmitProposal.
*
* @param payload - Governance update parameters payload
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
govUpdateParamsTx(payload: MsgGovUpdateParams, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Adds new denoms to the oracle registry via MsgSubmitProposal.
*
* @param payload - Governance proposal payload that describes the new denoms
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
govAddDenomsTx(payload: MsgGovAddDenoms, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Removes currency pair providers from the oracle configuration via MsgSubmitProposal.
*
* @param payload - Governance proposal payload describing providers to remove
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
govRemoveCurrencyPairProvidersTx(payload: MsgGovRemoveCurrencyPairProviders, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Removes currency deviation thresholds via MsgSubmitProposal.
*
* @param payload - Governance payload describing currencies to remove
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
govRemoveCurrencyDeviationThresholdsTx(payload: MsgGovRemoveCurrencyDeviationThresholds, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Cancels a pending parameter update plan via MsgSubmitProposal.
*
* @param payload - Governance payload containing cancellation details
* @param address - Address responsible for paying the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context to lazily resolve signer or wallet
* @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
* @returns Promise resolving to the DeliverTxResponse
*/
govCancelUpdateParamPlanTx(payload: MsgGovCancelUpdateParamPlan, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
/**
* Ensures a signer client exists and resolves the address to use for broadcasting.
*
* @param address - Address provided by the caller (optional)
* @param context - Optional SDK context used to resolve signer or wallet
* @returns Resolved signer address
*/
private ensureSignerAddress;
/**
* Signs and broadcasts the provided oracle transaction.
*
* @param message - EncodeObject representing the oracle message
* @param address - Address responsible for the transaction fees
* @param fee - Optional fee configuration, defaults to automatic calculation
* @param memo - Optional transaction memo
* @param context - Optional SDK context used to resolve signer or wallet
* @returns Promise resolving to the DeliverTxResponse
*/
private broadcastOracleTx;
/**
* Parses a decimal price string back into its atomic representation.
* @param price - Price in decimal string format
* @returns Promise resolving to the atomic string representation of the price
*/
static parseFromDecimalPrice(price: string): Promise<string>;
}
//# sourceMappingURL=oracle.d.ts.map