diff options
| author | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2025-01-05 13:17:22 +0100 |
|---|---|---|
| committer | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2025-01-05 13:17:22 +0100 |
| commit | 085d74b37b478be77bc873d66876247a751aa957 (patch) | |
| tree | d8434dd9c8c57df9b64ae93059d9ebb5a16b90f2 /impls/monero.ts/src/transaction_history.ts | |
| parent | 8e7bc59509c40f00702ba568a0adcb3cf82e6e05 (diff) | |
| parent | c3dd64bdee37d361a2c1252d127fb575936e43e6 (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.ts | 33 |
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), ); |
