Skip to main content

GasCostSummary

Namespace: IotaSdk

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
public record class GasCostSummary : System.IEquatable`1[[IotaSdk.GasCostSummary, IotaSdk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]

Inheritance ObjectGasCostSummary
Implements IEquatable<GasCostSummary>
Attributes NullableContextAttribute, NullableAttribute

Properties

ComputationCost

Cost of computation/execution

public ulong ComputationCost { get; init; }

Property Value

UInt64

ComputationCostBurned

The burned component of the computation/execution costs

public ulong ComputationCostBurned { get; init; }

Property Value

UInt64

StorageCost

Storage cost, it's the sum of all storage cost for all objects created or mutated.

public ulong StorageCost { get; init; }

Property Value

UInt64

StorageRebate

The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.

public ulong StorageRebate { get; init; }

Property Value

UInt64

NonRefundableStorageFee

The fee for the rebate. The portion of the storage rebate kept by the system.

public ulong NonRefundableStorageFee { get; init; }

Property Value

UInt64

Constructors

GasCostSummary(UInt64, UInt64, UInt64, UInt64, UInt64)

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
public GasCostSummary(ulong ComputationCost, ulong ComputationCostBurned, ulong StorageCost, ulong StorageRebate, ulong NonRefundableStorageFee)

Parameters

ComputationCost UInt64
Cost of computation/execution

ComputationCostBurned UInt64
The burned component of the computation/execution costs

StorageCost UInt64
Storage cost, it's the sum of all storage cost for all objects created or mutated.

StorageRebate UInt64
The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.

NonRefundableStorageFee UInt64
The fee for the rebate. The portion of the storage rebate kept by the system.