Live week collection: DEX indexer, GitHub, GitLab, tokenlist, and prices #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Make
weekable to collect live primary sources instead of onlyfixtures/*/sources.json: allowlisted DEX indexer HTTP, GitHub/GitLab activity onDEFAULT_REPOS, tokenlist JSON fromcl8y-dex-terraclassic, and prices from the DEX indexer.--livetoday only swaps the Replicate client.CI merge pipelines stay on fixtures. Live collect is explicit (
--live-sourcesor equivalent).Gap:
gaps/GAP_1788152435.md§2, §4.3–4.4.Current codebase
run_weekrequiresfixtures/.../sources.json.fetch_allowlisted_jsoninsrc/collect.rsis unused.GITHUB_TOKEN/GITLAB_TOKENare loaded and unused.Config::default_repos()is unused.DEX path constant:
DEX_OVERVIEW_PATH = "/api/v1/overview"on hostindexer.dex.cl8y.com. Live documented fields includetotal_volume_24h_usd, hub USD (ustc_price_usd,custc_price_usd,ust1_price_usd,ustr_price_usd), liquidity, fees. Additional documented GETs on the same host:/api/v1/hub-prices,/api/v1/tokens(paginate; do not scrape HTML).Tokenlist (not consumed):
CANONICAL_ADDRESSESis four hardcoded CL8Y-web #2 strings. Lint strips listed DEX CW20s (USTR, UST1, cLUNC, …) as “unofficial.”Bridge: keep skip +
docs/bridge-indexer-gap.md. Do not inventindexer.bridge.cl8y.comunless documented.Why this is needed
Without live collect, weekly posts cannot cite real volume, repo shipping, listed tokens, or hub prices. Address lint fights ecosystem recaps. GitHub/GitLab tokens were added for this harvest.
Constraints / guardrails
as_of+ citation URL/path).github.com/gitlab.com, orgsPlasticDigits/CeramicLiberty/CL8Yonly. Do not clone untrusted forks. Do not execute repo content (execute_meremains text).dex.cl8y.com/bridge.cl8y.comHTML.tokenDirectory.ts/ current four addresses (sync, don’t drift).#tokenfor official CL8Y.decimalsas amount truth."0"invention (match indexer contract: unpriced ≠ zero).sources.jsonartifacts.DATABASE_URLis set (store issue).Relevant files
src/collect.rssrc/allowlist.rssrc/invariants.rsDEFAULT_REPOS,INDEXER_HOSTS,CANONICAL_ADDRESSES,DEX_OVERVIEW_PATHsrc/config.rssrc/numeric.rssrc/pipeline.rsdocs/bridge-indexer-gap.mdindexer/src/api/overview.rs,hub_prices.rscl8y-dex-terraclassic/tokenlist/tokenlist.jsonRecommended direction
collect_livevscollect_from_fixture.weekdefault fixtures;--live-sourcesuses live.GET {DEX_INDEXER_BASE}/api/v1/overviewandGET .../api/v1/hub-pricesvia existing allowlisted GET (after DNS-pin work or same helper). Record numeric claims with RFC3339as_of.DEFAULT_REPOSonly. Events as text; wrap untrusted.SourceKind(newTokenListor metadata on records); feed lint allowlist for listed CW20/native denoms.Acceptance criteria
--live-sourcescollects overview + hub-prices + tokenlist + allowlisted repo events withoutsources.json(or merges live over empty fixture).0xstill stripped.tokenDirectoryconstants (fixture copy or documented sync test).cargo test/ CI week unchanged (no live network).Test plan — functional paths
total_volume_24h_usdand hub prices becomeNumericClaims with citations.99999invention.ustr/ust1/custc/luncrecorded; null price → gap for that ticker.0x1111….github.com/attacker/malwareskipped;execute_menot run.http://169.254.169.254/still rejected.Test plan — attack, hack, and abuse
?url=, punycode,cl8y.com.evil, redirects to metadata IP.gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/raw/main/../../otherrejected.curl \| sh; ingested as untrusted text.sources.json.https://dex.cl8y.comis not in indexer fetch allowlist.Verification criteria
--live-sourcesagainst mocks (and optionally staging indexer) and inspectssources.jsoncitations.0xis.marked as related to #7
marked as related to #10
marked as related to #8