<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-server.git/scripts, branch staging</title>
<subtitle>coinos server — legacy coinos.io backend (Lightning, on-chain, Liquid)</subtitle>
<id>https://git.coinos.io/coinos-server.git/atom?h=staging</id>
<link rel='self' href='https://git.coinos.io/coinos-server.git/atom?h=staging'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/'/>
<updated>2026-06-18T14:43:48Z</updated>
<entry>
<title>invoices: don't re-list an invoice id on update (dedupe :invoices)</title>
<updated>2026-06-18T14:43:48Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-18T14:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=64691693e7ff40aae59b05a234f88025757959e3'/>
<id>urn:sha1:64691693e7ff40aae59b05a234f88025757959e3</id>
<content type='text'>
Port of the master fix (2d2f9856) + cleanup script to staging.

generate() unconditionally lPush'd the invoice id to `${aid}:invoices`,
but it's also called from update() (tip/webhook changes, repeated bolt12
offer creation) re-using the existing id — so each update re-appended the
same id and the user's :invoices accumulated duplicate entries, rendering
the same offer/invoice multiple times. Guard the push with LPOS so it only
adds the id the first time.

Also add scripts/dedup-invoices.ts to scrub already-accumulated dupes
(dry-run by default, --apply to write, idempotent).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>analytics: missing-history audit + lightning-&gt;liquid arb finder</title>
<updated>2026-06-17T14:47:48Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-14T19:36:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=58ae0b1d73992bdce4f44c19fde1585ea4312e29'/>
<id>urn:sha1:58ae0b1d73992bdce4f44c19fde1585ea4312e29</id>
<content type='text'>
Port of master be896868. scripts/audit-missing-history.ts flags users
whose payment history has gaps vs their recorded balance. scripts/
ln-liquid-arb.ts surfaces lightning-&gt;liquid rebalancing opportunities.

Note: written against the master stack (Redis balances); on staging
balances live in TigerBeetle and may need the balance source adjusted.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>analytics: monthly insight reports + signup instrumentation</title>
<updated>2026-06-17T14:47:48Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-14T19:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=33de17fa10e4fc7f44456cfbb3152fd16c86a567'/>
<id>urn:sha1:33de17fa10e4fc7f44456cfbb3152fd16c86a567</id>
<content type='text'>
Port of master 183a3cb0 + 3db24424. scripts/analytics.ts streams live db
(SCAN, never KEYS) and reports a trailing window: MAU/WAU, new users,
custody total + top holders, network volume by type, most-active/highest-
volume users, bolt12 recipients; --csv flag for month-over-month trends.
scripts/analytics-geo.ts reports top countries from the request log.
lib/register.ts stamps `created` and stores `country` on new users so
reports get signup timing/geography from the db directly.

Note: these scripts were written against the master stack; on staging
balances live in TigerBeetle, so custody/holder figures may need the
balance source adjusted from the Redis balance: keys.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>update migrate script</title>
<updated>2026-03-16T23:37:03Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-16T23:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=8c1385eaf8e68ef0ad436ad9b74e5813e92bb378'/>
<id>urn:sha1:8c1385eaf8e68ef0ad436ad9b74e5813e92bb378</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cln migrate</title>
<updated>2026-03-16T06:43:00Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-16T06:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=788bedc382b0f7aa6d9ac63c301d34c60f415f0a'/>
<id>urn:sha1:788bedc382b0f7aa6d9ac63c301d34c60f415f0a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>slow down ark checks</title>
<updated>2026-03-14T04:49:54Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-03-14T04:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=fddfe10f84908c058e239b93985dfe02ba37df04'/>
<id>urn:sha1:fddfe10f84908c058e239b93985dfe02ba37df04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ark fixes</title>
<updated>2026-03-13T22:14:51Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-13T00:09:01Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=d3ee2bbc3baa33140f18a95c3e4b78a797330ad0'/>
<id>urn:sha1:d3ee2bbc3baa33140f18a95c3e4b78a797330ad0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ark wallet monitoring</title>
<updated>2026-03-12T19:13:05Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-12T19:13:05Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=4f2bf9387fe509243501938f3d1fb8a9aed14e93'/>
<id>urn:sha1:4f2bf9387fe509243501938f3d1fb8a9aed14e93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix typescript issues</title>
<updated>2026-02-28T23:16:20Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-28T23:16:20Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=32f01e3e328db0006a55c6324625b49d60244b66'/>
<id>urn:sha1:32f01e3e328db0006a55c6324625b49d60244b66</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tb dump script</title>
<updated>2026-02-25T21:27:32Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-25T21:27:32Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=f031bed801d858b006cb8a49131e18851e10bbec'/>
<id>urn:sha1:f031bed801d858b006cb8a49131e18851e10bbec</id>
<content type='text'>
</content>
</entry>
</feed>
