Skip to main content

QueryContext

@midnight-ntwrk/ledger v3.0.2 β€’ Readme | API


@midnight-ntwrk/ledger v3.0.2 / QueryContext

Class: QueryContext

Provides the information needed to fully process a transaction, including information about the rest of the transaction, and the state of the chain at the time of execution.

Constructors​

new QueryContext(state, address)​

new QueryContext(state, address): QueryContext

Construct a basic context from a contract's address and current state value

Parameters​

β€’ state: StateValue

β€’ address: string

Returns​

QueryContext

Properties​

address​

readonly address: string;

The address of the contract


block​

block: BlockContext;

The block-level information accessible to the contract


comIndicies​

readonly comIndicies: Map<string, bigint>;

The commitment indices map accessible to the contract, primarily via qualify


effects​

effects: Effects;

The effects that occurred during execution against this context, should match those declared in a Transcript


state​

readonly state: StateValue;

The current contract state retained in the context

Methods​

insertCommitment()​

insertCommitment(comm, index): QueryContext

Register a given coin commitment as being accessible at a specific index, for use when receiving coins in-contract, and needing to record their index to later spend them

Parameters​

β€’ comm: string

β€’ index: bigint

Returns​

QueryContext


intoTranscript()​

intoTranscript(program, cost_model): [undefined | Transcript<AlignedValue>, undefined | Transcript<AlignedValue>]

Finalizes a sequence of operations against their initial context, resulting in a guaranteed and fallible Transcript, optimally allocated, and heuristically covered for gas fees.

Parameters​

β€’ program: Op<AlignedValue>[]

β€’ cost_model: CostModel

Returns​

[undefined | Transcript<AlignedValue>, undefined | Transcript<AlignedValue>]

Deprecated​

Please use the ledger's partitionTranscripts instead.


qualify()​

Internal

qualify(coin): undefined | Value

Internal counterpart to insertCommitment; upgrades an encoded CoinInfo to an encoded QualifiedCoinInfo using the inserted commitments

Parameters​

β€’ coin: Value

Returns​

undefined | Value


query()​

query(
ops,
cost_model,
gas_limit?): QueryResults

Runs a sequence of operations in gather mode, returning the results of the gather.

Parameters​

β€’ ops: Op<null>[]

β€’ cost_model: CostModel

β€’ gas_limit?: bigint

Returns​

QueryResults


runTranscript()​

runTranscript(transcript, cost_model): QueryContext

Runs a transcript in verifying mode against the current query context, outputting a new query context, with the state and effects from after the execution.

Parameters​

β€’ transcript: Transcript<AlignedValue>

β€’ cost_model: CostModel

Returns​

QueryContext


toString()​

toString(compact?): string

Parameters​

β€’ compact?: boolean

Returns​

string