tezos: keeps-sales.mjs — read actual keep sales from chain master
Keeps sell through an objkt-style marketplace (ask -> fulfill_ask) at KT1SwbTqhSKF..., which objkt.com's own GraphQL does NOT index, so its listing_sale/offer_sale tables read 0 for the collection. This reads the truth from TzKT instead: - a sale = a keeps `transfer` whose sender is the marketplace contract - price = the buyer's `fulfill_ask` amount in that block (exact) - fulfill_ask_bulk (single) resolved too; multi-bulk + fulfill_offer are labeled rather than mis-attributed - buyer = transfer recipient; .tez names resolved (prefers reverse record) Text + --json output; --limit / --network flags. Wired into SCORE.md's Keeps Market Stats and the tezos README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>