@midnight/ledger v2.0.8 • Readme | API
@midnight/ledger v2.0.8 / Transaction
Class: Transaction
A Midnight transaction, consisting a section of ContractCalls and/or ContractDeploys, 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()
new Transaction(): Transaction
Returns
Properties
contractCalls
readonly contractCalls: (ContractCall | ContractDeploy)[];
The contract interactions contained in this transaction
fallibleCoins
readonly fallibleCoins: undefined | Offer;
The fallible Zswap offer
guaranteedCoins
readonly guaranteedCoins: Offer;
The guaranteed Zswap offer
Methods
eraseProofs()
eraseProofs(): ProofErasedTransaction
Erases the proofs contained in this transaction
Returns
fees()
fees(): bigint
The cost of this transaction, in the atomic unit of the base token
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(): Uint8Array
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(enforce_balancing): void
Tests well-formedness criteria, optionally including transaction balancing
Parameters
• enforce_balancing: boolean
Returns
void
Throws
If the transaction is not well-formed for any reason
deserialize()
static deserialize(raw): Transaction
Parameters
• raw: Uint8Array
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
>