refactor(contract): use UpdateId and Keyset from dtos in the API - #4269
Conversation
cb71b75 to
2b81e4d
Compare
|
PR title type suggestion: This PR restructures code to use centralized DTO types across multiple source files. The type prefix should probably be Suggested title: |
Pull request overviewThis moves the two remaining contract-internal types off I verified the wire format is genuinely unchanged: the retained ABI definitions for Changes:
Reviewed changesPer-file summary
FindingsNon-blocking (nits, follow-ups, suggestions):
✅ Approved |
|
PR title type suggestion: This PR restructures code to use centralized DTO types across multiple files, which is a refactoring activity. Consider using Suggested title: |
…l-keyset-proposalhash-and-updateid-are-still-on-the-public-api
…l-keyset-proposalhash-and-updateid-are-still-on-the-public-api
|
PR title type suggestion: Since this PR restructures code across multiple crates to use |
|
PR title type suggestion: This PR restructures code across multiple crates to use shared DTO types, which is refactoring rather than routine maintenance. Suggested title: |
|
PR title type suggestion: This PR restructures the API to use types from DTOs across multiple modules. Suggested title: |
…l-keyset-proposalhash-and-updateid-are-still-on-the-public-api
|
PR title type suggestion: This PR restructures code to use types from the DTO module rather than local definitions. Since source code files are being reorganized, the type prefix should probably be Suggested title: |
There was a problem hiding this comment.
Thanks!
BTW, do we have any other issues besides #4255 and #2480 tracking the use of internal types in the contract?
I think it’d be worth making sure the Claude reviewer catches cases where someone reintroduces internal types into the contract. This refactor has been dragging on for quite a while and has been split across a bunch of random PRs, so once we finally clean it up, we probably don’t want to accidentally bring them back.
…l-keyset-proposalhash-and-updateid-are-still-on-the-public-api
There is also #4055
Probably yes, but I have also a less advanced idea as part of #2061. We can have a clippy/deny lint rule forbidding the use of json schemars in the contract. That should catch most cases where a type in the contract is used on the interface. |
Closes #4257