@midnight/ledger v3.0.2 • Readme | API
@midnight/ledger v3.0.2 / Transaction
Class: Transaction
A Midnight transaction, consisting a section of ContractActions, and a guaranteed and fallible Offer.
The guaranteed section are run first, and fee payment is taken during this part. If it succeeds, the fallible section is also run, and atomically rolled back if it fails.
Constructors
new Transaction()
private new Transaction(): Transaction
Returns
Properties
contractCalls
readonly contractCalls: ContractAction[];
The contract interactions contained in this transaction
fallibleCoins
readonly fallibleCoins: undefined | Offer;
The fallible Zswap offer
guaranteedCoins
readonly guaranteedCoins: undefined | Offer;
The guaranteed Zswap offer
mint
readonly mint: undefined | AuthorizedMint;
The mint this transaction represents, if applicable
Methods
eraseProofs()
eraseProofs(): ProofErasedTransaction
Erases the proofs contained in this transaction
Returns
fees()
fees(params): bigint
The cost of this transaction, in the atomic unit of the base token
Parameters
• params: LedgerParameters
Returns
bigint
identifiers()
identifiers(): string[]
Returns the set of identifiers contained within this transaction. Any of these may be used to watch for a specific transaction.
Returns
string
[]
imbalances()
imbalances(guaranteed, fees?): Map<string, bigint>
For given fees, and a given section (guaranteed/fallible), what the surplus or deficit of this transaction in any token type is.
Parameters
• guaranteed: boolean
• fees?: bigint
Returns
Map
<string
, bigint
>
merge()
merge(other): Transaction
Merges this transaction with another
Parameters
• other: Transaction
Returns
Throws
If both transactions have contract interactions, or they spend the same coins
serialize()
serialize(netid): Uint8Array
Parameters
• netid: NetworkId
Returns
Uint8Array
toString()
toString(compact?): string
Parameters
• compact?: boolean
Returns
string
transactionHash()
transactionHash(): string
Returns the hash associated with this transaction. Due to the ability to merge transactions, this should not be used to watch for a specific transaction.
Returns
string
wellFormed()
wellFormed(ref_state, strictness): void
Tests well-formedness criteria, optionally including transaction balancing
Parameters
• ref_state: LedgerState
• strictness: WellFormedStrictness
Returns
void
Throws
If the transaction is not well-formed for any reason
deserialize()
static deserialize(raw, netid): Transaction
Parameters
• raw: Uint8Array
• netid: NetworkId
Returns
fromUnproven()
static fromUnproven(prove, unproven): Promise<Transaction>
Type hint that you should use an external proving function, for instance via the proof server.
Parameters
• prove
• unproven: UnprovenTransaction
Returns
Promise
<Transaction
>