Skip to content

fix: nil-safe QC payloads, serialize plugin writes, clone indexer delete keys - #526

Open
crazywriter1 wants to merge 1 commit into
canopy-network:mainfrom
crazywriter1:fix/qc-plugin-indexer
Open

fix: nil-safe QC payloads, serialize plugin writes, clone indexer delete keys#526
crazywriter1 wants to merge 1 commit into
canopy-network:mainfrom
crazywriter1:fix/qc-plugin-indexer

Conversation

@crazywriter1

Copy link
Copy Markdown

Summary

  • Guard QuorumCertificate.EqualPayloads against a nil compare cert/header so last-certificate checks cannot panic.
  • Serialize length-prefixed plugin socket writes with a dedicated writeMu on both the FSM plugin and the Go plugin SDK (do not reuse p.l).
  • Clone iterator keys in indexer deleteAll before Next(), matching DeleteCheckpointsForChain, so prefix deletes cannot skip keys.

Test plan

  • go test ./lib/ ./store/
  • go test ./contract/ in plugin/go
  • TestEqualPayloads — same payload, different signatures still equal
  • TestSendLengthPrefixedSerializesWrites — concurrent length-prefixed writes stay framed
  • Optional: plugin/go tutorial TestPluginTransactions against a running node with "plugin": "go"

…ete keys

Guard EqualPayloads against nil certs, serialize plugin socket writes with
a dedicated mutex, and clone iterator keys in indexer deleteAll.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant