UNPKG

@cheqd/ts-proto

Version:

A TypeScript package for all transpiled cheqd ProtoBuf definitions.

1,526 lines (1,400 loc) 48.9 kB
// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.4 // protoc unknown // source: cheqd/oracle/v2/oracle.proto /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { DecCoin } from "../../../cosmos/base/v1beta1/coin.js"; /** Params defines the parameters for the oracle module. */ export interface Params { votePeriod: bigint; voteThreshold: string; rewardBands: RewardBand[]; rewardDistributionWindow: bigint; acceptList: Denom[]; slashFraction: string; slashWindow: bigint; minValidPerWindow: string; mandatoryList: Denom[]; /** * Historic Stamp Period represents the amount of blocks the oracle * module waits before recording a new historic price. */ historicStampPeriod: bigint; /** * Median Stamp Period represents the amount blocks the oracle module * waits between calculating and stamping a new median and standard * deviation of that median. */ medianStampPeriod: bigint; /** * Maximum Price Stamps represents the maximum amount of historic prices * the oracle module will store before pruning via FIFO. */ maximumPriceStamps: bigint; /** * Maximum Median Stamps represents the maximum amount of medians the * oracle module will store before pruning via FIFO. */ maximumMedianStamps: bigint; /** * Currency Pair Providers defines the currency provider pairs the * price feeder uses upon start up for pricing data. */ currencyPairProviders: CurrencyPairProviders[]; /** * Currency Deviation Thresholds defines the deviation thresholds * for each base currency the price feeder uses upon start up. */ currencyDeviationThresholds: CurrencyDeviationThreshold[]; /** usdc ibc denom */ usdcIbcDenom: string; slashingEnabled: boolean; averagingWindow: bigint; } /** Denom - the object to hold configurations of each denom */ export interface Denom { baseDenom: string; symbolDenom: string; exponent: number; } /** RewardBand - the object to hold the reward band configuration for a given denom. */ export interface RewardBand { symbolDenom: string; rewardBand: string; } /** * AggregateExchangeRatePrevote - * struct for aggregate prevoting on the ExchangeRateVote. * The purpose of aggregate prevote is to hide vote exchange rates with hash * which is formatted as hex string in SHA256("{salt}:{exchange * rate}{denom},...,{exchange rate}{denom}:{voter}") */ export interface AggregateExchangeRatePrevote { hash: string; voter: string; submitBlock: bigint; } /** * AggregateExchangeRateVote - struct for voting on * the exchange rates of USD denominated in various assets. */ export interface AggregateExchangeRateVote { exchangeRates: DecCoin[]; voter: string; } /** * PriceStamp defines a stamp of a denom's exchange rate * at the block number it was calculated in. */ export interface PriceStamp { exchangeRate: DecCoin | undefined; blockNum: bigint; } /** * ValidatorRewardSet is the set of validators that is earning * rewards for voting on exchange rates based on their misscounter * in a given Slash Window. This set gets updated every Slash Window. */ export interface ValidatorRewardSet { validatorSet: string[]; } /** * CurrencyPairProviders defines a list of currency providers for the * currency pair defined by base and quote. */ export interface CurrencyPairProviders { baseDenom: string; quoteDenom: string; pairAddress: PairAddressProvider[]; providers: string[]; } /** * PairAddressProvider defines the uniswap pair address and provider * for uniswap currency pair. */ export interface PairAddressProvider { address: string; addressProvider: string; } /** * CurrencyDeviationThreshold defines a deviation theshold for a * base denom. */ export interface CurrencyDeviationThreshold { baseDenom: string; threshold: string; } /** * ParamUpdatePlan specifies updates to the Oracle module parameters * and at which block height they should occur. */ export interface ParamUpdatePlan { /** Store keys of the Oracle params getting updated. */ keys: string[]; /** The height at which the param update must be performed. */ height: bigint; /** Changes to the oracle parameters. */ changes: Params | undefined; } function createBaseParams(): Params { return { votePeriod: 0n, voteThreshold: "", rewardBands: [], rewardDistributionWindow: 0n, acceptList: [], slashFraction: "", slashWindow: 0n, minValidPerWindow: "", mandatoryList: [], historicStampPeriod: 0n, medianStampPeriod: 0n, maximumPriceStamps: 0n, maximumMedianStamps: 0n, currencyPairProviders: [], currencyDeviationThresholds: [], usdcIbcDenom: "", slashingEnabled: false, averagingWindow: 0n, }; } export const Params: MessageFns<Params> = { encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.votePeriod !== 0n) { if (BigInt.asUintN(64, message.votePeriod) !== message.votePeriod) { throw new globalThis.Error("value provided for field message.votePeriod of type uint64 too large"); } writer.uint32(8).uint64(message.votePeriod); } if (message.voteThreshold !== "") { writer.uint32(18).string(message.voteThreshold); } for (const v of message.rewardBands) { RewardBand.encode(v!, writer.uint32(26).fork()).join(); } if (message.rewardDistributionWindow !== 0n) { if (BigInt.asUintN(64, message.rewardDistributionWindow) !== message.rewardDistributionWindow) { throw new globalThis.Error( "value provided for field message.rewardDistributionWindow of type uint64 too large", ); } writer.uint32(32).uint64(message.rewardDistributionWindow); } for (const v of message.acceptList) { Denom.encode(v!, writer.uint32(42).fork()).join(); } if (message.slashFraction !== "") { writer.uint32(50).string(message.slashFraction); } if (message.slashWindow !== 0n) { if (BigInt.asUintN(64, message.slashWindow) !== message.slashWindow) { throw new globalThis.Error("value provided for field message.slashWindow of type uint64 too large"); } writer.uint32(56).uint64(message.slashWindow); } if (message.minValidPerWindow !== "") { writer.uint32(66).string(message.minValidPerWindow); } for (const v of message.mandatoryList) { Denom.encode(v!, writer.uint32(74).fork()).join(); } if (message.historicStampPeriod !== 0n) { if (BigInt.asUintN(64, message.historicStampPeriod) !== message.historicStampPeriod) { throw new globalThis.Error("value provided for field message.historicStampPeriod of type uint64 too large"); } writer.uint32(80).uint64(message.historicStampPeriod); } if (message.medianStampPeriod !== 0n) { if (BigInt.asUintN(64, message.medianStampPeriod) !== message.medianStampPeriod) { throw new globalThis.Error("value provided for field message.medianStampPeriod of type uint64 too large"); } writer.uint32(88).uint64(message.medianStampPeriod); } if (message.maximumPriceStamps !== 0n) { if (BigInt.asUintN(64, message.maximumPriceStamps) !== message.maximumPriceStamps) { throw new globalThis.Error("value provided for field message.maximumPriceStamps of type uint64 too large"); } writer.uint32(96).uint64(message.maximumPriceStamps); } if (message.maximumMedianStamps !== 0n) { if (BigInt.asUintN(64, message.maximumMedianStamps) !== message.maximumMedianStamps) { throw new globalThis.Error("value provided for field message.maximumMedianStamps of type uint64 too large"); } writer.uint32(104).uint64(message.maximumMedianStamps); } for (const v of message.currencyPairProviders) { CurrencyPairProviders.encode(v!, writer.uint32(114).fork()).join(); } for (const v of message.currencyDeviationThresholds) { CurrencyDeviationThreshold.encode(v!, writer.uint32(122).fork()).join(); } if (message.usdcIbcDenom !== "") { writer.uint32(130).string(message.usdcIbcDenom); } if (message.slashingEnabled !== false) { writer.uint32(136).bool(message.slashingEnabled); } if (message.averagingWindow !== 0n) { if (BigInt.asUintN(64, message.averagingWindow) !== message.averagingWindow) { throw new globalThis.Error("value provided for field message.averagingWindow of type uint64 too large"); } writer.uint32(144).uint64(message.averagingWindow); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Params { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseParams(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.votePeriod = reader.uint64() as bigint; continue; } case 2: { if (tag !== 18) { break; } message.voteThreshold = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.rewardBands.push(RewardBand.decode(reader, reader.uint32())); continue; } case 4: { if (tag !== 32) { break; } message.rewardDistributionWindow = reader.uint64() as bigint; continue; } case 5: { if (tag !== 42) { break; } message.acceptList.push(Denom.decode(reader, reader.uint32())); continue; } case 6: { if (tag !== 50) { break; } message.slashFraction = reader.string(); continue; } case 7: { if (tag !== 56) { break; } message.slashWindow = reader.uint64() as bigint; continue; } case 8: { if (tag !== 66) { break; } message.minValidPerWindow = reader.string(); continue; } case 9: { if (tag !== 74) { break; } message.mandatoryList.push(Denom.decode(reader, reader.uint32())); continue; } case 10: { if (tag !== 80) { break; } message.historicStampPeriod = reader.uint64() as bigint; continue; } case 11: { if (tag !== 88) { break; } message.medianStampPeriod = reader.uint64() as bigint; continue; } case 12: { if (tag !== 96) { break; } message.maximumPriceStamps = reader.uint64() as bigint; continue; } case 13: { if (tag !== 104) { break; } message.maximumMedianStamps = reader.uint64() as bigint; continue; } case 14: { if (tag !== 114) { break; } message.currencyPairProviders.push(CurrencyPairProviders.decode(reader, reader.uint32())); continue; } case 15: { if (tag !== 122) { break; } message.currencyDeviationThresholds.push(CurrencyDeviationThreshold.decode(reader, reader.uint32())); continue; } case 16: { if (tag !== 130) { break; } message.usdcIbcDenom = reader.string(); continue; } case 17: { if (tag !== 136) { break; } message.slashingEnabled = reader.bool(); continue; } case 18: { if (tag !== 144) { break; } message.averagingWindow = reader.uint64() as bigint; continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): Params { return { votePeriod: isSet(object.votePeriod) ? BigInt(object.votePeriod) : isSet(object.vote_period) ? BigInt(object.vote_period) : 0n, voteThreshold: isSet(object.voteThreshold) ? globalThis.String(object.voteThreshold) : isSet(object.vote_threshold) ? globalThis.String(object.vote_threshold) : "", rewardBands: globalThis.Array.isArray(object?.rewardBands) ? object.rewardBands.map((e: any) => RewardBand.fromJSON(e)) : globalThis.Array.isArray(object?.reward_bands) ? object.reward_bands.map((e: any) => RewardBand.fromJSON(e)) : [], rewardDistributionWindow: isSet(object.rewardDistributionWindow) ? BigInt(object.rewardDistributionWindow) : isSet(object.reward_distribution_window) ? BigInt(object.reward_distribution_window) : 0n, acceptList: globalThis.Array.isArray(object?.acceptList) ? object.acceptList.map((e: any) => Denom.fromJSON(e)) : globalThis.Array.isArray(object?.accept_list) ? object.accept_list.map((e: any) => Denom.fromJSON(e)) : [], slashFraction: isSet(object.slashFraction) ? globalThis.String(object.slashFraction) : isSet(object.slash_fraction) ? globalThis.String(object.slash_fraction) : "", slashWindow: isSet(object.slashWindow) ? BigInt(object.slashWindow) : isSet(object.slash_window) ? BigInt(object.slash_window) : 0n, minValidPerWindow: isSet(object.minValidPerWindow) ? globalThis.String(object.minValidPerWindow) : isSet(object.min_valid_per_window) ? globalThis.String(object.min_valid_per_window) : "", mandatoryList: globalThis.Array.isArray(object?.mandatoryList) ? object.mandatoryList.map((e: any) => Denom.fromJSON(e)) : globalThis.Array.isArray(object?.mandatory_list) ? object.mandatory_list.map((e: any) => Denom.fromJSON(e)) : [], historicStampPeriod: isSet(object.historicStampPeriod) ? BigInt(object.historicStampPeriod) : isSet(object.historic_stamp_period) ? BigInt(object.historic_stamp_period) : 0n, medianStampPeriod: isSet(object.medianStampPeriod) ? BigInt(object.medianStampPeriod) : isSet(object.median_stamp_period) ? BigInt(object.median_stamp_period) : 0n, maximumPriceStamps: isSet(object.maximumPriceStamps) ? BigInt(object.maximumPriceStamps) : isSet(object.maximum_price_stamps) ? BigInt(object.maximum_price_stamps) : 0n, maximumMedianStamps: isSet(object.maximumMedianStamps) ? BigInt(object.maximumMedianStamps) : isSet(object.maximum_median_stamps) ? BigInt(object.maximum_median_stamps) : 0n, currencyPairProviders: globalThis.Array.isArray(object?.currencyPairProviders) ? object.currencyPairProviders.map((e: any) => CurrencyPairProviders.fromJSON(e)) : globalThis.Array.isArray(object?.currency_pair_providers) ? object.currency_pair_providers.map((e: any) => CurrencyPairProviders.fromJSON(e)) : [], currencyDeviationThresholds: globalThis.Array.isArray(object?.currencyDeviationThresholds) ? object.currencyDeviationThresholds.map((e: any) => CurrencyDeviationThreshold.fromJSON(e)) : globalThis.Array.isArray(object?.currency_deviation_thresholds) ? object.currency_deviation_thresholds.map((e: any) => CurrencyDeviationThreshold.fromJSON(e)) : [], usdcIbcDenom: isSet(object.usdcIbcDenom) ? globalThis.String(object.usdcIbcDenom) : isSet(object.usdc_ibc_denom) ? globalThis.String(object.usdc_ibc_denom) : "", slashingEnabled: isSet(object.slashingEnabled) ? globalThis.Boolean(object.slashingEnabled) : isSet(object.slashing_enabled) ? globalThis.Boolean(object.slashing_enabled) : false, averagingWindow: isSet(object.averagingWindow) ? BigInt(object.averagingWindow) : isSet(object.averaging_window) ? BigInt(object.averaging_window) : 0n, }; }, toJSON(message: Params): unknown { const obj: any = {}; if (message.votePeriod !== 0n) { obj.votePeriod = message.votePeriod.toString(); } if (message.voteThreshold !== "") { obj.voteThreshold = message.voteThreshold; } if (message.rewardBands?.length) { obj.rewardBands = message.rewardBands.map((e) => RewardBand.toJSON(e)); } if (message.rewardDistributionWindow !== 0n) { obj.rewardDistributionWindow = message.rewardDistributionWindow.toString(); } if (message.acceptList?.length) { obj.acceptList = message.acceptList.map((e) => Denom.toJSON(e)); } if (message.slashFraction !== "") { obj.slashFraction = message.slashFraction; } if (message.slashWindow !== 0n) { obj.slashWindow = message.slashWindow.toString(); } if (message.minValidPerWindow !== "") { obj.minValidPerWindow = message.minValidPerWindow; } if (message.mandatoryList?.length) { obj.mandatoryList = message.mandatoryList.map((e) => Denom.toJSON(e)); } if (message.historicStampPeriod !== 0n) { obj.historicStampPeriod = message.historicStampPeriod.toString(); } if (message.medianStampPeriod !== 0n) { obj.medianStampPeriod = message.medianStampPeriod.toString(); } if (message.maximumPriceStamps !== 0n) { obj.maximumPriceStamps = message.maximumPriceStamps.toString(); } if (message.maximumMedianStamps !== 0n) { obj.maximumMedianStamps = message.maximumMedianStamps.toString(); } if (message.currencyPairProviders?.length) { obj.currencyPairProviders = message.currencyPairProviders.map((e) => CurrencyPairProviders.toJSON(e)); } if (message.currencyDeviationThresholds?.length) { obj.currencyDeviationThresholds = message.currencyDeviationThresholds.map((e) => CurrencyDeviationThreshold.toJSON(e) ); } if (message.usdcIbcDenom !== "") { obj.usdcIbcDenom = message.usdcIbcDenom; } if (message.slashingEnabled !== false) { obj.slashingEnabled = message.slashingEnabled; } if (message.averagingWindow !== 0n) { obj.averagingWindow = message.averagingWindow.toString(); } return obj; }, create<I extends Exact<DeepPartial<Params>, I>>(base?: I): Params { return Params.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<Params>, I>>(object: I): Params { const message = createBaseParams(); message.votePeriod = object.votePeriod ?? 0n; message.voteThreshold = object.voteThreshold ?? ""; message.rewardBands = object.rewardBands?.map((e) => RewardBand.fromPartial(e)) || []; message.rewardDistributionWindow = object.rewardDistributionWindow ?? 0n; message.acceptList = object.acceptList?.map((e) => Denom.fromPartial(e)) || []; message.slashFraction = object.slashFraction ?? ""; message.slashWindow = object.slashWindow ?? 0n; message.minValidPerWindow = object.minValidPerWindow ?? ""; message.mandatoryList = object.mandatoryList?.map((e) => Denom.fromPartial(e)) || []; message.historicStampPeriod = object.historicStampPeriod ?? 0n; message.medianStampPeriod = object.medianStampPeriod ?? 0n; message.maximumPriceStamps = object.maximumPriceStamps ?? 0n; message.maximumMedianStamps = object.maximumMedianStamps ?? 0n; message.currencyPairProviders = object.currencyPairProviders?.map((e) => CurrencyPairProviders.fromPartial(e)) || []; message.currencyDeviationThresholds = object.currencyDeviationThresholds?.map((e) => CurrencyDeviationThreshold.fromPartial(e)) || []; message.usdcIbcDenom = object.usdcIbcDenom ?? ""; message.slashingEnabled = object.slashingEnabled ?? false; message.averagingWindow = object.averagingWindow ?? 0n; return message; }, }; function createBaseDenom(): Denom { return { baseDenom: "", symbolDenom: "", exponent: 0 }; } export const Denom: MessageFns<Denom> = { encode(message: Denom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.baseDenom !== "") { writer.uint32(10).string(message.baseDenom); } if (message.symbolDenom !== "") { writer.uint32(18).string(message.symbolDenom); } if (message.exponent !== 0) { writer.uint32(24).uint32(message.exponent); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Denom { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDenom(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.baseDenom = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.symbolDenom = reader.string(); continue; } case 3: { if (tag !== 24) { break; } message.exponent = reader.uint32(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): Denom { return { baseDenom: isSet(object.baseDenom) ? globalThis.String(object.baseDenom) : isSet(object.base_denom) ? globalThis.String(object.base_denom) : "", symbolDenom: isSet(object.symbolDenom) ? globalThis.String(object.symbolDenom) : isSet(object.symbol_denom) ? globalThis.String(object.symbol_denom) : "", exponent: isSet(object.exponent) ? globalThis.Number(object.exponent) : 0, }; }, toJSON(message: Denom): unknown { const obj: any = {}; if (message.baseDenom !== "") { obj.baseDenom = message.baseDenom; } if (message.symbolDenom !== "") { obj.symbolDenom = message.symbolDenom; } if (message.exponent !== 0) { obj.exponent = Math.round(message.exponent); } return obj; }, create<I extends Exact<DeepPartial<Denom>, I>>(base?: I): Denom { return Denom.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<Denom>, I>>(object: I): Denom { const message = createBaseDenom(); message.baseDenom = object.baseDenom ?? ""; message.symbolDenom = object.symbolDenom ?? ""; message.exponent = object.exponent ?? 0; return message; }, }; function createBaseRewardBand(): RewardBand { return { symbolDenom: "", rewardBand: "" }; } export const RewardBand: MessageFns<RewardBand> = { encode(message: RewardBand, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.symbolDenom !== "") { writer.uint32(10).string(message.symbolDenom); } if (message.rewardBand !== "") { writer.uint32(18).string(message.rewardBand); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): RewardBand { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRewardBand(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.symbolDenom = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.rewardBand = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): RewardBand { return { symbolDenom: isSet(object.symbolDenom) ? globalThis.String(object.symbolDenom) : isSet(object.symbol_denom) ? globalThis.String(object.symbol_denom) : "", rewardBand: isSet(object.rewardBand) ? globalThis.String(object.rewardBand) : isSet(object.reward_band) ? globalThis.String(object.reward_band) : "", }; }, toJSON(message: RewardBand): unknown { const obj: any = {}; if (message.symbolDenom !== "") { obj.symbolDenom = message.symbolDenom; } if (message.rewardBand !== "") { obj.rewardBand = message.rewardBand; } return obj; }, create<I extends Exact<DeepPartial<RewardBand>, I>>(base?: I): RewardBand { return RewardBand.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<RewardBand>, I>>(object: I): RewardBand { const message = createBaseRewardBand(); message.symbolDenom = object.symbolDenom ?? ""; message.rewardBand = object.rewardBand ?? ""; return message; }, }; function createBaseAggregateExchangeRatePrevote(): AggregateExchangeRatePrevote { return { hash: "", voter: "", submitBlock: 0n }; } export const AggregateExchangeRatePrevote: MessageFns<AggregateExchangeRatePrevote> = { encode(message: AggregateExchangeRatePrevote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.hash !== "") { writer.uint32(10).string(message.hash); } if (message.voter !== "") { writer.uint32(18).string(message.voter); } if (message.submitBlock !== 0n) { if (BigInt.asUintN(64, message.submitBlock) !== message.submitBlock) { throw new globalThis.Error("value provided for field message.submitBlock of type uint64 too large"); } writer.uint32(24).uint64(message.submitBlock); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): AggregateExchangeRatePrevote { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAggregateExchangeRatePrevote(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.hash = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.voter = reader.string(); continue; } case 3: { if (tag !== 24) { break; } message.submitBlock = reader.uint64() as bigint; continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): AggregateExchangeRatePrevote { return { hash: isSet(object.hash) ? globalThis.String(object.hash) : "", voter: isSet(object.voter) ? globalThis.String(object.voter) : "", submitBlock: isSet(object.submitBlock) ? BigInt(object.submitBlock) : isSet(object.submit_block) ? BigInt(object.submit_block) : 0n, }; }, toJSON(message: AggregateExchangeRatePrevote): unknown { const obj: any = {}; if (message.hash !== "") { obj.hash = message.hash; } if (message.voter !== "") { obj.voter = message.voter; } if (message.submitBlock !== 0n) { obj.submitBlock = message.submitBlock.toString(); } return obj; }, create<I extends Exact<DeepPartial<AggregateExchangeRatePrevote>, I>>(base?: I): AggregateExchangeRatePrevote { return AggregateExchangeRatePrevote.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<AggregateExchangeRatePrevote>, I>>(object: I): AggregateExchangeRatePrevote { const message = createBaseAggregateExchangeRatePrevote(); message.hash = object.hash ?? ""; message.voter = object.voter ?? ""; message.submitBlock = object.submitBlock ?? 0n; return message; }, }; function createBaseAggregateExchangeRateVote(): AggregateExchangeRateVote { return { exchangeRates: [], voter: "" }; } export const AggregateExchangeRateVote: MessageFns<AggregateExchangeRateVote> = { encode(message: AggregateExchangeRateVote, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { for (const v of message.exchangeRates) { DecCoin.encode(v!, writer.uint32(10).fork()).join(); } if (message.voter !== "") { writer.uint32(18).string(message.voter); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): AggregateExchangeRateVote { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAggregateExchangeRateVote(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.exchangeRates.push(DecCoin.decode(reader, reader.uint32())); continue; } case 2: { if (tag !== 18) { break; } message.voter = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): AggregateExchangeRateVote { return { exchangeRates: globalThis.Array.isArray(object?.exchangeRates) ? object.exchangeRates.map((e: any) => DecCoin.fromJSON(e)) : globalThis.Array.isArray(object?.exchange_rates) ? object.exchange_rates.map((e: any) => DecCoin.fromJSON(e)) : [], voter: isSet(object.voter) ? globalThis.String(object.voter) : "", }; }, toJSON(message: AggregateExchangeRateVote): unknown { const obj: any = {}; if (message.exchangeRates?.length) { obj.exchangeRates = message.exchangeRates.map((e) => DecCoin.toJSON(e)); } if (message.voter !== "") { obj.voter = message.voter; } return obj; }, create<I extends Exact<DeepPartial<AggregateExchangeRateVote>, I>>(base?: I): AggregateExchangeRateVote { return AggregateExchangeRateVote.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<AggregateExchangeRateVote>, I>>(object: I): AggregateExchangeRateVote { const message = createBaseAggregateExchangeRateVote(); message.exchangeRates = object.exchangeRates?.map((e) => DecCoin.fromPartial(e)) || []; message.voter = object.voter ?? ""; return message; }, }; function createBasePriceStamp(): PriceStamp { return { exchangeRate: undefined, blockNum: 0n }; } export const PriceStamp: MessageFns<PriceStamp> = { encode(message: PriceStamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.exchangeRate !== undefined) { DecCoin.encode(message.exchangeRate, writer.uint32(10).fork()).join(); } if (message.blockNum !== 0n) { if (BigInt.asUintN(64, message.blockNum) !== message.blockNum) { throw new globalThis.Error("value provided for field message.blockNum of type uint64 too large"); } writer.uint32(16).uint64(message.blockNum); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): PriceStamp { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBasePriceStamp(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.exchangeRate = DecCoin.decode(reader, reader.uint32()); continue; } case 2: { if (tag !== 16) { break; } message.blockNum = reader.uint64() as bigint; continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): PriceStamp { return { exchangeRate: isSet(object.exchangeRate) ? DecCoin.fromJSON(object.exchangeRate) : isSet(object.exchange_rate) ? DecCoin.fromJSON(object.exchange_rate) : undefined, blockNum: isSet(object.blockNum) ? BigInt(object.blockNum) : isSet(object.block_num) ? BigInt(object.block_num) : 0n, }; }, toJSON(message: PriceStamp): unknown { const obj: any = {}; if (message.exchangeRate !== undefined) { obj.exchangeRate = DecCoin.toJSON(message.exchangeRate); } if (message.blockNum !== 0n) { obj.blockNum = message.blockNum.toString(); } return obj; }, create<I extends Exact<DeepPartial<PriceStamp>, I>>(base?: I): PriceStamp { return PriceStamp.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<PriceStamp>, I>>(object: I): PriceStamp { const message = createBasePriceStamp(); message.exchangeRate = (object.exchangeRate !== undefined && object.exchangeRate !== null) ? DecCoin.fromPartial(object.exchangeRate) : undefined; message.blockNum = object.blockNum ?? 0n; return message; }, }; function createBaseValidatorRewardSet(): ValidatorRewardSet { return { validatorSet: [] }; } export const ValidatorRewardSet: MessageFns<ValidatorRewardSet> = { encode(message: ValidatorRewardSet, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { for (const v of message.validatorSet) { writer.uint32(10).string(v!); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ValidatorRewardSet { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseValidatorRewardSet(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.validatorSet.push(reader.string()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ValidatorRewardSet { return { validatorSet: globalThis.Array.isArray(object?.validatorSet) ? object.validatorSet.map((e: any) => globalThis.String(e)) : globalThis.Array.isArray(object?.validator_set) ? object.validator_set.map((e: any) => globalThis.String(e)) : [], }; }, toJSON(message: ValidatorRewardSet): unknown { const obj: any = {}; if (message.validatorSet?.length) { obj.validatorSet = message.validatorSet; } return obj; }, create<I extends Exact<DeepPartial<ValidatorRewardSet>, I>>(base?: I): ValidatorRewardSet { return ValidatorRewardSet.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<ValidatorRewardSet>, I>>(object: I): ValidatorRewardSet { const message = createBaseValidatorRewardSet(); message.validatorSet = object.validatorSet?.map((e) => e) || []; return message; }, }; function createBaseCurrencyPairProviders(): CurrencyPairProviders { return { baseDenom: "", quoteDenom: "", pairAddress: [], providers: [] }; } export const CurrencyPairProviders: MessageFns<CurrencyPairProviders> = { encode(message: CurrencyPairProviders, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.baseDenom !== "") { writer.uint32(10).string(message.baseDenom); } if (message.quoteDenom !== "") { writer.uint32(18).string(message.quoteDenom); } for (const v of message.pairAddress) { PairAddressProvider.encode(v!, writer.uint32(26).fork()).join(); } for (const v of message.providers) { writer.uint32(34).string(v!); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): CurrencyPairProviders { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCurrencyPairProviders(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.baseDenom = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.quoteDenom = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.pairAddress.push(PairAddressProvider.decode(reader, reader.uint32())); continue; } case 4: { if (tag !== 34) { break; } message.providers.push(reader.string()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): CurrencyPairProviders { return { baseDenom: isSet(object.baseDenom) ? globalThis.String(object.baseDenom) : isSet(object.base_denom) ? globalThis.String(object.base_denom) : "", quoteDenom: isSet(object.quoteDenom) ? globalThis.String(object.quoteDenom) : isSet(object.quote_denom) ? globalThis.String(object.quote_denom) : "", pairAddress: globalThis.Array.isArray(object?.pairAddress) ? object.pairAddress.map((e: any) => PairAddressProvider.fromJSON(e)) : globalThis.Array.isArray(object?.pair_address) ? object.pair_address.map((e: any) => PairAddressProvider.fromJSON(e)) : [], providers: globalThis.Array.isArray(object?.providers) ? object.providers.map((e: any) => globalThis.String(e)) : [], }; }, toJSON(message: CurrencyPairProviders): unknown { const obj: any = {}; if (message.baseDenom !== "") { obj.baseDenom = message.baseDenom; } if (message.quoteDenom !== "") { obj.quoteDenom = message.quoteDenom; } if (message.pairAddress?.length) { obj.pairAddress = message.pairAddress.map((e) => PairAddressProvider.toJSON(e)); } if (message.providers?.length) { obj.providers = message.providers; } return obj; }, create<I extends Exact<DeepPartial<CurrencyPairProviders>, I>>(base?: I): CurrencyPairProviders { return CurrencyPairProviders.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<CurrencyPairProviders>, I>>(object: I): CurrencyPairProviders { const message = createBaseCurrencyPairProviders(); message.baseDenom = object.baseDenom ?? ""; message.quoteDenom = object.quoteDenom ?? ""; message.pairAddress = object.pairAddress?.map((e) => PairAddressProvider.fromPartial(e)) || []; message.providers = object.providers?.map((e) => e) || []; return message; }, }; function createBasePairAddressProvider(): PairAddressProvider { return { address: "", addressProvider: "" }; } export const PairAddressProvider: MessageFns<PairAddressProvider> = { encode(message: PairAddressProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.addressProvider !== "") { writer.uint32(18).string(message.addressProvider); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): PairAddressProvider { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBasePairAddressProvider(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.address = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.addressProvider = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): PairAddressProvider { return { address: isSet(object.address) ? globalThis.String(object.address) : "", addressProvider: isSet(object.addressProvider) ? globalThis.String(object.addressProvider) : isSet(object.address_provider) ? globalThis.String(object.address_provider) : "", }; }, toJSON(message: PairAddressProvider): unknown { const obj: any = {}; if (message.address !== "") { obj.address = message.address; } if (message.addressProvider !== "") { obj.addressProvider = message.addressProvider; } return obj; }, create<I extends Exact<DeepPartial<PairAddressProvider>, I>>(base?: I): PairAddressProvider { return PairAddressProvider.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<PairAddressProvider>, I>>(object: I): PairAddressProvider { const message = createBasePairAddressProvider(); message.address = object.address ?? ""; message.addressProvider = object.addressProvider ?? ""; return message; }, }; function createBaseCurrencyDeviationThreshold(): CurrencyDeviationThreshold { return { baseDenom: "", threshold: "" }; } export const CurrencyDeviationThreshold: MessageFns<CurrencyDeviationThreshold> = { encode(message: CurrencyDeviationThreshold, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.baseDenom !== "") { writer.uint32(10).string(message.baseDenom); } if (message.threshold !== "") { writer.uint32(18).string(message.threshold); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): CurrencyDeviationThreshold { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCurrencyDeviationThreshold(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.baseDenom = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.threshold = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): CurrencyDeviationThreshold { return { baseDenom: isSet(object.baseDenom) ? globalThis.String(object.baseDenom) : isSet(object.base_denom) ? globalThis.String(object.base_denom) : "", threshold: isSet(object.threshold) ? globalThis.String(object.threshold) : "", }; }, toJSON(message: CurrencyDeviationThreshold): unknown { const obj: any = {}; if (message.baseDenom !== "") { obj.baseDenom = message.baseDenom; } if (message.threshold !== "") { obj.threshold = message.threshold; } return obj; }, create<I extends Exact<DeepPartial<CurrencyDeviationThreshold>, I>>(base?: I): CurrencyDeviationThreshold { return CurrencyDeviationThreshold.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<CurrencyDeviationThreshold>, I>>(object: I): CurrencyDeviationThreshold { const message = createBaseCurrencyDeviationThreshold(); message.baseDenom = object.baseDenom ?? ""; message.threshold = object.threshold ?? ""; return message; }, }; function createBaseParamUpdatePlan(): ParamUpdatePlan { return { keys: [], height: 0n, changes: undefined }; } export const ParamUpdatePlan: MessageFns<ParamUpdatePlan> = { encode(message: ParamUpdatePlan, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { for (const v of message.keys) { writer.uint32(10).string(v!); } if (message.height !== 0n) { if (BigInt.asIntN(64, message.height) !== message.height) { throw new globalThis.Error("value provided for field message.height of type int64 too large"); } writer.uint32(16).int64(message.height); } if (message.changes !== undefined) { Params.encode(message.changes, writer.uint32(26).fork()).join(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ParamUpdatePlan { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseParamUpdatePlan(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.keys.push(reader.string()); continue; } case 2: { if (tag !== 16) { break; } message.height = reader.int64() as bigint; continue; } case 3: { if (tag !== 26) { break; } message.changes = Params.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ParamUpdatePlan { return { keys: globalThis.Array.isArray(object?.keys) ? object.keys.map((e: any) => globalThis.String(e)) : [], height: isSet(object.height) ? BigInt(object.height) : 0n, changes: isSet(object.changes) ? Params.fromJSON(object.changes) : undefined, }; }, toJSON(message: ParamUpdatePlan): unknown { const obj: any = {}; if (message.keys?.length) { obj.keys = message.keys; } if (message.height !== 0n) { obj.height = message.height.toString(); } if (message.changes !== undefined) { obj.changes = Params.toJSON(message.changes); } return obj; }, create<I extends Exact<DeepPartial<ParamUpdatePlan>, I>>(base?: I): ParamUpdatePlan { return ParamUpdatePlan.fromPartial(base ?? ({} as any)); }, fromPartial<I extends Exact<DeepPartial<ParamUpdatePlan>, I>>(object: I): ParamUpdatePlan { const message = createBaseParamUpdatePlan(); message.keys = object.keys?.map((e) => e) || []; message.height = object.height ?? 0n; message.changes = (object.changes !== undefined && object.changes !== null) ? Params.fromPartial(object.changes) : undefined; return message; }, }; type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never }; function isSet(value: any): boolean { return value !== null && value !== undefined; } interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; }