Skip to content

[kotlin-sdk] Broadcast rejection flattens to ErrorUnknown(99) — add a dedicated pre-broadcast rejection code #4085

Description

@bfoss765

Priority: P1 — robustness of the no-double-pay classification every integrator must implement (the wallet currently message-matches; safe but brittle).

PlatformWalletError::TransactionBroadcast — the broadcaster's definitive "never reached any peer" rejection, with the reservation released — reaches Kotlin as Generic(nativeCode=99) with only a message prefix. Integrators must string-match to classify the failure as safely-not-broadcast (retryable without double-pay risk).

Ask: a dedicated error code/type for definitive pre-broadcast rejection, preserving the Core reject reason, so the classification is robust across SDK versions.

Context: dashpay/dash-wallet#1507; relates to the SdkWriteResult Broadcast/NotBroadcast/Ambiguous contract described in dashpay/dash-wallet PR #1507. cc @QuantumExplorer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions