Icon HelpCircleForumIcon Link

⌘K

Icon HelpCircleForumIcon Link

Icon LinkPolicy

// index using powers of 2 for efficient bitmasking
enum PolicyType : uint32 {
    Tip = 1,
    WitnessLimit = 2,
    Maturity = 4,
    MaxFee = 8,
}
nametypedescription
dataOne of Tip , WitnessLimit , or Maturity Policy data.

Icon LinkTip

nametypedescription
tipuint64Additional, optional fee in BASE_ASSET to incentivize block producer to include transaction

Icon LinkWitnessLimit

nametypedescription
witnessLimituint64The maximum amount of witness data allowed for the transaction

Given helper len() that returns the number of bytes of a field.

Transaction is invalid if:

  • len(tx.witnesses) > witnessLimit

Icon LinkMaturity

nametypedescription
maturityuint32Block until which the transaction cannot be included.

Transaction is invalid if:

  • blockheight() < maturity

Icon LinkMaxFee

nametypedescription
max_feeuint64Required policy to specify the maximum fee payable by this transaction using BASE_ASSET. This is used to check transactions before the actual gas_price is known.

Transaction is invalid if:

  • max_fee > sum_inputs(tx, BASE_ASSET_ID) - sum_outputs(tx, BASE_ASSET_ID)
  • max_fee < max_fee(tx, BASE_ASSET_ID, gas_price)