summaryrefslogtreecommitdiff
path: root/tests/compare.ts
blob: 2fd27b8e76fb8ad838ecb6eb6745bb8bbcadcb4c (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
27
28
29
30
31
32
33
34
import { assertEquals } from "jsr:@std/assert";

import {
  loadMoneroDylib,
  loadWowneroDylib,
  moneroSymbols,
  WalletManager,
  wowneroSymbols,
} from "../impls/monero.ts/mod.ts";

const coin = Deno.args[0] as "monero" | "wownero";
const version = Deno.args[1];
const walletInfo = JSON.parse(Deno.args[2]);

if (coin === "monero") {
  const dylib = Deno.dlopen(`tests/libs/${version}/monero_libwallet2_api_c.so`, moneroSymbols);
  loadMoneroDylib(dylib);
} else {
  const dylib = Deno.dlopen(`tests/libs/${version}/wownero_libwallet2_api_c.so`, wowneroSymbols);
  loadWowneroDylib(dylib);
}

const walletManager = await WalletManager.new();
const wallet = await walletManager.openWallet(walletInfo.path, walletInfo.password);

assertEquals(await wallet.address(), walletInfo.address);

assertEquals(await wallet.publicSpendKey(), walletInfo.publicSpendKey);
assertEquals(await wallet.secretSpendKey(), walletInfo.secretSpendKey);

assertEquals(await wallet.publicViewKey(), walletInfo.publicViewKey);
assertEquals(await wallet.secretViewKey(), walletInfo.secretViewKey);

await wallet.store(walletInfo.path);