///
import { VoteResult } from "./types";
import { Long } from "../../helpers";
import * as _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bnbchain.greenfield.challenge";
/** EventStartChallenge to indicate a challenge has bee created. */
export interface EventStartChallenge {
/** The id of challenge, which is generated by blockchain. */
challengeId: Long;
/** The id of object info to be challenged. */
objectId: string;
/** The segment/piece index of the object info. */
segmentIndex: number;
/** The storage provider to be challenged. */
spOperatorAddress: string;
/** The redundancy index, which comes from the index of storage providers. */
redundancyIndex: number;
/** The challenger who submits the challenge. */
challengerAddress: string;
/** The challenge will be expired after this height */
expiredHeight: Long;
}
/** EventStartChallenge to indicate a challenge has bee created. */
export interface EventStartChallengeSDKType {
challenge_id: Long;
object_id: string;
segment_index: number;
sp_operator_address: string;
redundancy_index: number;
challenger_address: string;
expired_height: Long;
}
/** EventAttestChallenge to indicate a challenge has been attested. */
export interface EventAttestChallenge {
/** The id of challenge. */
challengeId: Long;
/** The result of challenge. */
result: VoteResult;
/** The slashed storage provider address. */
spOperatorAddress: string;
/** The slashed amount from the storage provider. */
slashAmount: string;
/** The address of challenger. */
challengerAddress: string;
/** The reward amount to the challenger. */
challengerRewardAmount: string;
/** The submitter of the challenge attestation. */
submitterAddress: string;
/** The reward amount to the submitter. */
submitterRewardAmount: string;
/** The reward amount to all current validators. */
validatorRewardAmount: string;
}
/** EventAttestChallenge to indicate a challenge has been attested. */
export interface EventAttestChallengeSDKType {
challenge_id: Long;
result: VoteResult;
sp_operator_address: string;
slash_amount: string;
challenger_address: string;
challenger_reward_amount: string;
submitter_address: string;
submitter_reward_amount: string;
validator_reward_amount: string;
}
export declare const EventStartChallenge: {
encode(message: EventStartChallenge, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): EventStartChallenge;
fromJSON(object: any): EventStartChallenge;
toJSON(message: EventStartChallenge): 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;
segmentIndex?: number | undefined;
spOperatorAddress?: string | undefined;
redundancyIndex?: number | undefined;
challengerAddress?: string | undefined;
expiredHeight?: 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>) | undefined;
} & Record, never>>(object: I): EventStartChallenge;
fromSDK(object: EventStartChallengeSDKType): EventStartChallenge;
toSDK(message: EventStartChallenge): EventStartChallengeSDKType;
};
export declare const EventAttestChallenge: {
encode(message: EventAttestChallenge, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): EventAttestChallenge;
fromJSON(object: any): EventAttestChallenge;
toJSON(message: EventAttestChallenge): 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;
result?: VoteResult | undefined;
spOperatorAddress?: string | undefined;
slashAmount?: string | undefined;
challengerAddress?: string | undefined;
challengerRewardAmount?: string | undefined;
submitterAddress?: string | undefined;
submitterRewardAmount?: string | undefined;
validatorRewardAmount?: string | undefined;
} & Record, never>>(object: I): EventAttestChallenge;
fromSDK(object: EventAttestChallengeSDKType): EventAttestChallenge;
toSDK(message: EventAttestChallenge): EventAttestChallengeSDKType;
};