Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1769 commits
Select commit Hold shift + click to select a range
9032848
fix(bottube_embed): cap video_id and url lengths (A36) (#6444)
waefrebeorn May 28, 2026
b897c74
fix(rpc): cap address/hash/proposal_id at 128 chars (A37) (#6443)
waefrebeorn May 28, 2026
9f3c9c0
test: reproduce fromhex crash on invalid hex input (#6433)
CHY9213 May 28, 2026
ca36321
Add opt-in SQLite state pruning utility (#6222)
yyswhsccc May 28, 2026
2666836
feat: add EIP-1559 fee market helpers (#6221)
yyswhsccc May 28, 2026
43adeb0
feat: add block-bound randomness beacon (#6220)
yyswhsccc May 28, 2026
6cfe529
fix: enforce signed transfer nonce ordering (#6219)
yyswhsccc May 28, 2026
6dbe6cd
feat: add weighted producer duty balancing (#6218)
yyswhsccc May 28, 2026
3db30af
feat: add state diff API (#6216)
yyswhsccc May 28, 2026
bc5df80
fix: serialize block saves with template production (#6188)
yyswhsccc May 28, 2026
668189f
feat: add lightweight SPV client helpers (#6183)
yyswhsccc May 28, 2026
eeffa46
feat: add sync committee rotation tracker (#6179)
yyswhsccc May 28, 2026
93acfdd
Add epoch transition analytics dashboard (#6177)
yyswhsccc May 28, 2026
b1e2674
Add proposer duty calendar (#6176)
yyswhsccc May 28, 2026
c78266a
feat: add attestation pool monitoring (#6175)
yyswhsccc May 28, 2026
9435f0a
feat: add bridge dashboard history metrics (#6174)
yyswhsccc May 28, 2026
c6b4055
feat: add validator performance dashboard metrics (#6173)
yyswhsccc May 28, 2026
478e02c
fix: bound block propagation seen cache (#6172)
yyswhsccc May 28, 2026
ec1544f
fix: add UPnP peer announcement for NAT nodes (#6171)
yyswhsccc May 28, 2026
4ab7c0f
fix: remove BOM from Postman collection (#6169)
yyswhsccc May 28, 2026
e354556
Guard attestation fingerprint metrics against malformed shapes (#5994)
hubeiqiao May 28, 2026
f7c3b7e
fix: cap utxo transaction input count (#6473)
sirakinb May 28, 2026
0818d29
fix: reject overprecision node bridge amounts (#6471)
sirakinb May 28, 2026
085a7f7
fix: parse bridge lock amounts exactly (#6469)
sirakinb May 28, 2026
abde772
fix: reject oversized SPV bloom filters (#6465)
sirakinb May 28, 2026
5fb4cb2
feat: enhance zh-CN README with cultural framing for Chinese market (…
crystal-tensor May 28, 2026
ed5ad26
fix: replace beacon chat mock LLM response with configurable LLM API …
waefrebeorn May 28, 2026
d2a554b
fix(bridge): cap sender/target wallets at 128, chain at 32, tx hashes…
waefrebeorn May 28, 2026
3103cea
fix(sync): cap table param at 128 chars (A23) (#6454)
waefrebeorn May 28, 2026
a653316
fix(airdrop): cap username/wallet at 128, chain/tier at 32 (A21) (#6453)
waefrebeorn May 28, 2026
0bef5c0
fix: return 400 for missing badge username (#6203)
MolhamHamwi May 28, 2026
15e8ce1
fix: correct 'enviroment' typo in telegram bot (#6049)
lloupp May 28, 2026
8b2b1ae
fix: validate OTC order create JSON (#5534)
VQToan May 28, 2026
413263e
fix: require admin auth on withdrawal status GET endpoint (#6323)
BossChaos May 28, 2026
5ecd815
fix: require admin auth on governance and coalition GET endpoints (#6…
BossChaos May 28, 2026
9da7776
fix: require admin auth on Hall of Rust GET endpoints (#6319)
BossChaos May 28, 2026
269b55d
fix: require admin auth on beacon API GET endpoints (#6318)
BossChaos May 28, 2026
862573c
fix: require admin auth on sophia status GET endpoints (#6297)
BossChaos May 28, 2026
76f07b2
fix: require admin auth on rewards GET endpoints (RIP-200) (#6296)
BossChaos May 28, 2026
c871fe0
fix: require admin auth on tx handler GET endpoints (#6295)
BossChaos May 28, 2026
ee99f91
fix: validate peer URL scheme and reject private addresses in /p2p/an…
BossChaos May 28, 2026
f4b3455
fix: require admin auth on bridge status and list endpoints (#6186)
BossChaos May 28, 2026
720eca1
fix: require admin auth on lock ledger GET endpoints (#6185)
BossChaos May 28, 2026
7ec223e
Fix Discord bot partial numeric payloads (#6023)
mexxiie May 28, 2026
9629ef5
Fix CLI status partial health payloads (#6020)
mexxiie May 28, 2026
d66e870
Fix discord leaderboard partial status payloads (#6019)
mexxiie May 28, 2026
2dd572c
Fix monitor health partial payloads (#6017)
mexxiie May 28, 2026
ba5a2ad
Fix agent CLI response envelopes (#6013)
mexxiie May 28, 2026
67a268a
Fix websocket miner row tracking (#6011)
mexxiie May 28, 2026
d71cb65
Restore coinbase wallet network and balance helper exports (#6153)
fedexcc May 28, 2026
684b08c
test: load integrated node signature tests via importlib (#6477)
sirakinb May 28, 2026
6fdf69e
fix: sync root payout preflight validation (#6475)
sirakinb May 28, 2026
367d215
fix: reject malformed UTXO inputs (#6461)
sirakinb May 28, 2026
aa86424
test: include fingerprint evidence in attest signature fixtures (#6479)
sirakinb May 28, 2026
6aaefd6
fix: handle governance vote duplicate race (#6481)
sirakinb May 28, 2026
d3eb988
feat: Silicon Obituary (#2308) (#6458)
CHY9213 May 28, 2026
8f160d8
feat(windows-miner): Ed25519 signing (canonical-JSON v3) (#6432)
Scottcjn May 28, 2026
61a20c7
scripts: add settle-fix backport for older production nodes (#6430)
Scottcjn May 28, 2026
fa4f08a
fix(fingerprint): accept POWER8 cache profile via simd_identity arch …
Scottcjn May 28, 2026
b9fdcc1
fix(hw-binding): accept v3 fingerprint field names in entropy profile…
Scottcjn May 28, 2026
30c0054
docs: add macOS Homebrew prerequisite to quickstart (#6425)
CHY9213 May 28, 2026
e8dea44
feat(rip-200): add Pentium M antiquity tier (Banias/Dothan/Yonah) (#6…
Scottcjn May 28, 2026
b2eaeb0
build(deps): bump pytest, flask, pytest-cov, black, mypy (#6415)
0xN404T May 28, 2026
a11f509
docs: add comprehensive Node Operator Guide with step-by-step instruc…
zqleslie May 28, 2026
6541047
docs: add comprehensive Architecture Overview with Mermaid diagrams (…
zqleslie May 28, 2026
2f74f0d
docs: add unified API Reference with curl examples (closes docs sprin…
zqleslie May 28, 2026
de35f48
feat: add Vietnamese (vi-VN) translation of miner setup guide and REA…
nguyenthekr92-byte May 28, 2026
3a0e129
Fix faucet rate-limit timestamp parsing (#6341)
hungud May 28, 2026
5c7aea9
docs: make quickstart FAQ link explicit (#6233)
duongynhi000005-oss May 28, 2026
f129dc8
feat: add Chinese Simplified translation of MINING_GUIDE.md (#6206)
d1narim May 28, 2026
5bf1c4f
docs(zh-CN): add Chinese translation of QUICKSTART guide (#6167)
xiaomomini May 28, 2026
41e1e5a
docs: add Indonesian miner setup guide (#6113)
iyop666 May 28, 2026
e24b522
Fix passport PDF malformed repair dates (#6106)
samsamtrum May 28, 2026
ee1fc5b
Fix explorer invalid last_seen handling (#6105)
samsamtrum May 28, 2026
c4670c6
Fix documentation relative links (#6104)
samsamtrum May 28, 2026
539ba06
Use wallet balance endpoint in Linux and POWER8 miners (#6102)
jakub8 May 28, 2026
ec1a66d
Restore PPC G4 miner hardware helper methods (#6101)
jakub8 May 28, 2026
a88e7b8
Limit UTXO data input fanout (#6099)
hubeiqiao May 28, 2026
510f3b4
Fix claims eligibility fallback reward unit (#6061)
hubeiqiao May 28, 2026
0fd6e35
fix(setup): use platform-specific miner downloads (#6029)
hrnbld May 28, 2026
ed96486
docs: clarify ARM architecture classification (#6016)
asaadnashed May 28, 2026
e5c0237
fix: validate sophia review json bodies (#5999)
thefuturrjfhejh May 28, 2026
679bce0
fix: initialise miner header key schema (#5922)
justtryingtohelp46 May 28, 2026
1ff3c4e
fix: repair static builder review templates (#5894)
RaphaelS-git May 28, 2026
227af16
fix: require explicit rtc award wallet (#5788)
techoisonocreate-crypto May 28, 2026
9c310eb
fix: validate bridge callback json bodies (#5767)
dicnunz May 28, 2026
5876f0b
fix(security): OTC bridge — actually transfer escrow proceeds to reci…
Scottcjn May 28, 2026
25d9b94
Require Ed25519 identity for epoch votes (#5841)
akaalholdings May 28, 2026
336a9ae
fix: bound ergo bridge rpc calls (#6489)
sirakinb May 28, 2026
41a6694
fix: harden p2p peer url validation (#6487)
sirakinb May 28, 2026
4a32d30
fix: sanitize public utxo mempool response (#6485)
sirakinb May 28, 2026
a41ecce
fix: reject competing mempool-claimed utxo spends (#6483)
sirakinb May 28, 2026
a4ea24e
fix: validate webhook admin payloads (#6491)
sirakinb May 28, 2026
8c09525
fix: avoid trusting faucet forwarded ip by default (#6493)
sirakinb May 28, 2026
dcb560c
fix: bound blockchain integration sync request (#6495)
sirakinb May 28, 2026
0accaf2
fix: validate airdrop github usernames (#6497)
sirakinb May 28, 2026
27a4525
fix: bound airdrop bridge lock amounts (#6499)
sirakinb May 28, 2026
e412a81
fix: protect sophia dashboard (#6503)
sirakinb May 28, 2026
47188a1
fix: protect sophia inspection history (#6505)
sirakinb May 28, 2026
2d157e9
fix: bound airdrop bridge string fields (#6501)
sirakinb May 28, 2026
e068c2c
fix: fail closed beacon x402 premium exports (#6508)
sirakinb May 28, 2026
2312777
fix: avoid trusting faucet service forwarded ip by default (#6512)
sirakinb May 28, 2026
bbba41d
fix: protect sophia governor recent events (#6514)
sirakinb May 28, 2026
cb3e152
fix(gpu): repair orphan except/finally on gpu_release_escrow
May 28, 2026
b5fc198
docs: add Tokenomics section — 2²³ supply cap + holder-count rate sca…
May 28, 2026
08c635e
fix(docs): correct Tokenomics section to match WHITEPAPER §6
May 28, 2026
91eb0e2
fix(cli-wallet): use canonical RTC hex addresses (#6519)
eliasx45 May 28, 2026
9e5f0c6
docs: fix START_HERE clawrtc install command (#6520)
Thanhdn1984 May 28, 2026
4cefe53
fix: harden bridge confirmation thresholds (#6524)
sirakinb May 28, 2026
d9ac21c
fix: protect gpu attestation writes (#6533)
sirakinb May 28, 2026
a0b0591
[UTXO-BUG] fix _evict_stale_data_input_txs() fetchall() OOM — apply_t…
Ivan-LB May 29, 2026
0d4694a
fix: add MAX_CONTENT_LENGTH to prevent unbounded-body memory exhausti…
Ivan-LB May 29, 2026
9b7a7d1
fix: require Ed25519 signature in governance/propose to prevent walle…
Ivan-LB May 29, 2026
4fad165
Bound UTXO mempool candidate scan (#6535)
jonathanpopham May 29, 2026
6d4bc7d
[UTXO-BUG] Fix dual-write reward settlement (#6537)
jonathanpopham May 29, 2026
1e66a81
fix: enforce header producer eligibility (#6541)
jonathanpopham May 29, 2026
19e5ec2
Fix UTXO genesis legacy balance precision (#6548)
jonathanpopham May 29, 2026
2eae18b
Fix UTXO mempool tx_id spoof bypass (#6536)
tnmau May 29, 2026
d546d13
Escape explorer block and transaction table values (#6543)
tnmau May 29, 2026
103ebc6
Fix ROM clustering duplicate threshold (#6620)
litaibai2046-debug May 29, 2026
bb93e67
fix: validate Beacon join pubkey length (#6616)
ramimbo May 29, 2026
ca99f10
Require signatures for coalition miner actions (#6577)
sirakinb May 29, 2026
bd12279
Require admin key for GPU protocol attestation (#6561)
sirakinb May 29, 2026
7ae4e25
Prevent governance proposal nonce replay (#6554)
gaoaaa52-del May 29, 2026
00946b1
Reject peer-synced nonzero balances for unknown wallets (#6618)
litaibai2046-debug May 29, 2026
6e75711
[UTXO-BUG] /wallet/history: unbounded SQL fetchall causes OOM DoS (#6…
Ivan-LB May 29, 2026
eec8e58
[UTXO-BUG] /rewards/epoch: unbounded fetchall enables OOM DoS and wal…
Ivan-LB May 29, 2026
01a6a15
fix: paginate /governance/proposal/<id> votes to prevent OOM DoS (#6571)
Ivan-LB May 29, 2026
2c65a36
fix: drive block-producer duty weights from epoch_enroll table (#6463…
zeroknowledge0x May 29, 2026
3ef50d1
Fix agent claimed job expiry refund race (#6558)
gaoaaa52-del May 29, 2026
a26ec36
fix(gpu): add admin auth to 3 unauthenticated GET endpoints (#6557)
BossChaos May 29, 2026
87a0518
[UTXO-BUG] fix /api/nodes unbounded node_registry SELECT — cascading …
Ivan-LB May 30, 2026
a355046
[UTXO-BUG] fix GET /governance/proposals unbounded fetchall() — OOM D…
Ivan-LB May 30, 2026
69c885b
[UTXO-BUG] Skip cross-transaction data-input conflicts in block candi…
darlina-bounty-codex May 30, 2026
6ce8a8c
[UTXO-BUG] Preserve mempool txs sharing unspent data_inputs (#6637)
litaibai2046-debug May 30, 2026
ee6fffc
Harden canonical Beacon join identity binding (#6641)
luminet1 May 30, 2026
f1b93f0
Make GPU escrow debit atomic (#6643)
luminet1 May 30, 2026
21b8f8a
feat(bridge): public read-only federation routes (Layer 1) (#6646)
Scottcjn May 30, 2026
325b3ee
feat(db): bounded-query helper foundation for #6627 (#6640)
Scottcjn May 30, 2026
416d605
fix(tests): add seaborn importorskip in test_pse_analyze_results (#6628)
Scottcjn May 30, 2026
45817fa
fix: populate empty pyproject.toml to enable pip install -e . (#6555)
Scottcjn May 30, 2026
d13b435
fix(anti-double-mining): epoch-weight-aware representative selection …
Scottcjn May 30, 2026
6754367
feat(linux-miner): Ed25519 signing — parity with PR #6432 (Windows) (…
Scottcjn May 30, 2026
c4ca877
feat(bridge): reconciliation snapshots (federation Layer 2) (#6648)
Scottcjn May 30, 2026
958c8b2
feat: add simplified chinese translation for protocol-overview.md (#6…
glassgrass-art May 30, 2026
a712399
feat: add simplified chinese translation for token-economics.md (#6650)
glassgrass-art May 30, 2026
b445b14
feat: add simplified chinese translation for api-reference.md (#6651)
glassgrass-art May 30, 2026
36b74e2
feat: add simplified chinese translation for architecture-overview.md…
glassgrass-art May 30, 2026
999535a
docs(zh-CN): add missing macOS Homebrew section to QUICKSTART (#6653)
xiaomomini May 30, 2026
2db103c
docs(zh-CN): add Simplified Chinese translation of WALLET_SETUP guide…
xiaomomini May 30, 2026
8a4f8fd
Add Chinese (Simplified) README translation (zh-CN) — Bounty #725 (#6…
buxiangcifan123 May 30, 2026
e26ad3f
fix(windows-miner): restore fingerprint_checks import (CRITICAL regre…
Scottcjn May 30, 2026
a8ecfb4
docs: explain Discord -> on-chain holder onboarding + 1.5 RTC loyalty…
Scottcjn May 30, 2026
1d3b6bd
fix(windows-miner): surface fingerprint-unavailable instead of silent…
Scottcjn May 30, 2026
246d067
docs(whitepaper): correct total supply to 8,388,608 (2^23) — was 8,19…
Scottcjn May 30, 2026
8a97f84
Add gaoaaa52-del MacBook Air M4 to green tracker (#6569)
gaoaaa52-del May 30, 2026
5b02bb8
chore: remove junk file (botched shell redirect — base64 URL fragment…
Scottcjn May 30, 2026
4f7710b
feat(testnet): env-overridable chain identity + isolated testnet depl…
Scottcjn May 30, 2026
43e6d4b
test: fix 3 stale test files drifted from security hardening (#6658)
Scottcjn May 30, 2026
a64112d
fix: cap get_verifying_claims fetchall to prevent OOM on large claims…
Ivan-LB May 31, 2026
85d3fc7
Fix zh-CN token economics API reference link (#6690)
keon0711 May 31, 2026
3837226
Add keon0711 MacBook Air M2 green tracker entry (#6675)
keon0711 May 31, 2026
800217d
fix(rewards): import hmac for admin endpoints (#6669)
keon0711 May 31, 2026
bdba49c
fix: harden governor transfer amount parsing (#6679)
keon0711 May 31, 2026
6fd9da5
fix(setup_miner): sync stale Linux+Windows miner sha256 checksums
Scottcjn May 31, 2026
1b89eac
docs(rip): add RIP-202 (Draft) — fail-closed producer enrollment gate…
Scottcjn May 31, 2026
9a94c04
docs(rip-202): add implementation roadmap + grounding findings
Scottcjn May 31, 2026
eec052a
RIP-202 B1: deterministic producer-enrollment module (dormant, tested…
Scottcjn May 31, 2026
7e33739
security(award_rtc): validate recipient + idempotency key on auto-bou…
Scottcjn Jun 1, 2026
82a29b3
fix(node): add /api/wallet/<id> balance route (was 404) (#6736)
Scottcjn Jun 1, 2026
1920999
Guard genesis rollback after UTXO history (#6716)
sanphandinh Jun 1, 2026
13ace3f
fix: governance balance check fails on schema-B nodes with Operationa…
Ivan-LB Jun 1, 2026
c23fd50
[UTXO-BUG] epoch dual-write aborts on sub-dust reward outputs (#6695)
JONASXZB Jun 1, 2026
c7d13af
Enforce monotonic nonce ordering on /utxo/transfer (#6712)
Yasuno-5555 Jun 1, 2026
ab426e9
fix(security): require admin auth on /governance/vote (#6719)
BossChaos Jun 1, 2026
b150ae8
security(consensus): make finalize_epoch settlement atomic (anti doub…
Scottcjn Jun 1, 2026
8e535f3
security(block-producer): allowlist device_info on public /block/prod…
Scottcjn Jun 1, 2026
b41c959
feat(rip-202): B0 canonical block-format contract (pure, dormant) (#6…
Scottcjn Jun 1, 2026
3a85c21
test(rip-202): add B1 integration tests against real derive_verified_…
Scottcjn Jun 1, 2026
599028c
Add consensus invariant attractor harness (#6741)
FakerHideInBush Jun 1, 2026
c2f2444
Add JavaScript SDK for RustChain API (#6742)
Simultech369 Jun 1, 2026
c81d53a
fix: install Linux miner signing helper (#6734)
keon0711 Jun 1, 2026
8b25e34
Improve RustChain Telegram bot Raydium price support (#6729)
JONASXZB Jun 1, 2026
e0c75c9
Add static RustChain network status page (#6706)
Simultech369 Jun 1, 2026
cd5952e
[UTXO-BUG] fix PeerManager.get_active_peers unbounded fetchall() — OO…
Ivan-LB Jun 1, 2026
a26f826
Add RIP-309 reward rotation equivalence tests (#6745)
jeffreyzeng10 Jun 1, 2026
76cb54e
fix: forward auth headers through proxy to prevent admin auth bypass …
Scottcjn Jun 1, 2026
517a771
docs: add Italian (it-IT) and Japanese (ja-JP) translations (#6770)
JesusMP22 Jun 1, 2026
3d93264
miner-port: FreeBSD — installer + rc.d service + verify-before-trust …
JesusMP22 Jun 1, 2026
74b163d
pt-BR: Translate README.md and VINTAGE_MINING_EXPLAINED.md (#6751)
JesusMP22 Jun 1, 2026
2e99762
fix: register explorer dependency routes (#6733)
keon0711 Jun 1, 2026
7e49049
docs: fix localized miner setup commands (#6732)
keon0711 Jun 1, 2026
53fce87
Add Korean documentation entry point (#6731)
keon0711 Jun 1, 2026
5a969b7
security(consensus): atomic Sophia epoch settlement (synthesis of #67…
Scottcjn Jun 1, 2026
17d65e1
docs(zh-CN): fix license badge link to use absolute URL (Fixes #6697)…
zeroknowledge0x Jun 1, 2026
2630a53
Fix: docs: sprint node-operator guide clones rustchain- (#6707)
lovesxy-001 Jun 1, 2026
c0a5cc4
docs: add pt-BR miner localization pass (#6743)
darlina-bounty-codex Jun 1, 2026
b9d202e
Add zh-CN translation: VINTAGE_MINING_EXPLAINED.md + consent screen s…
hp283260133-bit Jun 1, 2026
ea488e2
security(api): redact internal exception details from error responses…
Scottcjn Jun 1, 2026
a34adda
fix(node): route bounded queries through fetch_page (#6752)
FakerHideInBush Jun 1, 2026
60909e4
feat(rip-202): PREREQ-A governance_params + get_param (read-only, dor…
Scottcjn Jun 2, 2026
8482bb6
Fix RTC total supply: 8,388,608 (2^23) not 8,192,000
Scottcjn Jun 2, 2026
fe54334
fix(rip-202): B0 block-format hardening (tri-brain review follow-up t…
Scottcjn Jun 2, 2026
966d3e8
Add RIP-0310: Proof of Provenance (PoP)
Scottcjn Jun 2, 2026
fd2357b
RIP-0310: add Zenodo DOI 10.5281/zenodo.20502069
Scottcjn Jun 2, 2026
0964707
README: link RIP-0310 Proof of Provenance in the Agent Stack
Scottcjn Jun 2, 2026
53b2d0e
feat(rip-202): B0-persist attestation_evidence capture (additive, dor…
Scottcjn Jun 2, 2026
2706f9d
README: fix wRTC overclaim + stale stats; add subtle agent hooks + SEO
Scottcjn Jun 2, 2026
ab7bde4
README: correct premine sub-split to on-chain reality (4 x 1.5%)
Scottcjn Jun 2, 2026
cc9d266
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
3258a30
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
13c98e3
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
12c3190
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
e3f439d
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
9e13182
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
1267367
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
4e2a986
docs: unify tokenomics to chain truth (8,388,608 = 2^23, 94% mining +…
Scottcjn Jun 2, 2026
1bf2b47
docs: tokenomics consistency — supply 8,388,608 (2^23), premine 6% (5…
Scottcjn Jun 2, 2026
5a4b8d2
docs: tokenomics consistency — supply 8,388,608 (2^23), premine 6% (5…
Scottcjn Jun 2, 2026
69c3480
docs: tokenomics consistency — supply 8,388,608 (2^23), premine 6% (5…
Scottcjn Jun 2, 2026
4bb398c
docs: tokenomics consistency — supply 8,388,608 (2^23), premine 6% (5…
Scottcjn Jun 2, 2026
9e249d3
docs: tokenomics consistency — supply 8,388,608 (2^23), premine 6% (5…
Scottcjn Jun 2, 2026
c466fe3
tokenomics: align to chain (8,388,608 = 2^23, premine 6% = 4x125,829)
Scottcjn Jun 2, 2026
978c42f
tokenomics: align to chain (8,388,608 = 2^23, premine 6% = 4x125,829)
Scottcjn Jun 2, 2026
98b9276
tokenomics: align to chain (8,388,608 = 2^23, premine 6% = 4x125,829)
Scottcjn Jun 2, 2026
50c4989
tokenomics: align to chain (8,388,608 = 2^23, premine 6% = 4x125,829)
Scottcjn Jun 2, 2026
830723b
README: reference rate $0.10 -> $0.15 (current tier); link /api/token…
Scottcjn Jun 2, 2026
b1b9e54
test(ci): fix 21 stale tests + httpx dep (main pytest was red) (#6788)
Scottcjn Jun 2, 2026
b28ee8a
docs: add README language index (#6795)
yyswhsccc Jun 2, 2026
34c19ac
docs: add Spanish Linux miner localization (#6783)
JONASXZB Jun 2, 2026
b794cff
localization: add pl-PL miner consent pass (#6794)
FakerHideInBush Jun 2, 2026
091bd89
fix(verifier): use public wallet balance endpoint (#6778)
FakerHideInBush Jun 2, 2026
f8870c1
fix(gpu): atomic escrow state transitions — close release/refund TOCT…
Scottcjn Jun 2, 2026
b2e7e40
fix(otc): idempotent payout + fail-closed admin transport (#6799)
Scottcjn Jun 2, 2026
146665c
RIP-0310: add Part III — worked example + verification sequence diagram
Scottcjn Jun 2, 2026
4f47c32
fix(otc): harden precision-column migration — allowlist tables + idem…
Scottcjn Jun 2, 2026
99d5aef
fix(otc): WSGI schema init, list_trades fail-open, remove dead releas…
Scottcjn Jun 2, 2026
1275f58
RIP-0310: cite concept DOI 10.5281/zenodo.20502068 (always-latest)
Scottcjn Jun 2, 2026
bf3b776
attractor: consensus-invariant harness (#6790)
luisalias007-cmyk Jun 2, 2026
cfb4f71
RIP-0310: elevate PoP to the umbrella framework (5-layer verifiable l…
Scottcjn Jun 2, 2026
fa6bf9d
Fix zh-CN API reference links (#6713)
yyswhsccc Jun 2, 2026
9446359
Fix Chinese mining guide relative links (#6714)
yyswhsccc Jun 2, 2026
a77799a
Add JONASXZB MacBook Air M2 green tracker entry (#6709)
JONASXZB Jun 2, 2026
14ed6eb
Remove redundant UTXO dual-write fee validation (#6792)
luisalias007-cmyk Jun 2, 2026
4432caf
feat(bcos): Premium Badge Generator v2 -- live directory, repo search…
darlina-bounty-codex Jun 2, 2026
67a1e4b
Fix PoA validator entrypoint imports (#6785)
JONASXZB Jun 2, 2026
8031c53
RIP-0310: tribrain fixes — de-overclaim the framework tiers (Codex re…
Scottcjn Jun 2, 2026
18cfcda
RIP-0310: deployment-status + future-tense framing (Grok over-scope fix)
Scottcjn Jun 2, 2026
dd172a4
RIP-0310: close tribrain re-review PARTIALs (formal strength rule + H…
Scottcjn Jun 2, 2026
bf9626a
fix: update tests for admin-auth-required GET endpoints (PR #6197 rev…
Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
98 changes: 98 additions & 0 deletions .claude/skills/rtc-balance/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
name: rtc-balance
description: Check RustChain wallet balance, epoch info, and network status via the public RPC
author: Emanon4
tags: [rustchain, cryptocurrency, wallet, balance-checker]
---

# /rtc-balance — RustChain Wallet Balance Checker

## Installation

Copy this folder (`.claude/skills/rtc-balance/`) into your project's `.claude/skills/` directory. Claude Code automatically loads skills from that path.

```
mkdir -p .claude/skills
cp -r path/to/rtc-balance .claude/skills/rtc-balance
```

Requires `curl` (pre-installed on macOS and most Linux distributions). No additional dependencies.

## Usage

```
/rtc-balance <wallet_name>
```

`<wallet_name>` is your RustChain wallet address or miner ID.

## Procedure (executed on invocation)

When invoked with `<wallet_name>`, perform these steps in order:

### Step 1 — Fetch wallet balance

```
curl -sS --max-time 8 "https://rustchain.org/wallet/balance?miner_id=<wallet_name>"
```

Parse the JSON response:
- If the response contains `"amount_rtc"`: extract that float value as the balance
- If the response is empty or `curl` exits non-zero: the node is unreachable, skip to Step 3a

### Step 2 — Fetch network status

```
curl -sS --max-time 8 "https://rustchain.org/epoch"
```

Parse the JSON response for these fields:
- `epoch`: int — current epoch number
- `slot`: int — current slot within the epoch
- `enrolled_miners`: int — number of active miners

### Step 3a — Node offline path

If Step 1 or Step 2 failed (curl timeout or non-JSON response):

```
Error: Node unreachable
Check your network connection or try again later.
```

### Step 3b — Success path

Format and print the output:

```
Wallet: <wallet_name>
Balance: <amount_rtc> RTC ($<usd> USD)
Epoch: <epoch> | Slot: <slot> | Miners online: <count>
```

Where:
- `amount_rtc` = float from Step 1 (default `0.0` if wallet not found)
- `usd` = `amount_rtc * 0.10` (reference rate: 1 RTC = $0.10 USD)
- `epoch`, `slot`, `enrolled_miners` = integers from Step 2

### Error handling

| Scenario | Behavior |
|----------|----------|
| Wallet not found (API returns `{"amount_rtc": 0.0}`) | Show 0.00 RTC, continue |
| Node unreachable | Stop, print "Node unreachable" message |
| Empty wallet name | Print "Usage: /rtc-balance <wallet_name>" |

## Example

```
/rtc-balance Emanon4
```

Expected output:

```
Wallet: Emanon4
Balance: 0.00 RTC ($0.00 USD)
Epoch: 162 | Slot: 23411 | Miners online: 14
```
1 change: 0 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
github: [Scottcjn]
ko_fi: elyanlabs
custom: ["https://rustchain.elyanlabs.ai/donate"]
8 changes: 4 additions & 4 deletions .github/actions/bcos-action/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v4

- name: Run BCOS Scan
uses: Scottcjn/bcos-action@v1
uses: Scottcjn/Rustchain/.github/actions/bcos-action@main
id: bcos
with:
tier: L1
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
- uses: actions/checkout@v4

- name: Run BCOS L2 Scan
uses: Scottcjn/bcos-action@v1
uses: Scottcjn/Rustchain/.github/actions/bcos-action@main
id: bcos
with:
tier: L2
Expand All @@ -78,7 +78,7 @@ jobs:

```yaml
- name: Scan Subdirectory
uses: Scottcjn/bcos-action@v1
uses: Scottcjn/Rustchain/.github/actions/bcos-action@main
with:
repo-path: ./packages/core
tier: L1
Expand Down Expand Up @@ -191,5 +191,5 @@ MIT License - see [LICENSE](LICENSE) file.
## Support

- Documentation: https://rustchain.org/bcos/
- Issues: https://github.com/Scottcjn/bcos-action/issues
- Issues: https://github.com/Scottcjn/Rustchain/issues
- Spec: https://github.com/Scottcjn/Rustchain/blob/main/docs/BEACON_CERTIFIED_OPEN_SOURCE.md
21 changes: 14 additions & 7 deletions .github/actions/bcos-action/anchor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,20 @@
"""

import json
import logging
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError

logger = logging.getLogger("bcos-action")


def main():
"""Anchor the BCOS attestation to RustChain."""
logging.basicConfig(
level=logging.INFO,
format="%(levelname)s %(name)s: %(message)s"
)
# Get inputs from environment
node_url = os.environ.get("INPUT_NODE_URL", "https://rustchain.org")
cert_id = os.environ.get("CERT_ID", "")
Expand All @@ -22,7 +29,7 @@ def main():
merged_commit = os.environ.get("MERGED_COMMIT", "")

if not all([cert_id, commitment, repo, pr_number, merged_commit]):
print("⚠️ Missing required environment variables. Skipping anchor.")
logger.warning("Missing required environment variables. Skipping anchor.")
return

# Build attestation payload
Expand Down Expand Up @@ -51,16 +58,16 @@ def main():
try:
response = urlopen(req)
result = json.loads(response.read().decode('utf-8'))
print(f"✅ Attestation anchored successfully!")
print(f"Transaction: {result.get('tx_hash', 'N/A')}")
print(f"Block: {result.get('block_number', 'N/A')}")
logger.info("Attestation anchored successfully!")
logger.info("Transaction: %s", result.get("tx_hash", "N/A"))
logger.info("Block: %s", result.get("block_number", "N/A"))
except HTTPError as e:
error_body = e.read().decode() if e.fp else ""
print(f"⚠️ Failed to anchor: {e.code}")
logger.error("Failed to anchor: %s", e.code)
if error_body:
print(f"Response: {error_body}")
logger.debug("Response: %s", error_body)
except Exception as e:
print(f"⚠️ Anchor skipped (node may be unavailable): {e}")
logger.warning("Anchor skipped (node may be unavailable): %s", e)


if __name__ == "__main__":
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/bcos-action/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ def post_github_comment(repo: str, pr_number: str, report: dict, token: str) ->
</details>

---
*Generated by [BCOS v2 Action](https://github.com/Scottcjn/bcos-action)*
*Generated by [BCOS v2 Action](https://github.com/Scottcjn/Rustchain/tree/main/.github/actions/bcos-action)*
"""

api_url = f"https://api.github.com/repos/{repo}/issues/{pr_number}/comments"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/bcos-action/post_comment.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def main():
</details>

---
*Generated by [BCOS v2 Action](https://github.com/Scottcjn/bcos-action)*
*Generated by [BCOS v2 Action](https://github.com/Scottcjn/Rustchain/tree/main/.github/actions/bcos-action)*
"""

# Post to GitHub API
Expand Down
69 changes: 58 additions & 11 deletions .github/actions/bcos-action/test_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
Tests the main.py action script functionality.
"""

import base64
import json
import os
import sys
Expand All @@ -22,11 +23,16 @@
anchor_to_rustchain,
set_github_output
)
import post_comment as post_comment_script


BCOS_ACTION_URL = "https://github.com/Scottcjn/Rustchain/tree/main/.github/actions/bcos-action"
DEAD_BCOS_ACTION_URL = "https://github.com/Scottcjn/bcos-action"


class TestMinimalBCOSScanner(unittest.TestCase):
"""Test the minimal BCOS scanner."""

def setUp(self):
"""Create a temporary test repository."""
self.temp_dir = tempfile.TemporaryDirectory()
Expand Down Expand Up @@ -145,15 +151,9 @@ def test_cert_id_format(self):

class TestGitHubComment(unittest.TestCase):
"""Test GitHub comment posting."""

@patch('main.urlopen')
def test_post_comment_success(self, mock_urlopen):
"""Test successful comment posting."""
mock_response = MagicMock()
mock_response.status = 201
mock_urlopen.return_value = mock_response

report = {

def _sample_report(self):
return {
"trust_score": 75,
"tier_met": True,
"cert_id": "BCOS-test123",
Expand All @@ -172,17 +172,64 @@ def test_post_comment_success(self, mock_urlopen):
"review_attestation": 10
}
}

@patch('main.urlopen')
def test_post_comment_success(self, mock_urlopen):
"""Test successful comment posting."""
mock_response = MagicMock()
mock_response.status = 201
mock_urlopen.return_value = mock_response

result = post_github_comment(
repo="test/repo",
pr_number="42",
report=report,
report=self._sample_report(),
token="fake-token"
)

self.assertTrue(result)
mock_urlopen.assert_called_once()

@patch('main.urlopen')
def test_post_comment_links_to_in_repo_action_source(self, mock_urlopen):
"""Generated comments should not link to the unpublished action repo."""
mock_response = MagicMock()
mock_response.status = 201
mock_urlopen.return_value = mock_response

post_github_comment(
repo="test/repo",
pr_number="42",
report=self._sample_report(),
token="fake-token"
)

request = mock_urlopen.call_args.args[0]
body = json.loads(request.data.decode("utf-8"))["body"]
self.assertIn(BCOS_ACTION_URL, body)
self.assertNotIn(DEAD_BCOS_ACTION_URL, body)

@patch('post_comment.urlopen')
def test_standalone_post_comment_links_to_in_repo_action_source(self, mock_urlopen):
"""The standalone comment script should use the same live action link."""
mock_response = MagicMock()
mock_response.status = 201
mock_urlopen.return_value = mock_response
report_json = json.dumps(self._sample_report()).encode("utf-8")

with patch.dict(os.environ, {
"GITHUB_TOKEN": "fake-token",
"REPO": "test/repo",
"PR_NUMBER": "42",
"REPORT_JSON": base64.b64encode(report_json).decode("ascii"),
}):
post_comment_script.main()

request = mock_urlopen.call_args.args[0]
body = json.loads(request.data.decode("utf-8"))["body"]
self.assertIn(BCOS_ACTION_URL, body)
self.assertNotIn(DEAD_BCOS_ACTION_URL, body)


class TestRustChainAnchoring(unittest.TestCase):
"""Test RustChain anchoring."""
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/rtc-auto-bounty/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ inputs:
description: 'RustChain VPS host (IP or hostname)'
required: false
default: ''
rtc-api-url:
description: 'Full RustChain transfer API URL, for example https://rustchain.org/wallet/transfer'
required: false
default: ''
rtc-admin-key:
description: 'Admin key for the /wallet/transfer endpoint'
required: false
Expand Down Expand Up @@ -76,6 +80,7 @@ runs:
shell: bash
env:
INPUT_RTC_AMOUNT: ${{ inputs.rtc-amount }}
INPUT_RTC_API_URL: ${{ inputs.rtc-api-url }}
INPUT_RTC_VPS_HOST: ${{ inputs.rtc-vps-host }}
INPUT_RTC_ADMIN_KEY: ${{ inputs.rtc-admin-key }}
INPUT_FROM_WALLET: ${{ inputs.from-wallet }}
Expand Down
Loading