Skip to content

Add core protocol packages#1

Open
philanton wants to merge 1 commit into
masterfrom
feat/core
Open

Add core protocol packages#1
philanton wants to merge 1 commit into
masterfrom
feat/core

Conversation

@philanton

Copy link
Copy Markdown

Initial Go module with the protocol primitives:

  • pkg/core — wire types (blocks, ops, receipts, URIs) with generated tuple-mode CBOR codecs (cbor_gen.go emitted by pkg/core/gen, ADR-009 §2)
  • pkg/decimal — arbitrary-precision decimal with tag-2 CBOR encoding
  • pkg/cborx — canonical envelope/frame/version codec with UnmarshalExact
  • pkg/abiutil — shared ABI type singletons
  • pkg/eip712 — EIP-712 digest construction and signer recovery
  • pkg/bls — BN254 keygen/sign/aggregate/verify, aggregated cluster-signature verification, vault withdrawal-ID derivation
  • pkg/receipt — burn/mint receipt digests, ReceiptVerifier, SignerSource

Signing preimages are frozen byte-exact: golden fixtures under testdata/goldens/ + testdata/cbor/primitives/, compare-mode golden tests in pkg/core and pkg/bls, enforced by scripts/ci/check-preimage-goldens.sh. Any byte drift fails the guard; regeneration is an explicit reviewed action.

go build ./..., go vet ./..., go test ./pkg/... all pass. CI workflow lands separately.

Initial Go module with the protocol primitives:

- pkg/core: wire types (blocks, ops, receipts, URIs) with generated
  tuple-mode CBOR codecs
- pkg/decimal: arbitrary-precision decimal with tag-2 CBOR encoding
- pkg/cborx: canonical envelope/frame/version codec
- pkg/abiutil: shared ABI type singletons
- pkg/eip712: EIP-712 digest and signer recovery
- pkg/bls: BN254 keygen/sign/aggregate/verify, cluster signature
  verification, vault withdrawal-ID derivation
- pkg/receipt: burn/mint receipt digests and verifier
- preimage freeze: byte-exact golden tests for signing preimages,
  enforced by scripts/ci/check-preimage-goldens.sh
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