aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ark/ln-e2e-test.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-07 09:13:31 -0700
committerAdam Soltys <[email protected]>2026-10-07 09:13:31 -0700
commit95b72a73545cd2a3700b0e0866eee54e59d3b50e (patch)
tree81cc50c71d5e6cb78beaa1a7f755a23691f8983f /tools/ark/ln-e2e-test.js
parent3aff6e4cc9eb97fc0fa488f1f95001f69f24330a (diff)
parentdf87bd84560fec4b085b6f0f4785b61502ffd480 (diff)
downloadcoinosv3-95b72a73545cd2a3700b0e0866eee54e59d3b50e.tar.gz
coinosv3-95b72a73545cd2a3700b0e0866eee54e59d3b50e.zip
Merge branch 'worktree-agent-a9ba2f8bea9a7dafc'
Diffstat (limited to 'tools/ark/ln-e2e-test.js')
-rw-r--r--tools/ark/ln-e2e-test.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/ark/ln-e2e-test.js b/tools/ark/ln-e2e-test.js
index 4d31b56..f4b5856 100644
--- a/tools/ark/ln-e2e-test.js
+++ b/tools/ark/ln-e2e-test.js
@@ -18,11 +18,10 @@ import { sha256 } from '@noble/hashes/sha256';
import { ArkManager } from '../../src/ark/manager.js';
import { lnReceiveFee } from '../../src/ark/lightning.js';
+import { ALICE, aliceReady } from './alice.js';
const ARK = process.env.ARK_URL || 'http://127.0.0.1:3535';
const ESPLORA = process.env.ESPLORA_URL || 'http://127.0.0.1:30002';
-const BARK = `${process.env.HOME}/bark/target/debug/bark`;
-const ALICE = `${BARK} --datadir ${process.env.HOME}/ark-regtest/alice`;
const CLC = 'docker exec clc lightning-cli --regtest';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -45,6 +44,7 @@ const account = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic)).derive("m/86'
const mgr = await new ArkManager({ account, storage, arkUrl: ARK, esploraUrl: ESPLORA }).init();
console.log('\n[0] fund manager from alice');
+await aliceReady();
sh(`${ALICE} -q send ${mgr.address()} "25000 sat"`);
for (let i = 0; i < 10 && !mgr.balance().spendableSat; i++) { await mgr.sync(); await sleep(1500); }
check('funded 25000 sat', mgr.balance().spendableSat === 25000, JSON.stringify(mgr.balance()));
@@ -99,6 +99,11 @@ check('alice +100 from tiny send', aliceAfter === aliceBefore + 100, `${aliceBef
// ---------------------------------------------------------------------------
console.log('\n[2] RECEIVE: clc pays a 4000-sat invoice minted by hal (hold flow)');
+// both CLN nodes must have caught up with blocks earlier tests mined, or the
+// HTLC's cltv disagrees with the hold invoice (final_incorrect_cltv_expiry)
+const tip = Number(sh('docker exec bc bitcoin-cli getblockcount'));
+const synced = (node) => JSON.parse(sh(`docker exec ${node} lightning-cli --regtest getinfo`)).blockheight >= tip;
+for (let i = 0; i < 40 && !(synced('clc') && synced('cln-ark')); i++) await sleep(500);
const balBefore = mgr.balance().spendableSat;
const recv = await mgr.createLnInvoice(4000, 'ark-e2e-receive');
console.log(' hal invoice:', recv.invoice.slice(0, 50) + '…');