feat: handler discovery interfaces IOrderDescriptor and IOrderModule - #40
Open
mfw78 wants to merge 2 commits into
Open
feat: handler discovery interfaces IOrderDescriptor and IOrderModule#40mfw78 wants to merge 2 commits into
mfw78 wants to merge 2 commits into
Conversation
25 tasks
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 03:50
a3af0b8 to
da2512b
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
2 times, most recently
from
July 30, 2026 04:01
857a9ba to
cd4fd8b
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 04:01
da2512b to
60a398f
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 06:59
cd4fd8b to
fa7ce15
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
2 times, most recently
from
July 30, 2026 07:02
4e49284 to
c14cebe
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:02
fa7ce15 to
6ff5243
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:07
c14cebe to
8db0db6
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
2 times, most recently
from
July 30, 2026 07:09
16046bc to
c5390a4
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:09
8db0db6 to
a353d2b
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:14
c5390a4 to
1054887
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:14
a353d2b to
11e673b
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:18
1054887 to
8ca9cd8
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:18
11e673b to
1adff10
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:22
8ca9cd8 to
698dac6
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:22
1adff10 to
45aafa9
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:26
698dac6 to
d55df5e
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:26
45aafa9 to
790f4ad
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 07:33
d55df5e to
d841766
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 07:33
790f4ad to
7be42fc
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 08:23
d841766 to
fa5de5e
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 08:23
7be42fc to
9e8cd3e
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 08:42
fa5de5e to
bf6656b
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 08:42
9e8cd3e to
5663501
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 09:51
bf6656b to
4e9b624
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 09:51
5663501 to
2fc05f5
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 09:54
4e9b624 to
db09123
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
2 times, most recently
from
July 30, 2026 10:24
5dda0ce to
edabf32
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 10:24
db09123 to
a8b07ea
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 10:40
edabf32 to
bdd4dd8
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 10:40
a8b07ea to
76ee045
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 12:54
bdd4dd8 to
38f6ba1
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 12:54
76ee045 to
29ca5f6
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 13:07
38f6ba1 to
b851f74
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
2 times, most recently
from
July 30, 2026 13:19
969129b to
c56f9c5
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 13:19
b851f74 to
b469984
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 13:55
c56f9c5 to
63259e5
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 13:55
b469984 to
2621e99
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 14:25
63259e5 to
f38f934
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
2 times, most recently
from
July 30, 2026 23:43
c2dc973 to
9c527b7
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 30, 2026 23:43
f38f934 to
a45fe45
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 30, 2026 23:51
9c527b7 to
e36b654
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 31, 2026 00:06
138be58 to
cc68ac2
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
2 times, most recently
from
July 31, 2026 00:12
34ef864 to
97120da
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 31, 2026 00:12
cc68ac2 to
4a6cf39
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 31, 2026 00:14
97120da to
f659bd8
Compare
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
2 times, most recently
from
July 31, 2026 04:00
6076c6f to
76be6eb
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 31, 2026 04:00
f659bd8 to
429f6ad
Compare
Replaces the keccak256-over-bytes digest on both discovery sidecars with a `(bytes32 digest, PackageKind kind)` pair, where `kind` says how the package is put together and therefore how its digest is computed and verified. `BZZ_MANIFEST` hashes a structure, so only Swarm can recompute it: it locates itself, publishes no URI, and verifies per entry. `TAR_ZST` hashes bytes, so any transport can be checked by hashing what it delivered, which is what makes mirroring across bzz, ipfs and https possible at all. Neither needs a canonical byte serialisation specified. Two consequences in the mixins: - ERC-165 advertisement now gates on the digest rather than on the URI list. Gating on URIs would have silently stopped a `BZZ` or `IPFS` handler from advertising at all, since those publish none. - `TAR_ZST` locates nothing, so it requires at least one URI, and URIs cannot be published without a commitment to verify them against. `InvalidModuleDigest` is replaced by `UncommittedModuleURI` and `ModuleURIRequired`, which say which of the two rules was broken. BREAKING CHANGE: `descriptorDigest()` and `moduleDigest()` are replaced by `descriptorCommitment()` and `moduleCommitment()`; `DescriptorUpdate` and `ModuleUpdate` carry the kind; handler constructors take it.
mfw78
force-pushed
the
feat/uri-proof-payloads
branch
from
July 31, 2026 05:26
76be6eb to
1e2c531
Compare
mfw78
force-pushed
the
feat/discovery-interfaces
branch
from
July 31, 2026 05:26
429f6ad to
3d2c877
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
IOrderDescriptor+IOrderModulesidecars (own ERC-165 ids, never on the settlement path) with opt-in mixins: immutable-by-omission, constructor-emitted update events, module digest non-zero (InvalidModuleDigest)BaseConditionalOrder.supportsInterfacebecomespublicfor super-chaining (same selector, no ABI change)Issues
Closes #34.
Part of #1.