Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
c58f817
fix(wallet-toolbox): verify overlay identity evidence
sirdeggen Sep 8, 2026
cbccb6c
feat(sdk): add dynamic overlay lookup discovery and bounded host sche…
sirdeggen Sep 8, 2026
b25a019
fix(sdk): close C02/C03 evidence coordinator review findings
sirdeggen Sep 8, 2026
b012b33
fix(wallet-toolbox): re-read BHS canonical headers for root checks
sirdeggen Sep 8, 2026
e82b77e
fix(sdk): keep overlay host cache and query() deadline honest
sirdeggen Sep 8, 2026
5d1eeed
fix(sdk): encode overlay discovery cache keys with stringifyBRC100
sirdeggen Sep 8, 2026
134d6fb
fix(sonar): evidence coordinator and chaintracks findings
sirdeggen Sep 9, 2026
53d9d04
Merge remote-tracking branch 'origin/main' into codex/overlay-evidenc…
sirdeggen Sep 9, 2026
37f5927
fix(sonar): overlay lookup discovery complexity and style
sirdeggen Sep 9, 2026
87cf2ed
fix(sonar): throw lookup abort instead of Promise.reject
sirdeggen Sep 9, 2026
8ab8364
fix(wallet-toolbox): skip overlay identity when services are absent
sirdeggen Sep 9, 2026
9b77db8
fix(ci): override js-yaml 3.15.2 for GHSA-2883
sirdeggen Sep 9, 2026
1e2ec60
fix(ci): override js-yaml 3.15.2 for GHSA-2883
sirdeggen Sep 9, 2026
4f6a88c
fix(ci): record js-yaml override removal rehearsal
sirdeggen Sep 9, 2026
b78ec98
fix(ci): record js-yaml override removal rehearsal
sirdeggen Sep 9, 2026
103ce20
fix(ci): ratchet override count for js-yaml 3.15.2
sirdeggen Sep 9, 2026
60b5b26
fix(ci): ratchet override count for js-yaml 3.15.2
sirdeggen Sep 9, 2026
74c1086
fix(ci): raise SDK and wallet platform bundle budgets
sirdeggen Sep 9, 2026
e29a109
fix(ci): raise SDK and wallet platform bundle budgets
sirdeggen Sep 9, 2026
a8f7462
fix(ci): raise remaining SDK-consumer bundle budgets
sirdeggen Sep 9, 2026
9bd1e7d
fix(ci): raise remaining SDK-consumer bundle budgets
sirdeggen Sep 9, 2026
9a32d1c
Merge remote-tracking branch 'origin/main' into codex/overlay-discove…
sirdeggen Sep 9, 2026
6046941
fix(ci): raise wallet client esbuild brotli budget
sirdeggen Sep 9, 2026
360d3b1
fix(ci): raise wallet client esbuild brotli budget
sirdeggen Sep 9, 2026
fe2a785
fix(ci): raise did-client UMD budget for SDK helper growth
sirdeggen Sep 9, 2026
33f1986
fix(ci): raise did-client UMD budget for SDK helper growth
sirdeggen Sep 9, 2026
b93b94e
fix(ci): prettier browser budget JSON
sirdeggen Sep 9, 2026
8c97d5a
fix(ci): prettier browser budget JSON
sirdeggen Sep 9, 2026
eac9b26
fix(ci): raise did-client esbuild budget
sirdeggen Sep 9, 2026
14fe855
fix(ci): raise did-client esbuild budget
sirdeggen Sep 9, 2026
0ab6267
fix(ci): raise did-client vite budget
sirdeggen Sep 9, 2026
53be438
fix(ci): raise did-client vite budget
sirdeggen Sep 9, 2026
d104da0
fix(ci): raise SDK vite and esbuild compressed budgets
sirdeggen Sep 9, 2026
ad1bc30
fix(ci): raise SDK vite and esbuild compressed budgets
sirdeggen Sep 9, 2026
ea90035
fix(wallet-toolbox): throw on overlay identity forceRefresh without s…
sirdeggen Sep 9, 2026
94d2e7c
fix(sonar): extract overlay chain-tracker guard from Wallet discovery
sirdeggen Sep 9, 2026
d8b8df5
test(sdk): cover overlay discovery helpers for patch coverage
sirdeggen Sep 9, 2026
30f0398
fix(sonar): use toHaveLength in LookupResolver discovery tests
sirdeggen Sep 9, 2026
582a1e9
test(sdk): cover chain tracker and evidence helpers for patch coverage
sirdeggen Sep 9, 2026
8f8ddb7
fix(ci): parent and finalize Codecov coverage reports
sirdeggen Sep 10, 2026
644accc
docs: reverify resource and TTN rollout gates
sirdeggen Sep 10, 2026
b65c3c6
fix(ci): require HTTPS for Codecov polling
sirdeggen Sep 10, 2026
bf770cd
fix(ci): raise SDK esbuild raw browser budget
sirdeggen Sep 10, 2026
f738134
test(sdk): cover invalid evidence intake limits
sirdeggen Sep 10, 2026
9a3845a
Merge latest main and resolve PR #518 integration conflicts
sirdeggen Sep 10, 2026
f9423d1
merge main into overlay evidence branch
sirdeggen Sep 14, 2026
76f5245
fix(ci): remove duplicate workspace override
sirdeggen Sep 14, 2026
46fa3ca
fix: avoid eager fetch dependency in broadcaster
sirdeggen Sep 14, 2026
7c0542d
fix: defer unavailable fetch failure until send
sirdeggen Sep 14, 2026
489ad5d
merge: integrate main into overlay evidence branch
sirdeggen Sep 18, 2026
cf824a8
merge: integrate origin/main into prep/518
sirdeggen Sep 18, 2026
53b1dfb
merge: integrate prep/517 into prep/518
sirdeggen Sep 18, 2026
07ea459
fix(sdk): keep the evidence branch esbuild budget at its measured cei…
sirdeggen Sep 18, 2026
63fa002
merge: restack lookup discovery branch on the corrected evidence branch
sirdeggen Sep 18, 2026
6e748c6
fix(sdk): scope lookup discovery docs and budget to this change
sirdeggen Sep 18, 2026
82d9f4b
fix(sdk): reject cancelled lookups instead of answering empty
sirdeggen Sep 18, 2026
7f8bb2c
fix(sdk): keep discovery resource limits out of the no-hosts error
sirdeggen Sep 18, 2026
e87ef2e
fix(sdk): refuse redirects on overlay lookup and SLAP discovery requests
sirdeggen Sep 18, 2026
091f03e
fix(sdk): re-queue displaced same-txid candidates instead of dropping…
sirdeggen Sep 18, 2026
c9afc9d
fix(wallet-toolbox): implement BHServiceClient.findChainTipHash
sirdeggen Sep 18, 2026
83c0670
docs: changelog entries for F1/F2 review-finding fixes
sirdeggen Sep 18, 2026
5eef0fc
merge: restack on predecessor review fixes
sirdeggen Sep 18, 2026
c2fa8a7
docs(sdk): state why a cached evidence recheck cannot be displaced
sirdeggen Sep 18, 2026
2189b54
chore(wallet): set platform budgets from measured evidence-branch bun…
sirdeggen Sep 18, 2026
1140670
merge: restack on evidence branch invariant note and measured budgets
sirdeggen Sep 18, 2026
43fc0b7
chore(budgets): set ceilings from measured lookup discovery bundles
sirdeggen Sep 18, 2026
03e6c74
test(sdk): pin HTTPS lookup facilitator transport bounds
sirdeggen Sep 19, 2026
f4594c1
test(sdk): pin lookup query resource, cancellation and host-policy bo…
sirdeggen Sep 19, 2026
686e83f
merge: integrate main after the evidence branch landed (#517)
sirdeggen Sep 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/helpers/simple/browser-budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
],
"maximumBytes": {
"vite": {
"raw": 750000,
"raw": 755000,
"gzip": 185000,
"brotli": 150000
"brotli": 151500
},
"esbuild": {
"raw": 585000,
Expand Down
23 changes: 23 additions & 0 deletions packages/sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,9 +270,26 @@ All notable changes to this project will be documented in this file. The format
- Add `LookupResolver.queryDetailed()` and per-outcome host-settlement counts
so security-sensitive callers can distinguish authoritative empty answers
from partial availability.
- Add bounded LookupResolver discovery: later SLAP tracker advertisements can
join an active query, hosts are scheduled fairly under concurrency and byte
limits, and HTTP bodies are read incrementally. Raw `query$` output remains
unverified; `onEvidence` is the C02 intake seam. Existing 2s host / 5s
tracker delays, reputation/backoff, freeform answers, and CORS/public
lookup request headers are unchanged.

### Changed

- LookupResolver host cache no longer lets a tighter-limit discovery satisfy a
later larger query, and `query()` still throws the historical no-competent-hosts
error when a deadline expires before any host is admitted.
- `LookupResolver.query()` and `queryDetailed()` now reject with an `AbortError`
when the caller's `options.signal` cancels the attempt, at any host count,
instead of flattening a cancelled run into an empty output list. `query$()`
still reports the cancellation as a `terminalReason: 'cancelled'` snapshot.
- A lookup that exhausts a client resource budget during SLAP discovery, before
any host is admitted, now throws `LookupResourceLimitError` naming the limit
instead of the historical no-competent-hosts error. That message is reserved
for a deadline or a settled attempt that genuinely found no host.
- Batch BEEF mutation bookkeeping and reuse compound Merkle intermediate hashes.
The optional asynchronous P2PKH backend now forwards its already validated
compressed public key directly into the unlocking script. Existing BEEF
Expand Down Expand Up @@ -388,6 +405,12 @@ All notable changes to this project will be documented in this file. The format

### Security

- `HTTPSOverlayLookupFacilitator` now issues lookup and SLAP tracker discovery
requests with `redirect: 'error'`. A SLAP-advertised host can no longer
redirect the serialized lookup body to an origin that the advertised-host
scheme and credential checks never saw, such as `http:`, loopback, or
link-local. A redirected response is recorded as an ordinary availability
failure for the advertised host.
- Treat cryptographic verification as successful only when it returns an
affirmative result: `GlobalKVStore` rejects forged controller-signed overlay
values, and `IdentityClient` refuses to publish signature-invalid identity
Expand Down
4 changes: 2 additions & 2 deletions packages/sdk/browser-budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"brotli": 165000
},
"esbuild": {
"raw": 590000,
"raw": 600000,
"gzip": 180000,
"brotli": 150000
}
Expand All @@ -30,7 +30,7 @@
"path": "dist/umd/bundle.js",
"global": "bsv",
"maximumBytes": {
"raw": 590000,
"raw": 594000,
"gzip": 172000,
"brotli": 145000
}
Expand Down
Loading
Loading