blob: b1fafec3572f98ae0ab77dc27b484745c64a92f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import { getSymbol, Sanitizer } from "./utils.ts";
export type WalletManagerPtr = Deno.PointerObject<"walletManager">;
export class WalletManager {
#ptr: WalletManagerPtr;
sanitizer?: Sanitizer;
constructor(walletManagerPtr: WalletManagerPtr, sanitizer?: Sanitizer) {
this.#ptr = walletManagerPtr;
this.sanitizer = sanitizer;
}
getPointer(): WalletManagerPtr {
return this.#ptr;
}
static async new(sanitizer?: Sanitizer) {
const ptr = await getSymbol("WalletManagerFactory_getWalletManager")();
if (!ptr) {
sanitizer?.();
throw new Error("Failed retrieving wallet manager");
}
return new WalletManager(ptr as WalletManagerPtr, sanitizer);
}
}
|