const {
initLogging,
defaultConfig,
SdkBuilder,
} = require("@breeztech/breez-sdk-spark/nodejs");
const { Command } = require("commander");
require("dotenv").config();
class JsLogger {
log = (logEntry) => {
console.log(
`[${new Date().toISOString()} ${logEntry.level}]: ${logEntry.line}`
);
};
}
const fileLogger = new JsLogger();
class JsEventListener {
onEvent = (event) => {
fileLogger.log({
level: "INFO",
line: `Received event: ${JSON.stringify(event)}`,
});
};
}
const eventListener = new JsEventListener();
const program = new Command();
const initSdk = async () => {
// Set the logger to trace
await initLogging(fileLogger);
// Get the mnemonic
const mnemonic = process.env.MNEMONIC;
// Connect using the config
let config = defaultConfig("regtest");
config.apiKey = process.env.BREEZ_API_KEY;
console.log(`defaultConfig: ${JSON.stringify(config)}`);
let sdkBuilder = SdkBuilder.new(config, {
type: "mnemonic",
mnemonic: mnemonic,
});
sdkBuilder = await sdkBuilder.withDefaultStorage("./.data");
const sdk = await sdkBuilder.build();
await sdk.addEventListener(eventListener);
return sdk;
};
program
.name("breez-sdk-spark-wasm-cli")
.description("CLI for Breez SDK Spark - Wasm");
program.command("get-info").action(async () => {
const sdk = await initSdk();
const res = await sdk.getInfo({});
console.log(`getInfo: ${JSON.stringify(res)}`);
});
program.parse();