in src/Transaction.ts [62:78]
async commit(): Promise<void> {
await this._hashLock.acquire();
try {
const commitTxnResult: CommitTransactionResult = await this._communicator.commit(
this._txnId,
this._txnHash.getQldbHash()
);
if (toBase64(this._txnHash.getQldbHash()) !== toBase64(<Uint8Array>(commitTxnResult.CommitDigest))) {
throw new ClientError(
`Transaction's commit digest did not match returned value from QLDB.
Please retry with a new transaction. Transaction ID: ${this._txnId}.`
);
}
} finally {
this._hashLock.release();
}
}