summaryrefslogtreecommitdiff
path: root/impls/monero.ts/src/pending_transaction.ts
diff options
context:
space:
mode:
Diffstat (limited to 'impls/monero.ts/src/pending_transaction.ts')
-rw-r--r--impls/monero.ts/src/pending_transaction.ts28
1 files changed, 17 insertions, 11 deletions
diff --git a/impls/monero.ts/src/pending_transaction.ts b/impls/monero.ts/src/pending_transaction.ts
index cf48721..169332f 100644
--- a/impls/monero.ts/src/pending_transaction.ts
+++ b/impls/monero.ts/src/pending_transaction.ts
@@ -1,5 +1,4 @@
-import { dylib } from "./bindings.ts";
-import { CString, readCString, type Sanitizer } from "./utils.ts";
+import { CString, getSymbol, readCString, type Sanitizer } from "./utils.ts";
export type PendingTransactionPtr = Deno.PointerObject<"transactionInfo">;
@@ -13,13 +12,13 @@ export class PendingTransaction {
}
async status(): Promise<number> {
- return await dylib.symbols.MONERO_PendingTransaction_status(this.#pendingTxPtr);
+ return await getSymbol("PendingTransaction_status")(this.#pendingTxPtr);
}
async errorString(): Promise<string | null> {
if (!await this.status()) return null;
- const error = await dylib.symbols.MONERO_PendingTransaction_errorString(this.#pendingTxPtr);
+ const error = await getSymbol("PendingTransaction_errorString")(this.#pendingTxPtr);
if (!error) return null;
return await readCString(error) || null;
@@ -34,7 +33,7 @@ export class PendingTransaction {
}
async commit(fileName: string, overwrite: boolean, sanitize = true): Promise<boolean> {
- const bool = await dylib.symbols.MONERO_PendingTransaction_commit(
+ const bool = await getSymbol("PendingTransaction_commit")(
this.#pendingTxPtr,
CString(fileName),
overwrite,
@@ -44,29 +43,36 @@ export class PendingTransaction {
}
async commitUR(maxFragmentLength: number): Promise<string | null> {
- const result = await dylib.symbols.MONERO_PendingTransaction_commitUR(
+ const commitUR = getSymbol("PendingTransaction_commitUR");
+
+ if (!commitUR) {
+ return null;
+ }
+
+ const result = await commitUR(
this.#pendingTxPtr,
maxFragmentLength,
);
+
if (!result) return null;
await this.throwIfError();
return await readCString(result) || null;
}
async amount(): Promise<bigint> {
- return await dylib.symbols.MONERO_PendingTransaction_amount(this.#pendingTxPtr);
+ return await getSymbol("PendingTransaction_amount")(this.#pendingTxPtr);
}
async dust(): Promise<bigint> {
- return await dylib.symbols.MONERO_PendingTransaction_dust(this.#pendingTxPtr);
+ return await getSymbol("PendingTransaction_dust")(this.#pendingTxPtr);
}
async fee(): Promise<bigint> {
- return await dylib.symbols.MONERO_PendingTransaction_fee(this.#pendingTxPtr);
+ return await getSymbol("PendingTransaction_fee")(this.#pendingTxPtr);
}
async txid(separator: string, sanitize = true): Promise<string | null> {
- const result = await dylib.symbols.MONERO_PendingTransaction_txid(
+ const result = await getSymbol("PendingTransaction_txid")(
this.#pendingTxPtr,
CString(separator),
);
@@ -76,6 +82,6 @@ export class PendingTransaction {
}
async txCount(): Promise<bigint> {
- return await dylib.symbols.MONERO_PendingTransaction_txCount(this.#pendingTxPtr);
+ return await getSymbol("PendingTransaction_txCount")(this.#pendingTxPtr);
}
}