summaryrefslogtreecommitdiff
path: root/impls/monero.ts/src/transaction_history.ts
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2024-12-04 12:26:45 -0500
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2024-12-04 12:26:45 -0500
commitecc31787c2174a829848aac403bd13e663fe33c3 (patch)
tree7f505dc9bfe9c34c36c5043911be0cfc0d146a8d /impls/monero.ts/src/transaction_history.ts
parent24076c5a32bbec3c77cc996cb74dd08d8077a7e0 (diff)
parent40c1a1bda4b6f125c702f5a37ecc48a6ebec24b8 (diff)
Merge branch 'develop' into zano
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),
);