Skip to content

fix: BuildJudgements signs with public key #940

@HanaYukii

Description

@HanaYukii

BuildJudgements() reads Kappa[v].Ed25519 (Ed25519Public, [32]byte) from chain state and passes it to ed25519.Sign(), which requires a 64-byte private key. Any call panics with "ed25519: bad private key length: 32".

Per GP §17.17: jₙ = { S_κ[v]ᵉ ⟨Xe(w) ⌢ H(w)⟩ | (c, w) ∈ aₙ }. S_κ[v]ᵉ means "sign with v's Ed25519 signing key", not "look up the public key entry in chain state". The existing BuildAnnouncement pattern already takes validatorPrivKey ed25519.PrivateKey from the caller.

Fixed in #939.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions