async function runAmp0Setup() {
try {
const WebSocket = require('ws');
global.WebSocket = WebSocket;
const lwk = require('lwk_node');
if (true) { const mnemonic = "<mnemonic>";
} const mnemonic = lwk.Mnemonic.fromRandom(12).toString(); const m = new lwk.Mnemonic(mnemonic);
const network = lwk.Network.testnet();
const signer = new lwk.Signer(m, network);
if (true) { const username = "<username>";
const password = "<password>";
} const username = "user" + signer.fingerprint(); const password = "pass" + signer.fingerprint();
const signer_data = signer.amp0SignerData();
const amp0connected = await new lwk.Amp0Connected(network, signer_data);
const challenge = await amp0connected.getChallenge();
const sig = signer.amp0SignChallenge(challenge);
const amp0loggedin = await amp0connected.login(sig);
const pointer = amp0loggedin.nextAccount();
const account_xpub = signer.amp0AccountXpub(pointer);
const amp_id = await amp0loggedin.createAmp0Account(pointer, account_xpub);
await amp0loggedin.createWatchOnly(username, password);
const amp0 = await new lwk.Amp0(network, username, password, amp_id);
process.exit(0); } catch (error) {
console.error("AMP0 test failed:", error);
process.exit(1);
}
}
if (require.main === module) {
runAmp0Setup();
}
module.exports = { runAmp0Setup };