Conversation
Bump XDR_COMMIT to stellar-xdr 03cbf40c and enable the MS_CLOSE_TIME feature gate, which adds STELLAR_VALUE_SIGNED_MS / STELLAR_VALUE_EMPTY_TX_SET_MS to StellarValueType and the matching StellarValue.ext arms carrying TimePointMilliseconds closeTimeMs. Regeneration is mandatory rather than cosmetic: the generated view types reject unknown union discriminants, so every LedgerCloseMetaView walk would hard-fail on a ledger using the new arms. ingest/ledger NodeID/Signature read the signature out of the ext union and previously matched only STELLAR_VALUE_SIGNED, silently reporting no signature on millisecond-close-time ledgers; they now accept STELLAR_VALUE_SIGNED_MS identically. The whole-second closeTime field and all consumers of it are unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Suggested fix: add I did NOT change this. It predates CAP-0088, and CAP-0088 scope requires |
Changes
XDR_COMMITto stellar-xdr03cbf40cand setXDR_FEATURES = MS_CLOSE_TIME; regeneratexdr/,gxdr/and the view types. Regen is required, not cosmetic — the view types reject unknown union discriminants, soLedgerCloseMetaViewwould hard-fail on any ledger using the new arms.ingest/ledgerNodeID/Signaturenow acceptSTELLAR_VALUE_SIGNED_MSidentically toSTELLAR_VALUE_SIGNED. Whole-secondcloseTimeand its consumers are unchanged; no ms fields are exposed.Out-of-scope observations
ingest/ledger/ledger.godoes not read the signature from theSTELLAR_VALUE_EMPTY_TX_SETarm'sproposedValue.lcValueSignature(pre-existing, CAP-0083). Left as-is soEMPTY_TX_SET_MSbehaves identically — see PR comment.ingest/ledger/ledger_test.goledgerTestInput()setsGeneralizedTransactionSet{V: 0}, an invalid discriminant, so the fixture cannot be marshalled. Not fixed here; the new test round-tripsScpValuealone.Upstream: stellar-xdr
03cbf40cec4d89f82171bf895ef7598458d83e1b(merged tomain; ahead 4 / behind 0 of the previous pin).Downstream: stellar-horizon, stellar-rpc, galexie repin via
go getonce this merges.