Files
monero_c/impls/monero.ts/src/bindings.ts
Mateusz Franik fd7bb6ae1c feat: wownero typescript bindings, regression tests (#71)
* regression tests
* ci: move regression_check to full_check workflow, reuse artifact build
* feat: support wownero in monero.ts bindings
* ci: test wownero regressions as well
* extract wownero-cli as wownero
* actually load wownero when specified
* fix: commitUR not being a symbol in wownero
2024-10-16 07:55:11 +02:00

54 lines
1.2 KiB
TypeScript

import { type Dylib, moneroSymbols, type MoneroTsDylib, wowneroSymbols, type WowneroTsDylib } from "./symbols.ts";
export let dylib: Dylib;
export function loadMoneroDylib(newDylib?: MoneroTsDylib) {
if (newDylib) {
dylib = newDylib;
return;
}
let libPath: string;
switch (Deno.build.os) {
case "darwin":
libPath = "./lib/monero_libwallet2_api_c.dylib";
break;
case "android":
libPath = "./lib/libmonero_libwallet2_api_c.so";
break;
case "windows":
libPath = "./lib/monero_libwallet2_api_c.dll";
break;
default:
libPath = "./lib/monero_libwallet2_api_c.so";
break;
}
dylib = Deno.dlopen(libPath, moneroSymbols);
}
export function loadWowneroDylib(newDylib?: WowneroTsDylib) {
if (newDylib) {
dylib = newDylib;
return;
}
let libPath: string;
switch (Deno.build.os) {
case "darwin":
libPath = "./lib/wownero_libwallet2_api_c.dylib";
break;
case "android":
libPath = "./lib/libwownero_libwallet2_api_c.so";
break;
case "windows":
libPath = "./lib/wownero_libwallet2_api_c.dll";
break;
default:
libPath = "./lib/wownero_libwallet2_api_c.so";
break;
}
dylib = Deno.dlopen(libPath, wowneroSymbols);
}