Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.02 KB

File metadata and controls

37 lines (29 loc) · 1.02 KB

casper-eip-712 — Project Rules

Tech Stack

  • Rust crate: no_std compatible, sha3 for keccak256
  • TypeScript package: ESM, zero runtime deps, vitest for tests
  • Demo contract: Odra framework (Casper smart contracts)

Build & Verification

Rust crate

cargo test
cargo test --no-default-features  # verify no_std builds

TypeScript package

cd js && npm install && npm test

Git Identity

All commits MUST use:

  • Name: Michael Steuer
  • Email: michael@casper.network

This is configured in the repo's .git/config. Do NOT override with your own identity.

Key Design Principles

  • API must mirror EIP-712 semantics exactly
  • Cross-language test vectors: Rust and TypeScript MUST produce identical hashes for same inputs
  • No external dependencies beyond sha3/keccak256
  • Must work in WASM (Casper contract target)

Quality

  • Every public function has doc comments with examples
  • Integration tests with known EIP-712 test vectors from Ethereum
  • README with quick-start guide