Implement LxrMiningSignature Type
Summary
Implement the core LxrMiningSignature type as defined in the specification.
Background
The LxrMiningSignature is a new signature type that requires proof-of-work to create, enabling mining-based participation in the Accumulate network.
Requirements
- Define LxrMiningSignature structure in
protocol/signatures.yml - Implement signature interface methods
- Include mining account field for namespace isolation
- Implement hash computation with LXRHash
Implementation Details
type LxrMiningSignature struct {
// Mining proof fields
MinerADI *url.URL
Nonce uint64
CandidateHash [32]byte
// Context fields
MiningAccount *url.URL // App namespace
TransactionData []byte
BlockHash [32]byte
Timestamp uint64
// Configuration
BaselineTarget [32]byte
TableSize uint32
// Standard signature fields
PublicKey []byte
Signature []byte
}
Acceptance Criteria
-
Signature type defined in YAML schema -
Generated code includes new type -
Interface methods implemented (Verify, Hash, Metadata, etc.) -
Mining hash calculation includes MiningAccount for isolation -
Unit tests for signature verification -
Integration with existing signature validation
Dependencies
- Depends on: #3666 (KeyPage Schema)
Related
- Epic: &37
- Specification: 32-lxr-mining.md