From df1972d49d166955f36bde1dbe05f52669384c1a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 22 Oct 2026 22:29:58 -0700 Subject: Custody card copy: "coin", not "Spending coin"; Coinos capitalized; the default tier says the exit stays until a coin's timelock runs out Adam, 2026-10-23: "Coinos holds my coins" read as if the holder never had a unilateral exit. They do, until the timelock runs out; only then does Coinos hold the coin. The option is now "Coinos holds my coins once they expire", its description says so, and the intro says what the timelock buys and what renewing keeps. Co-Authored-By: Claude Fable 5.1 --- tools/ark/custody-ui-test.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/ark/custody-ui-test.js b/tools/ark/custody-ui-test.js index 20035ac..0b55d1c 100644 --- a/tools/ark/custody-ui-test.js +++ b/tools/ark/custody-ui-test.js @@ -77,16 +77,18 @@ try { let tx = await text(); assert.match(tx, /Custody/); - assert.match(tx, /coinos holds my coins[\s\S]*no fees/); + assert.match(tx, /Coinos holds my coins once they expire[\s\S]*no fees/); + assert.match(tx, /keeps its own exit until its timelock runs out/); + assert.doesNotMatch(tx, /Spending coin carries/); assert.match(tx, /Keep my own exit[\s\S]*300 sats per renewal/); assert.match(tx, /Keep my exit cheap[\s\S]*300 sats near expiry, 0\.2% \+ 300 sats when early/); assert.match(tx, /4 hops deep/); const checked = await page.$$eval('.ark-custody input[type=radio]', (els) => els.filter((e) => e.checked).map((e) => e.value)); assert.deepEqual(checked, ['custodial'], 'coinos holds the coins by default'); assert.equal(await page.evaluate(() => coopFeature.getCustody()), 'custodial'); - assert.match(tx, /held by coinos/, 'the coin past its timelock is held, not "expired"'); + assert.match(tx, /held by Coinos/, 'the coin past its timelock is held, not "expired"'); assert.doesNotMatch(tx, /\bexpired\b/); - assert.match(tx, /With “coinos holds my coins”, nothing renews on its own/); + assert.match(tx, /With “Coinos holds my coins once they expire”, nothing renews on its own/); if (process.env.SHOT) await page.screenshot({ path: process.env.SHOT, fullPage: true }); console.log('✓ the custody card: three tiers with their prices, coinos holding by default, a past-timelock coin shown as held'); -- cgit v1.2.3