///
import { Description, DescriptionSDKType } from "./types";
import { Coin, CoinSDKType } from "../../cosmos/base/v1beta1/coin";
import { Long, Rpc } from "../../helpers";
import * as _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bnbchain.greenfield.sp";
/** MsgCreateStorageProvider defines message for creating a new storage provider. */
export interface MsgCreateStorageProvider {
/** creator is the msg signer */
creator: string;
/** description defines the description terms for the validator. */
description?: Description;
/** sp_address defines the address of the sp's operator; It also is the unqiue index key of sp. */
spAddress: string;
/** fund_address is the account address of the storage provider for deposit, remuneration. */
fundingAddress: string;
/** seal_address is the account address of the storage provider for sealObject */
sealAddress: string;
/** approval_address is the account address of the storage provider for ack CreateBuclet/Object. */
approvalAddress: string;
/** endpoint is the service address of the storage provider */
endpoint: string;
/** deposit define the deposit token */
deposit?: Coin;
/** read price, in bnb wei per charge byte */
readPrice: string;
/** free read quota, in byte */
freeReadQuota: Long;
/** store price, in bnb wei per charge byte */
storePrice: string;
}
/** MsgCreateStorageProvider defines message for creating a new storage provider. */
export interface MsgCreateStorageProviderSDKType {
creator: string;
description?: DescriptionSDKType;
sp_address: string;
funding_address: string;
seal_address: string;
approval_address: string;
endpoint: string;
deposit?: CoinSDKType;
read_price: string;
free_read_quota: Long;
store_price: string;
}
/** MsgCreateStorageProviderResponse defines the Msg/CreateStorageProvider response type. */
export interface MsgCreateStorageProviderResponse {
}
/** MsgCreateStorageProviderResponse defines the Msg/CreateStorageProvider response type. */
export interface MsgCreateStorageProviderResponseSDKType {
}
/** MsgDeposit defines a SDK message for deposit token for sp. */
export interface MsgDeposit {
/** creator is the msg signer, it should be sp's fund address */
creator: string;
/** sp_address is the operator address of sp */
spAddress: string;
/** deposit is a mount of token which used to deposit for SP */
deposit?: Coin;
}
/** MsgDeposit defines a SDK message for deposit token for sp. */
export interface MsgDepositSDKType {
creator: string;
sp_address: string;
deposit?: CoinSDKType;
}
/** MsgDepositResponse defines the Msg/Deposit response type. */
export interface MsgDepositResponse {
}
/** MsgDepositResponse defines the Msg/Deposit response type. */
export interface MsgDepositResponseSDKType {
}
/** MsgEditStorageProvider defines a SDK message for editing an existing sp. */
export interface MsgEditStorageProvider {
spAddress: string;
endpoint: string;
description?: Description;
}
/** MsgEditStorageProvider defines a SDK message for editing an existing sp. */
export interface MsgEditStorageProviderSDKType {
sp_address: string;
endpoint: string;
description?: DescriptionSDKType;
}
/** MsgEditStorageProviderResponse defines the Msg/EditStorageProvider response type. */
export interface MsgEditStorageProviderResponse {
}
/** MsgEditStorageProviderResponse defines the Msg/EditStorageProvider response type. */
export interface MsgEditStorageProviderResponseSDKType {
}
export interface MsgUpdateSpStoragePrice {
/** sp address */
spAddress: string;
/** read price, in bnb wei per charge byte */
readPrice: string;
/** free read quota, in byte */
freeReadQuota: Long;
/** store price, in bnb wei per charge byte */
storePrice: string;
}
export interface MsgUpdateSpStoragePriceSDKType {
sp_address: string;
read_price: string;
free_read_quota: Long;
store_price: string;
}
export interface MsgUpdateSpStoragePriceResponse {
}
export interface MsgUpdateSpStoragePriceResponseSDKType {
}
export declare const MsgCreateStorageProvider: {
encode(message: MsgCreateStorageProvider, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateStorageProvider;
fromJSON(object: any): MsgCreateStorageProvider;
toJSON(message: MsgCreateStorageProvider): unknown;
fromPartial, never>) | undefined;
spAddress?: string | undefined;
fundingAddress?: string | undefined;
sealAddress?: string | undefined;
approvalAddress?: string | undefined;
endpoint?: string | undefined;
deposit?: ({
denom?: string | undefined;
amount?: string | undefined;
} & {
denom?: string | undefined;
amount?: string | undefined;
} & Record, never>) | undefined;
readPrice?: string | undefined;
freeReadQuota?: 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;
storePrice?: string | undefined;
} & Record, never>>(object: I): MsgCreateStorageProvider;
fromSDK(object: MsgCreateStorageProviderSDKType): MsgCreateStorageProvider;
toSDK(message: MsgCreateStorageProvider): MsgCreateStorageProviderSDKType;
};
export declare const MsgCreateStorageProviderResponse: {
encode(_: MsgCreateStorageProviderResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateStorageProviderResponse;
fromJSON(_: any): MsgCreateStorageProviderResponse;
toJSON(_: MsgCreateStorageProviderResponse): unknown;
fromPartial, never>>(_: I): MsgCreateStorageProviderResponse;
fromSDK(_: MsgCreateStorageProviderResponseSDKType): MsgCreateStorageProviderResponse;
toSDK(_: MsgCreateStorageProviderResponse): MsgCreateStorageProviderResponseSDKType;
};
export declare const MsgDeposit: {
encode(message: MsgDeposit, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgDeposit;
fromJSON(object: any): MsgDeposit;
toJSON(message: MsgDeposit): unknown;
fromPartial, never>) | undefined;
} & Record, never>>(object: I): MsgDeposit;
fromSDK(object: MsgDepositSDKType): MsgDeposit;
toSDK(message: MsgDeposit): MsgDepositSDKType;
};
export declare const MsgDepositResponse: {
encode(_: MsgDepositResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgDepositResponse;
fromJSON(_: any): MsgDepositResponse;
toJSON(_: MsgDepositResponse): unknown;
fromPartial, never>>(_: I): MsgDepositResponse;
fromSDK(_: MsgDepositResponseSDKType): MsgDepositResponse;
toSDK(_: MsgDepositResponse): MsgDepositResponseSDKType;
};
export declare const MsgEditStorageProvider: {
encode(message: MsgEditStorageProvider, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditStorageProvider;
fromJSON(object: any): MsgEditStorageProvider;
toJSON(message: MsgEditStorageProvider): unknown;
fromPartial, never>) | undefined;
} & Record, never>>(object: I): MsgEditStorageProvider;
fromSDK(object: MsgEditStorageProviderSDKType): MsgEditStorageProvider;
toSDK(message: MsgEditStorageProvider): MsgEditStorageProviderSDKType;
};
export declare const MsgEditStorageProviderResponse: {
encode(_: MsgEditStorageProviderResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditStorageProviderResponse;
fromJSON(_: any): MsgEditStorageProviderResponse;
toJSON(_: MsgEditStorageProviderResponse): unknown;
fromPartial, never>>(_: I): MsgEditStorageProviderResponse;
fromSDK(_: MsgEditStorageProviderResponseSDKType): MsgEditStorageProviderResponse;
toSDK(_: MsgEditStorageProviderResponse): MsgEditStorageProviderResponseSDKType;
};
export declare const MsgUpdateSpStoragePrice: {
encode(message: MsgUpdateSpStoragePrice, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateSpStoragePrice;
fromJSON(object: any): MsgUpdateSpStoragePrice;
toJSON(message: MsgUpdateSpStoragePrice): 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;
storePrice?: string | undefined;
} & Record, never>>(object: I): MsgUpdateSpStoragePrice;
fromSDK(object: MsgUpdateSpStoragePriceSDKType): MsgUpdateSpStoragePrice;
toSDK(message: MsgUpdateSpStoragePrice): MsgUpdateSpStoragePriceSDKType;
};
export declare const MsgUpdateSpStoragePriceResponse: {
encode(_: MsgUpdateSpStoragePriceResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateSpStoragePriceResponse;
fromJSON(_: any): MsgUpdateSpStoragePriceResponse;
toJSON(_: MsgUpdateSpStoragePriceResponse): unknown;
fromPartial, never>>(_: I): MsgUpdateSpStoragePriceResponse;
fromSDK(_: MsgUpdateSpStoragePriceResponseSDKType): MsgUpdateSpStoragePriceResponse;
toSDK(_: MsgUpdateSpStoragePriceResponse): MsgUpdateSpStoragePriceResponseSDKType;
};
/** Msg defines the Msg service for creating a new storage provider.
TODO: add a transaction that the Storage Provide claim themself enter short time maintenance to avoid slash */
export interface Msg {
CreateStorageProvider(request: MsgCreateStorageProvider): Promise;
Deposit(request: MsgDeposit): Promise;
EditStorageProvider(request: MsgEditStorageProvider): Promise;
UpdateSpStoragePrice(request: MsgUpdateSpStoragePrice): Promise;
}
export declare class MsgClientImpl implements Msg {
private readonly rpc;
constructor(rpc: Rpc);
CreateStorageProvider(request: MsgCreateStorageProvider): Promise;
Deposit(request: MsgDeposit): Promise;
EditStorageProvider(request: MsgEditStorageProvider): Promise;
UpdateSpStoragePrice(request: MsgUpdateSpStoragePrice): Promise;
}