///
import { VoteResult } from "./types";
import * as _m0 from "protobufjs/minimal";
import { Long, Rpc } from "../../helpers";
export declare const protobufPackage = "bnbchain.greenfield.challenge";
/** MsgSubmit defines the message for submitting challenges. */
export interface MsgSubmit {
/** The challenger address. */
challenger: string;
/** The storage provider to be challenged. */
spOperatorAddress: string;
/** The bucket of the object info to be challenged. */
bucketName: string;
/** The name of the object info to be challenged. */
objectName: string;
/** The index of segment/piece to challenge, start from zero. */
segmentIndex: number;
/** Randomly pick a segment/piece to challenge or not. */
randomIndex: boolean;
}
/** MsgSubmit defines the message for submitting challenges. */
export interface MsgSubmitSDKType {
challenger: string;
sp_operator_address: string;
bucket_name: string;
object_name: string;
segment_index: number;
random_index: boolean;
}
/** MsgSubmitResponse defines the response of MsgSubmit. */
export interface MsgSubmitResponse {
}
/** MsgSubmitResponse defines the response of MsgSubmit. */
export interface MsgSubmitResponseSDKType {
}
/** MsgSubmit defines the message for attesting challenges. */
export interface MsgAttest {
/** The submitter address. */
submitter: string;
/** The id of the challenge. */
challengeId: Long;
/** The id of the object info. */
objectId: string;
/** The storage provider to be challenged. */
spOperatorAddress: string;
/** Vote result of the attestation. */
voteResult: VoteResult;
/** The challenger who submits the challenge, which can be empty. */
challengerAddress: string;
/** The validators participated in the attestation. */
voteValidatorSet: Long[];
/** The aggregated BLS signature from the validators. */
voteAggSignature: Uint8Array;
}
/** MsgSubmit defines the message for attesting challenges. */
export interface MsgAttestSDKType {
submitter: string;
challenge_id: Long;
object_id: string;
sp_operator_address: string;
vote_result: VoteResult;
challenger_address: string;
vote_validator_set: Long[];
vote_agg_signature: Uint8Array;
}
/** MsgAttest defines the response of MsgAttestResponse. */
export interface MsgAttestResponse {
}
/** MsgAttest defines the response of MsgAttestResponse. */
export interface MsgAttestResponseSDKType {
}
export declare const MsgSubmit: {
encode(message: MsgSubmit, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmit;
fromJSON(object: any): MsgSubmit;
toJSON(message: MsgSubmit): unknown;
fromPartial, never>>(object: I): MsgSubmit;
fromSDK(object: MsgSubmitSDKType): MsgSubmit;
toSDK(message: MsgSubmit): MsgSubmitSDKType;
};
export declare const MsgSubmitResponse: {
encode(_: MsgSubmitResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitResponse;
fromJSON(_: any): MsgSubmitResponse;
toJSON(_: MsgSubmitResponse): unknown;
fromPartial, never>>(_: I): MsgSubmitResponse;
fromSDK(_: MsgSubmitResponseSDKType): MsgSubmitResponse;
toSDK(_: MsgSubmitResponse): MsgSubmitResponseSDKType;
};
export declare const MsgAttest: {
encode(message: MsgAttest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgAttest;
fromJSON(object: any): MsgAttest;
toJSON(message: MsgAttest): unknown;
fromPartial Long.Long;
and: (other: string | number | Long.Long) => Long.Long;
compare: (other: string | number | Long.Long) => number;
comp: (other: string | number | Long.Long) => number;
divide: (divisor: string | number | Long.Long) => Long.Long;
div: (divisor: string | number | Long.Long) => Long.Long;
equals: (other: string | number | Long.Long) => boolean;
eq: (other: string | number | Long.Long) => boolean;
getHighBits: () => number;
getHighBitsUnsigned: () => number;
getLowBits: () => number;
getLowBitsUnsigned: () => number;
getNumBitsAbs: () => number;
greaterThan: (other: string | number | Long.Long) => boolean;
gt: (other: string | number | Long.Long) => boolean;
greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
gte: (other: string | number | Long.Long) => boolean;
isEven: () => boolean;
isNegative: () => boolean;
isOdd: () => boolean;
isPositive: () => boolean;
isZero: () => boolean;
lessThan: (other: string | number | Long.Long) => boolean;
lt: (other: string | number | Long.Long) => boolean;
lessThanOrEqual: (other: string | number | Long.Long) => boolean;
lte: (other: string | number | Long.Long) => boolean;
modulo: (other: string | number | Long.Long) => Long.Long;
mod: (other: string | number | Long.Long) => Long.Long;
multiply: (multiplier: string | number | Long.Long) => Long.Long;
mul: (multiplier: string | number | Long.Long) => Long.Long;
negate: () => Long.Long;
neg: () => Long.Long;
not: () => Long.Long;
notEquals: (other: string | number | Long.Long) => boolean;
neq: (other: string | number | Long.Long) => boolean;
or: (other: string | number | Long.Long) => Long.Long;
shiftLeft: (numBits: number | Long.Long) => Long.Long;
shl: (numBits: number | Long.Long) => Long.Long;
shiftRight: (numBits: number | Long.Long) => Long.Long;
shr: (numBits: number | Long.Long) => Long.Long;
shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
shru: (numBits: number | Long.Long) => Long.Long;
subtract: (subtrahend: string | number | Long.Long) => Long.Long;
sub: (subtrahend: string | number | Long.Long) => Long.Long;
toInt: () => number;
toNumber: () => number;
toBytes: (le?: boolean | undefined) => number[];
toBytesLE: () => number[];
toBytesBE: () => number[];
toSigned: () => Long.Long;
toString: (radix?: number | undefined) => string;
toUnsigned: () => Long.Long;
xor: (other: string | number | Long.Long) => Long.Long;
} & Record, never>) | undefined;
objectId?: string | undefined;
spOperatorAddress?: string | undefined;
voteResult?: VoteResult | undefined;
challengerAddress?: string | undefined;
voteValidatorSet?: ((string | number | Long.Long)[] & (string | number | (Long.Long & {
high: number;
low: number;
unsigned: boolean;
add: (addend: string | number | Long.Long) => Long.Long;
and: (other: string | number | Long.Long) => Long.Long;
compare: (other: string | number | Long.Long) => number;
comp: (other: string | number | Long.Long) => number;
divide: (divisor: string | number | Long.Long) => Long.Long;
div: (divisor: string | number | Long.Long) => Long.Long;
equals: (other: string | number | Long.Long) => boolean;
eq: (other: string | number | Long.Long) => boolean;
getHighBits: () => number;
getHighBitsUnsigned: () => number;
getLowBits: () => number;
getLowBitsUnsigned: () => number;
getNumBitsAbs: () => number;
greaterThan: (other: string | number | Long.Long) => boolean;
gt: (other: string | number | Long.Long) => boolean;
greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
gte: (other: string | number | Long.Long) => boolean;
isEven: () => boolean;
isNegative: () => boolean;
isOdd: () => boolean;
isPositive: () => boolean;
isZero: () => boolean;
lessThan: (other: string | number | Long.Long) => boolean;
lt: (other: string | number | Long.Long) => boolean;
lessThanOrEqual: (other: string | number | Long.Long) => boolean;
lte: (other: string | number | Long.Long) => boolean;
modulo: (other: string | number | Long.Long) => Long.Long;
mod: (other: string | number | Long.Long) => Long.Long;
multiply: (multiplier: string | number | Long.Long) => Long.Long;
mul: (multiplier: string | number | Long.Long) => Long.Long;
negate: () => Long.Long;
neg: () => Long.Long;
not: () => Long.Long;
notEquals: (other: string | number | Long.Long) => boolean;
neq: (other: string | number | Long.Long) => boolean;
or: (other: string | number | Long.Long) => Long.Long;
shiftLeft: (numBits: number | Long.Long) => Long.Long;
shl: (numBits: number | Long.Long) => Long.Long;
shiftRight: (numBits: number | Long.Long) => Long.Long;
shr: (numBits: number | Long.Long) => Long.Long;
shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
shru: (numBits: number | Long.Long) => Long.Long;
subtract: (subtrahend: string | number | Long.Long) => Long.Long;
sub: (subtrahend: string | number | Long.Long) => Long.Long;
toInt: () => number;
toNumber: () => number;
toBytes: (le?: boolean | undefined) => number[];
toBytesLE: () => number[];
toBytesBE: () => number[];
toSigned: () => Long.Long;
toString: (radix?: number | undefined) => string;
toUnsigned: () => Long.Long;
xor: (other: string | number | Long.Long) => Long.Long;
} & Record, never>))[] & Record, never>) | undefined;
voteAggSignature?: Uint8Array | undefined;
} & Record, never>>(object: I): MsgAttest;
fromSDK(object: MsgAttestSDKType): MsgAttest;
toSDK(message: MsgAttest): MsgAttestSDKType;
};
export declare const MsgAttestResponse: {
encode(_: MsgAttestResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgAttestResponse;
fromJSON(_: any): MsgAttestResponse;
toJSON(_: MsgAttestResponse): unknown;
fromPartial, never>>(_: I): MsgAttestResponse;
fromSDK(_: MsgAttestResponseSDKType): MsgAttestResponse;
toSDK(_: MsgAttestResponse): MsgAttestResponseSDKType;
};
/** Msg defines the Msg service. */
export interface Msg {
Submit(request: MsgSubmit): Promise;
Attest(request: MsgAttest): Promise;
}
export declare class MsgClientImpl implements Msg {
private readonly rpc;
constructor(rpc: Rpc);
Submit(request: MsgSubmit): Promise;
Attest(request: MsgAttest): Promise;
}