@archwayhq/arch3-proto
Version:
Protobuf definitions and RPC clients for the Archway Network
223 lines (222 loc) • 8.96 kB
TypeScript
import { BinaryReader, BinaryWriter } from "../../../binary";
/** ContractOperation denotes which operation consumed gas. */
export declare enum ContractOperation {
/** CONTRACT_OPERATION_UNSPECIFIED - Invalid or unknown operation */
CONTRACT_OPERATION_UNSPECIFIED = 0,
/** CONTRACT_OPERATION_INSTANTIATION - Instantiate operation */
CONTRACT_OPERATION_INSTANTIATION = 1,
/** CONTRACT_OPERATION_EXECUTION - Execute operation */
CONTRACT_OPERATION_EXECUTION = 2,
/** CONTRACT_OPERATION_QUERY - Query */
CONTRACT_OPERATION_QUERY = 3,
/** CONTRACT_OPERATION_MIGRATE - Migrate operation */
CONTRACT_OPERATION_MIGRATE = 4,
/** CONTRACT_OPERATION_IBC - IBC operations */
CONTRACT_OPERATION_IBC = 5,
/** CONTRACT_OPERATION_SUDO - Sudo operation */
CONTRACT_OPERATION_SUDO = 6,
/** CONTRACT_OPERATION_REPLY - Reply callback operation */
CONTRACT_OPERATION_REPLY = 7,
UNRECOGNIZED = -1
}
export declare const ContractOperationAmino: typeof ContractOperation;
export declare function contractOperationFromJSON(object: any): ContractOperation;
export declare function contractOperationToJSON(object: ContractOperation): string;
/**
* TxInfo keeps a transaction gas tracking data.
* Object is being created at the module EndBlocker.
*/
export interface TxInfo {
/** id defines the unique transaction ID. */
id: bigint;
/** height defines the block height of the transaction. */
height: bigint;
/**
* total_gas defines total gas consumption by the transaction.
* It is the sum of gas consumed by all contract operations (VM + SDK gas).
*/
totalGas: bigint;
}
export interface TxInfoProtoMsg {
typeUrl: "/archway.tracking.v1.TxInfo";
value: Uint8Array;
}
/**
* TxInfo keeps a transaction gas tracking data.
* Object is being created at the module EndBlocker.
*/
export interface TxInfoAmino {
/** id defines the unique transaction ID. */
id?: string;
/** height defines the block height of the transaction. */
height?: string;
/**
* total_gas defines total gas consumption by the transaction.
* It is the sum of gas consumed by all contract operations (VM + SDK gas).
*/
total_gas?: string;
}
export interface TxInfoAminoMsg {
type: "/archway.tracking.v1.TxInfo";
value: TxInfoAmino;
}
/**
* ContractOperationInfo keeps a single contract operation gas consumption data.
* Object is being created by the IngestGasRecord call from the wasmd.
*/
export interface ContractOperationInfo {
/** id defines the unique operation ID. */
id: bigint;
/** tx_id defines a transaction ID operation relates to (TxInfo.id). */
txId: bigint;
/** contract_address defines the contract address operation relates to. */
contractAddress: string;
/** operation_type defines the gas consumption type. */
operationType: ContractOperation;
/**
* vm_gas is the gas consumption reported by the WASM VM.
* Value is adjusted by this module (CalculateUpdatedGas func).
*/
vmGas: bigint;
/**
* sdk_gas is the gas consumption reported by the SDK gas meter and the WASM
* GasRegister (cost of Execute/Query/etc). Value is adjusted by this module
* (CalculateUpdatedGas func).
*/
sdkGas: bigint;
}
export interface ContractOperationInfoProtoMsg {
typeUrl: "/archway.tracking.v1.ContractOperationInfo";
value: Uint8Array;
}
/**
* ContractOperationInfo keeps a single contract operation gas consumption data.
* Object is being created by the IngestGasRecord call from the wasmd.
*/
export interface ContractOperationInfoAmino {
/** id defines the unique operation ID. */
id?: string;
/** tx_id defines a transaction ID operation relates to (TxInfo.id). */
tx_id?: string;
/** contract_address defines the contract address operation relates to. */
contract_address?: string;
/** operation_type defines the gas consumption type. */
operation_type?: ContractOperation;
/**
* vm_gas is the gas consumption reported by the WASM VM.
* Value is adjusted by this module (CalculateUpdatedGas func).
*/
vm_gas?: string;
/**
* sdk_gas is the gas consumption reported by the SDK gas meter and the WASM
* GasRegister (cost of Execute/Query/etc). Value is adjusted by this module
* (CalculateUpdatedGas func).
*/
sdk_gas?: string;
}
export interface ContractOperationInfoAminoMsg {
type: "/archway.tracking.v1.ContractOperationInfo";
value: ContractOperationInfoAmino;
}
/** BlockTracking is the tracking information for a block. */
export interface BlockTracking {
/** txs defines the list of transactions tracked in the block. */
txs: TxTracking[];
}
export interface BlockTrackingProtoMsg {
typeUrl: "/archway.tracking.v1.BlockTracking";
value: Uint8Array;
}
/** BlockTracking is the tracking information for a block. */
export interface BlockTrackingAmino {
/** txs defines the list of transactions tracked in the block. */
txs?: TxTrackingAmino[];
}
export interface BlockTrackingAminoMsg {
type: "/archway.tracking.v1.BlockTracking";
value: BlockTrackingAmino;
}
/** TxTracking is the tracking information for a single transaction. */
export interface TxTracking {
/** info defines the transaction details. */
info: TxInfo;
/**
* contract_operations defines the list of contract operations consumed by the
* transaction.
*/
contractOperations: ContractOperationInfo[];
}
export interface TxTrackingProtoMsg {
typeUrl: "/archway.tracking.v1.TxTracking";
value: Uint8Array;
}
/** TxTracking is the tracking information for a single transaction. */
export interface TxTrackingAmino {
/** info defines the transaction details. */
info?: TxInfoAmino;
/**
* contract_operations defines the list of contract operations consumed by the
* transaction.
*/
contract_operations?: ContractOperationInfoAmino[];
}
export interface TxTrackingAminoMsg {
type: "/archway.tracking.v1.TxTracking";
value: TxTrackingAmino;
}
export declare const TxInfo: {
typeUrl: string;
encode(message: TxInfo, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): TxInfo;
fromJSON(object: any): TxInfo;
toJSON(message: TxInfo): unknown;
fromPartial(object: Partial<TxInfo>): TxInfo;
fromAmino(object: TxInfoAmino): TxInfo;
toAmino(message: TxInfo): TxInfoAmino;
fromAminoMsg(object: TxInfoAminoMsg): TxInfo;
fromProtoMsg(message: TxInfoProtoMsg): TxInfo;
toProto(message: TxInfo): Uint8Array;
toProtoMsg(message: TxInfo): TxInfoProtoMsg;
};
export declare const ContractOperationInfo: {
typeUrl: string;
encode(message: ContractOperationInfo, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ContractOperationInfo;
fromJSON(object: any): ContractOperationInfo;
toJSON(message: ContractOperationInfo): unknown;
fromPartial(object: Partial<ContractOperationInfo>): ContractOperationInfo;
fromAmino(object: ContractOperationInfoAmino): ContractOperationInfo;
toAmino(message: ContractOperationInfo): ContractOperationInfoAmino;
fromAminoMsg(object: ContractOperationInfoAminoMsg): ContractOperationInfo;
fromProtoMsg(message: ContractOperationInfoProtoMsg): ContractOperationInfo;
toProto(message: ContractOperationInfo): Uint8Array;
toProtoMsg(message: ContractOperationInfo): ContractOperationInfoProtoMsg;
};
export declare const BlockTracking: {
typeUrl: string;
encode(message: BlockTracking, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): BlockTracking;
fromJSON(object: any): BlockTracking;
toJSON(message: BlockTracking): unknown;
fromPartial(object: Partial<BlockTracking>): BlockTracking;
fromAmino(object: BlockTrackingAmino): BlockTracking;
toAmino(message: BlockTracking): BlockTrackingAmino;
fromAminoMsg(object: BlockTrackingAminoMsg): BlockTracking;
fromProtoMsg(message: BlockTrackingProtoMsg): BlockTracking;
toProto(message: BlockTracking): Uint8Array;
toProtoMsg(message: BlockTracking): BlockTrackingProtoMsg;
};
export declare const TxTracking: {
typeUrl: string;
encode(message: TxTracking, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): TxTracking;
fromJSON(object: any): TxTracking;
toJSON(message: TxTracking): unknown;
fromPartial(object: Partial<TxTracking>): TxTracking;
fromAmino(object: TxTrackingAmino): TxTracking;
toAmino(message: TxTracking): TxTrackingAmino;
fromAminoMsg(object: TxTrackingAminoMsg): TxTracking;
fromProtoMsg(message: TxTrackingProtoMsg): TxTracking;
toProto(message: TxTracking): Uint8Array;
toProtoMsg(message: TxTracking): TxTrackingProtoMsg;
};