Add Ocarina ERC-7730 descriptors - #2598
Conversation
🧪 Clear Signing Tests
This PR is from a fork. A maintainer needs to add the Once approved, the tests will run automatically and post screenshots here. |
|
The
This isn't specific to these files. Several currently-merged descriptors fail I'd prefer to keep the descriptors as-is, for two reasons:
The descriptors pass I'm happy to open a fix PR upstream against Given the fix lives upstream, could this PR be merged as-is in the meantime? Or would you prefer I land the schema PR first and have you re-sync specs? |
|
Hey there :)
Thank you! We will have a look at the PR afterwards. |
Clear Signing TestsTested
✅ pass · ❌ fail · Details
|
234bbde to
cf0adc7
Compare
|
@manuelwedler Thanks! I've updated this PR as requested, rebasing and migrating to testsv2.
Please advise on any next steps! |
|
Regarding the implementation test failures, my read is that these issues with the runners surrounding
|
|
@manuelwedler Update: I've opened four companion PRs for the runner issues surfaced by this descriptor - see above With those runner fixes applied locally, and assuming the registry CI pins are updated after they merge, the Ocarina
|
|
@shukudaidayo Thanks a lot for flagging these. Good to get the library tested with more complex descriptors. I will look into the PRs later. |
5fe6329 to
98b274b
Compare
Clear signing recommendationsThese are suggestions. They do not block this pull request. 2 format(s) have no
2 deprecated field(s). Keep such a field only for backward compatibility. A new descriptor should use
|
|
I've updated the Ocarina descriptors from The remaining This appears to be a linter/schema version mismatch rather than a descriptor validation issue. |
Why CI fails on this PRThis PR is the first in the registry to use 1. 🔎 validate descriptors — the Python lint does not know
|
| Check | Cause | Where the fix belongs |
|---|---|---|
| validate descriptors | Python lib expects mustBe, spec says mustMatch |
python-erc7730 |
| Rust calldata | mustMatch compares decimal strings against hex words |
PR (hex values) or runner |
| Rust eip712 | hidden fields empty out bundled groups |
PR (restructure) or runner |
Posted with Claude Code
|
I feel like we need to move away from Ledger maintained linter and other libraries @manuelwedler |
|
@kuzdogan I'm taking a look this week and see how we can resolve these |
|
Regarding 1., I created this issue: #2971 Regarding 2.+ 3., I opened llbartekll/clear-signing#13 |
Summary
Adds ERC-7730 descriptors for Ocarina's OTCRegistry contract, covering:
registerOrdercalldata signingOrderRegistrationEIP-712 signingTipAuthorizationEIP-712 signingIncludes test fixtures for real mainnet Ocarina payloads plus edge cases for multi-item offers and multi-tip authorizations.
Testing
erc7730 lint registry/ocarina-trade/calldata-OTCRegistry.json registry/ocarina-trade/eip712-OTCRegistry.jsonerc7730 format registry/ocarina-tradecheck-jsonschema --schemafile specs/erc7730-tests.schema.json registry/ocarina-trade/tests/calldata-OTCRegistry.tests.json registry/ocarina-trade/tests/eip712-OTCRegistry.tests.jsonNotes
A directcheck-jsonschemarun against the descriptor files currently reports known schema limitations around:deeply nested calldata tuple format keys, e.g.registerOrder(...)field-grouponeOfambiguity where grouped display objects can match bothfieldandfieldGroupComparable direct-schema issues are present in existing registry descriptors; the Ocarina descriptors passerc7730 lint, and test fixture schema validation passes.Update: after rebasing onto latest
master,validate JSON schemasnow passes. So the schema regex / fieldGroup ambiguity notes appear resolved by the latest upstream changes. The remaining discussion is around the implementation test results forvisible.mustBeand hidden fields inside bundled groups.