Skip to content

fix: handle missing service/platformP2PPort/platformHTTPPort fields from Core RPC after dash#7181 #3227

@thepastaclaw

Description

@thepastaclaw

Context

dashpay/dash#7181 re-gates the service, platformP2PPort, and platformHTTPPort fields behind -deprecatedrpc=service in Core RPC output. These fields will no longer be present by default in protx diff, protx listdiff, and related RPCs.

This change ships with Dash Core v24.

The upstream dependency fix is tracked in dashpay/rust-dashcore#517DMNState.service must become Option<SocketAddr>.

What breaks in Platform

rs-drive-abci

  • update_state_masternode_list (v0) reads dmn_state_diff.service, dmn_state_diff.platform_p2p_port, and dmn_state_diff.platform_http_port from the parsed protx diff response. The diff fields are already optional and won't crash, but DMNState (used for addedMNs in the full list) will fail deserialization because service is non-optional in rust-dashcore.
  • Once rust-dashcore is fixed, all code reading DMNState.service needs to handle None.

rs-sdk-trusted-context-provider

  • Parses platformHTTPPort as Option<u16> from masternode entries — already optional, won't crash, but will silently lose the port data when the field is absent.

Required actions

  1. Bump rust-dashcore dependency after dashpay/rust-dashcore#517 is resolved
  2. Handle DMNState.service becoming Option in rs-drive-abci masternode list parsing
  3. Decide whether Platform nodes should run Core with -deprecatedrpc=service as a stopgap, or fully migrate to using the new addresses field
  4. Audit any other code paths that assume service/platformHTTPPort/platformP2PPort are always present in Core RPC responses

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingeffort: MMedium effort — a few dayspriority: highHigh priority — address soon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions