summaryrefslogtreecommitdiff
path: root/impls/monero.ts/src/transaction_history.ts
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2025-01-05 13:17:22 +0100
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2025-01-05 13:17:22 +0100
commit085d74b37b478be77bc873d66876247a751aa957 (patch)
treed8434dd9c8c57df9b64ae93059d9ebb5a16b90f2 /impls/monero.ts/src/transaction_history.ts
parent8e7bc59509c40f00702ba568a0adcb3cf82e6e05 (diff)
parentc3dd64bdee37d361a2c1252d127fb575936e43e6 (diff)
Merge remote-tracking branch 'origin/develop' into rust-develop
Diffstat (limited to 'impls/monero.ts/src/transaction_history.ts')
-rw-r--r--impls/monero.ts/src/transaction_history.ts33
1 files changed, 20 insertions, 13 deletions
diff --git a/impls/monero.ts/src/transaction_history.ts b/impls/monero.ts/src/transaction_history.ts
index aab64da..cec3fde 100644
--- a/impls/monero.ts/src/transaction_history.ts
+++ b/impls/monero.ts/src/transaction_history.ts
@@ -1,34 +1,41 @@
+import { fns } from "./bindings.ts";
import { TransactionInfo, TransactionInfoPtr } from "./transaction_info.ts";
-import { CString, getSymbol } from "./utils.ts";
+import { CString } from "./utils.ts";
export type TransactionHistoryPtr = Deno.PointerObject<"transactionHistory">;
export class TransactionHistory {
- #txHistoryPtr: TransactionHistoryPtr;
+ #ptr: TransactionHistoryPtr;
- constructor(txHistoryPtr: TransactionHistoryPtr) {
- this.#txHistoryPtr = txHistoryPtr;
+ #count!: number;
+
+ constructor(ptr: TransactionHistoryPtr) {
+ this.#ptr = ptr;
+ }
+
+ static async new(ptr: TransactionHistoryPtr) {
+ const instance = new TransactionHistory(ptr);
+ instance.#count = await fns.TransactionHistory_count(ptr);
+ return instance;
}
- async count(): Promise<number> {
- return await getSymbol("TransactionHistory_count")(this.#txHistoryPtr);
+ get count(): number {
+ return this.#count;
}
async transaction(index: number): Promise<TransactionInfo> {
- return new TransactionInfo(
- (
- await getSymbol("TransactionHistory_transaction")(this.#txHistoryPtr, index)
- ) as TransactionInfoPtr,
+ return TransactionInfo.new(
+ await fns.TransactionHistory_transaction(this.#ptr, index) as TransactionInfoPtr,
);
}
async refresh(): Promise<void> {
- await getSymbol("TransactionHistory_refresh")(this.#txHistoryPtr);
+ await fns.TransactionHistory_refresh(this.#ptr);
}
async setTxNote(transactionId: string, note: string): Promise<void> {
- await getSymbol("TransactionHistory_setTxNote")(
- this.#txHistoryPtr,
+ await fns.TransactionHistory_setTxNote(
+ this.#ptr,
CString(transactionId),
CString(note),
);