From e669dafa52ab0210608c1ebbb4a9bd3c47215bd6 Mon Sep 17 00:00:00 2001 From: hacheigriega Date: Fri, 17 Oct 2025 10:02:41 -0400 Subject: [PATCH 1/3] chore: x/core proto and PostDataRequest --- .../src/lib/services/dr/create-dr-input.ts | 29 +- .../services/dr/post-data-request-bundle.ts | 35 +- .../src/lib/services/dr/post-data-request.ts | 34 +- .../gen/index.sedachain.core.ts | 8 + .../gen/index.sedachain.core.v1.ts | 11 + libs/proto-messages/gen/index.sedachain.ts | 3 +- .../gen/sedachain/core/v1/core.ts | 1518 +++++++ .../gen/sedachain/core/v1/genesis.ts | 527 +++ .../gen/sedachain/core/v1/query.ts | 3918 +++++++++++++++++ .../gen/sedachain/core/v1/tx.ts | 3211 ++++++++++++++ .../gen/sedachain/wasm_storage/v1/tx.ts | 172 - .../proto/sedachain/core/v1/core.proto | 202 + .../proto/sedachain/core/v1/genesis.proto | 44 + .../proto/sedachain/core/v1/query.proto | 419 ++ .../proto/sedachain/core/v1/tx.proto | 363 ++ .../proto/sedachain/fast/v1/fast.proto | 98 - .../proto/sedachain/fast/v1/genesis.proto | 35 - .../proto/sedachain/fast/v1/query.proto | 139 - .../proto/sedachain/fast/v1/tx.proto | 347 -- .../proto/sedachain/tally/v1/genesis.proto | 10 - .../proto/sedachain/tally/v1/query.proto | 25 - .../proto/sedachain/tally/v1/tally.proto | 39 - .../proto/sedachain/tally/v1/tx.proto | 30 - .../proto/sedachain/wasm_storage/v1/tx.proto | 19 - 24 files changed, 10272 insertions(+), 964 deletions(-) create mode 100644 libs/proto-messages/gen/index.sedachain.core.ts create mode 100644 libs/proto-messages/gen/index.sedachain.core.v1.ts create mode 100644 libs/proto-messages/gen/sedachain/core/v1/core.ts create mode 100644 libs/proto-messages/gen/sedachain/core/v1/genesis.ts create mode 100644 libs/proto-messages/gen/sedachain/core/v1/query.ts create mode 100644 libs/proto-messages/gen/sedachain/core/v1/tx.ts create mode 100644 libs/proto-messages/proto/sedachain/core/v1/core.proto create mode 100644 libs/proto-messages/proto/sedachain/core/v1/genesis.proto create mode 100644 libs/proto-messages/proto/sedachain/core/v1/query.proto create mode 100644 libs/proto-messages/proto/sedachain/core/v1/tx.proto delete mode 100644 libs/proto-messages/proto/sedachain/fast/v1/fast.proto delete mode 100644 libs/proto-messages/proto/sedachain/fast/v1/genesis.proto delete mode 100644 libs/proto-messages/proto/sedachain/fast/v1/query.proto delete mode 100644 libs/proto-messages/proto/sedachain/fast/v1/tx.proto delete mode 100644 libs/proto-messages/proto/sedachain/tally/v1/genesis.proto delete mode 100644 libs/proto-messages/proto/sedachain/tally/v1/query.proto delete mode 100644 libs/proto-messages/proto/sedachain/tally/v1/tally.proto delete mode 100644 libs/proto-messages/proto/sedachain/tally/v1/tx.proto diff --git a/libs/dev-tools/src/lib/services/dr/create-dr-input.ts b/libs/dev-tools/src/lib/services/dr/create-dr-input.ts index 2ec6cfa3..64ac37bf 100644 --- a/libs/dev-tools/src/lib/services/dr/create-dr-input.ts +++ b/libs/dev-tools/src/lib/services/dr/create-dr-input.ts @@ -117,7 +117,7 @@ export function createPostedDataRequest( input.execInputs.length <= drConfig.exec_input_limit_in_bytes, `execInputs must be less than ${drConfig.exec_input_limit_in_bytes + 1} bytes, received ${input.execInputs.length}`, ); - const exec_inputs = base64Encode(input.execInputs); + const exec_inputs = input.execInputs; const tally_program_id = input.tallyProgramId ?? input.execProgramId; assert( @@ -129,20 +129,21 @@ export function createPostedDataRequest( input.tallyInputs.length <= drConfig.tally_input_limit_in_bytes, `tallyInputs must be less than ${drConfig.tally_input_limit_in_bytes + 1} bytes, received ${input.tallyInputs.length}`, ); - const tally_inputs = base64Encode(input.tallyInputs); + const tally_inputs = input.tallyInputs; const replication_factor = input.replicationFactor ?? DEFAULT_REPLICATION_FACTOR; - const consensFilterBytes = encodeConsensusFilter(input.consensusOptions); + const consensus_filter = encodeConsensusFilter(input.consensusOptions); assert( - consensFilterBytes.length <= drConfig.consensus_filter_limit_in_bytes, - `consensus_filter must be less than ${drConfig.consensus_filter_limit_in_bytes + 1} bytes, received ${consensFilterBytes.length}`, + consensus_filter.length <= drConfig.consensus_filter_limit_in_bytes, + `consensus_filter must be less than ${drConfig.consensus_filter_limit_in_bytes + 1} bytes, received ${consensus_filter.length}`, ); - const consensus_filter = base64Encode(consensFilterBytes); - const exec_gas_limit = input.execGasLimit ?? DEFAULT_EXEC_GAS_LIMIT; - const tally_gas_limit = input.tallyGasLimit ?? DEFAULT_TALLY_GAS_LIMIT; + const exec_gas_limit = BigInt(input.execGasLimit ?? DEFAULT_EXEC_GAS_LIMIT); + const tally_gas_limit = BigInt( + input.tallyGasLimit ?? DEFAULT_TALLY_GAS_LIMIT, + ); const gas_price = (input.gasPrice ?? DEFAULT_GAS_PRICE).toString(); if (input.memo) { @@ -151,7 +152,7 @@ export function createPostedDataRequest( `memo must be less than ${drConfig.memo_limit_in_bytes + 1} bytes, received ${input.memo.length}`, ); } - const memo = base64Encode(input.memo ?? DEFAULT_MEMO); + const memo = input.memo ?? DEFAULT_MEMO; if (input.paybackAddress) { assert( @@ -159,9 +160,7 @@ export function createPostedDataRequest( `paybackAddress must be less than ${drConfig.payback_address_limit_in_bytes + 1} bytes, received ${input.paybackAddress.length}`, ); } - const payback_address = base64Encode( - input.paybackAddress ?? DEFAULT_PAYBACK_ADDRESS, - ); + const payback_address = input.paybackAddress ?? DEFAULT_PAYBACK_ADDRESS; if (input.sedaPayload) { assert( @@ -169,7 +168,7 @@ export function createPostedDataRequest( `sedaPayload must be less than ${drConfig.seda_payload_limit_in_bytes + 1} bytes, received ${input.sedaPayload.length}`, ); } - const seda_payload = base64Encode(input.sedaPayload ?? DEFAULT_SEDA_PAYLOAD); + const seda_payload = input.sedaPayload ?? DEFAULT_SEDA_PAYLOAD; return { payback_address, @@ -190,10 +189,6 @@ export function createPostedDataRequest( }; } -function base64Encode(value: Uint8Array): string { - return Buffer.from(value).toString("base64"); -} - function isHexAddress(address: string): boolean { return !!address.match(/^[0-9a-fA-F]{64}$/); } diff --git a/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts b/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts index 0339ca30..b01bc3c3 100644 --- a/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts +++ b/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts @@ -1,6 +1,7 @@ import { calculateDrFunds } from "@dev-tools/services/dr/calculate-dr-funds"; import { tryParseSync } from "@seda-protocol/utils"; import * as v from "valibot"; +import { sedachain } from "../../../../../proto-messages/gen"; import type { GasOptions } from "../gas-options"; import { getDrConfig } from "../get-dr-config"; import { signAndSendTx } from "../sign-and-send-tx"; @@ -36,24 +37,26 @@ export async function postDataRequestBundle( const { client: sigingClient, address } = sigingClientResult.value; const messages = dataRequestInputs.map((dataRequestInput) => { - const post_data_request = createPostedDataRequest( - dataRequestInput, - drConfig.value, - ); + const req = createPostedDataRequest(dataRequestInput, drConfig.value); return { - typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract", - value: { + typeUrl: "/sedachain.core.v1.MsgPostDataRequest", + value: sedachain.core.v1.MsgPostDataRequest.fromPartial({ sender: address, - contract, - funds: [ - { amount: calculateDrFunds(post_data_request), denom: "aseda" }, - ], - msg: Buffer.from( - JSON.stringify({ - post_data_request, - }), - ), - }, + funds: { amount: calculateDrFunds(req), denom: "aseda" }, + version: req.posted_dr.version, + execProgramID: req.posted_dr.exec_program_id, + execInputs: req.posted_dr.exec_inputs, + execGasLimit: req.posted_dr.exec_gas_limit, + tallyProgramID: req.posted_dr.tally_program_id, + tallyInputs: req.posted_dr.tally_inputs, + tallyGasLimit: req.posted_dr.tally_gas_limit, + replicationFactor: req.posted_dr.replication_factor, + consensusFilter: req.posted_dr.consensus_filter, + gasPrice: req.posted_dr.gas_price, + memo: req.posted_dr.memo, + sEDAPayload: req.seda_payload, + paybackAddress: req.payback_address, + }), }; }); diff --git a/libs/dev-tools/src/lib/services/dr/post-data-request.ts b/libs/dev-tools/src/lib/services/dr/post-data-request.ts index 8a3f934e..99b78665 100644 --- a/libs/dev-tools/src/lib/services/dr/post-data-request.ts +++ b/libs/dev-tools/src/lib/services/dr/post-data-request.ts @@ -1,3 +1,4 @@ +import { sedachain } from "@seda-protocol/proto-messages"; import { tryParseSync } from "@seda-protocol/utils"; import * as v from "valibot"; import type { GasOptions } from "../gas-options"; @@ -33,7 +34,6 @@ export async function postDataRequest( throw sigingClientResult.error; } - const contract = signer.getCoreContractAddress(); const drConfig = await getDrConfig(sigingClientResult.value.client, signer); if (drConfig.isErr) { throw drConfig.error; @@ -41,23 +41,27 @@ export async function postDataRequest( const { client: sigingClient, address } = sigingClientResult.value; - const post_data_request = createPostedDataRequest( - dataRequestInput, - drConfig.value, - ); + const req = createPostedDataRequest(dataRequestInput, drConfig.value); const message = { - typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract", - value: { - funds: [{ amount: calculateDrFunds(post_data_request), denom: "aseda" }], + typeUrl: "/sedachain.core.v1.MsgPostDataRequest", + value: sedachain.core.v1.MsgPostDataRequest.fromPartial({ sender: address, - contract, - msg: Buffer.from( - JSON.stringify({ - post_data_request, - }), - ), - }, + funds: { amount: calculateDrFunds(req), denom: "aseda" }, + version: req.posted_dr.version, + execProgramID: req.posted_dr.exec_program_id, + execInputs: req.posted_dr.exec_inputs, + execGasLimit: req.posted_dr.exec_gas_limit, + tallyProgramID: req.posted_dr.tally_program_id, + tallyInputs: req.posted_dr.tally_inputs, + tallyGasLimit: req.posted_dr.tally_gas_limit, + replicationFactor: req.posted_dr.replication_factor, + consensusFilter: req.posted_dr.consensus_filter, + gasPrice: req.posted_dr.gas_price, + memo: req.posted_dr.memo, + sEDAPayload: req.seda_payload, + paybackAddress: req.payback_address, + }), }; const response = await signAndSendTx( diff --git a/libs/proto-messages/gen/index.sedachain.core.ts b/libs/proto-messages/gen/index.sedachain.core.ts new file mode 100644 index 00000000..b99e5529 --- /dev/null +++ b/libs/proto-messages/gen/index.sedachain.core.ts @@ -0,0 +1,8 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown + +/* eslint-disable */ + +export * as v1 from "./index.sedachain.core.v1"; diff --git a/libs/proto-messages/gen/index.sedachain.core.v1.ts b/libs/proto-messages/gen/index.sedachain.core.v1.ts new file mode 100644 index 00000000..13d1620b --- /dev/null +++ b/libs/proto-messages/gen/index.sedachain.core.v1.ts @@ -0,0 +1,11 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown + +/* eslint-disable */ + +export * from "./sedachain/core/v1/core"; +export * from "./sedachain/core/v1/genesis"; +export * from "./sedachain/core/v1/query"; +export * from "./sedachain/core/v1/tx"; diff --git a/libs/proto-messages/gen/index.sedachain.ts b/libs/proto-messages/gen/index.sedachain.ts index 5f6e9ba9..8241b5ec 100644 --- a/libs/proto-messages/gen/index.sedachain.ts +++ b/libs/proto-messages/gen/index.sedachain.ts @@ -7,10 +7,9 @@ export * as app from "./index.sedachain.app"; export * as batching from "./index.sedachain.batching"; +export * as core from "./index.sedachain.core"; export * as data_proxy from "./index.sedachain.data_proxy"; -export * as fast from "./index.sedachain.fast"; export * as pubkey from "./index.sedachain.pubkey"; export * as staking from "./index.sedachain.staking"; -export * as tally from "./index.sedachain.tally"; export * as vesting from "./index.sedachain.vesting"; export * as wasm_storage from "./index.sedachain.wasm_storage"; diff --git a/libs/proto-messages/gen/sedachain/core/v1/core.ts b/libs/proto-messages/gen/sedachain/core/v1/core.ts new file mode 100644 index 00000000..c60fb0bf --- /dev/null +++ b/libs/proto-messages/gen/sedachain/core/v1/core.ts @@ -0,0 +1,1518 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown +// source: sedachain/core/v1/core.proto + +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** DataRequestStatus is the status of a data request. */ +export enum DataRequestStatus { + /** DATA_REQUEST_STATUS_UNSPECIFIED - Zero value as required by proto3. */ + DATA_REQUEST_STATUS_UNSPECIFIED = 0, + /** DATA_REQUEST_STATUS_COMMITTING - Data request has been posted and is collecting commits. */ + DATA_REQUEST_STATUS_COMMITTING = 1, + /** + * DATA_REQUEST_STATUS_REVEALING - The number of commits has reached the replication factor, and the data + * request is now collecting reveals. + */ + DATA_REQUEST_STATUS_REVEALING = 2, + /** + * DATA_REQUEST_STATUS_TALLYING - The number of reveals has reached the replication factor, and the data + * request is now ready to be tallied. + */ + DATA_REQUEST_STATUS_TALLYING = 3, + UNRECOGNIZED = -1, +} + +export function dataRequestStatusFromJSON(object: any): DataRequestStatus { + switch (object) { + case 0: + case "DATA_REQUEST_STATUS_UNSPECIFIED": + return DataRequestStatus.DATA_REQUEST_STATUS_UNSPECIFIED; + case 1: + case "DATA_REQUEST_STATUS_COMMITTING": + return DataRequestStatus.DATA_REQUEST_STATUS_COMMITTING; + case 2: + case "DATA_REQUEST_STATUS_REVEALING": + return DataRequestStatus.DATA_REQUEST_STATUS_REVEALING; + case 3: + case "DATA_REQUEST_STATUS_TALLYING": + return DataRequestStatus.DATA_REQUEST_STATUS_TALLYING; + case -1: + case "UNRECOGNIZED": + default: + return DataRequestStatus.UNRECOGNIZED; + } +} + +export function dataRequestStatusToJSON(object: DataRequestStatus): string { + switch (object) { + case DataRequestStatus.DATA_REQUEST_STATUS_UNSPECIFIED: + return "DATA_REQUEST_STATUS_UNSPECIFIED"; + case DataRequestStatus.DATA_REQUEST_STATUS_COMMITTING: + return "DATA_REQUEST_STATUS_COMMITTING"; + case DataRequestStatus.DATA_REQUEST_STATUS_REVEALING: + return "DATA_REQUEST_STATUS_REVEALING"; + case DataRequestStatus.DATA_REQUEST_STATUS_TALLYING: + return "DATA_REQUEST_STATUS_TALLYING"; + case DataRequestStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** + * Staker is an identity that has staked SEDA tokens to perform data request + * execution. + */ +export interface Staker { + publicKey: string; + memo: string; + staked: string; + pendingWithdrawal: string; + sequenceNum: bigint; +} + +/** DataRequest is a data request object. */ +export interface DataRequest { + /** Hex-encoded ID of the data request */ + iD: string; + /** Semantic versioning */ + version: string; + /** Hex-encoded ID (hash) of the execution program */ + execProgramID: string; + /** Inputs for the execution program */ + execInputs: Uint8Array; + /** Gas limit for execution program execution */ + execGasLimit: bigint; + /** Hex-encoded ID (hash) of the tally program */ + tallyProgramID: string; + /** Inputs for the tally program */ + tallyInputs: Uint8Array; + /** Gas limit for tally program execution */ + tallyGasLimit: bigint; + /** Number of required data request executors (used as uint16) */ + replicationFactor: number; + /** Specifications for the filter process */ + consensusFilter: Uint8Array; + /** Amount of SEDA tokens per unit gas (used as uint128) */ + gasPrice: string; + /** Public information attached to the data request */ + memo: Uint8Array; + /** Set by the relayer */ + paybackAddress: Uint8Array; + /** Set by SEDA Protocol (e.g. OEV-enabled data requests) */ + sEDAPayload: Uint8Array; + /** Height at which the data request was posted */ + postedHeight: bigint; + /** + * Actual gas price derived by dividing attached funds by the total gas limit + * (may be higher than the minimum gas price) + */ + postedGasPrice: string; + /** Poster of the data request (Bech32 string) */ + poster: string; + /** Funds escrowed for the data request */ + escrow: string; + /** + * Timeout height of the data request (-1 if not set, i.e., under tallying + * status) + */ + timeoutHeight: bigint; + /** Status of the data request */ + status: DataRequestStatus; +} + +/** RevealBody is the content of a reveal. */ +export interface RevealBody { + /** Hex-encoded ID of the data request */ + drID: string; + /** Block height of the data request posting */ + drBlockHeight: bigint; + /** Exit code of the data request execution (used as uint8) */ + exitCode: number; + /** Gas used by the data request execution */ + gasUsed: bigint; + /** Contents of the reveal */ + reveal: Uint8Array; + /** List of data proxy public keys used */ + proxyPubKeys: string[]; +} + +/** Params defines the parameters for the core module. */ +export interface Params { + dataRequestConfig: DataRequestConfig | undefined; + stakingConfig: StakingConfig | undefined; + tallyConfig: TallyConfig | undefined; +} + +/** DataRequestConfig defines data request-related parameters. */ +export interface DataRequestConfig { + /** + * Number of blocks after which a data request is timed out while waiting + * for commits. + */ + commitTimeoutInBlocks: number; + /** + * Number of blocks after which a data request is timed out while waiting + * for reveals. + */ + revealTimeoutInBlocks: number; + /** + * Delay in blocks before the backup executors are allowed to start executing + * the data request. + */ + backupDelayInBlocks: number; + /** Maximum size of all the reveals in a data request. */ + drRevealSizeLimitInBytes: number; + /** Maximum size of the input for the execution program. */ + execInputLimitInBytes: number; + /** Maximum size of the input for the tally program. */ + tallyInputLimitInBytes: number; + /** Maximum size of the consensus filter. */ + consensusFilterLimitInBytes: number; + /** Maximum size of the memo. */ + memoLimitInBytes: number; + /** Maximum size of the payback address. */ + paybackAddressLimitInBytes: number; + /** Maximum size of the SEDA payload. */ + sEDAPayloadLimitInBytes: number; +} + +/** StakingConfig defines staking-related parameters. */ +export interface StakingConfig { + /** + * MiminumStake is the minimum amount of SEDA tokens required to register as + * an Overlay. + */ + minimumStake: string; + /** AllowlistEnabled is a flag that indicates whether the allowlist is enabled. */ + allowlistEnabled: boolean; +} + +/** TallyConfig definfes tally-related parameters. */ +export interface TallyConfig { + /** MaxTallyGasLimit is the maximum gas limit for a tally request. */ + maxTallyGasLimit: bigint; + /** FilterGasCostNone is the gas cost for a filter type none. */ + filterGasCostNone: bigint; + /** + * FilterGasCostMultiplierMode is the gas cost multiplier for a filter type + * mode. + */ + filterGasCostMultiplierMode: bigint; + /** + * FilterGasCostMAD is the gas cost multiplier for a filter type + * Median Absolute Deviation. + */ + filterGasCostMultiplierMAD: bigint; + /** BaseGasCost is the base gas cost for a data request. */ + baseGasCost: bigint; + /** + * GasCostFallback is the gas cost incurred for data request execution when + * even basic consensus has not been reached. + */ + executionGasCostFallback: bigint; + /** + * BurnRatio is the ratio of the gas cost to be burned in case of reduced + * payout scenarios. + */ + burnRatio: string; + /** MaxResultSize is the maximum size of the result of a data request in bytes. */ + maxResultSize: number; + /** MaxTalliesPerBlock specifies the maximum number of tallies per block. */ + maxTalliesPerBlock: number; +} + +function createBaseStaker(): Staker { + return { publicKey: "", memo: "", staked: "", pendingWithdrawal: "", sequenceNum: 0n }; +} + +export const Staker = { + encode(message: Staker, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + if (message.memo !== "") { + writer.uint32(18).string(message.memo); + } + if (message.staked !== "") { + writer.uint32(26).string(message.staked); + } + if (message.pendingWithdrawal !== "") { + writer.uint32(34).string(message.pendingWithdrawal); + } + if (message.sequenceNum !== 0n) { + if (BigInt.asUintN(64, message.sequenceNum) !== message.sequenceNum) { + throw new globalThis.Error("value provided for field message.sequenceNum of type uint64 too large"); + } + writer.uint32(40).uint64(message.sequenceNum.toString()); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Staker { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStaker(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.memo = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.staked = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.pendingWithdrawal = reader.string(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.sequenceNum = longToBigint(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Staker { + return { + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + memo: isSet(object.memo) ? globalThis.String(object.memo) : "", + staked: isSet(object.staked) ? globalThis.String(object.staked) : "", + pendingWithdrawal: isSet(object.pendingWithdrawal) ? globalThis.String(object.pendingWithdrawal) : "", + sequenceNum: isSet(object.sequenceNum) ? BigInt(object.sequenceNum) : 0n, + }; + }, + + toJSON(message: Staker): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.memo !== "") { + obj.memo = message.memo; + } + if (message.staked !== "") { + obj.staked = message.staked; + } + if (message.pendingWithdrawal !== "") { + obj.pendingWithdrawal = message.pendingWithdrawal; + } + if (message.sequenceNum !== 0n) { + obj.sequenceNum = message.sequenceNum.toString(); + } + return obj; + }, + + create(base?: DeepPartial): Staker { + return Staker.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): Staker { + const message = createBaseStaker(); + message.publicKey = object.publicKey ?? ""; + message.memo = object.memo ?? ""; + message.staked = object.staked ?? ""; + message.pendingWithdrawal = object.pendingWithdrawal ?? ""; + message.sequenceNum = object.sequenceNum ?? 0n; + return message; + }, +}; + +function createBaseDataRequest(): DataRequest { + return { + iD: "", + version: "", + execProgramID: "", + execInputs: new Uint8Array(0), + execGasLimit: 0n, + tallyProgramID: "", + tallyInputs: new Uint8Array(0), + tallyGasLimit: 0n, + replicationFactor: 0, + consensusFilter: new Uint8Array(0), + gasPrice: "", + memo: new Uint8Array(0), + paybackAddress: new Uint8Array(0), + sEDAPayload: new Uint8Array(0), + postedHeight: 0n, + postedGasPrice: "", + poster: "", + escrow: "", + timeoutHeight: 0n, + status: 0, + }; +} + +export const DataRequest = { + encode(message: DataRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.iD !== "") { + writer.uint32(10).string(message.iD); + } + if (message.version !== "") { + writer.uint32(18).string(message.version); + } + if (message.execProgramID !== "") { + writer.uint32(26).string(message.execProgramID); + } + if (message.execInputs.length !== 0) { + writer.uint32(34).bytes(message.execInputs); + } + if (message.execGasLimit !== 0n) { + if (BigInt.asUintN(64, message.execGasLimit) !== message.execGasLimit) { + throw new globalThis.Error("value provided for field message.execGasLimit of type uint64 too large"); + } + writer.uint32(40).uint64(message.execGasLimit.toString()); + } + if (message.tallyProgramID !== "") { + writer.uint32(50).string(message.tallyProgramID); + } + if (message.tallyInputs.length !== 0) { + writer.uint32(58).bytes(message.tallyInputs); + } + if (message.tallyGasLimit !== 0n) { + if (BigInt.asUintN(64, message.tallyGasLimit) !== message.tallyGasLimit) { + throw new globalThis.Error("value provided for field message.tallyGasLimit of type uint64 too large"); + } + writer.uint32(64).uint64(message.tallyGasLimit.toString()); + } + if (message.replicationFactor !== 0) { + writer.uint32(72).uint32(message.replicationFactor); + } + if (message.consensusFilter.length !== 0) { + writer.uint32(82).bytes(message.consensusFilter); + } + if (message.gasPrice !== "") { + writer.uint32(90).string(message.gasPrice); + } + if (message.memo.length !== 0) { + writer.uint32(98).bytes(message.memo); + } + if (message.paybackAddress.length !== 0) { + writer.uint32(106).bytes(message.paybackAddress); + } + if (message.sEDAPayload.length !== 0) { + writer.uint32(114).bytes(message.sEDAPayload); + } + if (message.postedHeight !== 0n) { + if (BigInt.asIntN(64, message.postedHeight) !== message.postedHeight) { + throw new globalThis.Error("value provided for field message.postedHeight of type int64 too large"); + } + writer.uint32(120).int64(message.postedHeight.toString()); + } + if (message.postedGasPrice !== "") { + writer.uint32(130).string(message.postedGasPrice); + } + if (message.poster !== "") { + writer.uint32(146).string(message.poster); + } + if (message.escrow !== "") { + writer.uint32(154).string(message.escrow); + } + if (message.timeoutHeight !== 0n) { + if (BigInt.asIntN(64, message.timeoutHeight) !== message.timeoutHeight) { + throw new globalThis.Error("value provided for field message.timeoutHeight of type int64 too large"); + } + writer.uint32(160).int64(message.timeoutHeight.toString()); + } + if (message.status !== 0) { + writer.uint32(168).int32(message.status); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DataRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.iD = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.version = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.execProgramID = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.execInputs = reader.bytes(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.execGasLimit = longToBigint(reader.uint64() as Long); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.tallyProgramID = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.tallyInputs = reader.bytes(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.tallyGasLimit = longToBigint(reader.uint64() as Long); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.replicationFactor = reader.uint32(); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.consensusFilter = reader.bytes(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.gasPrice = reader.string(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.memo = reader.bytes(); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.paybackAddress = reader.bytes(); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.sEDAPayload = reader.bytes(); + continue; + case 15: + if (tag !== 120) { + break; + } + + message.postedHeight = longToBigint(reader.int64() as Long); + continue; + case 16: + if (tag !== 130) { + break; + } + + message.postedGasPrice = reader.string(); + continue; + case 18: + if (tag !== 146) { + break; + } + + message.poster = reader.string(); + continue; + case 19: + if (tag !== 154) { + break; + } + + message.escrow = reader.string(); + continue; + case 20: + if (tag !== 160) { + break; + } + + message.timeoutHeight = longToBigint(reader.int64() as Long); + continue; + case 21: + if (tag !== 168) { + break; + } + + message.status = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DataRequest { + return { + iD: isSet(object.iD) ? globalThis.String(object.iD) : "", + version: isSet(object.version) ? globalThis.String(object.version) : "", + execProgramID: isSet(object.execProgramID) ? globalThis.String(object.execProgramID) : "", + execInputs: isSet(object.execInputs) ? bytesFromBase64(object.execInputs) : new Uint8Array(0), + execGasLimit: isSet(object.execGasLimit) ? BigInt(object.execGasLimit) : 0n, + tallyProgramID: isSet(object.tallyProgramID) ? globalThis.String(object.tallyProgramID) : "", + tallyInputs: isSet(object.tallyInputs) ? bytesFromBase64(object.tallyInputs) : new Uint8Array(0), + tallyGasLimit: isSet(object.tallyGasLimit) ? BigInt(object.tallyGasLimit) : 0n, + replicationFactor: isSet(object.replicationFactor) ? globalThis.Number(object.replicationFactor) : 0, + consensusFilter: isSet(object.consensusFilter) ? bytesFromBase64(object.consensusFilter) : new Uint8Array(0), + gasPrice: isSet(object.gasPrice) ? globalThis.String(object.gasPrice) : "", + memo: isSet(object.memo) ? bytesFromBase64(object.memo) : new Uint8Array(0), + paybackAddress: isSet(object.paybackAddress) ? bytesFromBase64(object.paybackAddress) : new Uint8Array(0), + sEDAPayload: isSet(object.sEDAPayload) ? bytesFromBase64(object.sEDAPayload) : new Uint8Array(0), + postedHeight: isSet(object.postedHeight) ? BigInt(object.postedHeight) : 0n, + postedGasPrice: isSet(object.postedGasPrice) ? globalThis.String(object.postedGasPrice) : "", + poster: isSet(object.poster) ? globalThis.String(object.poster) : "", + escrow: isSet(object.escrow) ? globalThis.String(object.escrow) : "", + timeoutHeight: isSet(object.timeoutHeight) ? BigInt(object.timeoutHeight) : 0n, + status: isSet(object.status) ? dataRequestStatusFromJSON(object.status) : 0, + }; + }, + + toJSON(message: DataRequest): unknown { + const obj: any = {}; + if (message.iD !== "") { + obj.iD = message.iD; + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.execProgramID !== "") { + obj.execProgramID = message.execProgramID; + } + if (message.execInputs.length !== 0) { + obj.execInputs = base64FromBytes(message.execInputs); + } + if (message.execGasLimit !== 0n) { + obj.execGasLimit = message.execGasLimit.toString(); + } + if (message.tallyProgramID !== "") { + obj.tallyProgramID = message.tallyProgramID; + } + if (message.tallyInputs.length !== 0) { + obj.tallyInputs = base64FromBytes(message.tallyInputs); + } + if (message.tallyGasLimit !== 0n) { + obj.tallyGasLimit = message.tallyGasLimit.toString(); + } + if (message.replicationFactor !== 0) { + obj.replicationFactor = Math.round(message.replicationFactor); + } + if (message.consensusFilter.length !== 0) { + obj.consensusFilter = base64FromBytes(message.consensusFilter); + } + if (message.gasPrice !== "") { + obj.gasPrice = message.gasPrice; + } + if (message.memo.length !== 0) { + obj.memo = base64FromBytes(message.memo); + } + if (message.paybackAddress.length !== 0) { + obj.paybackAddress = base64FromBytes(message.paybackAddress); + } + if (message.sEDAPayload.length !== 0) { + obj.sEDAPayload = base64FromBytes(message.sEDAPayload); + } + if (message.postedHeight !== 0n) { + obj.postedHeight = message.postedHeight.toString(); + } + if (message.postedGasPrice !== "") { + obj.postedGasPrice = message.postedGasPrice; + } + if (message.poster !== "") { + obj.poster = message.poster; + } + if (message.escrow !== "") { + obj.escrow = message.escrow; + } + if (message.timeoutHeight !== 0n) { + obj.timeoutHeight = message.timeoutHeight.toString(); + } + if (message.status !== 0) { + obj.status = dataRequestStatusToJSON(message.status); + } + return obj; + }, + + create(base?: DeepPartial): DataRequest { + return DataRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DataRequest { + const message = createBaseDataRequest(); + message.iD = object.iD ?? ""; + message.version = object.version ?? ""; + message.execProgramID = object.execProgramID ?? ""; + message.execInputs = object.execInputs ?? new Uint8Array(0); + message.execGasLimit = object.execGasLimit ?? 0n; + message.tallyProgramID = object.tallyProgramID ?? ""; + message.tallyInputs = object.tallyInputs ?? new Uint8Array(0); + message.tallyGasLimit = object.tallyGasLimit ?? 0n; + message.replicationFactor = object.replicationFactor ?? 0; + message.consensusFilter = object.consensusFilter ?? new Uint8Array(0); + message.gasPrice = object.gasPrice ?? ""; + message.memo = object.memo ?? new Uint8Array(0); + message.paybackAddress = object.paybackAddress ?? new Uint8Array(0); + message.sEDAPayload = object.sEDAPayload ?? new Uint8Array(0); + message.postedHeight = object.postedHeight ?? 0n; + message.postedGasPrice = object.postedGasPrice ?? ""; + message.poster = object.poster ?? ""; + message.escrow = object.escrow ?? ""; + message.timeoutHeight = object.timeoutHeight ?? 0n; + message.status = object.status ?? 0; + return message; + }, +}; + +function createBaseRevealBody(): RevealBody { + return { drID: "", drBlockHeight: 0n, exitCode: 0, gasUsed: 0n, reveal: new Uint8Array(0), proxyPubKeys: [] }; +} + +export const RevealBody = { + encode(message: RevealBody, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drID !== "") { + writer.uint32(10).string(message.drID); + } + if (message.drBlockHeight !== 0n) { + if (BigInt.asUintN(64, message.drBlockHeight) !== message.drBlockHeight) { + throw new globalThis.Error("value provided for field message.drBlockHeight of type uint64 too large"); + } + writer.uint32(16).uint64(message.drBlockHeight.toString()); + } + if (message.exitCode !== 0) { + writer.uint32(24).uint32(message.exitCode); + } + if (message.gasUsed !== 0n) { + if (BigInt.asUintN(64, message.gasUsed) !== message.gasUsed) { + throw new globalThis.Error("value provided for field message.gasUsed of type uint64 too large"); + } + writer.uint32(32).uint64(message.gasUsed.toString()); + } + if (message.reveal.length !== 0) { + writer.uint32(42).bytes(message.reveal); + } + for (const v of message.proxyPubKeys) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RevealBody { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRevealBody(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drID = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.drBlockHeight = longToBigint(reader.uint64() as Long); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.exitCode = reader.uint32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.gasUsed = longToBigint(reader.uint64() as Long); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.reveal = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.proxyPubKeys.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): RevealBody { + return { + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + drBlockHeight: isSet(object.drBlockHeight) ? BigInt(object.drBlockHeight) : 0n, + exitCode: isSet(object.exitCode) ? globalThis.Number(object.exitCode) : 0, + gasUsed: isSet(object.gasUsed) ? BigInt(object.gasUsed) : 0n, + reveal: isSet(object.reveal) ? bytesFromBase64(object.reveal) : new Uint8Array(0), + proxyPubKeys: globalThis.Array.isArray(object?.proxyPubKeys) + ? object.proxyPubKeys.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: RevealBody): unknown { + const obj: any = {}; + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.drBlockHeight !== 0n) { + obj.drBlockHeight = message.drBlockHeight.toString(); + } + if (message.exitCode !== 0) { + obj.exitCode = Math.round(message.exitCode); + } + if (message.gasUsed !== 0n) { + obj.gasUsed = message.gasUsed.toString(); + } + if (message.reveal.length !== 0) { + obj.reveal = base64FromBytes(message.reveal); + } + if (message.proxyPubKeys?.length) { + obj.proxyPubKeys = message.proxyPubKeys; + } + return obj; + }, + + create(base?: DeepPartial): RevealBody { + return RevealBody.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): RevealBody { + const message = createBaseRevealBody(); + message.drID = object.drID ?? ""; + message.drBlockHeight = object.drBlockHeight ?? 0n; + message.exitCode = object.exitCode ?? 0; + message.gasUsed = object.gasUsed ?? 0n; + message.reveal = object.reveal ?? new Uint8Array(0); + message.proxyPubKeys = object.proxyPubKeys?.map((e) => e) || []; + return message; + }, +}; + +function createBaseParams(): Params { + return { dataRequestConfig: undefined, stakingConfig: undefined, tallyConfig: undefined }; +} + +export const Params = { + encode(message: Params, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.dataRequestConfig !== undefined) { + DataRequestConfig.encode(message.dataRequestConfig, writer.uint32(10).fork()).ldelim(); + } + if (message.stakingConfig !== undefined) { + StakingConfig.encode(message.stakingConfig, writer.uint32(18).fork()).ldelim(); + } + if (message.tallyConfig !== undefined) { + TallyConfig.encode(message.tallyConfig, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Params { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let 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 !== 10) { + break; + } + + message.dataRequestConfig = DataRequestConfig.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.stakingConfig = StakingConfig.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.tallyConfig = TallyConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + dataRequestConfig: isSet(object.dataRequestConfig) + ? DataRequestConfig.fromJSON(object.dataRequestConfig) + : undefined, + stakingConfig: isSet(object.stakingConfig) ? StakingConfig.fromJSON(object.stakingConfig) : undefined, + tallyConfig: isSet(object.tallyConfig) ? TallyConfig.fromJSON(object.tallyConfig) : undefined, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + if (message.dataRequestConfig !== undefined) { + obj.dataRequestConfig = DataRequestConfig.toJSON(message.dataRequestConfig); + } + if (message.stakingConfig !== undefined) { + obj.stakingConfig = StakingConfig.toJSON(message.stakingConfig); + } + if (message.tallyConfig !== undefined) { + obj.tallyConfig = TallyConfig.toJSON(message.tallyConfig); + } + return obj; + }, + + create(base?: DeepPartial): Params { + return Params.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): Params { + const message = createBaseParams(); + message.dataRequestConfig = (object.dataRequestConfig !== undefined && object.dataRequestConfig !== null) + ? DataRequestConfig.fromPartial(object.dataRequestConfig) + : undefined; + message.stakingConfig = (object.stakingConfig !== undefined && object.stakingConfig !== null) + ? StakingConfig.fromPartial(object.stakingConfig) + : undefined; + message.tallyConfig = (object.tallyConfig !== undefined && object.tallyConfig !== null) + ? TallyConfig.fromPartial(object.tallyConfig) + : undefined; + return message; + }, +}; + +function createBaseDataRequestConfig(): DataRequestConfig { + return { + commitTimeoutInBlocks: 0, + revealTimeoutInBlocks: 0, + backupDelayInBlocks: 0, + drRevealSizeLimitInBytes: 0, + execInputLimitInBytes: 0, + tallyInputLimitInBytes: 0, + consensusFilterLimitInBytes: 0, + memoLimitInBytes: 0, + paybackAddressLimitInBytes: 0, + sEDAPayloadLimitInBytes: 0, + }; +} + +export const DataRequestConfig = { + encode(message: DataRequestConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.commitTimeoutInBlocks !== 0) { + writer.uint32(8).uint32(message.commitTimeoutInBlocks); + } + if (message.revealTimeoutInBlocks !== 0) { + writer.uint32(16).uint32(message.revealTimeoutInBlocks); + } + if (message.backupDelayInBlocks !== 0) { + writer.uint32(24).uint32(message.backupDelayInBlocks); + } + if (message.drRevealSizeLimitInBytes !== 0) { + writer.uint32(32).uint32(message.drRevealSizeLimitInBytes); + } + if (message.execInputLimitInBytes !== 0) { + writer.uint32(40).uint32(message.execInputLimitInBytes); + } + if (message.tallyInputLimitInBytes !== 0) { + writer.uint32(48).uint32(message.tallyInputLimitInBytes); + } + if (message.consensusFilterLimitInBytes !== 0) { + writer.uint32(56).uint32(message.consensusFilterLimitInBytes); + } + if (message.memoLimitInBytes !== 0) { + writer.uint32(64).uint32(message.memoLimitInBytes); + } + if (message.paybackAddressLimitInBytes !== 0) { + writer.uint32(72).uint32(message.paybackAddressLimitInBytes); + } + if (message.sEDAPayloadLimitInBytes !== 0) { + writer.uint32(80).uint32(message.sEDAPayloadLimitInBytes); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DataRequestConfig { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDataRequestConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.commitTimeoutInBlocks = reader.uint32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.revealTimeoutInBlocks = reader.uint32(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.backupDelayInBlocks = reader.uint32(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.drRevealSizeLimitInBytes = reader.uint32(); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.execInputLimitInBytes = reader.uint32(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.tallyInputLimitInBytes = reader.uint32(); + continue; + case 7: + if (tag !== 56) { + break; + } + + message.consensusFilterLimitInBytes = reader.uint32(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.memoLimitInBytes = reader.uint32(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.paybackAddressLimitInBytes = reader.uint32(); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.sEDAPayloadLimitInBytes = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DataRequestConfig { + return { + commitTimeoutInBlocks: isSet(object.commitTimeoutInBlocks) ? globalThis.Number(object.commitTimeoutInBlocks) : 0, + revealTimeoutInBlocks: isSet(object.revealTimeoutInBlocks) ? globalThis.Number(object.revealTimeoutInBlocks) : 0, + backupDelayInBlocks: isSet(object.backupDelayInBlocks) ? globalThis.Number(object.backupDelayInBlocks) : 0, + drRevealSizeLimitInBytes: isSet(object.drRevealSizeLimitInBytes) + ? globalThis.Number(object.drRevealSizeLimitInBytes) + : 0, + execInputLimitInBytes: isSet(object.execInputLimitInBytes) ? globalThis.Number(object.execInputLimitInBytes) : 0, + tallyInputLimitInBytes: isSet(object.tallyInputLimitInBytes) + ? globalThis.Number(object.tallyInputLimitInBytes) + : 0, + consensusFilterLimitInBytes: isSet(object.consensusFilterLimitInBytes) + ? globalThis.Number(object.consensusFilterLimitInBytes) + : 0, + memoLimitInBytes: isSet(object.memoLimitInBytes) ? globalThis.Number(object.memoLimitInBytes) : 0, + paybackAddressLimitInBytes: isSet(object.paybackAddressLimitInBytes) + ? globalThis.Number(object.paybackAddressLimitInBytes) + : 0, + sEDAPayloadLimitInBytes: isSet(object.sEDAPayloadLimitInBytes) + ? globalThis.Number(object.sEDAPayloadLimitInBytes) + : 0, + }; + }, + + toJSON(message: DataRequestConfig): unknown { + const obj: any = {}; + if (message.commitTimeoutInBlocks !== 0) { + obj.commitTimeoutInBlocks = Math.round(message.commitTimeoutInBlocks); + } + if (message.revealTimeoutInBlocks !== 0) { + obj.revealTimeoutInBlocks = Math.round(message.revealTimeoutInBlocks); + } + if (message.backupDelayInBlocks !== 0) { + obj.backupDelayInBlocks = Math.round(message.backupDelayInBlocks); + } + if (message.drRevealSizeLimitInBytes !== 0) { + obj.drRevealSizeLimitInBytes = Math.round(message.drRevealSizeLimitInBytes); + } + if (message.execInputLimitInBytes !== 0) { + obj.execInputLimitInBytes = Math.round(message.execInputLimitInBytes); + } + if (message.tallyInputLimitInBytes !== 0) { + obj.tallyInputLimitInBytes = Math.round(message.tallyInputLimitInBytes); + } + if (message.consensusFilterLimitInBytes !== 0) { + obj.consensusFilterLimitInBytes = Math.round(message.consensusFilterLimitInBytes); + } + if (message.memoLimitInBytes !== 0) { + obj.memoLimitInBytes = Math.round(message.memoLimitInBytes); + } + if (message.paybackAddressLimitInBytes !== 0) { + obj.paybackAddressLimitInBytes = Math.round(message.paybackAddressLimitInBytes); + } + if (message.sEDAPayloadLimitInBytes !== 0) { + obj.sEDAPayloadLimitInBytes = Math.round(message.sEDAPayloadLimitInBytes); + } + return obj; + }, + + create(base?: DeepPartial): DataRequestConfig { + return DataRequestConfig.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DataRequestConfig { + const message = createBaseDataRequestConfig(); + message.commitTimeoutInBlocks = object.commitTimeoutInBlocks ?? 0; + message.revealTimeoutInBlocks = object.revealTimeoutInBlocks ?? 0; + message.backupDelayInBlocks = object.backupDelayInBlocks ?? 0; + message.drRevealSizeLimitInBytes = object.drRevealSizeLimitInBytes ?? 0; + message.execInputLimitInBytes = object.execInputLimitInBytes ?? 0; + message.tallyInputLimitInBytes = object.tallyInputLimitInBytes ?? 0; + message.consensusFilterLimitInBytes = object.consensusFilterLimitInBytes ?? 0; + message.memoLimitInBytes = object.memoLimitInBytes ?? 0; + message.paybackAddressLimitInBytes = object.paybackAddressLimitInBytes ?? 0; + message.sEDAPayloadLimitInBytes = object.sEDAPayloadLimitInBytes ?? 0; + return message; + }, +}; + +function createBaseStakingConfig(): StakingConfig { + return { minimumStake: "", allowlistEnabled: false }; +} + +export const StakingConfig = { + encode(message: StakingConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.minimumStake !== "") { + writer.uint32(10).string(message.minimumStake); + } + if (message.allowlistEnabled !== false) { + writer.uint32(16).bool(message.allowlistEnabled); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): StakingConfig { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStakingConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.minimumStake = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.allowlistEnabled = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): StakingConfig { + return { + minimumStake: isSet(object.minimumStake) ? globalThis.String(object.minimumStake) : "", + allowlistEnabled: isSet(object.allowlistEnabled) ? globalThis.Boolean(object.allowlistEnabled) : false, + }; + }, + + toJSON(message: StakingConfig): unknown { + const obj: any = {}; + if (message.minimumStake !== "") { + obj.minimumStake = message.minimumStake; + } + if (message.allowlistEnabled !== false) { + obj.allowlistEnabled = message.allowlistEnabled; + } + return obj; + }, + + create(base?: DeepPartial): StakingConfig { + return StakingConfig.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): StakingConfig { + const message = createBaseStakingConfig(); + message.minimumStake = object.minimumStake ?? ""; + message.allowlistEnabled = object.allowlistEnabled ?? false; + return message; + }, +}; + +function createBaseTallyConfig(): TallyConfig { + return { + maxTallyGasLimit: 0n, + filterGasCostNone: 0n, + filterGasCostMultiplierMode: 0n, + filterGasCostMultiplierMAD: 0n, + baseGasCost: 0n, + executionGasCostFallback: 0n, + burnRatio: "", + maxResultSize: 0, + maxTalliesPerBlock: 0, + }; +} + +export const TallyConfig = { + encode(message: TallyConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.maxTallyGasLimit !== 0n) { + if (BigInt.asUintN(64, message.maxTallyGasLimit) !== message.maxTallyGasLimit) { + throw new globalThis.Error("value provided for field message.maxTallyGasLimit of type uint64 too large"); + } + writer.uint32(8).uint64(message.maxTallyGasLimit.toString()); + } + if (message.filterGasCostNone !== 0n) { + if (BigInt.asUintN(64, message.filterGasCostNone) !== message.filterGasCostNone) { + throw new globalThis.Error("value provided for field message.filterGasCostNone of type uint64 too large"); + } + writer.uint32(16).uint64(message.filterGasCostNone.toString()); + } + if (message.filterGasCostMultiplierMode !== 0n) { + if (BigInt.asUintN(64, message.filterGasCostMultiplierMode) !== message.filterGasCostMultiplierMode) { + throw new globalThis.Error( + "value provided for field message.filterGasCostMultiplierMode of type uint64 too large", + ); + } + writer.uint32(24).uint64(message.filterGasCostMultiplierMode.toString()); + } + if (message.filterGasCostMultiplierMAD !== 0n) { + if (BigInt.asUintN(64, message.filterGasCostMultiplierMAD) !== message.filterGasCostMultiplierMAD) { + throw new globalThis.Error( + "value provided for field message.filterGasCostMultiplierMAD of type uint64 too large", + ); + } + writer.uint32(32).uint64(message.filterGasCostMultiplierMAD.toString()); + } + if (message.baseGasCost !== 0n) { + if (BigInt.asUintN(64, message.baseGasCost) !== message.baseGasCost) { + throw new globalThis.Error("value provided for field message.baseGasCost of type uint64 too large"); + } + writer.uint32(40).uint64(message.baseGasCost.toString()); + } + if (message.executionGasCostFallback !== 0n) { + if (BigInt.asUintN(64, message.executionGasCostFallback) !== message.executionGasCostFallback) { + throw new globalThis.Error( + "value provided for field message.executionGasCostFallback of type uint64 too large", + ); + } + writer.uint32(48).uint64(message.executionGasCostFallback.toString()); + } + if (message.burnRatio !== "") { + writer.uint32(58).string(message.burnRatio); + } + if (message.maxResultSize !== 0) { + writer.uint32(64).uint32(message.maxResultSize); + } + if (message.maxTalliesPerBlock !== 0) { + writer.uint32(72).uint32(message.maxTalliesPerBlock); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): TallyConfig { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.maxTallyGasLimit = longToBigint(reader.uint64() as Long); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.filterGasCostNone = longToBigint(reader.uint64() as Long); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.filterGasCostMultiplierMode = longToBigint(reader.uint64() as Long); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.filterGasCostMultiplierMAD = longToBigint(reader.uint64() as Long); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.baseGasCost = longToBigint(reader.uint64() as Long); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.executionGasCostFallback = longToBigint(reader.uint64() as Long); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.burnRatio = reader.string(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.maxResultSize = reader.uint32(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.maxTalliesPerBlock = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): TallyConfig { + return { + maxTallyGasLimit: isSet(object.maxTallyGasLimit) ? BigInt(object.maxTallyGasLimit) : 0n, + filterGasCostNone: isSet(object.filterGasCostNone) ? BigInt(object.filterGasCostNone) : 0n, + filterGasCostMultiplierMode: isSet(object.filterGasCostMultiplierMode) + ? BigInt(object.filterGasCostMultiplierMode) + : 0n, + filterGasCostMultiplierMAD: isSet(object.filterGasCostMultiplierMAD) + ? BigInt(object.filterGasCostMultiplierMAD) + : 0n, + baseGasCost: isSet(object.baseGasCost) ? BigInt(object.baseGasCost) : 0n, + executionGasCostFallback: isSet(object.executionGasCostFallback) ? BigInt(object.executionGasCostFallback) : 0n, + burnRatio: isSet(object.burnRatio) ? globalThis.String(object.burnRatio) : "", + maxResultSize: isSet(object.maxResultSize) ? globalThis.Number(object.maxResultSize) : 0, + maxTalliesPerBlock: isSet(object.maxTalliesPerBlock) ? globalThis.Number(object.maxTalliesPerBlock) : 0, + }; + }, + + toJSON(message: TallyConfig): unknown { + const obj: any = {}; + if (message.maxTallyGasLimit !== 0n) { + obj.maxTallyGasLimit = message.maxTallyGasLimit.toString(); + } + if (message.filterGasCostNone !== 0n) { + obj.filterGasCostNone = message.filterGasCostNone.toString(); + } + if (message.filterGasCostMultiplierMode !== 0n) { + obj.filterGasCostMultiplierMode = message.filterGasCostMultiplierMode.toString(); + } + if (message.filterGasCostMultiplierMAD !== 0n) { + obj.filterGasCostMultiplierMAD = message.filterGasCostMultiplierMAD.toString(); + } + if (message.baseGasCost !== 0n) { + obj.baseGasCost = message.baseGasCost.toString(); + } + if (message.executionGasCostFallback !== 0n) { + obj.executionGasCostFallback = message.executionGasCostFallback.toString(); + } + if (message.burnRatio !== "") { + obj.burnRatio = message.burnRatio; + } + if (message.maxResultSize !== 0) { + obj.maxResultSize = Math.round(message.maxResultSize); + } + if (message.maxTalliesPerBlock !== 0) { + obj.maxTalliesPerBlock = Math.round(message.maxTalliesPerBlock); + } + return obj; + }, + + create(base?: DeepPartial): TallyConfig { + return TallyConfig.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): TallyConfig { + const message = createBaseTallyConfig(); + message.maxTallyGasLimit = object.maxTallyGasLimit ?? 0n; + message.filterGasCostNone = object.filterGasCostNone ?? 0n; + message.filterGasCostMultiplierMode = object.filterGasCostMultiplierMode ?? 0n; + message.filterGasCostMultiplierMAD = object.filterGasCostMultiplierMAD ?? 0n; + message.baseGasCost = object.baseGasCost ?? 0n; + message.executionGasCostFallback = object.executionGasCostFallback ?? 0n; + message.burnRatio = object.burnRatio ?? ""; + message.maxResultSize = object.maxResultSize ?? 0; + message.maxTalliesPerBlock = object.maxTalliesPerBlock ?? 0; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +function longToBigint(long: Long) { + return BigInt(long.toString()); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/libs/proto-messages/gen/sedachain/core/v1/genesis.ts b/libs/proto-messages/gen/sedachain/core/v1/genesis.ts new file mode 100644 index 00000000..70370987 --- /dev/null +++ b/libs/proto-messages/gen/sedachain/core/v1/genesis.ts @@ -0,0 +1,527 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown +// source: sedachain/core/v1/genesis.proto + +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { DataRequest, Params, RevealBody, Staker } from "./core"; + +/** GenesisState defines core module's genesis state. */ +export interface GenesisState { + params: Params | undefined; + owner: string; + pendingOwner: string; + paused: boolean; + /** Staking-related states: */ + allowlist: string[]; + stakers: Staker[]; + /** Data request-related states: */ + dataRequests: DataRequest[]; + committingCount: bigint; + revealingCount: bigint; + tallyingCount: bigint; + commits: GenesisStateCommit[]; + reveals: GenesisStateReveal[]; +} + +/** GenesisStateCommit is used to store commits in the genesis state. */ +export interface GenesisStateCommit { + drID: string; + publicKey: string; + commit: Uint8Array; +} + +/** + * GenesisStateReveal is used to store revealers and their reveal bodies in the + * genesis state. + */ +export interface GenesisStateReveal { + drID: string; + publicKey: string; + revealBody: RevealBody | undefined; +} + +function createBaseGenesisState(): GenesisState { + return { + params: undefined, + owner: "", + pendingOwner: "", + paused: false, + allowlist: [], + stakers: [], + dataRequests: [], + committingCount: 0n, + revealingCount: 0n, + tallyingCount: 0n, + commits: [], + reveals: [], + }; +} + +export const GenesisState = { + encode(message: GenesisState, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + if (message.owner !== "") { + writer.uint32(18).string(message.owner); + } + if (message.pendingOwner !== "") { + writer.uint32(26).string(message.pendingOwner); + } + if (message.paused !== false) { + writer.uint32(32).bool(message.paused); + } + for (const v of message.allowlist) { + writer.uint32(42).string(v!); + } + for (const v of message.stakers) { + Staker.encode(v!, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.dataRequests) { + DataRequest.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.committingCount !== 0n) { + if (BigInt.asUintN(64, message.committingCount) !== message.committingCount) { + throw new globalThis.Error("value provided for field message.committingCount of type uint64 too large"); + } + writer.uint32(64).uint64(message.committingCount.toString()); + } + if (message.revealingCount !== 0n) { + if (BigInt.asUintN(64, message.revealingCount) !== message.revealingCount) { + throw new globalThis.Error("value provided for field message.revealingCount of type uint64 too large"); + } + writer.uint32(72).uint64(message.revealingCount.toString()); + } + if (message.tallyingCount !== 0n) { + if (BigInt.asUintN(64, message.tallyingCount) !== message.tallyingCount) { + throw new globalThis.Error("value provided for field message.tallyingCount of type uint64 too large"); + } + writer.uint32(80).uint64(message.tallyingCount.toString()); + } + for (const v of message.commits) { + GenesisStateCommit.encode(v!, writer.uint32(90).fork()).ldelim(); + } + for (const v of message.reveals) { + GenesisStateReveal.encode(v!, writer.uint32(98).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.owner = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.pendingOwner = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.paused = reader.bool(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.allowlist.push(reader.string()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.stakers.push(Staker.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.dataRequests.push(DataRequest.decode(reader, reader.uint32())); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.committingCount = longToBigint(reader.uint64() as Long); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.revealingCount = longToBigint(reader.uint64() as Long); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.tallyingCount = longToBigint(reader.uint64() as Long); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.commits.push(GenesisStateCommit.decode(reader, reader.uint32())); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.reveals.push(GenesisStateReveal.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + owner: isSet(object.owner) ? globalThis.String(object.owner) : "", + pendingOwner: isSet(object.pendingOwner) ? globalThis.String(object.pendingOwner) : "", + paused: isSet(object.paused) ? globalThis.Boolean(object.paused) : false, + allowlist: globalThis.Array.isArray(object?.allowlist) + ? object.allowlist.map((e: any) => globalThis.String(e)) + : [], + stakers: globalThis.Array.isArray(object?.stakers) ? object.stakers.map((e: any) => Staker.fromJSON(e)) : [], + dataRequests: globalThis.Array.isArray(object?.dataRequests) + ? object.dataRequests.map((e: any) => DataRequest.fromJSON(e)) + : [], + committingCount: isSet(object.committingCount) ? BigInt(object.committingCount) : 0n, + revealingCount: isSet(object.revealingCount) ? BigInt(object.revealingCount) : 0n, + tallyingCount: isSet(object.tallyingCount) ? BigInt(object.tallyingCount) : 0n, + commits: globalThis.Array.isArray(object?.commits) + ? object.commits.map((e: any) => GenesisStateCommit.fromJSON(e)) + : [], + reveals: globalThis.Array.isArray(object?.reveals) + ? object.reveals.map((e: any) => GenesisStateReveal.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + if (message.owner !== "") { + obj.owner = message.owner; + } + if (message.pendingOwner !== "") { + obj.pendingOwner = message.pendingOwner; + } + if (message.paused !== false) { + obj.paused = message.paused; + } + if (message.allowlist?.length) { + obj.allowlist = message.allowlist; + } + if (message.stakers?.length) { + obj.stakers = message.stakers.map((e) => Staker.toJSON(e)); + } + if (message.dataRequests?.length) { + obj.dataRequests = message.dataRequests.map((e) => DataRequest.toJSON(e)); + } + if (message.committingCount !== 0n) { + obj.committingCount = message.committingCount.toString(); + } + if (message.revealingCount !== 0n) { + obj.revealingCount = message.revealingCount.toString(); + } + if (message.tallyingCount !== 0n) { + obj.tallyingCount = message.tallyingCount.toString(); + } + if (message.commits?.length) { + obj.commits = message.commits.map((e) => GenesisStateCommit.toJSON(e)); + } + if (message.reveals?.length) { + obj.reveals = message.reveals.map((e) => GenesisStateReveal.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): GenesisState { + return GenesisState.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GenesisState { + const message = createBaseGenesisState(); + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + message.owner = object.owner ?? ""; + message.pendingOwner = object.pendingOwner ?? ""; + message.paused = object.paused ?? false; + message.allowlist = object.allowlist?.map((e) => e) || []; + message.stakers = object.stakers?.map((e) => Staker.fromPartial(e)) || []; + message.dataRequests = object.dataRequests?.map((e) => DataRequest.fromPartial(e)) || []; + message.committingCount = object.committingCount ?? 0n; + message.revealingCount = object.revealingCount ?? 0n; + message.tallyingCount = object.tallyingCount ?? 0n; + message.commits = object.commits?.map((e) => GenesisStateCommit.fromPartial(e)) || []; + message.reveals = object.reveals?.map((e) => GenesisStateReveal.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGenesisStateCommit(): GenesisStateCommit { + return { drID: "", publicKey: "", commit: new Uint8Array(0) }; +} + +export const GenesisStateCommit = { + encode(message: GenesisStateCommit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drID !== "") { + writer.uint32(10).string(message.drID); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.commit.length !== 0) { + writer.uint32(26).bytes(message.commit); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisStateCommit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisStateCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drID = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.commit = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisStateCommit { + return { + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + commit: isSet(object.commit) ? bytesFromBase64(object.commit) : new Uint8Array(0), + }; + }, + + toJSON(message: GenesisStateCommit): unknown { + const obj: any = {}; + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.commit.length !== 0) { + obj.commit = base64FromBytes(message.commit); + } + return obj; + }, + + create(base?: DeepPartial): GenesisStateCommit { + return GenesisStateCommit.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GenesisStateCommit { + const message = createBaseGenesisStateCommit(); + message.drID = object.drID ?? ""; + message.publicKey = object.publicKey ?? ""; + message.commit = object.commit ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseGenesisStateReveal(): GenesisStateReveal { + return { drID: "", publicKey: "", revealBody: undefined }; +} + +export const GenesisStateReveal = { + encode(message: GenesisStateReveal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drID !== "") { + writer.uint32(10).string(message.drID); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.revealBody !== undefined) { + RevealBody.encode(message.revealBody, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisStateReveal { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisStateReveal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drID = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.revealBody = RevealBody.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisStateReveal { + return { + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + revealBody: isSet(object.revealBody) ? RevealBody.fromJSON(object.revealBody) : undefined, + }; + }, + + toJSON(message: GenesisStateReveal): unknown { + const obj: any = {}; + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.revealBody !== undefined) { + obj.revealBody = RevealBody.toJSON(message.revealBody); + } + return obj; + }, + + create(base?: DeepPartial): GenesisStateReveal { + return GenesisStateReveal.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GenesisStateReveal { + const message = createBaseGenesisStateReveal(); + message.drID = object.drID ?? ""; + message.publicKey = object.publicKey ?? ""; + message.revealBody = (object.revealBody !== undefined && object.revealBody !== null) + ? RevealBody.fromPartial(object.revealBody) + : undefined; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +function longToBigint(long: Long) { + return BigInt(long.toString()); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/libs/proto-messages/gen/sedachain/core/v1/query.ts b/libs/proto-messages/gen/sedachain/core/v1/query.ts new file mode 100644 index 00000000..4ba00fa2 --- /dev/null +++ b/libs/proto-messages/gen/sedachain/core/v1/query.ts @@ -0,0 +1,3918 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown +// source: sedachain/core/v1/query.proto + +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { + DataRequest, + DataRequestConfig, + DataRequestStatus, + dataRequestStatusFromJSON, + dataRequestStatusToJSON, + Params, + RevealBody, + Staker, + StakingConfig, +} from "./core"; + +/** + * ExecutorEligibility is the eligibility status of an executor given + * the eligibility message data. + */ +export enum EligibilityStatus { + /** ELIGIBILITY_STATUS_UNSPECIFIED - Zero value as required by proto3. */ + ELIGIBILITY_STATUS_UNSPECIFIED = 0, + /** ELIGIBILITY_STATUS_ELLIGIBLE - Executor is eligible for the data request */ + ELIGIBILITY_STATUS_ELLIGIBLE = 1, + /** ELIGIBILITY_STATUS_NOT_ELIGIBLE - Executor is not eligible for the data request */ + ELIGIBILITY_STATUS_NOT_ELIGIBLE = 2, + /** ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND - Data request not found */ + ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND = 3, + /** ELIGIBILITY_STATUS_NOT_STAKER - Executor is not a staker */ + ELIGIBILITY_STATUS_NOT_STAKER = 4, + /** ELIGIBILITY_STATUS_INSUFFICIENT_STAKE - Executor has insufficient stake */ + ELIGIBILITY_STATUS_INSUFFICIENT_STAKE = 5, + /** ELIGIBILITY_STATUS_NOT_ALLOWLISTED - Executor is not on the allowlist */ + ELIGIBILITY_STATUS_NOT_ALLOWLISTED = 6, + /** ELIGIBILITY_STATUS_INVALID_SIGNATURE - Invalid signature */ + ELIGIBILITY_STATUS_INVALID_SIGNATURE = 7, + UNRECOGNIZED = -1, +} + +export function eligibilityStatusFromJSON(object: any): EligibilityStatus { + switch (object) { + case 0: + case "ELIGIBILITY_STATUS_UNSPECIFIED": + return EligibilityStatus.ELIGIBILITY_STATUS_UNSPECIFIED; + case 1: + case "ELIGIBILITY_STATUS_ELLIGIBLE": + return EligibilityStatus.ELIGIBILITY_STATUS_ELLIGIBLE; + case 2: + case "ELIGIBILITY_STATUS_NOT_ELIGIBLE": + return EligibilityStatus.ELIGIBILITY_STATUS_NOT_ELIGIBLE; + case 3: + case "ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND": + return EligibilityStatus.ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND; + case 4: + case "ELIGIBILITY_STATUS_NOT_STAKER": + return EligibilityStatus.ELIGIBILITY_STATUS_NOT_STAKER; + case 5: + case "ELIGIBILITY_STATUS_INSUFFICIENT_STAKE": + return EligibilityStatus.ELIGIBILITY_STATUS_INSUFFICIENT_STAKE; + case 6: + case "ELIGIBILITY_STATUS_NOT_ALLOWLISTED": + return EligibilityStatus.ELIGIBILITY_STATUS_NOT_ALLOWLISTED; + case 7: + case "ELIGIBILITY_STATUS_INVALID_SIGNATURE": + return EligibilityStatus.ELIGIBILITY_STATUS_INVALID_SIGNATURE; + case -1: + case "UNRECOGNIZED": + default: + return EligibilityStatus.UNRECOGNIZED; + } +} + +export function eligibilityStatusToJSON(object: EligibilityStatus): string { + switch (object) { + case EligibilityStatus.ELIGIBILITY_STATUS_UNSPECIFIED: + return "ELIGIBILITY_STATUS_UNSPECIFIED"; + case EligibilityStatus.ELIGIBILITY_STATUS_ELLIGIBLE: + return "ELIGIBILITY_STATUS_ELLIGIBLE"; + case EligibilityStatus.ELIGIBILITY_STATUS_NOT_ELIGIBLE: + return "ELIGIBILITY_STATUS_NOT_ELIGIBLE"; + case EligibilityStatus.ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND: + return "ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND"; + case EligibilityStatus.ELIGIBILITY_STATUS_NOT_STAKER: + return "ELIGIBILITY_STATUS_NOT_STAKER"; + case EligibilityStatus.ELIGIBILITY_STATUS_INSUFFICIENT_STAKE: + return "ELIGIBILITY_STATUS_INSUFFICIENT_STAKE"; + case EligibilityStatus.ELIGIBILITY_STATUS_NOT_ALLOWLISTED: + return "ELIGIBILITY_STATUS_NOT_ALLOWLISTED"; + case EligibilityStatus.ELIGIBILITY_STATUS_INVALID_SIGNATURE: + return "ELIGIBILITY_STATUS_INVALID_SIGNATURE"; + case EligibilityStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** The request message for Query/Owner RPC method. */ +export interface QueryOwnerRequest { +} + +/** The response message for Query/Owner RPC method. */ +export interface QueryOwnerResponse { + /** owner is the address of the core module owner. */ + owner: string; +} + +/** The request message for Query/PendingOwner RPC method. */ +export interface QueryPendingOwnerRequest { +} + +/** The response message for Query/PendingOwner RPC method. */ +export interface QueryPendingOwnerResponse { + /** pending_owner is the address of the core module pending owner. */ + pendingOwner: string; +} + +/** The request message for Query/Paused RPC method. */ +export interface QueryPausedRequest { +} + +/** The response message for Query/Paused RPC method. */ +export interface QueryPausedResponse { + /** paused is whether the core module is paused. */ + paused: boolean; +} + +/** The request message for Query/Allowlist RPC method. */ +export interface QueryAllowlistRequest { +} + +/** The response message for Query/Allowlist RPC method. */ +export interface QueryAllowlistResponse { + /** public_keys is the list of hex-encoded public keys in the allowlist. */ + publicKeys: string[]; +} + +/** The request message for Query/Staker RPC method. */ +export interface QueryStakerRequest { + publicKey: string; +} + +/** The response message for Query/Staker RPC method. */ +export interface QueryStakerResponse { + staker: Staker | undefined; +} + +/** The request message for Query/Executors RPC method. */ +export interface QueryExecutorsRequest { + limit: number; + offset: number; +} + +/** The response message for Query/Executors RPC method. */ +export interface QueryExecutorsResponse { + executors: Staker[]; +} + +/** The request message for Query/DataRequest RPC method. */ +export interface QueryDataRequestRequest { + drId: string; +} + +/** The response message for Query/DataRequest RPC method. */ +export interface QueryDataRequestResponse { + dataRequest: DataRequestResponse | undefined; +} + +/** The request message for Query/DataRequestCommitment RPC method. */ +export interface QueryDataRequestCommitmentRequest { + drId: string; + publicKey: string; +} + +/** The response message for Query/DataRequestCommitment RPC method. */ +export interface QueryDataRequestCommitmentResponse { + commitment: string; +} + +/** The request message for Query/DataRequestCommitments RPC method. */ +export interface QueryDataRequestCommitmentsRequest { + drId: string; +} + +/** The response message for Query/DataRequestCommitments RPC method. */ +export interface QueryDataRequestCommitmentsResponse { + commitments: { [key: string]: string }; +} + +export interface QueryDataRequestCommitmentsResponse_CommitmentsEntry { + key: string; + value: string; +} + +/** The request message for Query/DataRequestReveal RPC method. */ +export interface QueryDataRequestRevealRequest { + drId: string; + publicKey: string; +} + +/** The response message for Query/DataRequestReveal RPC method. */ +export interface QueryDataRequestRevealResponse { + reveal: RevealBody | undefined; +} + +/** The request message for Query/DataRequestReveals RPC method. */ +export interface QueryDataRequestRevealsRequest { + drId: string; +} + +/** The response message for Query/DataRequestReveals RPC method. */ +export interface QueryDataRequestRevealsResponse { + reveals: { [key: string]: RevealBody }; +} + +export interface QueryDataRequestRevealsResponse_RevealsEntry { + key: string; + value: RevealBody | undefined; +} + +/** The request message for Query/DataRequestsByStatus RPC method. */ +export interface QueryDataRequestsByStatusRequest { + /** Status specifies the status of the data requests to retrieve. */ + status: DataRequestStatus; + /** Limit specifies the maximum number of data requests to retrieve. */ + limit: bigint; + /** + * LastSeenIndex, if specified, sets the starting point (exclusive) of the + * query. + */ + lastSeenIndex: string[]; +} + +/** The response message for Query/DataRequestsByStatus RPC method. */ +export interface QueryDataRequestsByStatusResponse { + /** DataRequests is the list of data requests under the given status. */ + dataRequests: DataRequestResponse[]; + /** IsPaused is indicates whether the core module is paused. */ + isPaused: boolean; + /** Total is the total number of data requests under the given status. */ + total: bigint; + /** LastSeenIndex is the index of the last data request retrieved. */ + lastSeenIndex: string[]; +} + +/** The request message for Query/AccountSeq RPC method. */ +export interface QueryAccountSeqRequest { + /** public_key is the hex-encoded public key of the account. */ + publicKey: string; +} + +/** + * QueryAccountSeqResponse is the response type for the Query/AccountSeq + * RPC method. + */ +export interface QueryAccountSeqResponse { + /** account_seq is the account sequence number. */ + accountSeq: bigint; +} + +/** The request message for Query/StakerAndSeq RPC method. */ +export interface QueryStakerAndSeqRequest { + publicKey: string; +} + +/** The response message for Query/StakerAndSeq RPC method. */ +export interface QueryStakerAndSeqResponse { + staker: Staker | undefined; + sequenceNum: bigint; +} + +/** The request message for Query/IsStakerExecutor RPC method. */ +export interface QueryIsStakerExecutorRequest { + /** public_key is the hex-encoded public key of the account. */ + publicKey: string; +} + +/** + * QueryIsStakerExecutorResponse is the response type for the + * Query/IsStakerExecutor RPC method. + */ +export interface QueryIsStakerExecutorResponse { + /** is_staker_executor is whether the staker is a executor. */ + isStakerExecutor: boolean; +} + +/** The request message for Query/ExecutorEligibility RPC method. */ +export interface QueryExecutorEligibilityRequest { + /** + * Data is the base64 encoded hex data used to determine eligibility. + * + * 0 66:67 130:131 195 byte + * | public_key : data_request_id : proof | + */ + data: string; +} + +/** + * QueryExecutorEligibilityResponse is the response type for the + * Query/ExecutorEligibility RPC method. + */ +export interface QueryExecutorEligibilityResponse { + /** + * EligibilityStatus is the eligibility status of the executor with respect + * to the data request. + */ + status: EligibilityStatus; + /** BlockHeight is the block height when the eligibility was determined. */ + blockHeight: bigint; + /** ErrorMessage, if not empty, indicates any error that was intercepted. */ + errorMessage: string; +} + +/** The request message for Query/LegacyExecutorEligibility RPC method. */ +export interface QueryLegacyExecutorEligibilityRequest { + /** + * Data is the base64-encoded hex data used to determine eligibility. + * It must follow the legacy format where the proof includes + * the Core Contract address. + * + * 0 66:67 130:131 195 byte + * | public_key : data_request_id : proof | + */ + data: string; +} + +/** + * QueryLegacyExecutorEligibilityResponse is the response type for the + * Query/LegacyExecutorEligibility RPC method. + */ +export interface QueryLegacyExecutorEligibilityResponse { + /** + * EligibilityStatus is the eligibility status of the executor with respect + * to the data request. + */ + status: EligibilityStatus; + /** BlockHeight is the block height when the eligibility was determined. */ + blockHeight: bigint; + /** ErrorMessage, if not empty, indicates any error that was intercepted. */ + errorMessage: string; +} + +/** The request message for Query/DataRequestStatuses RPC method. */ +export interface QueryDataRequestStatusesRequest { + dataRequestIds: string[]; +} + +/** + * MaybeDataRequestStatus is a wrapper that contains either a DataRequestStatus + * value or a null value. + */ +export interface MaybeDataRequestStatus { + value: DataRequestStatus; +} + +/** The response message for Query/DataRequestStatuses RPC method. */ +export interface QueryDataRequestStatusesResponse { + statuses: { [key: string]: MaybeDataRequestStatus }; +} + +export interface QueryDataRequestStatusesResponse_StatusesEntry { + key: string; + value: MaybeDataRequestStatus | undefined; +} + +/** QueryParamsRequest is the request type for the Query/Params RPC method. */ +export interface QueryParamsRequest { +} + +/** QueryParamsResponse is the response type for the Query/Params RPC method. */ +export interface QueryParamsResponse { + /** Params defines the parameters of the module. */ + params: Params | undefined; +} + +/** The request message for Query/StakingConfig RPC method. */ +export interface QueryStakingConfigRequest { +} + +/** The response message for Query/StakingConfig RPC method. */ +export interface QueryStakingConfigResponse { + stakingConfig: StakingConfig | undefined; +} + +/** The request message for Query/DataRequestConfig RPC method. */ +export interface QueryDataRequestConfigRequest { +} + +/** The response message for Query/DataRequestConfig RPC method. */ +export interface QueryDataRequestConfigResponse { + dataRequestConfig: DataRequestConfig | undefined; +} + +/** + * DataRequest is a query response type that contains a data request object + * along with its commits and reveals. + */ +export interface DataRequestResponse { + dataRequest: DataRequest | undefined; + commits: { [key: string]: Uint8Array }; + reveals: { [key: string]: RevealBody }; +} + +export interface DataRequestResponse_CommitsEntry { + key: string; + value: Uint8Array; +} + +export interface DataRequestResponse_RevealsEntry { + key: string; + value: RevealBody | undefined; +} + +function createBaseQueryOwnerRequest(): QueryOwnerRequest { + return {}; +} + +export const QueryOwnerRequest = { + encode(_: QueryOwnerRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryOwnerRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryOwnerRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryOwnerRequest { + return {}; + }, + + toJSON(_: QueryOwnerRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryOwnerRequest { + return QueryOwnerRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryOwnerRequest { + const message = createBaseQueryOwnerRequest(); + return message; + }, +}; + +function createBaseQueryOwnerResponse(): QueryOwnerResponse { + return { owner: "" }; +} + +export const QueryOwnerResponse = { + encode(message: QueryOwnerResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryOwnerResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryOwnerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.owner = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryOwnerResponse { + return { owner: isSet(object.owner) ? globalThis.String(object.owner) : "" }; + }, + + toJSON(message: QueryOwnerResponse): unknown { + const obj: any = {}; + if (message.owner !== "") { + obj.owner = message.owner; + } + return obj; + }, + + create(base?: DeepPartial): QueryOwnerResponse { + return QueryOwnerResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryOwnerResponse { + const message = createBaseQueryOwnerResponse(); + message.owner = object.owner ?? ""; + return message; + }, +}; + +function createBaseQueryPendingOwnerRequest(): QueryPendingOwnerRequest { + return {}; +} + +export const QueryPendingOwnerRequest = { + encode(_: QueryPendingOwnerRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPendingOwnerRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPendingOwnerRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryPendingOwnerRequest { + return {}; + }, + + toJSON(_: QueryPendingOwnerRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryPendingOwnerRequest { + return QueryPendingOwnerRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryPendingOwnerRequest { + const message = createBaseQueryPendingOwnerRequest(); + return message; + }, +}; + +function createBaseQueryPendingOwnerResponse(): QueryPendingOwnerResponse { + return { pendingOwner: "" }; +} + +export const QueryPendingOwnerResponse = { + encode(message: QueryPendingOwnerResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.pendingOwner !== "") { + writer.uint32(10).string(message.pendingOwner); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPendingOwnerResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPendingOwnerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pendingOwner = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPendingOwnerResponse { + return { pendingOwner: isSet(object.pendingOwner) ? globalThis.String(object.pendingOwner) : "" }; + }, + + toJSON(message: QueryPendingOwnerResponse): unknown { + const obj: any = {}; + if (message.pendingOwner !== "") { + obj.pendingOwner = message.pendingOwner; + } + return obj; + }, + + create(base?: DeepPartial): QueryPendingOwnerResponse { + return QueryPendingOwnerResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryPendingOwnerResponse { + const message = createBaseQueryPendingOwnerResponse(); + message.pendingOwner = object.pendingOwner ?? ""; + return message; + }, +}; + +function createBaseQueryPausedRequest(): QueryPausedRequest { + return {}; +} + +export const QueryPausedRequest = { + encode(_: QueryPausedRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPausedRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPausedRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryPausedRequest { + return {}; + }, + + toJSON(_: QueryPausedRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryPausedRequest { + return QueryPausedRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryPausedRequest { + const message = createBaseQueryPausedRequest(); + return message; + }, +}; + +function createBaseQueryPausedResponse(): QueryPausedResponse { + return { paused: false }; +} + +export const QueryPausedResponse = { + encode(message: QueryPausedResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.paused !== false) { + writer.uint32(8).bool(message.paused); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPausedResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPausedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.paused = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPausedResponse { + return { paused: isSet(object.paused) ? globalThis.Boolean(object.paused) : false }; + }, + + toJSON(message: QueryPausedResponse): unknown { + const obj: any = {}; + if (message.paused !== false) { + obj.paused = message.paused; + } + return obj; + }, + + create(base?: DeepPartial): QueryPausedResponse { + return QueryPausedResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryPausedResponse { + const message = createBaseQueryPausedResponse(); + message.paused = object.paused ?? false; + return message; + }, +}; + +function createBaseQueryAllowlistRequest(): QueryAllowlistRequest { + return {}; +} + +export const QueryAllowlistRequest = { + encode(_: QueryAllowlistRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllowlistRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowlistRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryAllowlistRequest { + return {}; + }, + + toJSON(_: QueryAllowlistRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryAllowlistRequest { + return QueryAllowlistRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryAllowlistRequest { + const message = createBaseQueryAllowlistRequest(); + return message; + }, +}; + +function createBaseQueryAllowlistResponse(): QueryAllowlistResponse { + return { publicKeys: [] }; +} + +export const QueryAllowlistResponse = { + encode(message: QueryAllowlistResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.publicKeys) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllowlistResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllowlistResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKeys.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllowlistResponse { + return { + publicKeys: globalThis.Array.isArray(object?.publicKeys) + ? object.publicKeys.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: QueryAllowlistResponse): unknown { + const obj: any = {}; + if (message.publicKeys?.length) { + obj.publicKeys = message.publicKeys; + } + return obj; + }, + + create(base?: DeepPartial): QueryAllowlistResponse { + return QueryAllowlistResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryAllowlistResponse { + const message = createBaseQueryAllowlistResponse(); + message.publicKeys = object.publicKeys?.map((e) => e) || []; + return message; + }, +}; + +function createBaseQueryStakerRequest(): QueryStakerRequest { + return { publicKey: "" }; +} + +export const QueryStakerRequest = { + encode(message: QueryStakerRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakerRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakerRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStakerRequest { + return { publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "" }; + }, + + toJSON(message: QueryStakerRequest): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryStakerRequest { + return QueryStakerRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryStakerRequest { + const message = createBaseQueryStakerRequest(); + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryStakerResponse(): QueryStakerResponse { + return { staker: undefined }; +} + +export const QueryStakerResponse = { + encode(message: QueryStakerResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.staker !== undefined) { + Staker.encode(message.staker, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakerResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.staker = Staker.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStakerResponse { + return { staker: isSet(object.staker) ? Staker.fromJSON(object.staker) : undefined }; + }, + + toJSON(message: QueryStakerResponse): unknown { + const obj: any = {}; + if (message.staker !== undefined) { + obj.staker = Staker.toJSON(message.staker); + } + return obj; + }, + + create(base?: DeepPartial): QueryStakerResponse { + return QueryStakerResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryStakerResponse { + const message = createBaseQueryStakerResponse(); + message.staker = (object.staker !== undefined && object.staker !== null) + ? Staker.fromPartial(object.staker) + : undefined; + return message; + }, +}; + +function createBaseQueryExecutorsRequest(): QueryExecutorsRequest { + return { limit: 0, offset: 0 }; +} + +export const QueryExecutorsRequest = { + encode(message: QueryExecutorsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.limit !== 0) { + writer.uint32(8).uint32(message.limit); + } + if (message.offset !== 0) { + writer.uint32(16).uint32(message.offset); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryExecutorsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExecutorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.limit = reader.uint32(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.offset = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExecutorsRequest { + return { + limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0, + offset: isSet(object.offset) ? globalThis.Number(object.offset) : 0, + }; + }, + + toJSON(message: QueryExecutorsRequest): unknown { + const obj: any = {}; + if (message.limit !== 0) { + obj.limit = Math.round(message.limit); + } + if (message.offset !== 0) { + obj.offset = Math.round(message.offset); + } + return obj; + }, + + create(base?: DeepPartial): QueryExecutorsRequest { + return QueryExecutorsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryExecutorsRequest { + const message = createBaseQueryExecutorsRequest(); + message.limit = object.limit ?? 0; + message.offset = object.offset ?? 0; + return message; + }, +}; + +function createBaseQueryExecutorsResponse(): QueryExecutorsResponse { + return { executors: [] }; +} + +export const QueryExecutorsResponse = { + encode(message: QueryExecutorsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.executors) { + Staker.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryExecutorsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExecutorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.executors.push(Staker.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExecutorsResponse { + return { + executors: globalThis.Array.isArray(object?.executors) + ? object.executors.map((e: any) => Staker.fromJSON(e)) + : [], + }; + }, + + toJSON(message: QueryExecutorsResponse): unknown { + const obj: any = {}; + if (message.executors?.length) { + obj.executors = message.executors.map((e) => Staker.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): QueryExecutorsResponse { + return QueryExecutorsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryExecutorsResponse { + const message = createBaseQueryExecutorsResponse(); + message.executors = object.executors?.map((e) => Staker.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseQueryDataRequestRequest(): QueryDataRequestRequest { + return { drId: "" }; +} + +export const QueryDataRequestRequest = { + encode(message: QueryDataRequestRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drId !== "") { + writer.uint32(10).string(message.drId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drId = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRequest { + return { drId: isSet(object.drId) ? globalThis.String(object.drId) : "" }; + }, + + toJSON(message: QueryDataRequestRequest): unknown { + const obj: any = {}; + if (message.drId !== "") { + obj.drId = message.drId; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestRequest { + return QueryDataRequestRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestRequest { + const message = createBaseQueryDataRequestRequest(); + message.drId = object.drId ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestResponse(): QueryDataRequestResponse { + return { dataRequest: undefined }; +} + +export const QueryDataRequestResponse = { + encode(message: QueryDataRequestResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.dataRequest !== undefined) { + DataRequestResponse.encode(message.dataRequest, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dataRequest = DataRequestResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestResponse { + return { dataRequest: isSet(object.dataRequest) ? DataRequestResponse.fromJSON(object.dataRequest) : undefined }; + }, + + toJSON(message: QueryDataRequestResponse): unknown { + const obj: any = {}; + if (message.dataRequest !== undefined) { + obj.dataRequest = DataRequestResponse.toJSON(message.dataRequest); + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestResponse { + return QueryDataRequestResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestResponse { + const message = createBaseQueryDataRequestResponse(); + message.dataRequest = (object.dataRequest !== undefined && object.dataRequest !== null) + ? DataRequestResponse.fromPartial(object.dataRequest) + : undefined; + return message; + }, +}; + +function createBaseQueryDataRequestCommitmentRequest(): QueryDataRequestCommitmentRequest { + return { drId: "", publicKey: "" }; +} + +export const QueryDataRequestCommitmentRequest = { + encode(message: QueryDataRequestCommitmentRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drId !== "") { + writer.uint32(10).string(message.drId); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestCommitmentRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestCommitmentRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drId = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestCommitmentRequest { + return { + drId: isSet(object.drId) ? globalThis.String(object.drId) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + }; + }, + + toJSON(message: QueryDataRequestCommitmentRequest): unknown { + const obj: any = {}; + if (message.drId !== "") { + obj.drId = message.drId; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestCommitmentRequest { + return QueryDataRequestCommitmentRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestCommitmentRequest { + const message = createBaseQueryDataRequestCommitmentRequest(); + message.drId = object.drId ?? ""; + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestCommitmentResponse(): QueryDataRequestCommitmentResponse { + return { commitment: "" }; +} + +export const QueryDataRequestCommitmentResponse = { + encode(message: QueryDataRequestCommitmentResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.commitment !== "") { + writer.uint32(10).string(message.commitment); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestCommitmentResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestCommitmentResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.commitment = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestCommitmentResponse { + return { commitment: isSet(object.commitment) ? globalThis.String(object.commitment) : "" }; + }, + + toJSON(message: QueryDataRequestCommitmentResponse): unknown { + const obj: any = {}; + if (message.commitment !== "") { + obj.commitment = message.commitment; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestCommitmentResponse { + return QueryDataRequestCommitmentResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestCommitmentResponse { + const message = createBaseQueryDataRequestCommitmentResponse(); + message.commitment = object.commitment ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestCommitmentsRequest(): QueryDataRequestCommitmentsRequest { + return { drId: "" }; +} + +export const QueryDataRequestCommitmentsRequest = { + encode(message: QueryDataRequestCommitmentsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drId !== "") { + writer.uint32(10).string(message.drId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestCommitmentsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestCommitmentsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drId = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestCommitmentsRequest { + return { drId: isSet(object.drId) ? globalThis.String(object.drId) : "" }; + }, + + toJSON(message: QueryDataRequestCommitmentsRequest): unknown { + const obj: any = {}; + if (message.drId !== "") { + obj.drId = message.drId; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestCommitmentsRequest { + return QueryDataRequestCommitmentsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestCommitmentsRequest { + const message = createBaseQueryDataRequestCommitmentsRequest(); + message.drId = object.drId ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestCommitmentsResponse(): QueryDataRequestCommitmentsResponse { + return { commitments: {} }; +} + +export const QueryDataRequestCommitmentsResponse = { + encode(message: QueryDataRequestCommitmentsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + Object.entries(message.commitments).forEach(([key, value]) => { + QueryDataRequestCommitmentsResponse_CommitmentsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()) + .ldelim(); + }); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestCommitmentsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestCommitmentsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + const entry1 = QueryDataRequestCommitmentsResponse_CommitmentsEntry.decode(reader, reader.uint32()); + if (entry1.value !== undefined) { + message.commitments[entry1.key] = entry1.value; + } + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestCommitmentsResponse { + return { + commitments: isObject(object.commitments) + ? Object.entries(object.commitments).reduce<{ [key: string]: string }>((acc, [key, value]) => { + acc[key] = String(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: QueryDataRequestCommitmentsResponse): unknown { + const obj: any = {}; + if (message.commitments) { + const entries = Object.entries(message.commitments); + if (entries.length > 0) { + obj.commitments = {}; + entries.forEach(([k, v]) => { + obj.commitments[k] = v; + }); + } + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestCommitmentsResponse { + return QueryDataRequestCommitmentsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestCommitmentsResponse { + const message = createBaseQueryDataRequestCommitmentsResponse(); + message.commitments = Object.entries(object.commitments ?? {}).reduce<{ [key: string]: string }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = globalThis.String(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseQueryDataRequestCommitmentsResponse_CommitmentsEntry(): QueryDataRequestCommitmentsResponse_CommitmentsEntry { + return { key: "", value: "" }; +} + +export const QueryDataRequestCommitmentsResponse_CommitmentsEntry = { + encode( + message: QueryDataRequestCommitmentsResponse_CommitmentsEntry, + writer: _m0.Writer = _m0.Writer.create(), + ): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestCommitmentsResponse_CommitmentsEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestCommitmentsResponse_CommitmentsEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestCommitmentsResponse_CommitmentsEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? globalThis.String(object.value) : "", + }; + }, + + toJSON(message: QueryDataRequestCommitmentsResponse_CommitmentsEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== "") { + obj.value = message.value; + } + return obj; + }, + + create( + base?: DeepPartial, + ): QueryDataRequestCommitmentsResponse_CommitmentsEntry { + return QueryDataRequestCommitmentsResponse_CommitmentsEntry.fromPartial(base ?? {}); + }, + fromPartial( + object: DeepPartial, + ): QueryDataRequestCommitmentsResponse_CommitmentsEntry { + const message = createBaseQueryDataRequestCommitmentsResponse_CommitmentsEntry(); + message.key = object.key ?? ""; + message.value = object.value ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestRevealRequest(): QueryDataRequestRevealRequest { + return { drId: "", publicKey: "" }; +} + +export const QueryDataRequestRevealRequest = { + encode(message: QueryDataRequestRevealRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drId !== "") { + writer.uint32(10).string(message.drId); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRevealRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRevealRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drId = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRevealRequest { + return { + drId: isSet(object.drId) ? globalThis.String(object.drId) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + }; + }, + + toJSON(message: QueryDataRequestRevealRequest): unknown { + const obj: any = {}; + if (message.drId !== "") { + obj.drId = message.drId; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestRevealRequest { + return QueryDataRequestRevealRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestRevealRequest { + const message = createBaseQueryDataRequestRevealRequest(); + message.drId = object.drId ?? ""; + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestRevealResponse(): QueryDataRequestRevealResponse { + return { reveal: undefined }; +} + +export const QueryDataRequestRevealResponse = { + encode(message: QueryDataRequestRevealResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.reveal !== undefined) { + RevealBody.encode(message.reveal, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRevealResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRevealResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.reveal = RevealBody.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRevealResponse { + return { reveal: isSet(object.reveal) ? RevealBody.fromJSON(object.reveal) : undefined }; + }, + + toJSON(message: QueryDataRequestRevealResponse): unknown { + const obj: any = {}; + if (message.reveal !== undefined) { + obj.reveal = RevealBody.toJSON(message.reveal); + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestRevealResponse { + return QueryDataRequestRevealResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestRevealResponse { + const message = createBaseQueryDataRequestRevealResponse(); + message.reveal = (object.reveal !== undefined && object.reveal !== null) + ? RevealBody.fromPartial(object.reveal) + : undefined; + return message; + }, +}; + +function createBaseQueryDataRequestRevealsRequest(): QueryDataRequestRevealsRequest { + return { drId: "" }; +} + +export const QueryDataRequestRevealsRequest = { + encode(message: QueryDataRequestRevealsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drId !== "") { + writer.uint32(10).string(message.drId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRevealsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRevealsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drId = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRevealsRequest { + return { drId: isSet(object.drId) ? globalThis.String(object.drId) : "" }; + }, + + toJSON(message: QueryDataRequestRevealsRequest): unknown { + const obj: any = {}; + if (message.drId !== "") { + obj.drId = message.drId; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestRevealsRequest { + return QueryDataRequestRevealsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestRevealsRequest { + const message = createBaseQueryDataRequestRevealsRequest(); + message.drId = object.drId ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestRevealsResponse(): QueryDataRequestRevealsResponse { + return { reveals: {} }; +} + +export const QueryDataRequestRevealsResponse = { + encode(message: QueryDataRequestRevealsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + Object.entries(message.reveals).forEach(([key, value]) => { + QueryDataRequestRevealsResponse_RevealsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()) + .ldelim(); + }); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRevealsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRevealsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + const entry1 = QueryDataRequestRevealsResponse_RevealsEntry.decode(reader, reader.uint32()); + if (entry1.value !== undefined) { + message.reveals[entry1.key] = entry1.value; + } + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRevealsResponse { + return { + reveals: isObject(object.reveals) + ? Object.entries(object.reveals).reduce<{ [key: string]: RevealBody }>((acc, [key, value]) => { + acc[key] = RevealBody.fromJSON(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: QueryDataRequestRevealsResponse): unknown { + const obj: any = {}; + if (message.reveals) { + const entries = Object.entries(message.reveals); + if (entries.length > 0) { + obj.reveals = {}; + entries.forEach(([k, v]) => { + obj.reveals[k] = RevealBody.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestRevealsResponse { + return QueryDataRequestRevealsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestRevealsResponse { + const message = createBaseQueryDataRequestRevealsResponse(); + message.reveals = Object.entries(object.reveals ?? {}).reduce<{ [key: string]: RevealBody }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = RevealBody.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseQueryDataRequestRevealsResponse_RevealsEntry(): QueryDataRequestRevealsResponse_RevealsEntry { + return { key: "", value: undefined }; +} + +export const QueryDataRequestRevealsResponse_RevealsEntry = { + encode(message: QueryDataRequestRevealsResponse_RevealsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + RevealBody.encode(message.value, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestRevealsResponse_RevealsEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestRevealsResponse_RevealsEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = RevealBody.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestRevealsResponse_RevealsEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? RevealBody.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: QueryDataRequestRevealsResponse_RevealsEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = RevealBody.toJSON(message.value); + } + return obj; + }, + + create( + base?: DeepPartial, + ): QueryDataRequestRevealsResponse_RevealsEntry { + return QueryDataRequestRevealsResponse_RevealsEntry.fromPartial(base ?? {}); + }, + fromPartial( + object: DeepPartial, + ): QueryDataRequestRevealsResponse_RevealsEntry { + const message = createBaseQueryDataRequestRevealsResponse_RevealsEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? RevealBody.fromPartial(object.value) + : undefined; + return message; + }, +}; + +function createBaseQueryDataRequestsByStatusRequest(): QueryDataRequestsByStatusRequest { + return { status: 0, limit: 0n, lastSeenIndex: [] }; +} + +export const QueryDataRequestsByStatusRequest = { + encode(message: QueryDataRequestsByStatusRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + if (message.limit !== 0n) { + if (BigInt.asUintN(64, message.limit) !== message.limit) { + throw new globalThis.Error("value provided for field message.limit of type uint64 too large"); + } + writer.uint32(16).uint64(message.limit.toString()); + } + for (const v of message.lastSeenIndex) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestsByStatusRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestsByStatusRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.limit = longToBigint(reader.uint64() as Long); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.lastSeenIndex.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestsByStatusRequest { + return { + status: isSet(object.status) ? dataRequestStatusFromJSON(object.status) : 0, + limit: isSet(object.limit) ? BigInt(object.limit) : 0n, + lastSeenIndex: globalThis.Array.isArray(object?.lastSeenIndex) + ? object.lastSeenIndex.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: QueryDataRequestsByStatusRequest): unknown { + const obj: any = {}; + if (message.status !== 0) { + obj.status = dataRequestStatusToJSON(message.status); + } + if (message.limit !== 0n) { + obj.limit = message.limit.toString(); + } + if (message.lastSeenIndex?.length) { + obj.lastSeenIndex = message.lastSeenIndex; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestsByStatusRequest { + return QueryDataRequestsByStatusRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestsByStatusRequest { + const message = createBaseQueryDataRequestsByStatusRequest(); + message.status = object.status ?? 0; + message.limit = object.limit ?? 0n; + message.lastSeenIndex = object.lastSeenIndex?.map((e) => e) || []; + return message; + }, +}; + +function createBaseQueryDataRequestsByStatusResponse(): QueryDataRequestsByStatusResponse { + return { dataRequests: [], isPaused: false, total: 0n, lastSeenIndex: [] }; +} + +export const QueryDataRequestsByStatusResponse = { + encode(message: QueryDataRequestsByStatusResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.dataRequests) { + DataRequestResponse.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.isPaused !== false) { + writer.uint32(16).bool(message.isPaused); + } + if (message.total !== 0n) { + if (BigInt.asUintN(64, message.total) !== message.total) { + throw new globalThis.Error("value provided for field message.total of type uint64 too large"); + } + writer.uint32(24).uint64(message.total.toString()); + } + for (const v of message.lastSeenIndex) { + writer.uint32(34).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestsByStatusResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestsByStatusResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dataRequests.push(DataRequestResponse.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.isPaused = reader.bool(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.total = longToBigint(reader.uint64() as Long); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.lastSeenIndex.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestsByStatusResponse { + return { + dataRequests: globalThis.Array.isArray(object?.dataRequests) + ? object.dataRequests.map((e: any) => DataRequestResponse.fromJSON(e)) + : [], + isPaused: isSet(object.isPaused) ? globalThis.Boolean(object.isPaused) : false, + total: isSet(object.total) ? BigInt(object.total) : 0n, + lastSeenIndex: globalThis.Array.isArray(object?.lastSeenIndex) + ? object.lastSeenIndex.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: QueryDataRequestsByStatusResponse): unknown { + const obj: any = {}; + if (message.dataRequests?.length) { + obj.dataRequests = message.dataRequests.map((e) => DataRequestResponse.toJSON(e)); + } + if (message.isPaused !== false) { + obj.isPaused = message.isPaused; + } + if (message.total !== 0n) { + obj.total = message.total.toString(); + } + if (message.lastSeenIndex?.length) { + obj.lastSeenIndex = message.lastSeenIndex; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestsByStatusResponse { + return QueryDataRequestsByStatusResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestsByStatusResponse { + const message = createBaseQueryDataRequestsByStatusResponse(); + message.dataRequests = object.dataRequests?.map((e) => DataRequestResponse.fromPartial(e)) || []; + message.isPaused = object.isPaused ?? false; + message.total = object.total ?? 0n; + message.lastSeenIndex = object.lastSeenIndex?.map((e) => e) || []; + return message; + }, +}; + +function createBaseQueryAccountSeqRequest(): QueryAccountSeqRequest { + return { publicKey: "" }; +} + +export const QueryAccountSeqRequest = { + encode(message: QueryAccountSeqRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAccountSeqRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountSeqRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountSeqRequest { + return { publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "" }; + }, + + toJSON(message: QueryAccountSeqRequest): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryAccountSeqRequest { + return QueryAccountSeqRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryAccountSeqRequest { + const message = createBaseQueryAccountSeqRequest(); + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryAccountSeqResponse(): QueryAccountSeqResponse { + return { accountSeq: 0n }; +} + +export const QueryAccountSeqResponse = { + encode(message: QueryAccountSeqResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.accountSeq !== 0n) { + if (BigInt.asUintN(64, message.accountSeq) !== message.accountSeq) { + throw new globalThis.Error("value provided for field message.accountSeq of type uint64 too large"); + } + writer.uint32(8).uint64(message.accountSeq.toString()); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAccountSeqResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAccountSeqResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.accountSeq = longToBigint(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAccountSeqResponse { + return { accountSeq: isSet(object.accountSeq) ? BigInt(object.accountSeq) : 0n }; + }, + + toJSON(message: QueryAccountSeqResponse): unknown { + const obj: any = {}; + if (message.accountSeq !== 0n) { + obj.accountSeq = message.accountSeq.toString(); + } + return obj; + }, + + create(base?: DeepPartial): QueryAccountSeqResponse { + return QueryAccountSeqResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryAccountSeqResponse { + const message = createBaseQueryAccountSeqResponse(); + message.accountSeq = object.accountSeq ?? 0n; + return message; + }, +}; + +function createBaseQueryStakerAndSeqRequest(): QueryStakerAndSeqRequest { + return { publicKey: "" }; +} + +export const QueryStakerAndSeqRequest = { + encode(message: QueryStakerAndSeqRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakerAndSeqRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakerAndSeqRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStakerAndSeqRequest { + return { publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "" }; + }, + + toJSON(message: QueryStakerAndSeqRequest): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryStakerAndSeqRequest { + return QueryStakerAndSeqRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryStakerAndSeqRequest { + const message = createBaseQueryStakerAndSeqRequest(); + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryStakerAndSeqResponse(): QueryStakerAndSeqResponse { + return { staker: undefined, sequenceNum: 0n }; +} + +export const QueryStakerAndSeqResponse = { + encode(message: QueryStakerAndSeqResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.staker !== undefined) { + Staker.encode(message.staker, writer.uint32(10).fork()).ldelim(); + } + if (message.sequenceNum !== 0n) { + if (BigInt.asUintN(64, message.sequenceNum) !== message.sequenceNum) { + throw new globalThis.Error("value provided for field message.sequenceNum of type uint64 too large"); + } + writer.uint32(16).uint64(message.sequenceNum.toString()); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakerAndSeqResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakerAndSeqResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.staker = Staker.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.sequenceNum = longToBigint(reader.uint64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStakerAndSeqResponse { + return { + staker: isSet(object.staker) ? Staker.fromJSON(object.staker) : undefined, + sequenceNum: isSet(object.sequenceNum) ? BigInt(object.sequenceNum) : 0n, + }; + }, + + toJSON(message: QueryStakerAndSeqResponse): unknown { + const obj: any = {}; + if (message.staker !== undefined) { + obj.staker = Staker.toJSON(message.staker); + } + if (message.sequenceNum !== 0n) { + obj.sequenceNum = message.sequenceNum.toString(); + } + return obj; + }, + + create(base?: DeepPartial): QueryStakerAndSeqResponse { + return QueryStakerAndSeqResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryStakerAndSeqResponse { + const message = createBaseQueryStakerAndSeqResponse(); + message.staker = (object.staker !== undefined && object.staker !== null) + ? Staker.fromPartial(object.staker) + : undefined; + message.sequenceNum = object.sequenceNum ?? 0n; + return message; + }, +}; + +function createBaseQueryIsStakerExecutorRequest(): QueryIsStakerExecutorRequest { + return { publicKey: "" }; +} + +export const QueryIsStakerExecutorRequest = { + encode(message: QueryIsStakerExecutorRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.publicKey !== "") { + writer.uint32(10).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIsStakerExecutorRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIsStakerExecutorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryIsStakerExecutorRequest { + return { publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "" }; + }, + + toJSON(message: QueryIsStakerExecutorRequest): unknown { + const obj: any = {}; + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): QueryIsStakerExecutorRequest { + return QueryIsStakerExecutorRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryIsStakerExecutorRequest { + const message = createBaseQueryIsStakerExecutorRequest(); + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseQueryIsStakerExecutorResponse(): QueryIsStakerExecutorResponse { + return { isStakerExecutor: false }; +} + +export const QueryIsStakerExecutorResponse = { + encode(message: QueryIsStakerExecutorResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.isStakerExecutor !== false) { + writer.uint32(8).bool(message.isStakerExecutor); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIsStakerExecutorResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIsStakerExecutorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.isStakerExecutor = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryIsStakerExecutorResponse { + return { isStakerExecutor: isSet(object.isStakerExecutor) ? globalThis.Boolean(object.isStakerExecutor) : false }; + }, + + toJSON(message: QueryIsStakerExecutorResponse): unknown { + const obj: any = {}; + if (message.isStakerExecutor !== false) { + obj.isStakerExecutor = message.isStakerExecutor; + } + return obj; + }, + + create(base?: DeepPartial): QueryIsStakerExecutorResponse { + return QueryIsStakerExecutorResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryIsStakerExecutorResponse { + const message = createBaseQueryIsStakerExecutorResponse(); + message.isStakerExecutor = object.isStakerExecutor ?? false; + return message; + }, +}; + +function createBaseQueryExecutorEligibilityRequest(): QueryExecutorEligibilityRequest { + return { data: "" }; +} + +export const QueryExecutorEligibilityRequest = { + encode(message: QueryExecutorEligibilityRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data !== "") { + writer.uint32(10).string(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryExecutorEligibilityRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExecutorEligibilityRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExecutorEligibilityRequest { + return { data: isSet(object.data) ? globalThis.String(object.data) : "" }; + }, + + toJSON(message: QueryExecutorEligibilityRequest): unknown { + const obj: any = {}; + if (message.data !== "") { + obj.data = message.data; + } + return obj; + }, + + create(base?: DeepPartial): QueryExecutorEligibilityRequest { + return QueryExecutorEligibilityRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryExecutorEligibilityRequest { + const message = createBaseQueryExecutorEligibilityRequest(); + message.data = object.data ?? ""; + return message; + }, +}; + +function createBaseQueryExecutorEligibilityResponse(): QueryExecutorEligibilityResponse { + return { status: 0, blockHeight: 0n, errorMessage: "" }; +} + +export const QueryExecutorEligibilityResponse = { + encode(message: QueryExecutorEligibilityResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + if (message.blockHeight !== 0n) { + if (BigInt.asUintN(64, message.blockHeight) !== message.blockHeight) { + throw new globalThis.Error("value provided for field message.blockHeight of type uint64 too large"); + } + writer.uint32(16).uint64(message.blockHeight.toString()); + } + if (message.errorMessage !== "") { + writer.uint32(26).string(message.errorMessage); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryExecutorEligibilityResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryExecutorEligibilityResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.blockHeight = longToBigint(reader.uint64() as Long); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.errorMessage = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryExecutorEligibilityResponse { + return { + status: isSet(object.status) ? eligibilityStatusFromJSON(object.status) : 0, + blockHeight: isSet(object.blockHeight) ? BigInt(object.blockHeight) : 0n, + errorMessage: isSet(object.errorMessage) ? globalThis.String(object.errorMessage) : "", + }; + }, + + toJSON(message: QueryExecutorEligibilityResponse): unknown { + const obj: any = {}; + if (message.status !== 0) { + obj.status = eligibilityStatusToJSON(message.status); + } + if (message.blockHeight !== 0n) { + obj.blockHeight = message.blockHeight.toString(); + } + if (message.errorMessage !== "") { + obj.errorMessage = message.errorMessage; + } + return obj; + }, + + create(base?: DeepPartial): QueryExecutorEligibilityResponse { + return QueryExecutorEligibilityResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryExecutorEligibilityResponse { + const message = createBaseQueryExecutorEligibilityResponse(); + message.status = object.status ?? 0; + message.blockHeight = object.blockHeight ?? 0n; + message.errorMessage = object.errorMessage ?? ""; + return message; + }, +}; + +function createBaseQueryLegacyExecutorEligibilityRequest(): QueryLegacyExecutorEligibilityRequest { + return { data: "" }; +} + +export const QueryLegacyExecutorEligibilityRequest = { + encode(message: QueryLegacyExecutorEligibilityRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data !== "") { + writer.uint32(10).string(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryLegacyExecutorEligibilityRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryLegacyExecutorEligibilityRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryLegacyExecutorEligibilityRequest { + return { data: isSet(object.data) ? globalThis.String(object.data) : "" }; + }, + + toJSON(message: QueryLegacyExecutorEligibilityRequest): unknown { + const obj: any = {}; + if (message.data !== "") { + obj.data = message.data; + } + return obj; + }, + + create(base?: DeepPartial): QueryLegacyExecutorEligibilityRequest { + return QueryLegacyExecutorEligibilityRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryLegacyExecutorEligibilityRequest { + const message = createBaseQueryLegacyExecutorEligibilityRequest(); + message.data = object.data ?? ""; + return message; + }, +}; + +function createBaseQueryLegacyExecutorEligibilityResponse(): QueryLegacyExecutorEligibilityResponse { + return { status: 0, blockHeight: 0n, errorMessage: "" }; +} + +export const QueryLegacyExecutorEligibilityResponse = { + encode(message: QueryLegacyExecutorEligibilityResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + if (message.blockHeight !== 0n) { + if (BigInt.asUintN(64, message.blockHeight) !== message.blockHeight) { + throw new globalThis.Error("value provided for field message.blockHeight of type uint64 too large"); + } + writer.uint32(16).uint64(message.blockHeight.toString()); + } + if (message.errorMessage !== "") { + writer.uint32(26).string(message.errorMessage); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryLegacyExecutorEligibilityResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryLegacyExecutorEligibilityResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.blockHeight = longToBigint(reader.uint64() as Long); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.errorMessage = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryLegacyExecutorEligibilityResponse { + return { + status: isSet(object.status) ? eligibilityStatusFromJSON(object.status) : 0, + blockHeight: isSet(object.blockHeight) ? BigInt(object.blockHeight) : 0n, + errorMessage: isSet(object.errorMessage) ? globalThis.String(object.errorMessage) : "", + }; + }, + + toJSON(message: QueryLegacyExecutorEligibilityResponse): unknown { + const obj: any = {}; + if (message.status !== 0) { + obj.status = eligibilityStatusToJSON(message.status); + } + if (message.blockHeight !== 0n) { + obj.blockHeight = message.blockHeight.toString(); + } + if (message.errorMessage !== "") { + obj.errorMessage = message.errorMessage; + } + return obj; + }, + + create(base?: DeepPartial): QueryLegacyExecutorEligibilityResponse { + return QueryLegacyExecutorEligibilityResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryLegacyExecutorEligibilityResponse { + const message = createBaseQueryLegacyExecutorEligibilityResponse(); + message.status = object.status ?? 0; + message.blockHeight = object.blockHeight ?? 0n; + message.errorMessage = object.errorMessage ?? ""; + return message; + }, +}; + +function createBaseQueryDataRequestStatusesRequest(): QueryDataRequestStatusesRequest { + return { dataRequestIds: [] }; +} + +export const QueryDataRequestStatusesRequest = { + encode(message: QueryDataRequestStatusesRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.dataRequestIds) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestStatusesRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestStatusesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dataRequestIds.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestStatusesRequest { + return { + dataRequestIds: globalThis.Array.isArray(object?.dataRequestIds) + ? object.dataRequestIds.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: QueryDataRequestStatusesRequest): unknown { + const obj: any = {}; + if (message.dataRequestIds?.length) { + obj.dataRequestIds = message.dataRequestIds; + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestStatusesRequest { + return QueryDataRequestStatusesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestStatusesRequest { + const message = createBaseQueryDataRequestStatusesRequest(); + message.dataRequestIds = object.dataRequestIds?.map((e) => e) || []; + return message; + }, +}; + +function createBaseMaybeDataRequestStatus(): MaybeDataRequestStatus { + return { value: 0 }; +} + +export const MaybeDataRequestStatus = { + encode(message: MaybeDataRequestStatus, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.value !== 0) { + writer.uint32(8).int32(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MaybeDataRequestStatus { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaybeDataRequestStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.value = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MaybeDataRequestStatus { + return { value: isSet(object.value) ? dataRequestStatusFromJSON(object.value) : 0 }; + }, + + toJSON(message: MaybeDataRequestStatus): unknown { + const obj: any = {}; + if (message.value !== 0) { + obj.value = dataRequestStatusToJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): MaybeDataRequestStatus { + return MaybeDataRequestStatus.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MaybeDataRequestStatus { + const message = createBaseMaybeDataRequestStatus(); + message.value = object.value ?? 0; + return message; + }, +}; + +function createBaseQueryDataRequestStatusesResponse(): QueryDataRequestStatusesResponse { + return { statuses: {} }; +} + +export const QueryDataRequestStatusesResponse = { + encode(message: QueryDataRequestStatusesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + Object.entries(message.statuses).forEach(([key, value]) => { + QueryDataRequestStatusesResponse_StatusesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()) + .ldelim(); + }); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestStatusesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestStatusesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + const entry1 = QueryDataRequestStatusesResponse_StatusesEntry.decode(reader, reader.uint32()); + if (entry1.value !== undefined) { + message.statuses[entry1.key] = entry1.value; + } + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestStatusesResponse { + return { + statuses: isObject(object.statuses) + ? Object.entries(object.statuses).reduce<{ [key: string]: MaybeDataRequestStatus }>((acc, [key, value]) => { + acc[key] = MaybeDataRequestStatus.fromJSON(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: QueryDataRequestStatusesResponse): unknown { + const obj: any = {}; + if (message.statuses) { + const entries = Object.entries(message.statuses); + if (entries.length > 0) { + obj.statuses = {}; + entries.forEach(([k, v]) => { + obj.statuses[k] = MaybeDataRequestStatus.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestStatusesResponse { + return QueryDataRequestStatusesResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestStatusesResponse { + const message = createBaseQueryDataRequestStatusesResponse(); + message.statuses = Object.entries(object.statuses ?? {}).reduce<{ [key: string]: MaybeDataRequestStatus }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = MaybeDataRequestStatus.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseQueryDataRequestStatusesResponse_StatusesEntry(): QueryDataRequestStatusesResponse_StatusesEntry { + return { key: "", value: undefined }; +} + +export const QueryDataRequestStatusesResponse_StatusesEntry = { + encode( + message: QueryDataRequestStatusesResponse_StatusesEntry, + writer: _m0.Writer = _m0.Writer.create(), + ): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + MaybeDataRequestStatus.encode(message.value, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestStatusesResponse_StatusesEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestStatusesResponse_StatusesEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = MaybeDataRequestStatus.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestStatusesResponse_StatusesEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? MaybeDataRequestStatus.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: QueryDataRequestStatusesResponse_StatusesEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = MaybeDataRequestStatus.toJSON(message.value); + } + return obj; + }, + + create( + base?: DeepPartial, + ): QueryDataRequestStatusesResponse_StatusesEntry { + return QueryDataRequestStatusesResponse_StatusesEntry.fromPartial(base ?? {}); + }, + fromPartial( + object: DeepPartial, + ): QueryDataRequestStatusesResponse_StatusesEntry { + const message = createBaseQueryDataRequestStatusesResponse_StatusesEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? MaybeDataRequestStatus.fromPartial(object.value) + : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +export const QueryParamsRequest = { + encode(_: QueryParamsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +export const QueryParamsResponse = { + encode(message: QueryParamsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create(base?: DeepPartial): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + return message; + }, +}; + +function createBaseQueryStakingConfigRequest(): QueryStakingConfigRequest { + return {}; +} + +export const QueryStakingConfigRequest = { + encode(_: QueryStakingConfigRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakingConfigRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakingConfigRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryStakingConfigRequest { + return {}; + }, + + toJSON(_: QueryStakingConfigRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryStakingConfigRequest { + return QueryStakingConfigRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryStakingConfigRequest { + const message = createBaseQueryStakingConfigRequest(); + return message; + }, +}; + +function createBaseQueryStakingConfigResponse(): QueryStakingConfigResponse { + return { stakingConfig: undefined }; +} + +export const QueryStakingConfigResponse = { + encode(message: QueryStakingConfigResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.stakingConfig !== undefined) { + StakingConfig.encode(message.stakingConfig, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryStakingConfigResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryStakingConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.stakingConfig = StakingConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryStakingConfigResponse { + return { stakingConfig: isSet(object.stakingConfig) ? StakingConfig.fromJSON(object.stakingConfig) : undefined }; + }, + + toJSON(message: QueryStakingConfigResponse): unknown { + const obj: any = {}; + if (message.stakingConfig !== undefined) { + obj.stakingConfig = StakingConfig.toJSON(message.stakingConfig); + } + return obj; + }, + + create(base?: DeepPartial): QueryStakingConfigResponse { + return QueryStakingConfigResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryStakingConfigResponse { + const message = createBaseQueryStakingConfigResponse(); + message.stakingConfig = (object.stakingConfig !== undefined && object.stakingConfig !== null) + ? StakingConfig.fromPartial(object.stakingConfig) + : undefined; + return message; + }, +}; + +function createBaseQueryDataRequestConfigRequest(): QueryDataRequestConfigRequest { + return {}; +} + +export const QueryDataRequestConfigRequest = { + encode(_: QueryDataRequestConfigRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestConfigRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestConfigRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryDataRequestConfigRequest { + return {}; + }, + + toJSON(_: QueryDataRequestConfigRequest): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestConfigRequest { + return QueryDataRequestConfigRequest.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): QueryDataRequestConfigRequest { + const message = createBaseQueryDataRequestConfigRequest(); + return message; + }, +}; + +function createBaseQueryDataRequestConfigResponse(): QueryDataRequestConfigResponse { + return { dataRequestConfig: undefined }; +} + +export const QueryDataRequestConfigResponse = { + encode(message: QueryDataRequestConfigResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.dataRequestConfig !== undefined) { + DataRequestConfig.encode(message.dataRequestConfig, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDataRequestConfigResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDataRequestConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dataRequestConfig = DataRequestConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryDataRequestConfigResponse { + return { + dataRequestConfig: isSet(object.dataRequestConfig) + ? DataRequestConfig.fromJSON(object.dataRequestConfig) + : undefined, + }; + }, + + toJSON(message: QueryDataRequestConfigResponse): unknown { + const obj: any = {}; + if (message.dataRequestConfig !== undefined) { + obj.dataRequestConfig = DataRequestConfig.toJSON(message.dataRequestConfig); + } + return obj; + }, + + create(base?: DeepPartial): QueryDataRequestConfigResponse { + return QueryDataRequestConfigResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): QueryDataRequestConfigResponse { + const message = createBaseQueryDataRequestConfigResponse(); + message.dataRequestConfig = (object.dataRequestConfig !== undefined && object.dataRequestConfig !== null) + ? DataRequestConfig.fromPartial(object.dataRequestConfig) + : undefined; + return message; + }, +}; + +function createBaseDataRequestResponse(): DataRequestResponse { + return { dataRequest: undefined, commits: {}, reveals: {} }; +} + +export const DataRequestResponse = { + encode(message: DataRequestResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.dataRequest !== undefined) { + DataRequest.encode(message.dataRequest, writer.uint32(10).fork()).ldelim(); + } + Object.entries(message.commits).forEach(([key, value]) => { + DataRequestResponse_CommitsEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).ldelim(); + }); + Object.entries(message.reveals).forEach(([key, value]) => { + DataRequestResponse_RevealsEntry.encode({ key: key as any, value }, writer.uint32(26).fork()).ldelim(); + }); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DataRequestResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDataRequestResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.dataRequest = DataRequest.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + const entry2 = DataRequestResponse_CommitsEntry.decode(reader, reader.uint32()); + if (entry2.value !== undefined) { + message.commits[entry2.key] = entry2.value; + } + continue; + case 3: + if (tag !== 26) { + break; + } + + const entry3 = DataRequestResponse_RevealsEntry.decode(reader, reader.uint32()); + if (entry3.value !== undefined) { + message.reveals[entry3.key] = entry3.value; + } + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DataRequestResponse { + return { + dataRequest: isSet(object.dataRequest) ? DataRequest.fromJSON(object.dataRequest) : undefined, + commits: isObject(object.commits) + ? Object.entries(object.commits).reduce<{ [key: string]: Uint8Array }>((acc, [key, value]) => { + acc[key] = bytesFromBase64(value as string); + return acc; + }, {}) + : {}, + reveals: isObject(object.reveals) + ? Object.entries(object.reveals).reduce<{ [key: string]: RevealBody }>((acc, [key, value]) => { + acc[key] = RevealBody.fromJSON(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: DataRequestResponse): unknown { + const obj: any = {}; + if (message.dataRequest !== undefined) { + obj.dataRequest = DataRequest.toJSON(message.dataRequest); + } + if (message.commits) { + const entries = Object.entries(message.commits); + if (entries.length > 0) { + obj.commits = {}; + entries.forEach(([k, v]) => { + obj.commits[k] = base64FromBytes(v); + }); + } + } + if (message.reveals) { + const entries = Object.entries(message.reveals); + if (entries.length > 0) { + obj.reveals = {}; + entries.forEach(([k, v]) => { + obj.reveals[k] = RevealBody.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): DataRequestResponse { + return DataRequestResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DataRequestResponse { + const message = createBaseDataRequestResponse(); + message.dataRequest = (object.dataRequest !== undefined && object.dataRequest !== null) + ? DataRequest.fromPartial(object.dataRequest) + : undefined; + message.commits = Object.entries(object.commits ?? {}).reduce<{ [key: string]: Uint8Array }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = value; + } + return acc; + }, + {}, + ); + message.reveals = Object.entries(object.reveals ?? {}).reduce<{ [key: string]: RevealBody }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = RevealBody.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseDataRequestResponse_CommitsEntry(): DataRequestResponse_CommitsEntry { + return { key: "", value: new Uint8Array(0) }; +} + +export const DataRequestResponse_CommitsEntry = { + encode(message: DataRequestResponse_CommitsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DataRequestResponse_CommitsEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDataRequestResponse_CommitsEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DataRequestResponse_CommitsEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: DataRequestResponse_CommitsEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value.length !== 0) { + obj.value = base64FromBytes(message.value); + } + return obj; + }, + + create(base?: DeepPartial): DataRequestResponse_CommitsEntry { + return DataRequestResponse_CommitsEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DataRequestResponse_CommitsEntry { + const message = createBaseDataRequestResponse_CommitsEntry(); + message.key = object.key ?? ""; + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseDataRequestResponse_RevealsEntry(): DataRequestResponse_RevealsEntry { + return { key: "", value: undefined }; +} + +export const DataRequestResponse_RevealsEntry = { + encode(message: DataRequestResponse_RevealsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + RevealBody.encode(message.value, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DataRequestResponse_RevealsEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDataRequestResponse_RevealsEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = RevealBody.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): DataRequestResponse_RevealsEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? RevealBody.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: DataRequestResponse_RevealsEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = RevealBody.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): DataRequestResponse_RevealsEntry { + return DataRequestResponse_RevealsEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DataRequestResponse_RevealsEntry { + const message = createBaseDataRequestResponse_RevealsEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? RevealBody.fromPartial(object.value) + : undefined; + return message; + }, +}; + +/** Query defines the gRPC querier service. */ +export interface Query { + /** Owner returns the owner of the core module. */ + Owner(request: QueryOwnerRequest): Promise; + /** PendingOwner returns the pending owner of the core module. */ + PendingOwner(request: QueryPendingOwnerRequest): Promise; + /** Paused returns whether the core module is paused. */ + Paused(request: QueryPausedRequest): Promise; + /** Allowlist returns the allowlist of staker public keys. */ + Allowlist(request: QueryAllowlistRequest): Promise; + /** Staker returns the staker given its public key. */ + Staker(request: QueryStakerRequest): Promise; + /** Executors returns stakers that are eligible to execute data requests. */ + Executors(request: QueryExecutorsRequest): Promise; + /** DataRequest returns the data request given its ID. */ + DataRequest(request: QueryDataRequestRequest): Promise; + /** + * DataRequestCommitment returns the data request commitment given the data + * request ID and executor public key. + */ + DataRequestCommitment(request: QueryDataRequestCommitmentRequest): Promise; + /** + * DataRequestCommitments returns all data request commitments for a given + * data request ID. + */ + DataRequestCommitments(request: QueryDataRequestCommitmentsRequest): Promise; + /** + * DataRequestReveal returns the data request reveal given the data + * request ID and executor public key. + */ + DataRequestReveal(request: QueryDataRequestRevealRequest): Promise; + /** + * DataRequestReveals returns all data request reveals for a given + * data request ID. + */ + DataRequestReveals(request: QueryDataRequestRevealsRequest): Promise; + /** DataRequestsByStatus returns data requests by status. */ + DataRequestsByStatus(request: QueryDataRequestsByStatusRequest): Promise; + /** AccountSeq returns the account sequence number for a given public key. */ + AccountSeq(request: QueryAccountSeqRequest): Promise; + /** StakerAndSeq returns the staker and its sequence number. */ + StakerAndSeq(request: QueryStakerAndSeqRequest): Promise; + /** IsStakerExecutor returns whether the staker is a executor. */ + IsStakerExecutor(request: QueryIsStakerExecutorRequest): Promise; + /** + * ExecutorEligibility returns the eligibility status of an executor given + * the eligibility message data. + */ + ExecutorEligibility(request: QueryExecutorEligibilityRequest): Promise; + /** + * LegacyExecutorEligibility returns the eligibility status of an executor + * given the eligibility message data where its proof part follows the legacy + * format that includes the Core Contract address. + */ + LegacyExecutorEligibility( + request: QueryLegacyExecutorEligibilityRequest, + ): Promise; + /** DataRequestStatuses returns the statuses of data requests given their IDs. */ + DataRequestStatuses(request: QueryDataRequestStatusesRequest): Promise; + /** Params returns the total set of core parameters. */ + Params(request: QueryParamsRequest): Promise; + /** StakingConfig returns the staking parameters of the core module. */ + StakingConfig(request: QueryStakingConfigRequest): Promise; + /** DataRequestConfig returns the data request parameters of the core module. */ + DataRequestConfig(request: QueryDataRequestConfigRequest): Promise; +} + +export const QueryServiceName = "sedachain.core.v1.Query"; +export class QueryClientImpl implements Query { + private readonly rpc: Rpc; + private readonly service: string; + constructor(rpc: Rpc, opts?: { service?: string }) { + this.service = opts?.service || QueryServiceName; + this.rpc = rpc; + this.Owner = this.Owner.bind(this); + this.PendingOwner = this.PendingOwner.bind(this); + this.Paused = this.Paused.bind(this); + this.Allowlist = this.Allowlist.bind(this); + this.Staker = this.Staker.bind(this); + this.Executors = this.Executors.bind(this); + this.DataRequest = this.DataRequest.bind(this); + this.DataRequestCommitment = this.DataRequestCommitment.bind(this); + this.DataRequestCommitments = this.DataRequestCommitments.bind(this); + this.DataRequestReveal = this.DataRequestReveal.bind(this); + this.DataRequestReveals = this.DataRequestReveals.bind(this); + this.DataRequestsByStatus = this.DataRequestsByStatus.bind(this); + this.AccountSeq = this.AccountSeq.bind(this); + this.StakerAndSeq = this.StakerAndSeq.bind(this); + this.IsStakerExecutor = this.IsStakerExecutor.bind(this); + this.ExecutorEligibility = this.ExecutorEligibility.bind(this); + this.LegacyExecutorEligibility = this.LegacyExecutorEligibility.bind(this); + this.DataRequestStatuses = this.DataRequestStatuses.bind(this); + this.Params = this.Params.bind(this); + this.StakingConfig = this.StakingConfig.bind(this); + this.DataRequestConfig = this.DataRequestConfig.bind(this); + } + Owner(request: QueryOwnerRequest): Promise { + const data = QueryOwnerRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Owner", data); + return promise.then((data) => QueryOwnerResponse.decode(_m0.Reader.create(data))); + } + + PendingOwner(request: QueryPendingOwnerRequest): Promise { + const data = QueryPendingOwnerRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "PendingOwner", data); + return promise.then((data) => QueryPendingOwnerResponse.decode(_m0.Reader.create(data))); + } + + Paused(request: QueryPausedRequest): Promise { + const data = QueryPausedRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Paused", data); + return promise.then((data) => QueryPausedResponse.decode(_m0.Reader.create(data))); + } + + Allowlist(request: QueryAllowlistRequest): Promise { + const data = QueryAllowlistRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Allowlist", data); + return promise.then((data) => QueryAllowlistResponse.decode(_m0.Reader.create(data))); + } + + Staker(request: QueryStakerRequest): Promise { + const data = QueryStakerRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Staker", data); + return promise.then((data) => QueryStakerResponse.decode(_m0.Reader.create(data))); + } + + Executors(request: QueryExecutorsRequest): Promise { + const data = QueryExecutorsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Executors", data); + return promise.then((data) => QueryExecutorsResponse.decode(_m0.Reader.create(data))); + } + + DataRequest(request: QueryDataRequestRequest): Promise { + const data = QueryDataRequestRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequest", data); + return promise.then((data) => QueryDataRequestResponse.decode(_m0.Reader.create(data))); + } + + DataRequestCommitment(request: QueryDataRequestCommitmentRequest): Promise { + const data = QueryDataRequestCommitmentRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestCommitment", data); + return promise.then((data) => QueryDataRequestCommitmentResponse.decode(_m0.Reader.create(data))); + } + + DataRequestCommitments(request: QueryDataRequestCommitmentsRequest): Promise { + const data = QueryDataRequestCommitmentsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestCommitments", data); + return promise.then((data) => QueryDataRequestCommitmentsResponse.decode(_m0.Reader.create(data))); + } + + DataRequestReveal(request: QueryDataRequestRevealRequest): Promise { + const data = QueryDataRequestRevealRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestReveal", data); + return promise.then((data) => QueryDataRequestRevealResponse.decode(_m0.Reader.create(data))); + } + + DataRequestReveals(request: QueryDataRequestRevealsRequest): Promise { + const data = QueryDataRequestRevealsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestReveals", data); + return promise.then((data) => QueryDataRequestRevealsResponse.decode(_m0.Reader.create(data))); + } + + DataRequestsByStatus(request: QueryDataRequestsByStatusRequest): Promise { + const data = QueryDataRequestsByStatusRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestsByStatus", data); + return promise.then((data) => QueryDataRequestsByStatusResponse.decode(_m0.Reader.create(data))); + } + + AccountSeq(request: QueryAccountSeqRequest): Promise { + const data = QueryAccountSeqRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "AccountSeq", data); + return promise.then((data) => QueryAccountSeqResponse.decode(_m0.Reader.create(data))); + } + + StakerAndSeq(request: QueryStakerAndSeqRequest): Promise { + const data = QueryStakerAndSeqRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "StakerAndSeq", data); + return promise.then((data) => QueryStakerAndSeqResponse.decode(_m0.Reader.create(data))); + } + + IsStakerExecutor(request: QueryIsStakerExecutorRequest): Promise { + const data = QueryIsStakerExecutorRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "IsStakerExecutor", data); + return promise.then((data) => QueryIsStakerExecutorResponse.decode(_m0.Reader.create(data))); + } + + ExecutorEligibility(request: QueryExecutorEligibilityRequest): Promise { + const data = QueryExecutorEligibilityRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "ExecutorEligibility", data); + return promise.then((data) => QueryExecutorEligibilityResponse.decode(_m0.Reader.create(data))); + } + + LegacyExecutorEligibility( + request: QueryLegacyExecutorEligibilityRequest, + ): Promise { + const data = QueryLegacyExecutorEligibilityRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyExecutorEligibility", data); + return promise.then((data) => QueryLegacyExecutorEligibilityResponse.decode(_m0.Reader.create(data))); + } + + DataRequestStatuses(request: QueryDataRequestStatusesRequest): Promise { + const data = QueryDataRequestStatusesRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestStatuses", data); + return promise.then((data) => QueryDataRequestStatusesResponse.decode(_m0.Reader.create(data))); + } + + Params(request: QueryParamsRequest): Promise { + const data = QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Params", data); + return promise.then((data) => QueryParamsResponse.decode(_m0.Reader.create(data))); + } + + StakingConfig(request: QueryStakingConfigRequest): Promise { + const data = QueryStakingConfigRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "StakingConfig", data); + return promise.then((data) => QueryStakingConfigResponse.decode(_m0.Reader.create(data))); + } + + DataRequestConfig(request: QueryDataRequestConfigRequest): Promise { + const data = QueryDataRequestConfigRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "DataRequestConfig", data); + return promise.then((data) => QueryDataRequestConfigResponse.decode(_m0.Reader.create(data))); + } +} + +interface Rpc { + request(service: string, method: string, data: Uint8Array): Promise; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +function longToBigint(long: Long) { + return BigInt(long.toString()); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isObject(value: any): boolean { + return typeof value === "object" && value !== null; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/libs/proto-messages/gen/sedachain/core/v1/tx.ts b/libs/proto-messages/gen/sedachain/core/v1/tx.ts new file mode 100644 index 00000000..7fa8029d --- /dev/null +++ b/libs/proto-messages/gen/sedachain/core/v1/tx.ts @@ -0,0 +1,3211 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v1.181.2 +// protoc unknown +// source: sedachain/core/v1/tx.proto + +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Coin } from "../../../cosmos/base/v1beta1/coin"; +import { Params, RevealBody } from "./core"; + +/** The request message for the AcceptOwnership method. */ +export interface MsgAcceptOwnership { + sender: string; +} + +/** The response message for the AcceptOwnership method. */ +export interface MsgAcceptOwnershipResponse { +} + +/** The request message for the TransferOwnership method. */ +export interface MsgTransferOwnership { + sender: string; + newOwner: string; +} + +/** The response message for the TransferOwnership method. */ +export interface MsgTransferOwnershipResponse { +} + +/** The request message for the AddToAllowlist method. */ +export interface MsgAddToAllowlist { + sender: string; + publicKey: string; +} + +/** The response message for the AddToAllowlist method. */ +export interface MsgAddToAllowlistResponse { +} + +/** The request message for the RemoveFromAllowlist method. */ +export interface MsgRemoveFromAllowlist { + sender: string; + publicKey: string; +} + +/** The response message for the RemoveFromAllowlist method. */ +export interface MsgRemoveFromAllowlistResponse { +} + +/** The request message for the Pause method. */ +export interface MsgPause { + sender: string; +} + +/** The response message for the Pause method. */ +export interface MsgPauseResponse { +} + +/** The request message for the Unpause method. */ +export interface MsgUnpause { + sender: string; +} + +/** The response message for the Unpause method. */ +export interface MsgUnpauseResponse { +} + +/** The request message for the Stake method. */ +export interface MsgStake { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Base64-encoded string. */ + memo: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; + /** Amount of SEDA tokens to be staked from the sender account. */ + stake: Coin | undefined; +} + +/** The response message for the Stake method. */ +export interface MsgStakeResponse { +} + +/** The request message for the LegacyStake method. */ +export interface MsgLegacyStake { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Base64-encoded string. */ + memo: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; + /** Amount of SEDA tokens to be staked from the sender account. */ + stake: Coin | undefined; +} + +/** The response message for the LegacyStake method. */ +export interface MsgLegacyStakeResponse { +} + +/** The request message for the Unstake method. */ +export interface MsgUnstake { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; +} + +/** The response message for the Unstake method. */ +export interface MsgUnstakeResponse { +} + +/** The request message for the LegacyUnstake method. */ +export interface MsgLegacyUnstake { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; +} + +/** The response message for the LegacyUnstake method. */ +export interface MsgLegacyUnstakeResponse { +} + +/** The request message for the Withdraw method. */ +export interface MsgWithdraw { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; + /** Address to which the withdrawn rewards will be sent. */ + withdrawAddress: string; +} + +/** The response message for the Withdraw method. */ +export interface MsgWithdrawResponse { +} + +/** The request message for the LegacyWithdraw method. */ +export interface MsgLegacyWithdraw { + /** Address of the tx sender. */ + sender: string; + /** Hex-encoded identity of the executor. */ + publicKey: string; + /** Hex-encoded proof of the executor identity. */ + proof: string; + /** Address to which the withdrawn rewards will be sent. */ + withdrawAddress: string; +} + +/** The response message for the LegacyWithdraw method. */ +export interface MsgLegacyWithdrawResponse { +} + +/** The request message for the PostDataRequest method. */ +export interface MsgPostDataRequest { + /** Poster of the data request */ + sender: string; + /** Funds attached to the data request posting */ + funds: + | Coin + | undefined; + /** Semantic versioning */ + version: string; + /** Hex-encoded ID (hash) of the execution program */ + execProgramID: string; + /** Inputs for the execution program */ + execInputs: Uint8Array; + /** Gas limit for execution program execution */ + execGasLimit: bigint; + /** Hex-encoded ID (hash) of the tally program */ + tallyProgramID: string; + /** Inputs for the tally program */ + tallyInputs: Uint8Array; + /** Gas limit for tally program execution */ + tallyGasLimit: bigint; + /** Number of required data request executors (used as uint16) */ + replicationFactor: number; + /** Specifications for the filter process */ + consensusFilter: Uint8Array; + /** Amount of SEDA tokens per unit gas (used as uint128) */ + gasPrice: string; + /** Public information attached to the data request */ + memo: Uint8Array; + /** Set by SEDA Protocol (e.g. OEV-enabled data requests) */ + sEDAPayload: Uint8Array; + /** Set by the relayer */ + paybackAddress: Uint8Array; +} + +/** The response message for the PostDataRequest method. */ +export interface MsgPostDataRequestResponse { + /** DrId is the hex-encoded ID of the data request. */ + drID: string; + /** Height is the block height at which the data request was posted. */ + height: bigint; +} + +/** The request message for the Commit method. */ +export interface MsgCommit { + sender: string; + drID: string; + commit: string; + publicKey: string; + proof: string; +} + +/** The response message for the Commit method. */ +export interface MsgCommitResponse { +} + +/** The request message for the LegacyCommit method. */ +export interface MsgLegacyCommit { + sender: string; + drID: string; + commit: string; + publicKey: string; + proof: string; +} + +/** The response message for the LegacyCommit method. */ +export interface MsgLegacyCommitResponse { +} + +/** The request message for the Reveal method. */ +export interface MsgReveal { + sender: string; + revealBody: RevealBody | undefined; + publicKey: string; + proof: string; + stderr: string[]; + stdout: string[]; +} + +/** The response message for the Reveal method. */ +export interface MsgRevealResponse { +} + +/** The request message for the LegacyReveal method. */ +export interface MsgLegacyReveal { + sender: string; + revealBody: RevealBody | undefined; + publicKey: string; + proof: string; + stderr: string[]; + stdout: string[]; +} + +/** The response message for the LegacyReveal method. */ +export interface MsgLegacyRevealResponse { +} + +/** The request message for the UpdateParams method. */ +export interface MsgUpdateParams { + owner: string; + params: Params | undefined; +} + +/** The response message for the UpdateParams method. */ +export interface MsgUpdateParamsResponse { +} + +function createBaseMsgAcceptOwnership(): MsgAcceptOwnership { + return { sender: "" }; +} + +export const MsgAcceptOwnership = { + encode(message: MsgAcceptOwnership, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAcceptOwnership { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAcceptOwnership(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAcceptOwnership { + return { sender: isSet(object.sender) ? globalThis.String(object.sender) : "" }; + }, + + toJSON(message: MsgAcceptOwnership): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + return obj; + }, + + create(base?: DeepPartial): MsgAcceptOwnership { + return MsgAcceptOwnership.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgAcceptOwnership { + const message = createBaseMsgAcceptOwnership(); + message.sender = object.sender ?? ""; + return message; + }, +}; + +function createBaseMsgAcceptOwnershipResponse(): MsgAcceptOwnershipResponse { + return {}; +} + +export const MsgAcceptOwnershipResponse = { + encode(_: MsgAcceptOwnershipResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAcceptOwnershipResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAcceptOwnershipResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAcceptOwnershipResponse { + return {}; + }, + + toJSON(_: MsgAcceptOwnershipResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgAcceptOwnershipResponse { + return MsgAcceptOwnershipResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgAcceptOwnershipResponse { + const message = createBaseMsgAcceptOwnershipResponse(); + return message; + }, +}; + +function createBaseMsgTransferOwnership(): MsgTransferOwnership { + return { sender: "", newOwner: "" }; +} + +export const MsgTransferOwnership = { + encode(message: MsgTransferOwnership, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.newOwner !== "") { + writer.uint32(18).string(message.newOwner); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgTransferOwnership { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgTransferOwnership(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.newOwner = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgTransferOwnership { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + newOwner: isSet(object.newOwner) ? globalThis.String(object.newOwner) : "", + }; + }, + + toJSON(message: MsgTransferOwnership): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.newOwner !== "") { + obj.newOwner = message.newOwner; + } + return obj; + }, + + create(base?: DeepPartial): MsgTransferOwnership { + return MsgTransferOwnership.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgTransferOwnership { + const message = createBaseMsgTransferOwnership(); + message.sender = object.sender ?? ""; + message.newOwner = object.newOwner ?? ""; + return message; + }, +}; + +function createBaseMsgTransferOwnershipResponse(): MsgTransferOwnershipResponse { + return {}; +} + +export const MsgTransferOwnershipResponse = { + encode(_: MsgTransferOwnershipResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgTransferOwnershipResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgTransferOwnershipResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgTransferOwnershipResponse { + return {}; + }, + + toJSON(_: MsgTransferOwnershipResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgTransferOwnershipResponse { + return MsgTransferOwnershipResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgTransferOwnershipResponse { + const message = createBaseMsgTransferOwnershipResponse(); + return message; + }, +}; + +function createBaseMsgAddToAllowlist(): MsgAddToAllowlist { + return { sender: "", publicKey: "" }; +} + +export const MsgAddToAllowlist = { + encode(message: MsgAddToAllowlist, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddToAllowlist { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddToAllowlist(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAddToAllowlist { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + }; + }, + + toJSON(message: MsgAddToAllowlist): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): MsgAddToAllowlist { + return MsgAddToAllowlist.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgAddToAllowlist { + const message = createBaseMsgAddToAllowlist(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseMsgAddToAllowlistResponse(): MsgAddToAllowlistResponse { + return {}; +} + +export const MsgAddToAllowlistResponse = { + encode(_: MsgAddToAllowlistResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddToAllowlistResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddToAllowlistResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAddToAllowlistResponse { + return {}; + }, + + toJSON(_: MsgAddToAllowlistResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgAddToAllowlistResponse { + return MsgAddToAllowlistResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgAddToAllowlistResponse { + const message = createBaseMsgAddToAllowlistResponse(); + return message; + }, +}; + +function createBaseMsgRemoveFromAllowlist(): MsgRemoveFromAllowlist { + return { sender: "", publicKey: "" }; +} + +export const MsgRemoveFromAllowlist = { + encode(message: MsgRemoveFromAllowlist, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveFromAllowlist { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveFromAllowlist(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRemoveFromAllowlist { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + }; + }, + + toJSON(message: MsgRemoveFromAllowlist): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + return obj; + }, + + create(base?: DeepPartial): MsgRemoveFromAllowlist { + return MsgRemoveFromAllowlist.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgRemoveFromAllowlist { + const message = createBaseMsgRemoveFromAllowlist(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + return message; + }, +}; + +function createBaseMsgRemoveFromAllowlistResponse(): MsgRemoveFromAllowlistResponse { + return {}; +} + +export const MsgRemoveFromAllowlistResponse = { + encode(_: MsgRemoveFromAllowlistResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveFromAllowlistResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveFromAllowlistResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRemoveFromAllowlistResponse { + return {}; + }, + + toJSON(_: MsgRemoveFromAllowlistResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgRemoveFromAllowlistResponse { + return MsgRemoveFromAllowlistResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgRemoveFromAllowlistResponse { + const message = createBaseMsgRemoveFromAllowlistResponse(); + return message; + }, +}; + +function createBaseMsgPause(): MsgPause { + return { sender: "" }; +} + +export const MsgPause = { + encode(message: MsgPause, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPause { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPause(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgPause { + return { sender: isSet(object.sender) ? globalThis.String(object.sender) : "" }; + }, + + toJSON(message: MsgPause): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + return obj; + }, + + create(base?: DeepPartial): MsgPause { + return MsgPause.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgPause { + const message = createBaseMsgPause(); + message.sender = object.sender ?? ""; + return message; + }, +}; + +function createBaseMsgPauseResponse(): MsgPauseResponse { + return {}; +} + +export const MsgPauseResponse = { + encode(_: MsgPauseResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPauseResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPauseResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgPauseResponse { + return {}; + }, + + toJSON(_: MsgPauseResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgPauseResponse { + return MsgPauseResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgPauseResponse { + const message = createBaseMsgPauseResponse(); + return message; + }, +}; + +function createBaseMsgUnpause(): MsgUnpause { + return { sender: "" }; +} + +export const MsgUnpause = { + encode(message: MsgUnpause, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnpause { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpause(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUnpause { + return { sender: isSet(object.sender) ? globalThis.String(object.sender) : "" }; + }, + + toJSON(message: MsgUnpause): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + return obj; + }, + + create(base?: DeepPartial): MsgUnpause { + return MsgUnpause.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgUnpause { + const message = createBaseMsgUnpause(); + message.sender = object.sender ?? ""; + return message; + }, +}; + +function createBaseMsgUnpauseResponse(): MsgUnpauseResponse { + return {}; +} + +export const MsgUnpauseResponse = { + encode(_: MsgUnpauseResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnpauseResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpauseResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUnpauseResponse { + return {}; + }, + + toJSON(_: MsgUnpauseResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgUnpauseResponse { + return MsgUnpauseResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgUnpauseResponse { + const message = createBaseMsgUnpauseResponse(); + return message; + }, +}; + +function createBaseMsgStake(): MsgStake { + return { sender: "", publicKey: "", memo: "", proof: "", stake: undefined }; +} + +export const MsgStake = { + encode(message: MsgStake, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.memo !== "") { + writer.uint32(26).string(message.memo); + } + if (message.proof !== "") { + writer.uint32(34).string(message.proof); + } + if (message.stake !== undefined) { + Coin.encode(message.stake, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStake { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStake(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.memo = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.proof = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.stake = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStake { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + memo: isSet(object.memo) ? globalThis.String(object.memo) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + stake: isSet(object.stake) ? Coin.fromJSON(object.stake) : undefined, + }; + }, + + toJSON(message: MsgStake): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.memo !== "") { + obj.memo = message.memo; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.stake !== undefined) { + obj.stake = Coin.toJSON(message.stake); + } + return obj; + }, + + create(base?: DeepPartial): MsgStake { + return MsgStake.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgStake { + const message = createBaseMsgStake(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.memo = object.memo ?? ""; + message.proof = object.proof ?? ""; + message.stake = (object.stake !== undefined && object.stake !== null) ? Coin.fromPartial(object.stake) : undefined; + return message; + }, +}; + +function createBaseMsgStakeResponse(): MsgStakeResponse { + return {}; +} + +export const MsgStakeResponse = { + encode(_: MsgStakeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStakeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStakeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgStakeResponse { + return {}; + }, + + toJSON(_: MsgStakeResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgStakeResponse { + return MsgStakeResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgStakeResponse { + const message = createBaseMsgStakeResponse(); + return message; + }, +}; + +function createBaseMsgLegacyStake(): MsgLegacyStake { + return { sender: "", publicKey: "", memo: "", proof: "", stake: undefined }; +} + +export const MsgLegacyStake = { + encode(message: MsgLegacyStake, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.memo !== "") { + writer.uint32(26).string(message.memo); + } + if (message.proof !== "") { + writer.uint32(34).string(message.proof); + } + if (message.stake !== undefined) { + Coin.encode(message.stake, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyStake { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyStake(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.memo = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.proof = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.stake = Coin.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgLegacyStake { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + memo: isSet(object.memo) ? globalThis.String(object.memo) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + stake: isSet(object.stake) ? Coin.fromJSON(object.stake) : undefined, + }; + }, + + toJSON(message: MsgLegacyStake): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.memo !== "") { + obj.memo = message.memo; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.stake !== undefined) { + obj.stake = Coin.toJSON(message.stake); + } + return obj; + }, + + create(base?: DeepPartial): MsgLegacyStake { + return MsgLegacyStake.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgLegacyStake { + const message = createBaseMsgLegacyStake(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.memo = object.memo ?? ""; + message.proof = object.proof ?? ""; + message.stake = (object.stake !== undefined && object.stake !== null) ? Coin.fromPartial(object.stake) : undefined; + return message; + }, +}; + +function createBaseMsgLegacyStakeResponse(): MsgLegacyStakeResponse { + return {}; +} + +export const MsgLegacyStakeResponse = { + encode(_: MsgLegacyStakeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyStakeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyStakeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgLegacyStakeResponse { + return {}; + }, + + toJSON(_: MsgLegacyStakeResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgLegacyStakeResponse { + return MsgLegacyStakeResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgLegacyStakeResponse { + const message = createBaseMsgLegacyStakeResponse(); + return message; + }, +}; + +function createBaseMsgUnstake(): MsgUnstake { + return { sender: "", publicKey: "", proof: "" }; +} + +export const MsgUnstake = { + encode(message: MsgUnstake, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(26).string(message.proof); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnstake { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnstake(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUnstake { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + }; + }, + + toJSON(message: MsgUnstake): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + return obj; + }, + + create(base?: DeepPartial): MsgUnstake { + return MsgUnstake.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgUnstake { + const message = createBaseMsgUnstake(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + return message; + }, +}; + +function createBaseMsgUnstakeResponse(): MsgUnstakeResponse { + return {}; +} + +export const MsgUnstakeResponse = { + encode(_: MsgUnstakeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnstakeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnstakeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUnstakeResponse { + return {}; + }, + + toJSON(_: MsgUnstakeResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgUnstakeResponse { + return MsgUnstakeResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgUnstakeResponse { + const message = createBaseMsgUnstakeResponse(); + return message; + }, +}; + +function createBaseMsgLegacyUnstake(): MsgLegacyUnstake { + return { sender: "", publicKey: "", proof: "" }; +} + +export const MsgLegacyUnstake = { + encode(message: MsgLegacyUnstake, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(26).string(message.proof); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyUnstake { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyUnstake(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgLegacyUnstake { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + }; + }, + + toJSON(message: MsgLegacyUnstake): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + return obj; + }, + + create(base?: DeepPartial): MsgLegacyUnstake { + return MsgLegacyUnstake.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgLegacyUnstake { + const message = createBaseMsgLegacyUnstake(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + return message; + }, +}; + +function createBaseMsgLegacyUnstakeResponse(): MsgLegacyUnstakeResponse { + return {}; +} + +export const MsgLegacyUnstakeResponse = { + encode(_: MsgLegacyUnstakeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyUnstakeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyUnstakeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgLegacyUnstakeResponse { + return {}; + }, + + toJSON(_: MsgLegacyUnstakeResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgLegacyUnstakeResponse { + return MsgLegacyUnstakeResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgLegacyUnstakeResponse { + const message = createBaseMsgLegacyUnstakeResponse(); + return message; + }, +}; + +function createBaseMsgWithdraw(): MsgWithdraw { + return { sender: "", publicKey: "", proof: "", withdrawAddress: "" }; +} + +export const MsgWithdraw = { + encode(message: MsgWithdraw, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(26).string(message.proof); + } + if (message.withdrawAddress !== "") { + writer.uint32(34).string(message.withdrawAddress); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdraw { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdraw(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.withdrawAddress = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgWithdraw { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + withdrawAddress: isSet(object.withdrawAddress) ? globalThis.String(object.withdrawAddress) : "", + }; + }, + + toJSON(message: MsgWithdraw): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.withdrawAddress !== "") { + obj.withdrawAddress = message.withdrawAddress; + } + return obj; + }, + + create(base?: DeepPartial): MsgWithdraw { + return MsgWithdraw.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgWithdraw { + const message = createBaseMsgWithdraw(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + message.withdrawAddress = object.withdrawAddress ?? ""; + return message; + }, +}; + +function createBaseMsgWithdrawResponse(): MsgWithdrawResponse { + return {}; +} + +export const MsgWithdrawResponse = { + encode(_: MsgWithdrawResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgWithdrawResponse { + return {}; + }, + + toJSON(_: MsgWithdrawResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgWithdrawResponse { + return MsgWithdrawResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgWithdrawResponse { + const message = createBaseMsgWithdrawResponse(); + return message; + }, +}; + +function createBaseMsgLegacyWithdraw(): MsgLegacyWithdraw { + return { sender: "", publicKey: "", proof: "", withdrawAddress: "" }; +} + +export const MsgLegacyWithdraw = { + encode(message: MsgLegacyWithdraw, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.publicKey !== "") { + writer.uint32(18).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(26).string(message.proof); + } + if (message.withdrawAddress !== "") { + writer.uint32(34).string(message.withdrawAddress); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyWithdraw { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyWithdraw(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.publicKey = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.proof = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.withdrawAddress = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgLegacyWithdraw { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + withdrawAddress: isSet(object.withdrawAddress) ? globalThis.String(object.withdrawAddress) : "", + }; + }, + + toJSON(message: MsgLegacyWithdraw): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.withdrawAddress !== "") { + obj.withdrawAddress = message.withdrawAddress; + } + return obj; + }, + + create(base?: DeepPartial): MsgLegacyWithdraw { + return MsgLegacyWithdraw.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgLegacyWithdraw { + const message = createBaseMsgLegacyWithdraw(); + message.sender = object.sender ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + message.withdrawAddress = object.withdrawAddress ?? ""; + return message; + }, +}; + +function createBaseMsgLegacyWithdrawResponse(): MsgLegacyWithdrawResponse { + return {}; +} + +export const MsgLegacyWithdrawResponse = { + encode(_: MsgLegacyWithdrawResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyWithdrawResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyWithdrawResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgLegacyWithdrawResponse { + return {}; + }, + + toJSON(_: MsgLegacyWithdrawResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgLegacyWithdrawResponse { + return MsgLegacyWithdrawResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgLegacyWithdrawResponse { + const message = createBaseMsgLegacyWithdrawResponse(); + return message; + }, +}; + +function createBaseMsgPostDataRequest(): MsgPostDataRequest { + return { + sender: "", + funds: undefined, + version: "", + execProgramID: "", + execInputs: new Uint8Array(0), + execGasLimit: 0n, + tallyProgramID: "", + tallyInputs: new Uint8Array(0), + tallyGasLimit: 0n, + replicationFactor: 0, + consensusFilter: new Uint8Array(0), + gasPrice: "", + memo: new Uint8Array(0), + sEDAPayload: new Uint8Array(0), + paybackAddress: new Uint8Array(0), + }; +} + +export const MsgPostDataRequest = { + encode(message: MsgPostDataRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.funds !== undefined) { + Coin.encode(message.funds, writer.uint32(18).fork()).ldelim(); + } + if (message.version !== "") { + writer.uint32(26).string(message.version); + } + if (message.execProgramID !== "") { + writer.uint32(34).string(message.execProgramID); + } + if (message.execInputs.length !== 0) { + writer.uint32(42).bytes(message.execInputs); + } + if (message.execGasLimit !== 0n) { + if (BigInt.asUintN(64, message.execGasLimit) !== message.execGasLimit) { + throw new globalThis.Error("value provided for field message.execGasLimit of type uint64 too large"); + } + writer.uint32(48).uint64(message.execGasLimit.toString()); + } + if (message.tallyProgramID !== "") { + writer.uint32(58).string(message.tallyProgramID); + } + if (message.tallyInputs.length !== 0) { + writer.uint32(66).bytes(message.tallyInputs); + } + if (message.tallyGasLimit !== 0n) { + if (BigInt.asUintN(64, message.tallyGasLimit) !== message.tallyGasLimit) { + throw new globalThis.Error("value provided for field message.tallyGasLimit of type uint64 too large"); + } + writer.uint32(72).uint64(message.tallyGasLimit.toString()); + } + if (message.replicationFactor !== 0) { + writer.uint32(80).uint32(message.replicationFactor); + } + if (message.consensusFilter.length !== 0) { + writer.uint32(90).bytes(message.consensusFilter); + } + if (message.gasPrice !== "") { + writer.uint32(98).string(message.gasPrice); + } + if (message.memo.length !== 0) { + writer.uint32(106).bytes(message.memo); + } + if (message.sEDAPayload.length !== 0) { + writer.uint32(114).bytes(message.sEDAPayload); + } + if (message.paybackAddress.length !== 0) { + writer.uint32(122).bytes(message.paybackAddress); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostDataRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPostDataRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.funds = Coin.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.version = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.execProgramID = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.execInputs = reader.bytes(); + continue; + case 6: + if (tag !== 48) { + break; + } + + message.execGasLimit = longToBigint(reader.uint64() as Long); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.tallyProgramID = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.tallyInputs = reader.bytes(); + continue; + case 9: + if (tag !== 72) { + break; + } + + message.tallyGasLimit = longToBigint(reader.uint64() as Long); + continue; + case 10: + if (tag !== 80) { + break; + } + + message.replicationFactor = reader.uint32(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.consensusFilter = reader.bytes(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.gasPrice = reader.string(); + continue; + case 13: + if (tag !== 106) { + break; + } + + message.memo = reader.bytes(); + continue; + case 14: + if (tag !== 114) { + break; + } + + message.sEDAPayload = reader.bytes(); + continue; + case 15: + if (tag !== 122) { + break; + } + + message.paybackAddress = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgPostDataRequest { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + funds: isSet(object.funds) ? Coin.fromJSON(object.funds) : undefined, + version: isSet(object.version) ? globalThis.String(object.version) : "", + execProgramID: isSet(object.execProgramID) ? globalThis.String(object.execProgramID) : "", + execInputs: isSet(object.execInputs) ? bytesFromBase64(object.execInputs) : new Uint8Array(0), + execGasLimit: isSet(object.execGasLimit) ? BigInt(object.execGasLimit) : 0n, + tallyProgramID: isSet(object.tallyProgramID) ? globalThis.String(object.tallyProgramID) : "", + tallyInputs: isSet(object.tallyInputs) ? bytesFromBase64(object.tallyInputs) : new Uint8Array(0), + tallyGasLimit: isSet(object.tallyGasLimit) ? BigInt(object.tallyGasLimit) : 0n, + replicationFactor: isSet(object.replicationFactor) ? globalThis.Number(object.replicationFactor) : 0, + consensusFilter: isSet(object.consensusFilter) ? bytesFromBase64(object.consensusFilter) : new Uint8Array(0), + gasPrice: isSet(object.gasPrice) ? globalThis.String(object.gasPrice) : "", + memo: isSet(object.memo) ? bytesFromBase64(object.memo) : new Uint8Array(0), + sEDAPayload: isSet(object.sEDAPayload) ? bytesFromBase64(object.sEDAPayload) : new Uint8Array(0), + paybackAddress: isSet(object.paybackAddress) ? bytesFromBase64(object.paybackAddress) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgPostDataRequest): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.funds !== undefined) { + obj.funds = Coin.toJSON(message.funds); + } + if (message.version !== "") { + obj.version = message.version; + } + if (message.execProgramID !== "") { + obj.execProgramID = message.execProgramID; + } + if (message.execInputs.length !== 0) { + obj.execInputs = base64FromBytes(message.execInputs); + } + if (message.execGasLimit !== 0n) { + obj.execGasLimit = message.execGasLimit.toString(); + } + if (message.tallyProgramID !== "") { + obj.tallyProgramID = message.tallyProgramID; + } + if (message.tallyInputs.length !== 0) { + obj.tallyInputs = base64FromBytes(message.tallyInputs); + } + if (message.tallyGasLimit !== 0n) { + obj.tallyGasLimit = message.tallyGasLimit.toString(); + } + if (message.replicationFactor !== 0) { + obj.replicationFactor = Math.round(message.replicationFactor); + } + if (message.consensusFilter.length !== 0) { + obj.consensusFilter = base64FromBytes(message.consensusFilter); + } + if (message.gasPrice !== "") { + obj.gasPrice = message.gasPrice; + } + if (message.memo.length !== 0) { + obj.memo = base64FromBytes(message.memo); + } + if (message.sEDAPayload.length !== 0) { + obj.sEDAPayload = base64FromBytes(message.sEDAPayload); + } + if (message.paybackAddress.length !== 0) { + obj.paybackAddress = base64FromBytes(message.paybackAddress); + } + return obj; + }, + + create(base?: DeepPartial): MsgPostDataRequest { + return MsgPostDataRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgPostDataRequest { + const message = createBaseMsgPostDataRequest(); + message.sender = object.sender ?? ""; + message.funds = (object.funds !== undefined && object.funds !== null) ? Coin.fromPartial(object.funds) : undefined; + message.version = object.version ?? ""; + message.execProgramID = object.execProgramID ?? ""; + message.execInputs = object.execInputs ?? new Uint8Array(0); + message.execGasLimit = object.execGasLimit ?? 0n; + message.tallyProgramID = object.tallyProgramID ?? ""; + message.tallyInputs = object.tallyInputs ?? new Uint8Array(0); + message.tallyGasLimit = object.tallyGasLimit ?? 0n; + message.replicationFactor = object.replicationFactor ?? 0; + message.consensusFilter = object.consensusFilter ?? new Uint8Array(0); + message.gasPrice = object.gasPrice ?? ""; + message.memo = object.memo ?? new Uint8Array(0); + message.sEDAPayload = object.sEDAPayload ?? new Uint8Array(0); + message.paybackAddress = object.paybackAddress ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgPostDataRequestResponse(): MsgPostDataRequestResponse { + return { drID: "", height: 0n }; +} + +export const MsgPostDataRequestResponse = { + encode(message: MsgPostDataRequestResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.drID !== "") { + writer.uint32(10).string(message.drID); + } + 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.toString()); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostDataRequestResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPostDataRequestResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.drID = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.height = longToBigint(reader.int64() as Long); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgPostDataRequestResponse { + return { + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + height: isSet(object.height) ? BigInt(object.height) : 0n, + }; + }, + + toJSON(message: MsgPostDataRequestResponse): unknown { + const obj: any = {}; + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.height !== 0n) { + obj.height = message.height.toString(); + } + return obj; + }, + + create(base?: DeepPartial): MsgPostDataRequestResponse { + return MsgPostDataRequestResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgPostDataRequestResponse { + const message = createBaseMsgPostDataRequestResponse(); + message.drID = object.drID ?? ""; + message.height = object.height ?? 0n; + return message; + }, +}; + +function createBaseMsgCommit(): MsgCommit { + return { sender: "", drID: "", commit: "", publicKey: "", proof: "" }; +} + +export const MsgCommit = { + encode(message: MsgCommit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.drID !== "") { + writer.uint32(18).string(message.drID); + } + if (message.commit !== "") { + writer.uint32(26).string(message.commit); + } + if (message.publicKey !== "") { + writer.uint32(34).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(42).string(message.proof); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCommit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.drID = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.commit = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.publicKey = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.proof = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgCommit { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + commit: isSet(object.commit) ? globalThis.String(object.commit) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + }; + }, + + toJSON(message: MsgCommit): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.commit !== "") { + obj.commit = message.commit; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + return obj; + }, + + create(base?: DeepPartial): MsgCommit { + return MsgCommit.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgCommit { + const message = createBaseMsgCommit(); + message.sender = object.sender ?? ""; + message.drID = object.drID ?? ""; + message.commit = object.commit ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + return message; + }, +}; + +function createBaseMsgCommitResponse(): MsgCommitResponse { + return {}; +} + +export const MsgCommitResponse = { + encode(_: MsgCommitResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCommitResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCommitResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgCommitResponse { + return {}; + }, + + toJSON(_: MsgCommitResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgCommitResponse { + return MsgCommitResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgCommitResponse { + const message = createBaseMsgCommitResponse(); + return message; + }, +}; + +function createBaseMsgLegacyCommit(): MsgLegacyCommit { + return { sender: "", drID: "", commit: "", publicKey: "", proof: "" }; +} + +export const MsgLegacyCommit = { + encode(message: MsgLegacyCommit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.drID !== "") { + writer.uint32(18).string(message.drID); + } + if (message.commit !== "") { + writer.uint32(26).string(message.commit); + } + if (message.publicKey !== "") { + writer.uint32(34).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(42).string(message.proof); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyCommit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.drID = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.commit = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.publicKey = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.proof = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgLegacyCommit { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + drID: isSet(object.drID) ? globalThis.String(object.drID) : "", + commit: isSet(object.commit) ? globalThis.String(object.commit) : "", + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + }; + }, + + toJSON(message: MsgLegacyCommit): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.drID !== "") { + obj.drID = message.drID; + } + if (message.commit !== "") { + obj.commit = message.commit; + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + return obj; + }, + + create(base?: DeepPartial): MsgLegacyCommit { + return MsgLegacyCommit.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgLegacyCommit { + const message = createBaseMsgLegacyCommit(); + message.sender = object.sender ?? ""; + message.drID = object.drID ?? ""; + message.commit = object.commit ?? ""; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + return message; + }, +}; + +function createBaseMsgLegacyCommitResponse(): MsgLegacyCommitResponse { + return {}; +} + +export const MsgLegacyCommitResponse = { + encode(_: MsgLegacyCommitResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyCommitResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyCommitResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgLegacyCommitResponse { + return {}; + }, + + toJSON(_: MsgLegacyCommitResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgLegacyCommitResponse { + return MsgLegacyCommitResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgLegacyCommitResponse { + const message = createBaseMsgLegacyCommitResponse(); + return message; + }, +}; + +function createBaseMsgReveal(): MsgReveal { + return { sender: "", revealBody: undefined, publicKey: "", proof: "", stderr: [], stdout: [] }; +} + +export const MsgReveal = { + encode(message: MsgReveal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.revealBody !== undefined) { + RevealBody.encode(message.revealBody, writer.uint32(18).fork()).ldelim(); + } + if (message.publicKey !== "") { + writer.uint32(26).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(34).string(message.proof); + } + for (const v of message.stderr) { + writer.uint32(42).string(v!); + } + for (const v of message.stdout) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgReveal { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgReveal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.revealBody = RevealBody.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.publicKey = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.proof = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.stderr.push(reader.string()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.stdout.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgReveal { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + revealBody: isSet(object.revealBody) ? RevealBody.fromJSON(object.revealBody) : undefined, + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + stderr: globalThis.Array.isArray(object?.stderr) ? object.stderr.map((e: any) => globalThis.String(e)) : [], + stdout: globalThis.Array.isArray(object?.stdout) ? object.stdout.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: MsgReveal): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.revealBody !== undefined) { + obj.revealBody = RevealBody.toJSON(message.revealBody); + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.stderr?.length) { + obj.stderr = message.stderr; + } + if (message.stdout?.length) { + obj.stdout = message.stdout; + } + return obj; + }, + + create(base?: DeepPartial): MsgReveal { + return MsgReveal.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgReveal { + const message = createBaseMsgReveal(); + message.sender = object.sender ?? ""; + message.revealBody = (object.revealBody !== undefined && object.revealBody !== null) + ? RevealBody.fromPartial(object.revealBody) + : undefined; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + message.stderr = object.stderr?.map((e) => e) || []; + message.stdout = object.stdout?.map((e) => e) || []; + return message; + }, +}; + +function createBaseMsgRevealResponse(): MsgRevealResponse { + return {}; +} + +export const MsgRevealResponse = { + encode(_: MsgRevealResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRevealResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevealResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRevealResponse { + return {}; + }, + + toJSON(_: MsgRevealResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgRevealResponse { + return MsgRevealResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgRevealResponse { + const message = createBaseMsgRevealResponse(); + return message; + }, +}; + +function createBaseMsgLegacyReveal(): MsgLegacyReveal { + return { sender: "", revealBody: undefined, publicKey: "", proof: "", stderr: [], stdout: [] }; +} + +export const MsgLegacyReveal = { + encode(message: MsgLegacyReveal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.revealBody !== undefined) { + RevealBody.encode(message.revealBody, writer.uint32(18).fork()).ldelim(); + } + if (message.publicKey !== "") { + writer.uint32(26).string(message.publicKey); + } + if (message.proof !== "") { + writer.uint32(34).string(message.proof); + } + for (const v of message.stderr) { + writer.uint32(42).string(v!); + } + for (const v of message.stdout) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyReveal { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyReveal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.revealBody = RevealBody.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.publicKey = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.proof = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.stderr.push(reader.string()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.stdout.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgLegacyReveal { + return { + sender: isSet(object.sender) ? globalThis.String(object.sender) : "", + revealBody: isSet(object.revealBody) ? RevealBody.fromJSON(object.revealBody) : undefined, + publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", + proof: isSet(object.proof) ? globalThis.String(object.proof) : "", + stderr: globalThis.Array.isArray(object?.stderr) ? object.stderr.map((e: any) => globalThis.String(e)) : [], + stdout: globalThis.Array.isArray(object?.stdout) ? object.stdout.map((e: any) => globalThis.String(e)) : [], + }; + }, + + toJSON(message: MsgLegacyReveal): unknown { + const obj: any = {}; + if (message.sender !== "") { + obj.sender = message.sender; + } + if (message.revealBody !== undefined) { + obj.revealBody = RevealBody.toJSON(message.revealBody); + } + if (message.publicKey !== "") { + obj.publicKey = message.publicKey; + } + if (message.proof !== "") { + obj.proof = message.proof; + } + if (message.stderr?.length) { + obj.stderr = message.stderr; + } + if (message.stdout?.length) { + obj.stdout = message.stdout; + } + return obj; + }, + + create(base?: DeepPartial): MsgLegacyReveal { + return MsgLegacyReveal.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgLegacyReveal { + const message = createBaseMsgLegacyReveal(); + message.sender = object.sender ?? ""; + message.revealBody = (object.revealBody !== undefined && object.revealBody !== null) + ? RevealBody.fromPartial(object.revealBody) + : undefined; + message.publicKey = object.publicKey ?? ""; + message.proof = object.proof ?? ""; + message.stderr = object.stderr?.map((e) => e) || []; + message.stdout = object.stdout?.map((e) => e) || []; + return message; + }, +}; + +function createBaseMsgLegacyRevealResponse(): MsgLegacyRevealResponse { + return {}; +} + +export const MsgLegacyRevealResponse = { + encode(_: MsgLegacyRevealResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLegacyRevealResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLegacyRevealResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgLegacyRevealResponse { + return {}; + }, + + toJSON(_: MsgLegacyRevealResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgLegacyRevealResponse { + return MsgLegacyRevealResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgLegacyRevealResponse { + const message = createBaseMsgLegacyRevealResponse(); + return message; + }, +}; + +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { owner: "", params: undefined }; +} + +export const MsgUpdateParams = { + encode(message: MsgUpdateParams, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.owner = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateParams { + return { + owner: isSet(object.owner) ? globalThis.String(object.owner) : "", + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + }; + }, + + toJSON(message: MsgUpdateParams): unknown { + const obj: any = {}; + if (message.owner !== "") { + obj.owner = message.owner; + } + if (message.params !== undefined) { + obj.params = Params.toJSON(message.params); + } + return obj; + }, + + create(base?: DeepPartial): MsgUpdateParams { + return MsgUpdateParams.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.owner = object.owner ?? ""; + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + return message; + }, +}; + +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} + +export const MsgUpdateParamsResponse = { + encode(_: MsgUpdateParamsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateParamsResponse { + return {}; + }, + + toJSON(_: MsgUpdateParamsResponse): unknown { + const obj: any = {}; + return obj; + }, + + create(base?: DeepPartial): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromPartial(base ?? {}); + }, + fromPartial(_: DeepPartial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; + +/** Msg defines the core Msg service. */ +export interface Msg { + /** AcceptOwnership accepts the ownership of the core module. */ + AcceptOwnership(request: MsgAcceptOwnership): Promise; + /** + * TransferOwnership transfers the ownership of the core module to a new + * address. + */ + TransferOwnership(request: MsgTransferOwnership): Promise; + /** AddToAllowlist adds a new address to the allowlist. */ + AddToAllowlist(request: MsgAddToAllowlist): Promise; + /** RemoveFromAllowlist removes an address from the allowlist. */ + RemoveFromAllowlist(request: MsgRemoveFromAllowlist): Promise; + /** Pause pauses the core module. */ + Pause(request: MsgPause): Promise; + /** Unpause unpauses the core module. */ + Unpause(request: MsgUnpause): Promise; + /** Stake adds a stake to the executor identity. */ + Stake(request: MsgStake): Promise; + /** + * LegacyStake adds a stake to the executor identity using the legacy message + * hash format. + */ + LegacyStake(request: MsgLegacyStake): Promise; + /** Unstake removes a stake from the executor identity. */ + Unstake(request: MsgUnstake): Promise; + /** + * LegacyUnstake removes a stake from the executor identity using the legacy + * message hash format. + */ + LegacyUnstake(request: MsgLegacyUnstake): Promise; + /** Withdraw withdraws available rewards to the sender address. */ + Withdraw(request: MsgWithdraw): Promise; + /** + * LegacyWithdraw withdraws available rewards to the sender address using the + * legacy message hash format. + */ + LegacyWithdraw(request: MsgLegacyWithdraw): Promise; + /** PostDataRequest posts a data request. */ + PostDataRequest(request: MsgPostDataRequest): Promise; + /** Commit makes a commitment to reveal a data result. */ + Commit(request: MsgCommit): Promise; + /** LegacyCommit makes a commitment using the legacy message hash format. */ + LegacyCommit(request: MsgLegacyCommit): Promise; + /** Reveal reveals a data result. */ + Reveal(request: MsgReveal): Promise; + /** LegacyReveal reveals a data result using the legacy message hash format. */ + LegacyReveal(request: MsgLegacyReveal): Promise; + /** UpdateParams updates the module's parameters. */ + UpdateParams(request: MsgUpdateParams): Promise; +} + +export const MsgServiceName = "sedachain.core.v1.Msg"; +export class MsgClientImpl implements Msg { + private readonly rpc: Rpc; + private readonly service: string; + constructor(rpc: Rpc, opts?: { service?: string }) { + this.service = opts?.service || MsgServiceName; + this.rpc = rpc; + this.AcceptOwnership = this.AcceptOwnership.bind(this); + this.TransferOwnership = this.TransferOwnership.bind(this); + this.AddToAllowlist = this.AddToAllowlist.bind(this); + this.RemoveFromAllowlist = this.RemoveFromAllowlist.bind(this); + this.Pause = this.Pause.bind(this); + this.Unpause = this.Unpause.bind(this); + this.Stake = this.Stake.bind(this); + this.LegacyStake = this.LegacyStake.bind(this); + this.Unstake = this.Unstake.bind(this); + this.LegacyUnstake = this.LegacyUnstake.bind(this); + this.Withdraw = this.Withdraw.bind(this); + this.LegacyWithdraw = this.LegacyWithdraw.bind(this); + this.PostDataRequest = this.PostDataRequest.bind(this); + this.Commit = this.Commit.bind(this); + this.LegacyCommit = this.LegacyCommit.bind(this); + this.Reveal = this.Reveal.bind(this); + this.LegacyReveal = this.LegacyReveal.bind(this); + this.UpdateParams = this.UpdateParams.bind(this); + } + AcceptOwnership(request: MsgAcceptOwnership): Promise { + const data = MsgAcceptOwnership.encode(request).finish(); + const promise = this.rpc.request(this.service, "AcceptOwnership", data); + return promise.then((data) => MsgAcceptOwnershipResponse.decode(_m0.Reader.create(data))); + } + + TransferOwnership(request: MsgTransferOwnership): Promise { + const data = MsgTransferOwnership.encode(request).finish(); + const promise = this.rpc.request(this.service, "TransferOwnership", data); + return promise.then((data) => MsgTransferOwnershipResponse.decode(_m0.Reader.create(data))); + } + + AddToAllowlist(request: MsgAddToAllowlist): Promise { + const data = MsgAddToAllowlist.encode(request).finish(); + const promise = this.rpc.request(this.service, "AddToAllowlist", data); + return promise.then((data) => MsgAddToAllowlistResponse.decode(_m0.Reader.create(data))); + } + + RemoveFromAllowlist(request: MsgRemoveFromAllowlist): Promise { + const data = MsgRemoveFromAllowlist.encode(request).finish(); + const promise = this.rpc.request(this.service, "RemoveFromAllowlist", data); + return promise.then((data) => MsgRemoveFromAllowlistResponse.decode(_m0.Reader.create(data))); + } + + Pause(request: MsgPause): Promise { + const data = MsgPause.encode(request).finish(); + const promise = this.rpc.request(this.service, "Pause", data); + return promise.then((data) => MsgPauseResponse.decode(_m0.Reader.create(data))); + } + + Unpause(request: MsgUnpause): Promise { + const data = MsgUnpause.encode(request).finish(); + const promise = this.rpc.request(this.service, "Unpause", data); + return promise.then((data) => MsgUnpauseResponse.decode(_m0.Reader.create(data))); + } + + Stake(request: MsgStake): Promise { + const data = MsgStake.encode(request).finish(); + const promise = this.rpc.request(this.service, "Stake", data); + return promise.then((data) => MsgStakeResponse.decode(_m0.Reader.create(data))); + } + + LegacyStake(request: MsgLegacyStake): Promise { + const data = MsgLegacyStake.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyStake", data); + return promise.then((data) => MsgLegacyStakeResponse.decode(_m0.Reader.create(data))); + } + + Unstake(request: MsgUnstake): Promise { + const data = MsgUnstake.encode(request).finish(); + const promise = this.rpc.request(this.service, "Unstake", data); + return promise.then((data) => MsgUnstakeResponse.decode(_m0.Reader.create(data))); + } + + LegacyUnstake(request: MsgLegacyUnstake): Promise { + const data = MsgLegacyUnstake.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyUnstake", data); + return promise.then((data) => MsgLegacyUnstakeResponse.decode(_m0.Reader.create(data))); + } + + Withdraw(request: MsgWithdraw): Promise { + const data = MsgWithdraw.encode(request).finish(); + const promise = this.rpc.request(this.service, "Withdraw", data); + return promise.then((data) => MsgWithdrawResponse.decode(_m0.Reader.create(data))); + } + + LegacyWithdraw(request: MsgLegacyWithdraw): Promise { + const data = MsgLegacyWithdraw.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyWithdraw", data); + return promise.then((data) => MsgLegacyWithdrawResponse.decode(_m0.Reader.create(data))); + } + + PostDataRequest(request: MsgPostDataRequest): Promise { + const data = MsgPostDataRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "PostDataRequest", data); + return promise.then((data) => MsgPostDataRequestResponse.decode(_m0.Reader.create(data))); + } + + Commit(request: MsgCommit): Promise { + const data = MsgCommit.encode(request).finish(); + const promise = this.rpc.request(this.service, "Commit", data); + return promise.then((data) => MsgCommitResponse.decode(_m0.Reader.create(data))); + } + + LegacyCommit(request: MsgLegacyCommit): Promise { + const data = MsgLegacyCommit.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyCommit", data); + return promise.then((data) => MsgLegacyCommitResponse.decode(_m0.Reader.create(data))); + } + + Reveal(request: MsgReveal): Promise { + const data = MsgReveal.encode(request).finish(); + const promise = this.rpc.request(this.service, "Reveal", data); + return promise.then((data) => MsgRevealResponse.decode(_m0.Reader.create(data))); + } + + LegacyReveal(request: MsgLegacyReveal): Promise { + const data = MsgLegacyReveal.encode(request).finish(); + const promise = this.rpc.request(this.service, "LegacyReveal", data); + return promise.then((data) => MsgLegacyRevealResponse.decode(_m0.Reader.create(data))); + } + + UpdateParams(request: MsgUpdateParams): Promise { + const data = MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request(this.service, "UpdateParams", data); + return promise.then((data) => MsgUpdateParamsResponse.decode(_m0.Reader.create(data))); + } +} + +interface Rpc { + request(service: string, method: string, data: Uint8Array): Promise; +} + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +function longToBigint(long: Long) { + return BigInt(long.toString()); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/libs/proto-messages/gen/sedachain/wasm_storage/v1/tx.ts b/libs/proto-messages/gen/sedachain/wasm_storage/v1/tx.ts index b05fc0b9..42b6cff7 100644 --- a/libs/proto-messages/gen/sedachain/wasm_storage/v1/tx.ts +++ b/libs/proto-messages/gen/sedachain/wasm_storage/v1/tx.ts @@ -55,22 +55,6 @@ export interface MsgUpdateParams { export interface MsgUpdateParamsResponse { } -/** The request message for the MsgRefundTxFee method. */ -export interface MsgRefundTxFee { - /** Authority is the address that controls the method. */ - authority: string; - /** DrId is the hex-encoded data request ID. */ - drId: string; - /** PublicKey is the hex-encoded public key (identifier) of the executor. */ - publicKey: string; - /** IsReveal is true for a reveal message and false for a commit message. */ - isReveal: boolean; -} - -/** The response message for the MsgRefundTxFee method. */ -export interface MsgRefundTxFeeResponse { -} - function createBaseMsgStoreOracleProgram(): MsgStoreOracleProgram { return { sender: "", wasm: new Uint8Array(0), storageFee: [] }; } @@ -571,153 +555,6 @@ export const MsgUpdateParamsResponse = { }, }; -function createBaseMsgRefundTxFee(): MsgRefundTxFee { - return { authority: "", drId: "", publicKey: "", isReveal: false }; -} - -export const MsgRefundTxFee = { - encode(message: MsgRefundTxFee, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - if (message.drId !== "") { - writer.uint32(18).string(message.drId); - } - if (message.publicKey !== "") { - writer.uint32(26).string(message.publicKey); - } - if (message.isReveal !== false) { - writer.uint32(32).bool(message.isReveal); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): MsgRefundTxFee { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMsgRefundTxFee(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.drId = reader.string(); - continue; - case 3: - if (tag !== 26) { - break; - } - - message.publicKey = reader.string(); - continue; - case 4: - if (tag !== 32) { - break; - } - - message.isReveal = reader.bool(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): MsgRefundTxFee { - return { - authority: isSet(object.authority) ? globalThis.String(object.authority) : "", - drId: isSet(object.drId) ? globalThis.String(object.drId) : "", - publicKey: isSet(object.publicKey) ? globalThis.String(object.publicKey) : "", - isReveal: isSet(object.isReveal) ? globalThis.Boolean(object.isReveal) : false, - }; - }, - - toJSON(message: MsgRefundTxFee): unknown { - const obj: any = {}; - if (message.authority !== "") { - obj.authority = message.authority; - } - if (message.drId !== "") { - obj.drId = message.drId; - } - if (message.publicKey !== "") { - obj.publicKey = message.publicKey; - } - if (message.isReveal !== false) { - obj.isReveal = message.isReveal; - } - return obj; - }, - - create(base?: DeepPartial): MsgRefundTxFee { - return MsgRefundTxFee.fromPartial(base ?? {}); - }, - fromPartial(object: DeepPartial): MsgRefundTxFee { - const message = createBaseMsgRefundTxFee(); - message.authority = object.authority ?? ""; - message.drId = object.drId ?? ""; - message.publicKey = object.publicKey ?? ""; - message.isReveal = object.isReveal ?? false; - return message; - }, -}; - -function createBaseMsgRefundTxFeeResponse(): MsgRefundTxFeeResponse { - return {}; -} - -export const MsgRefundTxFeeResponse = { - encode(_: MsgRefundTxFeeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): MsgRefundTxFeeResponse { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMsgRefundTxFeeResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(_: any): MsgRefundTxFeeResponse { - return {}; - }, - - toJSON(_: MsgRefundTxFeeResponse): unknown { - const obj: any = {}; - return obj; - }, - - create(base?: DeepPartial): MsgRefundTxFeeResponse { - return MsgRefundTxFeeResponse.fromPartial(base ?? {}); - }, - fromPartial(_: DeepPartial): MsgRefundTxFeeResponse { - const message = createBaseMsgRefundTxFeeResponse(); - return message; - }, -}; - /** Msg service defines the wasm-storage tx gRPC methods. */ export interface Msg { /** StoreOracleProgram stores an oracle program. */ @@ -729,8 +566,6 @@ export interface Msg { InstantiateCoreContract(request: MsgInstantiateCoreContract): Promise; /** The UpdateParams method updates the module's parameters. */ UpdateParams(request: MsgUpdateParams): Promise; - /** The RefundTxFee method is used by the Core Contract to refund tx fee. */ - RefundTxFee(request: MsgRefundTxFee): Promise; } export const MsgServiceName = "sedachain.wasm_storage.v1.Msg"; @@ -743,7 +578,6 @@ export class MsgClientImpl implements Msg { this.StoreOracleProgram = this.StoreOracleProgram.bind(this); this.InstantiateCoreContract = this.InstantiateCoreContract.bind(this); this.UpdateParams = this.UpdateParams.bind(this); - this.RefundTxFee = this.RefundTxFee.bind(this); } StoreOracleProgram(request: MsgStoreOracleProgram): Promise { const data = MsgStoreOracleProgram.encode(request).finish(); @@ -762,12 +596,6 @@ export class MsgClientImpl implements Msg { const promise = this.rpc.request(this.service, "UpdateParams", data); return promise.then((data) => MsgUpdateParamsResponse.decode(_m0.Reader.create(data))); } - - RefundTxFee(request: MsgRefundTxFee): Promise { - const data = MsgRefundTxFee.encode(request).finish(); - const promise = this.rpc.request(this.service, "RefundTxFee", data); - return promise.then((data) => MsgRefundTxFeeResponse.decode(_m0.Reader.create(data))); - } } interface Rpc { diff --git a/libs/proto-messages/proto/sedachain/core/v1/core.proto b/libs/proto-messages/proto/sedachain/core/v1/core.proto new file mode 100644 index 00000000..0696df16 --- /dev/null +++ b/libs/proto-messages/proto/sedachain/core/v1/core.proto @@ -0,0 +1,202 @@ +syntax = "proto3"; +package sedachain.core.v1; + +import "gogoproto/gogo.proto"; +import "amino/amino.proto"; +import "cosmos_proto/cosmos.proto"; + +option go_package = "github.com/sedaprotocol/seda-chain/x/core/types"; + +// Staker is an identity that has staked SEDA tokens to perform data request +// execution. +message Staker { + string public_key = 1; + string memo = 2; + string staked = 3 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; + string pending_withdrawal = 4 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; + uint64 sequence_num = 5; +} + +// DataRequest is a data request object. +message DataRequest { + // Hex-encoded ID of the data request + string i_d = 1 [ (gogoproto.jsontag) = "id" ]; + // Semantic versioning + string version = 2 [ (gogoproto.jsontag) = "version" ]; + // Hex-encoded ID (hash) of the execution program + string exec_program_i_d = 3 [ (gogoproto.jsontag) = "exec_program_id" ]; + // Inputs for the execution program + bytes exec_inputs = 4 [ (gogoproto.jsontag) = "exec_inputs" ]; + // Gas limit for execution program execution + uint64 exec_gas_limit = 5 [ (gogoproto.jsontag) = "exec_gas_limit" ]; + // Hex-encoded ID (hash) of the tally program + string tally_program_i_d = 6 [ (gogoproto.jsontag) = "tally_program_id" ]; + // Inputs for the tally program + bytes tally_inputs = 7 [ (gogoproto.jsontag) = "tally_inputs" ]; + // Gas limit for tally program execution + uint64 tally_gas_limit = 8 [ (gogoproto.jsontag) = "tally_gas_limit" ]; + // Number of required data request executors (used as uint16) + uint32 replication_factor = 9 [ (gogoproto.jsontag) = "replication_factor" ]; + // Specifications for the filter process + bytes consensus_filter = 10 [ (gogoproto.jsontag) = "consensus_filter" ]; + // Amount of SEDA tokens per unit gas (used as uint128) + string gas_price = 11 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + // Public information attached to the data request + bytes memo = 12 [ (gogoproto.jsontag) = "memo" ]; + // Set by the relayer + bytes payback_address = 13 [ (gogoproto.jsontag) = "payback_address" ]; + // Set by SEDA Protocol (e.g. OEV-enabled data requests) + bytes s_e_d_a_payload = 14 [ (gogoproto.jsontag) = "seda_payload" ]; + // Height at which the data request was posted + int64 posted_height = 15 [ (gogoproto.jsontag) = "height" ]; + // Actual gas price derived by dividing attached funds by the total gas limit + // (may be higher than the minimum gas price) + string posted_gas_price = 16 [ + (gogoproto.jsontag) = "posted_gas_price", + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + // Poster of the data request (Bech32 string) + string poster = 18 [ (gogoproto.jsontag) = "poster" ]; + // Funds escrowed for the data request + string escrow = 19 [ + (gogoproto.jsontag) = "escrow", + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + // Timeout height of the data request (-1 if not set, i.e., under tallying + // status) + int64 timeout_height = 20 [ (gogoproto.jsontag) = "timeout_height" ]; + // Status of the data request + DataRequestStatus status = 21 [ (gogoproto.jsontag) = "status" ]; +} + +// DataRequestStatus is the status of a data request. +enum DataRequestStatus { + option (gogoproto.goproto_enum_prefix) = false; + + // Zero value as required by proto3. + DATA_REQUEST_STATUS_UNSPECIFIED = 0; + // Data request has been posted and is collecting commits. + DATA_REQUEST_STATUS_COMMITTING = 1; + // The number of commits has reached the replication factor, and the data + // request is now collecting reveals. + DATA_REQUEST_STATUS_REVEALING = 2; + // The number of reveals has reached the replication factor, and the data + // request is now ready to be tallied. + DATA_REQUEST_STATUS_TALLYING = 3; +} + +// RevealBody is the content of a reveal. +message RevealBody { + // Hex-encoded ID of the data request + string dr_i_d = 1 [ (gogoproto.jsontag) = "dr_id" ]; + // Block height of the data request posting + uint64 dr_block_height = 2; + // Exit code of the data request execution (used as uint8) + uint32 exit_code = 3; + // Gas used by the data request execution + uint64 gas_used = 4; + // Contents of the reveal + bytes reveal = 5; + // List of data proxy public keys used + repeated string proxy_pub_keys = 6 + [ (gogoproto.jsontag) = "proxy_public_keys" ]; +} + +// Params defines the parameters for the core module. +message Params { + DataRequestConfig data_request_config = 1; + StakingConfig staking_config = 2; + TallyConfig tally_config = 3; +} + +// DataRequestConfig defines data request-related parameters. +message DataRequestConfig { + // Number of blocks after which a data request is timed out while waiting + // for commits. + uint32 commit_timeout_in_blocks = 1; + // Number of blocks after which a data request is timed out while waiting + // for reveals. + uint32 reveal_timeout_in_blocks = 2; + // Delay in blocks before the backup executors are allowed to start executing + // the data request. + uint32 backup_delay_in_blocks = 3; + // Maximum size of all the reveals in a data request. + uint32 dr_reveal_size_limit_in_bytes = 4; + // Maximum size of the input for the execution program. + uint32 exec_input_limit_in_bytes = 5; + // Maximum size of the input for the tally program. + uint32 tally_input_limit_in_bytes = 6; + // Maximum size of the consensus filter. + uint32 consensus_filter_limit_in_bytes = 7; + // Maximum size of the memo. + uint32 memo_limit_in_bytes = 8; + // Maximum size of the payback address. + uint32 payback_address_limit_in_bytes = 9; + // Maximum size of the SEDA payload. + uint32 s_e_d_a_payload_limit_in_bytes = 10 + [ (gogoproto.jsontag) = "seda_payload_limit_in_bytes" ]; +} + +// StakingConfig defines staking-related parameters. +message StakingConfig { + // MiminumStake is the minimum amount of SEDA tokens required to register as + // an Overlay. + string minimum_stake = 1 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + // AllowlistEnabled is a flag that indicates whether the allowlist is enabled. + bool allowlist_enabled = 2; +} + +// TallyConfig definfes tally-related parameters. +message TallyConfig { + // MaxTallyGasLimit is the maximum gas limit for a tally request. + uint64 max_tally_gas_limit = 1; + // FilterGasCostNone is the gas cost for a filter type none. + uint64 filter_gas_cost_none = 2; + // FilterGasCostMultiplierMode is the gas cost multiplier for a filter type + // mode. + uint64 filter_gas_cost_multiplier_mode = 3; + // FilterGasCostMAD is the gas cost multiplier for a filter type + // Median Absolute Deviation. + uint64 filter_gas_cost_multiplier_m_a_d = 4; + // BaseGasCost is the base gas cost for a data request. + uint64 base_gas_cost = 5; + // GasCostFallback is the gas cost incurred for data request execution when + // even basic consensus has not been reached. + uint64 execution_gas_cost_fallback = 6; + // BurnRatio is the ratio of the gas cost to be burned in case of reduced + // payout scenarios. + string burn_ratio = 7 [ + (cosmos_proto.scalar) = "cosmos.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (amino.dont_omitempty) = true, + (gogoproto.nullable) = false + ]; + // MaxResultSize is the maximum size of the result of a data request in bytes. + uint32 max_result_size = 8; + // MaxTalliesPerBlock specifies the maximum number of tallies per block. + uint32 max_tallies_per_block = 9; +} diff --git a/libs/proto-messages/proto/sedachain/core/v1/genesis.proto b/libs/proto-messages/proto/sedachain/core/v1/genesis.proto new file mode 100644 index 00000000..2f631011 --- /dev/null +++ b/libs/proto-messages/proto/sedachain/core/v1/genesis.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; +package sedachain.core.v1; + +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "sedachain/core/v1/core.proto"; + +option go_package = "github.com/sedaprotocol/seda-chain/x/core/types"; + +// GenesisState defines core module's genesis state. +message GenesisState { + Params params = 1 [ (gogoproto.nullable) = false ]; + string owner = 2 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string pending_owner = 3 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + bool paused = 4; + + // Staking-related states: + repeated string allowlist = 5 + [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + repeated Staker stakers = 6 [ (gogoproto.nullable) = false ]; + + // Data request-related states: + repeated DataRequest data_requests = 7 [ (gogoproto.nullable) = false ]; + uint64 committing_count = 8; + uint64 revealing_count = 9; + uint64 tallying_count = 10; + repeated GenesisStateCommit commits = 11 [ (gogoproto.nullable) = false ]; + repeated GenesisStateReveal reveals = 12 [ (gogoproto.nullable) = false ]; +} + +// GenesisStateCommit is used to store commits in the genesis state. +message GenesisStateCommit { + string dr_i_d = 1 [ (gogoproto.jsontag) = "dr_id" ]; + string public_key = 2; + bytes commit = 3; +} + +// GenesisStateReveal is used to store revealers and their reveal bodies in the +// genesis state. +message GenesisStateReveal { + string dr_i_d = 1 [ (gogoproto.jsontag) = "dr_id" ]; + string public_key = 2; + RevealBody reveal_body = 3 [ (gogoproto.nullable) = false ]; +} diff --git a/libs/proto-messages/proto/sedachain/core/v1/query.proto b/libs/proto-messages/proto/sedachain/core/v1/query.proto new file mode 100644 index 00000000..846155b5 --- /dev/null +++ b/libs/proto-messages/proto/sedachain/core/v1/query.proto @@ -0,0 +1,419 @@ +syntax = "proto3"; +package sedachain.core.v1; + +import "cosmos_proto/cosmos.proto"; +import "google/api/annotations.proto"; +import "gogoproto/gogo.proto"; +import "sedachain/core/v1/core.proto"; + +option go_package = "github.com/sedaprotocol/seda-chain/x/core/types"; + +// Query defines the gRPC querier service. +service Query { + // Owner returns the owner of the core module. + rpc Owner(QueryOwnerRequest) returns (QueryOwnerResponse) { + option (google.api.http).get = "/seda-chain/core/owner"; + } + + // PendingOwner returns the pending owner of the core module. + rpc PendingOwner(QueryPendingOwnerRequest) + returns (QueryPendingOwnerResponse) { + option (google.api.http).get = "/seda-chain/core/pending_owner"; + } + + // Paused returns whether the core module is paused. + rpc Paused(QueryPausedRequest) returns (QueryPausedResponse) { + option (google.api.http).get = "/seda-chain/core/paused"; + } + + // Allowlist returns the allowlist of staker public keys. + rpc Allowlist(QueryAllowlistRequest) returns (QueryAllowlistResponse) { + option (google.api.http).get = "/seda-chain/core/allowlist"; + } + + // Staker returns the staker given its public key. + rpc Staker(QueryStakerRequest) returns (QueryStakerResponse) { + option (google.api.http).get = "/seda-chain/core/staker/{public_key}"; + } + + // Executors returns stakers that are eligible to execute data requests. + rpc Executors(QueryExecutorsRequest) returns (QueryExecutorsResponse) { + option (google.api.http).get = "/seda-chain/core/executors"; + } + + // DataRequest returns the data request given its ID. + rpc DataRequest(QueryDataRequestRequest) returns (QueryDataRequestResponse) { + option (google.api.http).get = "/seda-chain/core/data_request/{dr_id}"; + } + + // DataRequestCommitment returns the data request commitment given the data + // request ID and executor public key. + rpc DataRequestCommitment(QueryDataRequestCommitmentRequest) + returns (QueryDataRequestCommitmentResponse) { + option (google.api.http).get = + "/seda-chain/core/data_request_commitment/{dr_id}/{public_key}"; + } + + // DataRequestCommitments returns all data request commitments for a given + // data request ID. + rpc DataRequestCommitments(QueryDataRequestCommitmentsRequest) + returns (QueryDataRequestCommitmentsResponse) { + option (google.api.http).get = + "/seda-chain/core/data_request_commitments/{dr_id}"; + } + + // DataRequestReveal returns the data request reveal given the data + // request ID and executor public key. + rpc DataRequestReveal(QueryDataRequestRevealRequest) + returns (QueryDataRequestRevealResponse) { + option (google.api.http).get = + "/seda-chain/core/data_request_reveal/{dr_id}/{public_key}"; + } + + // DataRequestReveals returns all data request reveals for a given + // data request ID. + rpc DataRequestReveals(QueryDataRequestRevealsRequest) + returns (QueryDataRequestRevealsResponse) { + option (google.api.http).get = + "/seda-chain/core/data_request_reveals/{dr_id}"; + } + + // DataRequestsByStatus returns data requests by status. + rpc DataRequestsByStatus(QueryDataRequestsByStatusRequest) + returns (QueryDataRequestsByStatusResponse) { + option (google.api.http).get = + "/seda-chain/core/data_requests_by_status/{status}"; + } + + // AccountSeq returns the account sequence number for a given public key. + rpc AccountSeq(QueryAccountSeqRequest) returns (QueryAccountSeqResponse) { + option (google.api.http).get = "/seda-chain/core/account_seq/{public_key}"; + } + + // StakerAndSeq returns the staker and its sequence number. + rpc StakerAndSeq(QueryStakerAndSeqRequest) + returns (QueryStakerAndSeqResponse) { + option (google.api.http).get = + "/seda-chain/core/staker_and_seq/{public_key}"; + } + + // IsStakerExecutor returns whether the staker is a executor. + rpc IsStakerExecutor(QueryIsStakerExecutorRequest) + returns (QueryIsStakerExecutorResponse) { + option (google.api.http).get = + "/seda-chain/core/is_staker_executor/{public_key}"; + } + + // ExecutorEligibility returns the eligibility status of an executor given + // the eligibility message data. + rpc ExecutorEligibility(QueryExecutorEligibilityRequest) + returns (QueryExecutorEligibilityResponse) { + option (google.api.http).get = + "/seda-chain/core/executor_eligibility/{data}"; + } + + // LegacyExecutorEligibility returns the eligibility status of an executor + // given the eligibility message data where its proof part follows the legacy + // format that includes the Core Contract address. + rpc LegacyExecutorEligibility(QueryLegacyExecutorEligibilityRequest) + returns (QueryLegacyExecutorEligibilityResponse) { + option (google.api.http).get = + "/seda-chain/core/legacy_executor_eligibility/{data}"; + } + + // DataRequestStatuses returns the statuses of data requests given their IDs. + rpc DataRequestStatuses(QueryDataRequestStatusesRequest) + returns (QueryDataRequestStatusesResponse) { + option (google.api.http).get = + "/seda-chain/core/data_request_statuses/{data_request_ids}"; + } + + // Params returns the total set of core parameters. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/seda-chain/core/params"; + } + + // StakingConfig returns the staking parameters of the core module. + rpc StakingConfig(QueryStakingConfigRequest) + returns (QueryStakingConfigResponse) { + option (google.api.http).get = "/seda-chain/core/staking_config"; + } + + // DataRequestConfig returns the data request parameters of the core module. + rpc DataRequestConfig(QueryDataRequestConfigRequest) + returns (QueryDataRequestConfigResponse) { + option (google.api.http).get = "/seda-chain/core/data_request_config"; + } +} + +// The request message for Query/Owner RPC method. +message QueryOwnerRequest {} + +// The response message for Query/Owner RPC method. +message QueryOwnerResponse { + // owner is the address of the core module owner. + string owner = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The request message for Query/PendingOwner RPC method. +message QueryPendingOwnerRequest {} + +// The response message for Query/PendingOwner RPC method. +message QueryPendingOwnerResponse { + // pending_owner is the address of the core module pending owner. + string pending_owner = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The request message for Query/Paused RPC method. +message QueryPausedRequest {} + +// The response message for Query/Paused RPC method. +message QueryPausedResponse { + // paused is whether the core module is paused. + bool paused = 1; +} + +// The request message for Query/Allowlist RPC method. +message QueryAllowlistRequest {} + +// The response message for Query/Allowlist RPC method. +message QueryAllowlistResponse { + // public_keys is the list of hex-encoded public keys in the allowlist. + repeated string public_keys = 1; +} + +// The request message for Query/Staker RPC method. +message QueryStakerRequest { string public_key = 1; } + +// The response message for Query/Staker RPC method. +message QueryStakerResponse { + Staker staker = 1 [ (gogoproto.nullable) = false ]; +} + +// The request message for Query/Executors RPC method. +message QueryExecutorsRequest { + uint32 limit = 1; + uint32 offset = 2; +} + +// The response message for Query/Executors RPC method. +message QueryExecutorsResponse { + repeated Staker executors = 1 [ (gogoproto.nullable) = false ]; +} + +// The request message for Query/DataRequest RPC method. +message QueryDataRequestRequest { string dr_id = 1; } + +// The response message for Query/DataRequest RPC method. +message QueryDataRequestResponse { + DataRequestResponse data_request = 1 [ (gogoproto.nullable) = false ]; +} + +// The request message for Query/DataRequestCommitment RPC method. +message QueryDataRequestCommitmentRequest { + string dr_id = 1; + string public_key = 2; +} + +// The response message for Query/DataRequestCommitment RPC method. +message QueryDataRequestCommitmentResponse { string commitment = 1; } + +// The request message for Query/DataRequestCommitments RPC method. +message QueryDataRequestCommitmentsRequest { string dr_id = 1; } + +// The response message for Query/DataRequestCommitments RPC method. +message QueryDataRequestCommitmentsResponse { + map commitments = 1; +} + +// The request message for Query/DataRequestReveal RPC method. +message QueryDataRequestRevealRequest { + string dr_id = 1; + string public_key = 2; +} + +// The response message for Query/DataRequestReveal RPC method. +message QueryDataRequestRevealResponse { RevealBody reveal = 1; } + +// The request message for Query/DataRequestReveals RPC method. +message QueryDataRequestRevealsRequest { string dr_id = 1; } + +// The response message for Query/DataRequestReveals RPC method. +message QueryDataRequestRevealsResponse { map reveals = 1; } + +// The request message for Query/DataRequestsByStatus RPC method. +message QueryDataRequestsByStatusRequest { + // Status specifies the status of the data requests to retrieve. + DataRequestStatus status = 1; + // Limit specifies the maximum number of data requests to retrieve. + uint64 limit = 2; + // LastSeenIndex, if specified, sets the starting point (exclusive) of the + // query. + repeated string last_seen_index = 3 + [ (gogoproto.moretags) = "minItems:3,maxItems:3" ]; +} + +// The response message for Query/DataRequestsByStatus RPC method. +message QueryDataRequestsByStatusResponse { + // DataRequests is the list of data requests under the given status. + repeated DataRequestResponse data_requests = 1 + [ (gogoproto.nullable) = false ]; + // IsPaused is indicates whether the core module is paused. + bool is_paused = 2; + // Total is the total number of data requests under the given status. + uint64 total = 3; + // LastSeenIndex is the index of the last data request retrieved. + repeated string last_seen_index = 4; +} + +// The request message for Query/AccountSeq RPC method. +message QueryAccountSeqRequest { + // public_key is the hex-encoded public key of the account. + string public_key = 1; +} + +// QueryAccountSeqResponse is the response type for the Query/AccountSeq +// RPC method. +message QueryAccountSeqResponse { + // account_seq is the account sequence number. + uint64 account_seq = 1; +} + +// The request message for Query/StakerAndSeq RPC method. +message QueryStakerAndSeqRequest { string public_key = 1; } + +// The response message for Query/StakerAndSeq RPC method. +message QueryStakerAndSeqResponse { + Staker staker = 1 [ (gogoproto.nullable) = false ]; + uint64 sequence_num = 2; +} + +// The request message for Query/IsStakerExecutor RPC method. +message QueryIsStakerExecutorRequest { + // public_key is the hex-encoded public key of the account. + string public_key = 1; +} + +// QueryIsStakerExecutorResponse is the response type for the +// Query/IsStakerExecutor RPC method. +message QueryIsStakerExecutorResponse { + // is_staker_executor is whether the staker is a executor. + bool is_staker_executor = 1; +} + +// The request message for Query/ExecutorEligibility RPC method. +message QueryExecutorEligibilityRequest { + // Data is the base64 encoded hex data used to determine eligibility. + // + // 0 66:67 130:131 195 byte + // | public_key : data_request_id : proof | + string data = 1; +} + +// QueryExecutorEligibilityResponse is the response type for the +// Query/ExecutorEligibility RPC method. +message QueryExecutorEligibilityResponse { + // EligibilityStatus is the eligibility status of the executor with respect + // to the data request. + EligibilityStatus status = 1; + // BlockHeight is the block height when the eligibility was determined. + uint64 block_height = 2; + // ErrorMessage, if not empty, indicates any error that was intercepted. + string error_message = 3; +} + +// The request message for Query/LegacyExecutorEligibility RPC method. +message QueryLegacyExecutorEligibilityRequest { + // Data is the base64-encoded hex data used to determine eligibility. + // It must follow the legacy format where the proof includes + // the Core Contract address. + // + // 0 66:67 130:131 195 byte + // | public_key : data_request_id : proof | + string data = 1; +} + +// QueryLegacyExecutorEligibilityResponse is the response type for the +// Query/LegacyExecutorEligibility RPC method. +message QueryLegacyExecutorEligibilityResponse { + // EligibilityStatus is the eligibility status of the executor with respect + // to the data request. + EligibilityStatus status = 1; + // BlockHeight is the block height when the eligibility was determined. + uint64 block_height = 2; + // ErrorMessage, if not empty, indicates any error that was intercepted. + string error_message = 3; +} + +// ExecutorEligibility is the eligibility status of an executor given +// the eligibility message data. +enum EligibilityStatus { + option (gogoproto.goproto_enum_prefix) = false; + + // Zero value as required by proto3. + ELIGIBILITY_STATUS_UNSPECIFIED = 0; + // Executor is eligible for the data request + ELIGIBILITY_STATUS_ELLIGIBLE = 1; + // Executor is not eligible for the data request + ELIGIBILITY_STATUS_NOT_ELIGIBLE = 2; + // Data request not found + ELIGIBILITY_STATUS_DATA_REQUEST_NOT_FOUND = 3; + // Executor is not a staker + ELIGIBILITY_STATUS_NOT_STAKER = 4; + // Executor has insufficient stake + ELIGIBILITY_STATUS_INSUFFICIENT_STAKE = 5; + // Executor is not on the allowlist + ELIGIBILITY_STATUS_NOT_ALLOWLISTED = 6; + // Invalid signature + ELIGIBILITY_STATUS_INVALID_SIGNATURE = 7; +} + +// The request message for Query/DataRequestStatuses RPC method. +message QueryDataRequestStatusesRequest { + repeated string data_request_ids = 1 [ (gogoproto.jsontag) = "dr_ids" ]; +} + +// MaybeDataRequestStatus is a wrapper that contains either a DataRequestStatus +// value or a null value. +message MaybeDataRequestStatus { + DataRequestStatus value = 1 [ (gogoproto.nullable) = true ]; +} + +// The response message for Query/DataRequestStatuses RPC method. +message QueryDataRequestStatusesResponse { + map statuses = 1; +} + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // Params defines the parameters of the module. + Params params = 1 [ (gogoproto.nullable) = false ]; +} + +// The request message for Query/StakingConfig RPC method. +message QueryStakingConfigRequest {} + +// The response message for Query/StakingConfig RPC method. +message QueryStakingConfigResponse { + StakingConfig staking_config = 1 [ (gogoproto.nullable) = false ]; +} + +// The request message for Query/DataRequestConfig RPC method. +message QueryDataRequestConfigRequest {} + +// The response message for Query/DataRequestConfig RPC method. +message QueryDataRequestConfigResponse { + DataRequestConfig data_request_config = 1 [ (gogoproto.nullable) = false ]; +} + +// DataRequest is a query response type that contains a data request object +// along with its commits and reveals. +message DataRequestResponse { + DataRequest data_request = 1 + [ (gogoproto.embed) = true, (gogoproto.nullable) = false ]; + map commits = 2 [ (gogoproto.jsontag) = "commits" ]; + map reveals = 3 [ (gogoproto.jsontag) = "reveals" ]; +} diff --git a/libs/proto-messages/proto/sedachain/core/v1/tx.proto b/libs/proto-messages/proto/sedachain/core/v1/tx.proto new file mode 100644 index 00000000..2fdc08dc --- /dev/null +++ b/libs/proto-messages/proto/sedachain/core/v1/tx.proto @@ -0,0 +1,363 @@ +syntax = "proto3"; +package sedachain.core.v1; + +import "gogoproto/gogo.proto"; +import "amino/amino.proto"; +import "cosmos_proto/cosmos.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "sedachain/core/v1/core.proto"; + +option go_package = "github.com/sedaprotocol/seda-chain/x/core/types"; + +// Msg defines the core Msg service. +service Msg { + option (cosmos.msg.v1.service) = true; + + // AcceptOwnership accepts the ownership of the core module. + rpc AcceptOwnership(MsgAcceptOwnership) returns (MsgAcceptOwnershipResponse); + + // TransferOwnership transfers the ownership of the core module to a new + // address. + rpc TransferOwnership(MsgTransferOwnership) + returns (MsgTransferOwnershipResponse); + + // AddToAllowlist adds a new address to the allowlist. + rpc AddToAllowlist(MsgAddToAllowlist) returns (MsgAddToAllowlistResponse); + + // RemoveFromAllowlist removes an address from the allowlist. + rpc RemoveFromAllowlist(MsgRemoveFromAllowlist) + returns (MsgRemoveFromAllowlistResponse); + + // Pause pauses the core module. + rpc Pause(MsgPause) returns (MsgPauseResponse); + + // Unpause unpauses the core module. + rpc Unpause(MsgUnpause) returns (MsgUnpauseResponse); + + // Stake adds a stake to the executor identity. + rpc Stake(MsgStake) returns (MsgStakeResponse); + + // LegacyStake adds a stake to the executor identity using the legacy message + // hash format. + rpc LegacyStake(MsgLegacyStake) returns (MsgLegacyStakeResponse); + + // Unstake removes a stake from the executor identity. + rpc Unstake(MsgUnstake) returns (MsgUnstakeResponse); + + // LegacyUnstake removes a stake from the executor identity using the legacy + // message hash format. + rpc LegacyUnstake(MsgLegacyUnstake) returns (MsgLegacyUnstakeResponse); + + // Withdraw withdraws available rewards to the sender address. + rpc Withdraw(MsgWithdraw) returns (MsgWithdrawResponse); + + // LegacyWithdraw withdraws available rewards to the sender address using the + // legacy message hash format. + rpc LegacyWithdraw(MsgLegacyWithdraw) returns (MsgLegacyWithdrawResponse); + + // PostDataRequest posts a data request. + rpc PostDataRequest(MsgPostDataRequest) returns (MsgPostDataRequestResponse); + + // Commit makes a commitment to reveal a data result. + rpc Commit(MsgCommit) returns (MsgCommitResponse); + + // LegacyCommit makes a commitment using the legacy message hash format. + rpc LegacyCommit(MsgLegacyCommit) returns (MsgLegacyCommitResponse); + + // Reveal reveals a data result. + rpc Reveal(MsgReveal) returns (MsgRevealResponse); + + // LegacyReveal reveals a data result using the legacy message hash format. + rpc LegacyReveal(MsgLegacyReveal) returns (MsgLegacyRevealResponse); + + // UpdateParams updates the module's parameters. + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); +} + +// The request message for the AcceptOwnership method. +message MsgAcceptOwnership { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the AcceptOwnership method. +message MsgAcceptOwnershipResponse {} + +// The request message for the TransferOwnership method. +message MsgTransferOwnership { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string new_owner = 2 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the TransferOwnership method. +message MsgTransferOwnershipResponse {} + +// The request message for the AddToAllowlist method. +message MsgAddToAllowlist { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string public_key = 2; +} + +// The response message for the AddToAllowlist method. +message MsgAddToAllowlistResponse {} + +// The request message for the RemoveFromAllowlist method. +message MsgRemoveFromAllowlist { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string public_key = 2; +} + +// The response message for the RemoveFromAllowlist method. +message MsgRemoveFromAllowlistResponse {} + +// The request message for the Pause method. +message MsgPause { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the Pause method. +message MsgPauseResponse {} + +// The request message for the Unpause method. +message MsgUnpause { + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the Unpause method. +message MsgUnpauseResponse {} + +// The request message for the Stake method. +message MsgStake { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Base64-encoded string. + string memo = 3; + // Hex-encoded proof of the executor identity. + string proof = 4; + // Amount of SEDA tokens to be staked from the sender account. + cosmos.base.v1beta1.Coin stake = 5 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; +} + +// The response message for the Stake method. +message MsgStakeResponse {} + +// The request message for the LegacyStake method. +message MsgLegacyStake { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Base64-encoded string. + string memo = 3; + // Hex-encoded proof of the executor identity. + string proof = 4; + // Amount of SEDA tokens to be staked from the sender account. + cosmos.base.v1beta1.Coin stake = 5 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; +} + +// The response message for the LegacyStake method. +message MsgLegacyStakeResponse {} + +// The request message for the Unstake method. +message MsgUnstake { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Hex-encoded proof of the executor identity. + string proof = 3; +} + +// The response message for the Unstake method. +message MsgUnstakeResponse {} + +// The request message for the LegacyUnstake method. +message MsgLegacyUnstake { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Hex-encoded proof of the executor identity. + string proof = 3; +} + +// The response message for the LegacyUnstake method. +message MsgLegacyUnstakeResponse {} + +// The request message for the Withdraw method. +message MsgWithdraw { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Hex-encoded proof of the executor identity. + string proof = 3; + // Address to which the withdrawn rewards will be sent. + string withdraw_address = 4 + [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the Withdraw method. +message MsgWithdrawResponse {} + +// The request message for the LegacyWithdraw method. +message MsgLegacyWithdraw { + option (cosmos.msg.v1.signer) = "sender"; + + // Address of the tx sender. + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Hex-encoded identity of the executor. + string public_key = 2; + // Hex-encoded proof of the executor identity. + string proof = 3; + // Address to which the withdrawn rewards will be sent. + string withdraw_address = 4 + [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; +} + +// The response message for the LegacyWithdraw method. +message MsgLegacyWithdrawResponse {} + +// The request message for the PostDataRequest method. +message MsgPostDataRequest { + option (cosmos.msg.v1.signer) = "sender"; + + // Poster of the data request + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + // Funds attached to the data request posting + cosmos.base.v1beta1.Coin funds = 2 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + // Semantic versioning + string version = 3; + // Hex-encoded ID (hash) of the execution program + string exec_program_i_d = 4; + // Inputs for the execution program + bytes exec_inputs = 5; + // Gas limit for execution program execution + uint64 exec_gas_limit = 6; + // Hex-encoded ID (hash) of the tally program + string tally_program_i_d = 7; + // Inputs for the tally program + bytes tally_inputs = 8; + // Gas limit for tally program execution + uint64 tally_gas_limit = 9; + // Number of required data request executors (used as uint16) + uint32 replication_factor = 10; + // Specifications for the filter process + bytes consensus_filter = 11; + // Amount of SEDA tokens per unit gas (used as uint128) + string gas_price = 12 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + // Public information attached to the data request + bytes memo = 13; + // Set by SEDA Protocol (e.g. OEV-enabled data requests) + bytes s_e_d_a_payload = 14 [ (gogoproto.jsontag) = "seda_payload" ]; + // Set by the relayer + bytes payback_address = 15; +} + +// The response message for the PostDataRequest method. +message MsgPostDataRequestResponse { + // DrId is the hex-encoded ID of the data request. + string dr_i_d = 1 [ (gogoproto.jsontag) = "dr_id" ]; + // Height is the block height at which the data request was posted. + int64 height = 2; +} + +// The request message for the Commit method. +message MsgCommit { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string dr_i_d = 2 [ (gogoproto.jsontag) = "dr_id" ]; + string commit = 3; + string public_key = 4; + string proof = 5; +} + +// The response message for the Commit method. +message MsgCommitResponse {} + +// The request message for the LegacyCommit method. +message MsgLegacyCommit { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string dr_i_d = 2 [ (gogoproto.jsontag) = "dr_id" ]; + string commit = 3; + string public_key = 4; + string proof = 5; +} + +// The response message for the LegacyCommit method. +message MsgLegacyCommitResponse {} + +// The request message for the Reveal method. +message MsgReveal { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + RevealBody reveal_body = 2; + string public_key = 3; + string proof = 4; + repeated string stderr = 5; + repeated string stdout = 6; +} + +// The response message for the Reveal method. +message MsgRevealResponse {} + +// The request message for the LegacyReveal method. +message MsgLegacyReveal { + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + RevealBody reveal_body = 2; + string public_key = 3; + string proof = 4; + repeated string stderr = 5; + repeated string stdout = 6; +} + +// The response message for the LegacyReveal method. +message MsgLegacyRevealResponse {} + +// The request message for the UpdateParams method. +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "owner"; + + string owner = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + Params params = 2 [ (gogoproto.nullable) = false ]; +} + +// The response message for the UpdateParams method. +message MsgUpdateParamsResponse {} diff --git a/libs/proto-messages/proto/sedachain/fast/v1/fast.proto b/libs/proto-messages/proto/sedachain/fast/v1/fast.proto deleted file mode 100644 index 19501bfd..00000000 --- a/libs/proto-messages/proto/sedachain/fast/v1/fast.proto +++ /dev/null @@ -1,98 +0,0 @@ -syntax = "proto3"; -package sedachain.fast.v1; - -import "gogoproto/gogo.proto"; -import "cosmos_proto/cosmos.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/fast/types"; - -// Module parameters which can be changed through the authority. -message Params { option (gogoproto.equal) = true; } - -// FastClient contains information about a fast client. -message FastClient { - // The unique identifier of the fast client. Only used for internal purposes - // to allow key rotation. - uint64 id = 1; - - // This address is allowed to update the config of the fast client. - string owner_address = 2 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // This address is allowed to perform administrative actions on the fast - // client. - string admin_address = 3 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // The address of the fast client that's used to submit reports. - string address = 4 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // The public key of the fast client used to verify signed requests and - // identify the fast client. - bytes public_key = 5; - - // The memo of the fast client. - string memo = 6; - - // The balance of the fast client. - string balance = 7 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; - - // The user credits a fast client has used but not yet settled with the - // balance. - string used_credits = 8 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// A user of a fast client. -message FastUser { - // The identifier of the user, should be unique for a fast client. - string user_id = 1; - - // The amount of credits the user has. - string credits = 2 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// A report of a user's usage of the fast. -message FastUserReport { - // The identifier of the user. - string user_id = 1; - - // The amount of credits the user has used. Includes the computation credits - // AND the data proxy credits. - string used_credits = 2 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; - - // The reports of the data proxy queries made for the user. - repeated DataProxyReport data_proxy_reports = 3; - - // The number of queries made for the user. - uint64 queries = 4; -} - -// A report of a user's usage of a data proxy. -message DataProxyReport { - // The public key of the data proxy as a hex string. - string data_proxy_pub_key = 1; - - // The price of the data proxy in aseda when the query was made. - string price = 2 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; - - // The amount of data proxy queries for the data proxy/price pair. - uint64 amount = 3; -} diff --git a/libs/proto-messages/proto/sedachain/fast/v1/genesis.proto b/libs/proto-messages/proto/sedachain/fast/v1/genesis.proto deleted file mode 100644 index 727f81f5..00000000 --- a/libs/proto-messages/proto/sedachain/fast/v1/genesis.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; -package sedachain.fast.v1; - -import "gogoproto/gogo.proto"; -import "sedachain/fast/v1/fast.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/fast/types"; - -// GenesisState defines fast module's genesis state. -message GenesisState { - uint64 starting_fast_client_id = 1; - - Params params = 2 [ (gogoproto.nullable) = false ]; - - repeated FastClient fast_clients = 3 [ (gogoproto.nullable) = false ]; - - repeated UserWithFastClientId fast_users = 4 [ (gogoproto.nullable) = false ]; - - repeated FastClientTransferOwnership transfers = 5 - [ (gogoproto.nullable) = false ]; -} - -// FastUser wraps a user and their associated FastClient id. -message UserWithFastClientId { - uint64 fast_client_id = 1; - - FastUser user = 2; -} - -// FastClientTransferOwnership links a fast client to a new owner address. -message FastClientTransferOwnership { - uint64 fast_client_id = 1; - - string new_owner_address = 2; -} diff --git a/libs/proto-messages/proto/sedachain/fast/v1/query.proto b/libs/proto-messages/proto/sedachain/fast/v1/query.proto deleted file mode 100644 index a55b7c02..00000000 --- a/libs/proto-messages/proto/sedachain/fast/v1/query.proto +++ /dev/null @@ -1,139 +0,0 @@ -syntax = "proto3"; -package sedachain.fast.v1; - -import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; -import "cosmos/base/query/v1beta1/pagination.proto"; -import "cosmos_proto/cosmos.proto"; -import "sedachain/fast/v1/fast.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/fast/types"; - -// Query defines the gRPC querier service. -service Query { - // FastClient returns a fast client when given its public key as a hex - // encoded string. - rpc FastClient(QueryFastClientRequest) returns (QueryFastClientResponse) { - option (google.api.http).get = - "/seda-chain/fast/client/{fast_client_pub_key}"; - } - - // FastClientTransfer returns a fast client transfer when given its public key - // as a hex encoded string. - rpc FastClientTransfer(QueryFastClientTransferRequest) - returns (QueryFastClientTransferResponse) { - option (google.api.http).get = - "/seda-chain/fast/transfer/{fast_client_pub_key}"; - } - - // FastUsers returns a paginated list of Fast users when given the fast client - // public key as a hex encoded string. - rpc FastClientUsers(QueryFastClientUsersRequest) - returns (QueryFastClientUsersResponse) { - option (google.api.http).get = - "/seda-chain/fast/client/{fast_client_pub_key}/users"; - } - - // FastUser returns a fast user when given its public key as a hex - // encoded string. - rpc FastClientUser(QueryFastClientUserRequest) - returns (QueryFastClientUserResponse) { - option (google.api.http).get = - "/seda-chain/fast/client/{fast_client_pub_key}/users/{user_id}"; - } - - // FastClientEligibility returns a fast client's eligibility based on a signed - // payload. - rpc FastClientEligibility(QueryFastClientEligibilityRequest) - returns (QueryFastClientEligibilityResponse) { - option (google.api.http).get = "/seda-chain/fast/check_eligibility"; - } - - // Params returns the total set of fast parameters. - rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/seda-chain/fast/params"; - } -} - -// The request message for QueryFastClient RPC method. -message QueryFastClientRequest { - // A hex encoded string of the public key of the fast client. - string fast_client_pub_key = 1; -} - -// The response message for QueryFastClient RPC method. -message QueryFastClientResponse { - FastClient client = 1 [ (gogoproto.nullable) = false ]; -} - -// The request message for QueryFastClientTransfer RPC method. -message QueryFastClientTransferRequest { - // A hex encoded string of the public key of the fast client. - string fast_client_pub_key = 1; -} - -// The response message for QueryFastClientTransfer RPC method. -message QueryFastClientTransferResponse { string new_owner_address = 1; } - -// The request message for QueryFastClientUsers RPC method. -message QueryFastClientUsersRequest { - // A hex encoded string of the public key of the fast client. - string fast_client_pub_key = 1; - - // pagination defines an optional pagination for the request. - cosmos.base.query.v1beta1.PageRequest pagination = 2; -} - -// The response message for QueryFastClientUsers RPC method. -message QueryFastClientUsersResponse { - // users are the users of the fast client of the given fast_client_pub_key. - repeated FastUser users = 1 [ (gogoproto.nullable) = false ]; - - // pagination defines the pagination in the response. - cosmos.base.query.v1beta1.PageResponse pagination = 2; -} - -// The request message for QueryFastClientUser RPC method. -message QueryFastClientUserRequest { - // A hex encoded string of the public key of the fast client. - string fast_client_pub_key = 1; - - // the unique id of the user. - string user_id = 2; -} - -// The response message for QueryFastClientUser RPC method. -message QueryFastClientUserResponse { - FastUser user = 1 [ (gogoproto.nullable) = false ]; -} - -// The request message for QueryFastClientEligibility RPC method. -message QueryFastClientEligibilityRequest { - // A base64 encoded string of the payload of the fast client. - // Should be in the following format: - // "{blockNumber}:{userId}:{signature(blocknumber_be_uint64, - // keccak256(userId_utf8_bytes), chainId_utf8_bytes)_hex_string}" - string payload = 1; -} - -// The response message for QueryFastClientEligibility RPC method. -message QueryFastClientEligibilityResponse { - bool eligible = 1; - - string user_credits = 2 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; - - uint64 block_height = 3; -} - -// The request message for QueryParams RPC method. -message QueryParamsRequest {} - -// The response message for QueryParams RPC method. -message QueryParamsResponse { - // params defines the parameters of the module. - Params params = 1 [ (gogoproto.nullable) = false ]; -} diff --git a/libs/proto-messages/proto/sedachain/fast/v1/tx.proto b/libs/proto-messages/proto/sedachain/fast/v1/tx.proto deleted file mode 100644 index 894396f6..00000000 --- a/libs/proto-messages/proto/sedachain/fast/v1/tx.proto +++ /dev/null @@ -1,347 +0,0 @@ -syntax = "proto3"; -package sedachain.fast.v1; - -import "gogoproto/gogo.proto"; -import "cosmos_proto/cosmos.proto"; -import "cosmos/msg/v1/msg.proto"; -import "sedachain/fast/v1/fast.proto"; -import "amino/amino.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/fast/types"; - -// Msg service defines the fast tx gRPC methods. -service Msg { - // Registers a new fast client entry in the registry. - rpc RegisterFastClient(MsgRegisterFastClient) - returns (MsgRegisterFastClientResponse); - - // Edits an existing fast client. - rpc EditFastClient(MsgEditFastClient) returns (MsgEditFastClientResponse); - - // Transfers the ownership of a fast client. - rpc TransferOwnership(MsgTransferOwnership) - returns (MsgTransferOwnershipResponse); - - // Accepts the ownership of a fast client. - rpc AcceptOwnership(MsgAcceptOwnership) returns (MsgAcceptOwnershipResponse); - - // Cancels the ownership transfer of a fast client. - rpc CancelOwnershipTransfer(MsgCancelOwnershipTransfer) - returns (MsgCancelOwnershipTransferResponse); - - // Adds a user to a fast client. - rpc AddUser(MsgAddUser) returns (MsgAddUserResponse); - - // Removes a user from a fast client. - rpc RemoveUser(MsgRemoveUser) returns (MsgRemoveUserResponse); - - // Top up a user's credits. - rpc TopUpUser(MsgTopUpUser) returns (MsgTopUpUserResponse); - - // Expire a user's credits. - rpc ExpireUserCredits(MsgExpireUserCredits) - returns (MsgExpireUserCreditsResponse); - - // Settle a fast client's credits. - rpc SettleCredits(MsgSettleCredits) returns (MsgSettleCreditsResponse); - - // Submits reports for a fast client. - rpc SubmitReports(MsgSubmitReports) returns (MsgSubmitReportsResponse); - - // Used to update the modules parameters through the authority. - rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); -} - -// All data required for a new fast client. -message MsgRegisterFastClient { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "seda/fast/MsgRegisterFastClient"; - - // authority is the address that controls the fast module. - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the address that can edit the fast client. - string owner_address = 2 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // The public key of the fast client used to verify signed requests as a hex - // string. - string public_key = 3; - - // admin_address defines the address that can perform administrative actions - // on the fast client. - string admin_address = 4 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the address of the fast client that is allowed to submit reports. - string address = 5 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // memo defines an optional string which is not used by the protocol. - string memo = 6; -} - -// MsgRegisterFastClientResponse is the response type for the -// Msg/RegisterFastClient -message MsgRegisterFastClientResponse {} - -// Allows the owner to edit the fast client. -message MsgEditFastClient { - option (cosmos.msg.v1.signer) = "owner_address"; - option (amino.name) = "seda/fast/MsgEditFastClient"; - - // this should match the owner_address in the fast client - string owner_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // [optional] the new admin address of the fast client - string new_admin_address = 3 [ - (cosmos_proto.scalar) = "cosmos.AddressString", - (amino.dont_omitempty) = false - ]; - - // [optional] the new address of the fast client - string new_address = 4 [ - (cosmos_proto.scalar) = "cosmos.AddressString", - (amino.dont_omitempty) = false - ]; - - // [optional] the new public key of the fast client as a hex string - string new_public_key = 5 [ (amino.dont_omitempty) = true ]; - - // [optional] the new memo of the fast client - string new_memo = 6 [ (amino.dont_omitempty) = true ]; -} - -// MsgEditFastClientResponse is the response type for the Msg/EditFastClient RPC -// method. -message MsgEditFastClientResponse {} - -// Allows the owner to transfer the ownership of the fast client to a new -// address. -message MsgTransferOwnership { - option (cosmos.msg.v1.signer) = "owner_address"; - option (amino.name) = "seda/fast/MsgTransferOwnership"; - - // this should match the owner_address in the fast client - string owner_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the new owner address of the fast client - string new_owner_address = 3 - [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; -} - -// MsgTransferOwnershipResponse is the response type for the -// Msg/TransferOwnership RPC method. -message MsgTransferOwnershipResponse {} - -// Allows the new owner to accept the ownership of the fast client. -message MsgAcceptOwnership { - option (cosmos.msg.v1.signer) = "new_owner_address"; - option (amino.name) = "seda/fast/MsgAcceptOwnership"; - - // the address that is accepting the ownership - string new_owner_address = 1 - [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; -} - -// MsgAcceptOwnershipResponse is the response type for the -// Msg/AcceptOwnership RPC method. -message MsgAcceptOwnershipResponse {} - -// Allows the owner to cancel the ownership transfer of the fast client. -message MsgCancelOwnershipTransfer { - option (cosmos.msg.v1.signer) = "owner_address"; - option (amino.name) = "seda/fast/MsgCancelOwnershipTransfer"; - - // this should match the owner_address in the fast client - string owner_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; -} - -// MsgCancelOwnershipTransferResponse is the response type for the -// Msg/CancelOwnershipTransfer RPC method. -message MsgCancelOwnershipTransferResponse {} - -// Allows the admin to add a user to the fast client. -message MsgAddUser { - option (cosmos.msg.v1.signer) = "admin_address"; - option (amino.name) = "seda/fast/MsgAddUser"; - - // this should match the admin_address in the fast client - string admin_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the identifier of the user - string user_id = 3; - - // the amount of credits the user has initially - string initial_credits = 4 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// MsgAddUserResponse is the response type for the Msg/AddUser RPC method. -message MsgAddUserResponse {} - -// Allows the admin to remove a user from the fast client. -message MsgRemoveUser { - option (cosmos.msg.v1.signer) = "admin_address"; - option (amino.name) = "seda/fast/MsgRemoveUser"; - - // this should match the admin_address in the fast client - string admin_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the identifier of the user - string user_id = 3; -} - -// MsgRemoveUserResponse is the response type for the Msg/RemoveUser RPC method. -message MsgRemoveUserResponse {} - -// Allows the admin to top up a user's credits. -message MsgTopUpUser { - option (cosmos.msg.v1.signer) = "sender"; - option (amino.name) = "seda/fast/MsgTopUpUser"; - - // the address that is toping up the user - string sender = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the identifier of the user - string user_id = 3; - - // the amount of credits to top up - string amount = 4 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// MsgTopUpUserResponse is the response type for the Msg/TopUpUser RPC method. -message MsgTopUpUserResponse {} - -// SettleType defines the type of settle (withdraw or burn) -enum SettleType { - option (gogoproto.goproto_enum_prefix) = false; - - // An unspecified settle type which will throw an error. - SETTLE_TYPE_UNSPECIFIED = 0; - - // Withdraw the credits to the admin address. - SETTLE_TYPE_WITHDRAW = 1; - - // Burn the credits. - SETTLE_TYPE_BURN = 2; -} - -// Allows the admin to settle the credits of the fast client. -message MsgSettleCredits { - option (cosmos.msg.v1.signer) = "admin_address"; - option (amino.name) = "seda/fast/MsgSettleCredits"; - - // this should match the admin_address in the fast client - string admin_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the type of settle - SettleType settle_type = 3; - - // the amount of credits to settle - string amount = 4 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// MsgSettleCreditsResponse is the response type for the Msg/SettleCredits RPC -// method. -message MsgSettleCreditsResponse { - // The amount of credits that were settled. - string amount = 1 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// Allows the admin to expire the credits of a user. -message MsgExpireUserCredits { - option (cosmos.msg.v1.signer) = "admin_address"; - option (amino.name) = "seda/fast/MsgExpireUserCredits"; - - // this should match the admin_address in the fast client - string admin_address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client as a hex string - string fast_client_public_key = 2; - - // the identifier of the user - string user_id = 3; - - // the amount of credits to expire - string amount = 4 [ - (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.nullable) = false - ]; -} - -// MsgExpireUserCreditsResponse is the response type for the -// Msg/ExpireUserCredits RPC method. -message MsgExpireUserCreditsResponse {} - -// Allows the fast client to submit user reports to update credits and pay out -// data proxy fees. -message MsgSubmitReports { - option (cosmos.msg.v1.signer) = "address"; - option (amino.name) = "seda/fast/MsgSubmitReports"; - - // this should match the address in the fast client - string address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - // the public key of the fast client - bytes fast_client_public_key = 2; - - // the reports to process - repeated FastUserReport reports = 3; -} - -// MsgSubmitReportsResponse is the response type for the Msg/SubmitReports RPC -// method. -message MsgSubmitReportsResponse {} - -// The request message for the UpdateParams method. -message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "seda/fast/MsgUpdateParams"; - - // authority is the address that controls the module. - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - - Params params = 2 [ (gogoproto.nullable) = false ]; -} - -// MsgUpdateParamsResponse is the response type for the Msg/UpdateParams RPC -// method. -message MsgUpdateParamsResponse {} diff --git a/libs/proto-messages/proto/sedachain/tally/v1/genesis.proto b/libs/proto-messages/proto/sedachain/tally/v1/genesis.proto deleted file mode 100644 index 869947d1..00000000 --- a/libs/proto-messages/proto/sedachain/tally/v1/genesis.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; -package sedachain.tally.v1; - -import "gogoproto/gogo.proto"; -import "sedachain/tally/v1/tally.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/tally/types"; - -// GenesisState defines tally module's genesis state. -message GenesisState { Params params = 1 [ (gogoproto.nullable) = false ]; } diff --git a/libs/proto-messages/proto/sedachain/tally/v1/query.proto b/libs/proto-messages/proto/sedachain/tally/v1/query.proto deleted file mode 100644 index 9ba0c076..00000000 --- a/libs/proto-messages/proto/sedachain/tally/v1/query.proto +++ /dev/null @@ -1,25 +0,0 @@ -syntax = "proto3"; -package sedachain.tally.v1; - -import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; -import "sedachain/tally/v1/tally.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/tally/types"; - -// Query defines the gRPC querier service. -service Query { - // Params returns the total set of tally parameters. - rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/seda-chain/tally/params"; - } -} - -// QueryParamsRequest is the request type for the Query/Params RPC method. -message QueryParamsRequest {} - -// QueryParamsResponse is the response type for the Query/Params RPC method. -message QueryParamsResponse { - // params defines the parameters of the module. - Params params = 1 [ (gogoproto.nullable) = false ]; -} diff --git a/libs/proto-messages/proto/sedachain/tally/v1/tally.proto b/libs/proto-messages/proto/sedachain/tally/v1/tally.proto deleted file mode 100644 index 6351be0b..00000000 --- a/libs/proto-messages/proto/sedachain/tally/v1/tally.proto +++ /dev/null @@ -1,39 +0,0 @@ -syntax = "proto3"; -package sedachain.tally.v1; - -import "cosmos_proto/cosmos.proto"; -import "gogoproto/gogo.proto"; -import "amino/amino.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/tally/types"; - -// Params defines the parameters for the tally module. -message Params { - // MaxTallyGasLimit is the maximum gas limit for a tally request. - uint64 max_tally_gas_limit = 1; - // FilterGasCostNone is the gas cost for a filter type none. - uint64 filter_gas_cost_none = 2; - // FilterGasCostMultiplierMode is the gas cost multiplier for a filter type - // mode. - uint64 filter_gas_cost_multiplier_mode = 3; - // FilterGasCostMAD is the gas cost multiplier for a filter type - // Median Absolute Deviation. - uint64 filter_gas_cost_multiplier_m_a_d = 4; - // GasCostBase is the base gas cost for a data request. - uint64 gas_cost_base = 5; - // GasCostFallback is the gas cost incurred for data request execution when - // even basic consensus has not been reached. - uint64 execution_gas_cost_fallback = 6; - // BurnRatio is the ratio of the gas cost to be burned in case of reduced - // payout scenarios. - string burn_ratio = 7 [ - (cosmos_proto.scalar) = "cosmos.Dec", - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (amino.dont_omitempty) = true, - (gogoproto.nullable) = false - ]; - // MaxResultSize is the maximum size of the result of a data request in bytes. - uint32 max_result_size = 8; - // MaxTalliesPerBlock specifies the maximum number of tallies per block. - uint32 max_tallies_per_block = 9; -} diff --git a/libs/proto-messages/proto/sedachain/tally/v1/tx.proto b/libs/proto-messages/proto/sedachain/tally/v1/tx.proto deleted file mode 100644 index ae05e263..00000000 --- a/libs/proto-messages/proto/sedachain/tally/v1/tx.proto +++ /dev/null @@ -1,30 +0,0 @@ -syntax = "proto3"; -package sedachain.tally.v1; - -import "gogoproto/gogo.proto"; -import "cosmos_proto/cosmos.proto"; -import "cosmos/msg/v1/msg.proto"; -import "sedachain/tally/v1/tally.proto"; - -option go_package = "github.com/sedaprotocol/seda-chain/x/tally/types"; - -// Msg defines the tally Msg service. -service Msg { - option (cosmos.msg.v1.service) = true; - - // The UpdateParams method updates the module's parameters. - rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); -} - -// The request message for the UpdateParams method. -message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - - // authority is the address that controls the module (defaults to x/gov unless - // overwritten). - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - Params params = 2 [ (gogoproto.nullable) = false ]; -} - -// The response message for the UpdateParams method. -message MsgUpdateParamsResponse {} diff --git a/libs/proto-messages/proto/sedachain/wasm_storage/v1/tx.proto b/libs/proto-messages/proto/sedachain/wasm_storage/v1/tx.proto index 30c37aab..fa92f947 100644 --- a/libs/proto-messages/proto/sedachain/wasm_storage/v1/tx.proto +++ b/libs/proto-messages/proto/sedachain/wasm_storage/v1/tx.proto @@ -21,8 +21,6 @@ service Msg { returns (MsgInstantiateCoreContractResponse); // The UpdateParams method updates the module's parameters. rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); - // The RefundTxFee method is used by the Core Contract to refund tx fee. - rpc RefundTxFee(MsgRefundTxFee) returns (MsgRefundTxFeeResponse); } // The request message for the StoreOracleProgram method. @@ -81,20 +79,3 @@ message MsgUpdateParams { // The response message for the UpdateParams method. message MsgUpdateParamsResponse {} - -// The request message for the MsgRefundTxFee method. -message MsgRefundTxFee { - option (cosmos.msg.v1.signer) = "authority"; - - // Authority is the address that controls the method. - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; - // DrId is the hex-encoded data request ID. - string dr_id = 2; - // PublicKey is the hex-encoded public key (identifier) of the executor. - string public_key = 3; - // IsReveal is true for a reveal message and false for a commit message. - bool is_reveal = 4; -} - -// The response message for the MsgRefundTxFee method. -message MsgRefundTxFeeResponse {} From f36dce8bc52806a919559d5f3de9d078f7411904 Mon Sep 17 00:00:00 2001 From: hacheigriega Date: Wed, 22 Oct 2025 09:43:19 -0400 Subject: [PATCH 2/3] chore: reflect small changes from SEDA Chain proto --- .../gen/sedachain/core/v1/core.ts | 8 +++---- .../gen/sedachain/core/v1/query.ts | 21 ++++++++----------- .../proto/sedachain/core/v1/core.proto | 5 +++-- .../proto/sedachain/core/v1/query.proto | 2 +- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/libs/proto-messages/gen/sedachain/core/v1/core.ts b/libs/proto-messages/gen/sedachain/core/v1/core.ts index c60fb0bf..30cfbfe4 100644 --- a/libs/proto-messages/gen/sedachain/core/v1/core.ts +++ b/libs/proto-messages/gen/sedachain/core/v1/core.ts @@ -609,7 +609,7 @@ export const DataRequest = { fromJSON(object: any): DataRequest { return { - iD: isSet(object.iD) ? globalThis.String(object.iD) : "", + iD: isSet(object.id) ? globalThis.String(object.id) : "", version: isSet(object.version) ? globalThis.String(object.version) : "", execProgramID: isSet(object.execProgramID) ? globalThis.String(object.execProgramID) : "", execInputs: isSet(object.execInputs) ? bytesFromBase64(object.execInputs) : new Uint8Array(0), @@ -622,7 +622,7 @@ export const DataRequest = { gasPrice: isSet(object.gasPrice) ? globalThis.String(object.gasPrice) : "", memo: isSet(object.memo) ? bytesFromBase64(object.memo) : new Uint8Array(0), paybackAddress: isSet(object.paybackAddress) ? bytesFromBase64(object.paybackAddress) : new Uint8Array(0), - sEDAPayload: isSet(object.sEDAPayload) ? bytesFromBase64(object.sEDAPayload) : new Uint8Array(0), + sEDAPayload: isSet(object.seda_payload) ? bytesFromBase64(object.seda_payload) : new Uint8Array(0), postedHeight: isSet(object.postedHeight) ? BigInt(object.postedHeight) : 0n, postedGasPrice: isSet(object.postedGasPrice) ? globalThis.String(object.postedGasPrice) : "", poster: isSet(object.poster) ? globalThis.String(object.poster) : "", @@ -635,7 +635,7 @@ export const DataRequest = { toJSON(message: DataRequest): unknown { const obj: any = {}; if (message.iD !== "") { - obj.iD = message.iD; + obj.id = message.iD; } if (message.version !== "") { obj.version = message.version; @@ -674,7 +674,7 @@ export const DataRequest = { obj.paybackAddress = base64FromBytes(message.paybackAddress); } if (message.sEDAPayload.length !== 0) { - obj.sEDAPayload = base64FromBytes(message.sEDAPayload); + obj.seda_payload = base64FromBytes(message.sEDAPayload); } if (message.postedHeight !== 0n) { obj.postedHeight = message.postedHeight.toString(); diff --git a/libs/proto-messages/gen/sedachain/core/v1/query.ts b/libs/proto-messages/gen/sedachain/core/v1/query.ts index 4ba00fa2..d5955d65 100644 --- a/libs/proto-messages/gen/sedachain/core/v1/query.ts +++ b/libs/proto-messages/gen/sedachain/core/v1/query.ts @@ -243,7 +243,7 @@ export interface QueryDataRequestsByStatusResponse { /** IsPaused is indicates whether the core module is paused. */ isPaused: boolean; /** Total is the total number of data requests under the given status. */ - total: bigint; + total: number; /** LastSeenIndex is the index of the last data request retrieved. */ lastSeenIndex: string[]; } @@ -1985,7 +1985,7 @@ export const QueryDataRequestsByStatusRequest = { }; function createBaseQueryDataRequestsByStatusResponse(): QueryDataRequestsByStatusResponse { - return { dataRequests: [], isPaused: false, total: 0n, lastSeenIndex: [] }; + return { dataRequests: [], isPaused: false, total: 0, lastSeenIndex: [] }; } export const QueryDataRequestsByStatusResponse = { @@ -1996,11 +1996,8 @@ export const QueryDataRequestsByStatusResponse = { if (message.isPaused !== false) { writer.uint32(16).bool(message.isPaused); } - if (message.total !== 0n) { - if (BigInt.asUintN(64, message.total) !== message.total) { - throw new globalThis.Error("value provided for field message.total of type uint64 too large"); - } - writer.uint32(24).uint64(message.total.toString()); + if (message.total !== 0) { + writer.uint32(24).uint32(message.total); } for (const v of message.lastSeenIndex) { writer.uint32(34).string(v!); @@ -2034,7 +2031,7 @@ export const QueryDataRequestsByStatusResponse = { break; } - message.total = longToBigint(reader.uint64() as Long); + message.total = reader.uint32(); continue; case 4: if (tag !== 34) { @@ -2058,7 +2055,7 @@ export const QueryDataRequestsByStatusResponse = { ? object.dataRequests.map((e: any) => DataRequestResponse.fromJSON(e)) : [], isPaused: isSet(object.isPaused) ? globalThis.Boolean(object.isPaused) : false, - total: isSet(object.total) ? BigInt(object.total) : 0n, + total: isSet(object.total) ? globalThis.Number(object.total) : 0, lastSeenIndex: globalThis.Array.isArray(object?.lastSeenIndex) ? object.lastSeenIndex.map((e: any) => globalThis.String(e)) : [], @@ -2073,8 +2070,8 @@ export const QueryDataRequestsByStatusResponse = { if (message.isPaused !== false) { obj.isPaused = message.isPaused; } - if (message.total !== 0n) { - obj.total = message.total.toString(); + if (message.total !== 0) { + obj.total = Math.round(message.total); } if (message.lastSeenIndex?.length) { obj.lastSeenIndex = message.lastSeenIndex; @@ -2089,7 +2086,7 @@ export const QueryDataRequestsByStatusResponse = { const message = createBaseQueryDataRequestsByStatusResponse(); message.dataRequests = object.dataRequests?.map((e) => DataRequestResponse.fromPartial(e)) || []; message.isPaused = object.isPaused ?? false; - message.total = object.total ?? 0n; + message.total = object.total ?? 0; message.lastSeenIndex = object.lastSeenIndex?.map((e) => e) || []; return message; }, diff --git a/libs/proto-messages/proto/sedachain/core/v1/core.proto b/libs/proto-messages/proto/sedachain/core/v1/core.proto index 0696df16..f3acd09b 100644 --- a/libs/proto-messages/proto/sedachain/core/v1/core.proto +++ b/libs/proto-messages/proto/sedachain/core/v1/core.proto @@ -28,7 +28,7 @@ message Staker { // DataRequest is a data request object. message DataRequest { // Hex-encoded ID of the data request - string i_d = 1 [ (gogoproto.jsontag) = "id" ]; + string i_d = 1 [ (gogoproto.jsontag) = "id", json_name = "id" ]; // Semantic versioning string version = 2 [ (gogoproto.jsontag) = "version" ]; // Hex-encoded ID (hash) of the execution program @@ -59,7 +59,8 @@ message DataRequest { // Set by the relayer bytes payback_address = 13 [ (gogoproto.jsontag) = "payback_address" ]; // Set by SEDA Protocol (e.g. OEV-enabled data requests) - bytes s_e_d_a_payload = 14 [ (gogoproto.jsontag) = "seda_payload" ]; + bytes s_e_d_a_payload = 14 + [ (gogoproto.jsontag) = "seda_payload", json_name = "seda_payload" ]; // Height at which the data request was posted int64 posted_height = 15 [ (gogoproto.jsontag) = "height" ]; // Actual gas price derived by dividing attached funds by the total gas limit diff --git a/libs/proto-messages/proto/sedachain/core/v1/query.proto b/libs/proto-messages/proto/sedachain/core/v1/query.proto index 846155b5..699d935d 100644 --- a/libs/proto-messages/proto/sedachain/core/v1/query.proto +++ b/libs/proto-messages/proto/sedachain/core/v1/query.proto @@ -261,7 +261,7 @@ message QueryDataRequestsByStatusResponse { // IsPaused is indicates whether the core module is paused. bool is_paused = 2; // Total is the total number of data requests under the given status. - uint64 total = 3; + uint32 total = 3; // LastSeenIndex is the index of the last data request retrieved. repeated string last_seen_index = 4; } From 7f9811afe9429d281066f234ecaedb40ff477a88 Mon Sep 17 00:00:00 2001 From: hacheigriega Date: Wed, 22 Oct 2025 12:14:13 -0400 Subject: [PATCH 3/3] chore(dev-tools): remove Core Contract address from Signer Use core QueryClient instead for queries of DataRequest and DataRequestConfig. Update response schema for getDrConfig and postDataRequest. --- .../src/lib/services/dr/create-dr-input.ts | 41 ++++++++------- .../services/dr/get-data-request-status.ts | 51 +++++++++++-------- .../services/dr/post-data-request-bundle.ts | 11 ++-- .../src/lib/services/dr/post-data-request.ts | 22 ++++---- .../src/lib/services/dr/query-client.ts | 5 ++ .../src/lib/services/get-dr-config.ts | 43 ++++++++-------- libs/dev-tools/src/lib/services/signer.ts | 9 +--- .../src/lib/services/signing-client.ts | 10 ++++ 8 files changed, 105 insertions(+), 87 deletions(-) diff --git a/libs/dev-tools/src/lib/services/dr/create-dr-input.ts b/libs/dev-tools/src/lib/services/dr/create-dr-input.ts index 64ac37bf..f0ccd22c 100644 --- a/libs/dev-tools/src/lib/services/dr/create-dr-input.ts +++ b/libs/dev-tools/src/lib/services/dr/create-dr-input.ts @@ -15,13 +15,16 @@ const DEFAULT_PAYBACK_ADDRESS = new Uint8Array([]); const DEFAULT_SEDA_PAYLOAD = new Uint8Array([]); const defaultDrConfig: DrConfig = { - dr_reveal_size_limit_in_bytes: 24_000, - exec_input_limit_in_bytes: 2_048, - tally_input_limit_in_bytes: 512, - consensus_filter_limit_in_bytes: 512, - memo_limit_in_bytes: 512, - payback_address_limit_in_bytes: 128, - seda_payload_limit_in_bytes: 512, + commitTimeoutInBlocks: 50, + revealTimeoutInBlocks: 5, + backupDelayInBlocks: 5, + drRevealSizeLimitInBytes: 24_000, + execInputLimitInBytes: 2_048, + tallyInputLimitInBytes: 512, + consensusFilterLimitInBytes: 512, + memoLimitInBytes: 512, + paybackAddressLimitInBytes: 128, + sEDAPayloadLimitInBytes: 512, }; export type PostDataRequestInput = { @@ -114,8 +117,8 @@ export function createPostedDataRequest( ); assert( - input.execInputs.length <= drConfig.exec_input_limit_in_bytes, - `execInputs must be less than ${drConfig.exec_input_limit_in_bytes + 1} bytes, received ${input.execInputs.length}`, + input.execInputs.length <= drConfig.execInputLimitInBytes, + `execInputs must be less than ${drConfig.execInputLimitInBytes + 1} bytes, received ${input.execInputs.length}`, ); const exec_inputs = input.execInputs; @@ -126,8 +129,8 @@ export function createPostedDataRequest( ); assert( - input.tallyInputs.length <= drConfig.tally_input_limit_in_bytes, - `tallyInputs must be less than ${drConfig.tally_input_limit_in_bytes + 1} bytes, received ${input.tallyInputs.length}`, + input.tallyInputs.length <= drConfig.tallyInputLimitInBytes, + `tallyInputs must be less than ${drConfig.tallyInputLimitInBytes + 1} bytes, received ${input.tallyInputs.length}`, ); const tally_inputs = input.tallyInputs; @@ -136,8 +139,8 @@ export function createPostedDataRequest( const consensus_filter = encodeConsensusFilter(input.consensusOptions); assert( - consensus_filter.length <= drConfig.consensus_filter_limit_in_bytes, - `consensus_filter must be less than ${drConfig.consensus_filter_limit_in_bytes + 1} bytes, received ${consensus_filter.length}`, + consensus_filter.length <= drConfig.consensusFilterLimitInBytes, + `consensus_filter must be less than ${drConfig.consensusFilterLimitInBytes + 1} bytes, received ${consensus_filter.length}`, ); const exec_gas_limit = BigInt(input.execGasLimit ?? DEFAULT_EXEC_GAS_LIMIT); @@ -148,24 +151,24 @@ export function createPostedDataRequest( if (input.memo) { assert( - input.memo.length <= drConfig.memo_limit_in_bytes, - `memo must be less than ${drConfig.memo_limit_in_bytes + 1} bytes, received ${input.memo.length}`, + input.memo.length <= drConfig.memoLimitInBytes, + `memo must be less than ${drConfig.memoLimitInBytes + 1} bytes, received ${input.memo.length}`, ); } const memo = input.memo ?? DEFAULT_MEMO; if (input.paybackAddress) { assert( - input.paybackAddress.length <= drConfig.payback_address_limit_in_bytes, - `paybackAddress must be less than ${drConfig.payback_address_limit_in_bytes + 1} bytes, received ${input.paybackAddress.length}`, + input.paybackAddress.length <= drConfig.paybackAddressLimitInBytes, + `paybackAddress must be less than ${drConfig.paybackAddressLimitInBytes + 1} bytes, received ${input.paybackAddress.length}`, ); } const payback_address = input.paybackAddress ?? DEFAULT_PAYBACK_ADDRESS; if (input.sedaPayload) { assert( - input.sedaPayload.length <= drConfig.seda_payload_limit_in_bytes, - `sedaPayload must be less than ${drConfig.seda_payload_limit_in_bytes + 1} bytes, received ${input.sedaPayload.length}`, + input.sedaPayload.length <= drConfig.sEDAPayloadLimitInBytes, + `sedaPayload must be less than ${drConfig.sEDAPayloadLimitInBytes + 1} bytes, received ${input.sedaPayload.length}`, ); } const seda_payload = input.sedaPayload ?? DEFAULT_SEDA_PAYLOAD; diff --git a/libs/dev-tools/src/lib/services/dr/get-data-request-status.ts b/libs/dev-tools/src/lib/services/dr/get-data-request-status.ts index 240311c3..3d799d5b 100644 --- a/libs/dev-tools/src/lib/services/dr/get-data-request-status.ts +++ b/libs/dev-tools/src/lib/services/dr/get-data-request-status.ts @@ -1,8 +1,10 @@ import assert from "node:assert"; +import { tryAsync } from "@seda-protocol/utils"; import type { ISigner } from "../signer"; import { createSigningClient } from "../signing-client"; import type { DataRequest } from "./data-request"; import { getDataResult } from "./get-data-result"; +import { createCoreQueryClient } from "./query-client"; export type DataRequestStatus = | "pending" @@ -14,19 +16,20 @@ export async function getDataRequestStatus( signer: ISigner, dr: DataRequest, ): Promise<{ status: DataRequestStatus }> { - const sigingClientResult = await createSigningClient(signer); - if (sigingClientResult.isErr) { - throw sigingClientResult.error; - } - - const { client: sigingClient } = sigingClientResult.value; - const contract = signer.getCoreContractAddress(); - - const contractDr = await sigingClient.queryContractSmart(contract, { - get_data_request: { dr_id: dr.id }, + const coreQueryClient = await createCoreQueryClient({ + rpc: signer.getEndpoint(), }); + const response = await tryAsync( + coreQueryClient.DataRequest({ + drId: dr.id, + }), + ); + + if (response.isErr) { + throw response.error; + } - if (contractDr === null) { + if (!response.value.dataRequest) { const drResult = await getDataResult({ rpc: signer.getEndpoint() }, dr); if (drResult === null) { @@ -36,24 +39,30 @@ export async function getDataRequestStatus( return { status: "resolved" }; } - const replicationFactor = contractDr?.replication_factor; - assert( - Number.isInteger(replicationFactor), - "Invalid DR response, replication factor is not a number.", - ); + const responseDR = response.value.dataRequest; + if (!responseDR.dataRequest) { + throw new Error("Invalid DR response, no data request."); + } + if (!responseDR.dataRequest.replicationFactor) { + throw new Error("Invalid DR response, no replication factor."); + } assert( - typeof contractDr?.commits === "object", + typeof responseDR?.commits === "object", "Invalid DR response, no commits map.", ); assert( - typeof contractDr?.reveals === "object", + typeof responseDR?.reveals === "object", "Invalid DR response, no reveals map.", ); - const commitments = Object.keys(contractDr.commits).length; - const reveals = Object.keys(contractDr.reveals).length; + const commitments = Object.keys(responseDR.commits).length; + const reveals = Object.keys(responseDR.reveals).length; - const status = getStatus(replicationFactor, commitments, reveals); + const status = getStatus( + responseDR.dataRequest.replicationFactor, + commitments, + reveals, + ); return { status }; } diff --git a/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts b/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts index b01bc3c3..1b3b1972 100644 --- a/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts +++ b/libs/dev-tools/src/lib/services/dr/post-data-request-bundle.ts @@ -23,17 +23,16 @@ export async function postDataRequestBundle( dataRequestInputs: PostDataRequestInput[], gasOptions?: GasOptions, ): Promise<{ tx: string; drs: DataRequest[] }> { + const drConfig = await getDrConfig(signer); + if (drConfig.isErr) { + throw drConfig.error; + } + const sigingClientResult = await createSigningClient(signer); if (sigingClientResult.isErr) { throw sigingClientResult.error; } - const contract = signer.getCoreContractAddress(); - const drConfig = await getDrConfig(sigingClientResult.value.client, signer); - if (drConfig.isErr) { - throw drConfig.error; - } - const { client: sigingClient, address } = sigingClientResult.value; const messages = dataRequestInputs.map((dataRequestInput) => { diff --git a/libs/dev-tools/src/lib/services/dr/post-data-request.ts b/libs/dev-tools/src/lib/services/dr/post-data-request.ts index 99b78665..ed5c7b4b 100644 --- a/libs/dev-tools/src/lib/services/dr/post-data-request.ts +++ b/libs/dev-tools/src/lib/services/dr/post-data-request.ts @@ -15,13 +15,10 @@ import { DataRequest } from "./data-request"; export const PostDataRequestResponseSchema = v.pipe( v.object({ - dr_id: v.string(), - height: v.pipe( - v.number(), - v.transform((val) => BigInt(val)), - ), + drID: v.string(), + height: v.bigint(), }), - v.transform((val) => new DataRequest(val.dr_id, val.height)), + v.transform((val) => new DataRequest(val.drID, val.height)), ); export async function postDataRequest( @@ -29,16 +26,16 @@ export async function postDataRequest( dataRequestInput: PostDataRequestInput, gasOptions?: GasOptions, ): Promise<{ tx: string; dr: DataRequest }> { + const drConfig = await getDrConfig(signer); + if (drConfig.isErr) { + throw drConfig.error; + } + const sigingClientResult = await createSigningClient(signer); if (sigingClientResult.isErr) { throw sigingClientResult.error; } - const drConfig = await getDrConfig(sigingClientResult.value.client, signer); - if (drConfig.isErr) { - throw drConfig.error; - } - const { client: sigingClient, address } = sigingClientResult.value; const req = createPostedDataRequest(dataRequestInput, drConfig.value); @@ -83,8 +80,7 @@ export async function postDataRequest( response.value.msgResponses[0], ); - const drResponse = JSON.parse(Buffer.from(messageResponse.data).toString()); - const dr = tryParseSync(PostDataRequestResponseSchema, drResponse); + const dr = tryParseSync(PostDataRequestResponseSchema, messageResponse); if (dr.isErr) { throw new Error(`Failed to parse DR response: ${dr.error}`); } diff --git a/libs/dev-tools/src/lib/services/dr/query-client.ts b/libs/dev-tools/src/lib/services/dr/query-client.ts index a7b1f4d4..e411cf07 100644 --- a/libs/dev-tools/src/lib/services/dr/query-client.ts +++ b/libs/dev-tools/src/lib/services/dr/query-client.ts @@ -6,3 +6,8 @@ export async function createBatchingQueryClient(config: QueryConfig) { const protoRpcClient = await createProtoQueryClient(config); return new sedachain.batching.v1.QueryClientImpl(protoRpcClient); } + +export async function createCoreQueryClient(config: QueryConfig) { + const protoRpcClient = await createProtoQueryClient(config); + return new sedachain.core.v1.QueryClientImpl(protoRpcClient); +} diff --git a/libs/dev-tools/src/lib/services/get-dr-config.ts b/libs/dev-tools/src/lib/services/get-dr-config.ts index 4f1c1a55..f61563bd 100644 --- a/libs/dev-tools/src/lib/services/get-dr-config.ts +++ b/libs/dev-tools/src/lib/services/get-dr-config.ts @@ -1,35 +1,38 @@ -import type { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; import { tryAsync, tryParseSync } from "@seda-protocol/utils"; -import { Result, ResultNS } from "true-myth"; +import { Result } from "true-myth"; import * as v from "valibot"; +import { createCoreQueryClient } from "./dr/query-client"; import type { ISigner } from "./signer"; -const DrConfigSchema = v.object({ - dr_reveal_size_limit_in_bytes: v.number(), - exec_input_limit_in_bytes: v.number(), - tally_input_limit_in_bytes: v.number(), - consensus_filter_limit_in_bytes: v.number(), - memo_limit_in_bytes: v.number(), - payback_address_limit_in_bytes: v.number(), - seda_payload_limit_in_bytes: v.number(), +export const DrConfigSchema = v.object({ + commitTimeoutInBlocks: v.number(), + revealTimeoutInBlocks: v.number(), + backupDelayInBlocks: v.number(), + drRevealSizeLimitInBytes: v.number(), + execInputLimitInBytes: v.number(), + tallyInputLimitInBytes: v.number(), + consensusFilterLimitInBytes: v.number(), + memoLimitInBytes: v.number(), + paybackAddressLimitInBytes: v.number(), + sEDAPayloadLimitInBytes: v.number(), }); export type DrConfig = v.InferOutput; export async function getDrConfig( - signingClient: SigningCosmWasmClient, signer: ISigner, ): Promise> { - const contract = signer.getCoreContractAddress(); + const coreQueryClient = await createCoreQueryClient({ + rpc: signer.getEndpoint(), + }); + const response = await tryAsync(coreQueryClient.DataRequestConfig({})); - const config = await tryAsync(async () => - signingClient.queryContractSmart(contract, { - get_dr_config: {}, - }), - ); - if (config.isErr) { - return Result.err(config.error); + if (response.isErr) { + return Result.err(response.error); + } + if (!response.value.dataRequestConfig) { + return Result.err("No data request config found."); } - return tryParseSync(DrConfigSchema, config.value); + return tryParseSync(DrConfigSchema, response.value.dataRequestConfig); } diff --git a/libs/dev-tools/src/lib/services/signer.ts b/libs/dev-tools/src/lib/services/signer.ts index fce67212..815d16fb 100644 --- a/libs/dev-tools/src/lib/services/signer.ts +++ b/libs/dev-tools/src/lib/services/signer.ts @@ -1,6 +1,5 @@ import { stringToPath } from "@cosmjs/crypto"; import { - AccountData, DirectSecp256k1HdWallet, type OfflineSigner, } from "@cosmjs/proto-signing"; @@ -21,7 +20,6 @@ export interface ISigner { getEndpoint: () => string; getSigner: () => OfflineSigner; getAddress: () => string; - getCoreContractAddress: () => string; } const DEFAULT_ADDRESS_INDEX = 0; @@ -31,7 +29,6 @@ export class Signer implements ISigner { private endpoint: string, private signer: DirectSecp256k1HdWallet, private addresses: string[], - private coreContractAddress: string, private addressIndex: number, ) {} @@ -67,7 +64,7 @@ export class Signer implements ISigner { const addresses = accounts.map((account) => account.address); - return new Signer(config.rpc, wallet, addresses, contract, addressIndex); + return new Signer(config.rpc, wallet, addresses, addressIndex); } getSigner() { @@ -81,10 +78,6 @@ export class Signer implements ISigner { getEndpoint() { return this.endpoint; } - - getCoreContractAddress() { - return this.coreContractAddress; - } } /** diff --git a/libs/dev-tools/src/lib/services/signing-client.ts b/libs/dev-tools/src/lib/services/signing-client.ts index 07d6412e..ebd6875a 100644 --- a/libs/dev-tools/src/lib/services/signing-client.ts +++ b/libs/dev-tools/src/lib/services/signing-client.ts @@ -5,6 +5,7 @@ import { isJsonRpcErrorResponse, parseJsonRpcResponse, } from "@cosmjs/json-rpc"; +import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate"; import { Comet38Client, HttpClient } from "@cosmjs/tendermint-rpc"; import { sedachain } from "@seda-protocol/proto-messages"; import { tryAsync } from "@seda-protocol/utils"; @@ -34,6 +35,15 @@ export async function createSigningClient( sedachain.wasm_storage.v1.MsgStoreOracleProgram, ); + signingClientResult.value.registry.register( + "/sedachain.core.v1.MsgPostDataRequest", + sedachain.core.v1.MsgPostDataRequest, + ); + signingClientResult.value.registry.register( + "/sedachain.core.v1.MsgPostDataRequestResponse", + sedachain.core.v1.MsgPostDataRequestResponse, + ); + signingClientResult.value.registry.register( MsgExecuteContractResponse.typeUrl, MsgExecuteContractResponse,