// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0

// @generated by protobuf-ts 2.9.6 with parameter force_server_none,optimize_code_size,ts_nocheck
// @generated from protobuf file "sui/rpc/v2/gas_cost_summary.proto" (package "sui.rpc.v2", syntax proto3)
// tslint:disable
// @ts-nocheck
//
// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
//
import { MessageType } from '@protobuf-ts/runtime';
/**
 * Summary of gas charges.
 *
 * @generated from protobuf message sui.rpc.v2.GasCostSummary
 */
export interface GasCostSummary {
	/**
	 * Cost of computation/execution.
	 *
	 * @generated from protobuf field: optional uint64 computation_cost = 1;
	 */
	computationCost?: bigint;
	/**
	 * Storage cost, it's the sum of all storage cost for all objects created or mutated.
	 *
	 * @generated from protobuf field: optional uint64 storage_cost = 2;
	 */
	storageCost?: bigint;
	/**
	 * The amount of storage cost refunded to the user for all objects deleted or mutated in the
	 * transaction.
	 *
	 * @generated from protobuf field: optional uint64 storage_rebate = 3;
	 */
	storageRebate?: bigint;
	/**
	 * The fee for the rebate. The portion of the storage rebate kept by the system.
	 *
	 * @generated from protobuf field: optional uint64 non_refundable_storage_fee = 4;
	 */
	nonRefundableStorageFee?: bigint;
}
// @generated message type with reflection information, may provide speed optimized methods
class GasCostSummary$Type extends MessageType<GasCostSummary> {
	constructor() {
		super('sui.rpc.v2.GasCostSummary', [
			{
				no: 1,
				name: 'computation_cost',
				kind: 'scalar',
				opt: true,
				T: 4 /*ScalarType.UINT64*/,
				L: 0 /*LongType.BIGINT*/,
			},
			{
				no: 2,
				name: 'storage_cost',
				kind: 'scalar',
				opt: true,
				T: 4 /*ScalarType.UINT64*/,
				L: 0 /*LongType.BIGINT*/,
			},
			{
				no: 3,
				name: 'storage_rebate',
				kind: 'scalar',
				opt: true,
				T: 4 /*ScalarType.UINT64*/,
				L: 0 /*LongType.BIGINT*/,
			},
			{
				no: 4,
				name: 'non_refundable_storage_fee',
				kind: 'scalar',
				opt: true,
				T: 4 /*ScalarType.UINT64*/,
				L: 0 /*LongType.BIGINT*/,
			},
		]);
	}
}
/**
 * @generated MessageType for protobuf message sui.rpc.v2.GasCostSummary
 */
export const GasCostSummary = new GasCostSummary$Type();
