Skip to main content

GasCostSummary

data class GasCostSummary(var computationCost: ULong, var computationCostBurned: ULong, var storageCost: ULong, var storageRebate: ULong, var nonRefundableStorageFee: ULong)

Summary of gas charges.

Storage is charged independently of computation. There are 3 parts to the storage charges:

  • storage_cost: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte
  • storage_rebate: this is the amount a user gets back when manipulating an object. The storage_rebate is the storage_cost for an object minus fees.
  • non_refundable_storage_fee: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge.

When looking at a gas cost summary the amount charged to the user is computation_cost + storage_cost - storage_rebate and that is the amount that is deducted from the gas coins. non_refundable_storage_fee is collected from the objects being mutated/deleted and it is tracked by the system in storage funds.

Objects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of "potential rebate". This rebate then is reduced by the "nonrefundable rate" such that: potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee

BCS

The BCS serialized form for this type is defined by the following ABNF:

gas-cost-summary = u64 ; computation-cost
u64 ; storage-cost
u64 ; storage-rebate
u64 ; non-refundable-storage-fee

Constructors

GasCostSummaryconstructor(computationCost: ULong, computationCostBurned: ULong, storageCost: ULong, storageRebate: ULong, nonRefundableStorageFee: ULong)

Properties

NameSummary
computationCostvar computationCost: ULong
Cost of computation/execution
computationCostBurnedvar computationCostBurned: ULong
The burned component of the computation/execution costs
nonRefundableStorageFeevar nonRefundableStorageFee: ULong
The fee for the rebate. The portion of the storage rebate kept by the system.
storageCostvar storageCost: ULong
Storage cost, it's the sum of all storage cost for all objects created or mutated.
storageRebatevar storageRebate: ULong
The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.