318 Commits
Author SHA1 Message Date
Hanzo Dev e3ae0b248c Update add missing bits 2025-08-02 22:10:18 -05:00
Zach Kelling 733d740cf9 refactor: remove geth dependencies and internalize utilities
- Created common types (Hash, Address) in crypto/common
- Created hexutil utilities for hex encoding/decoding
- Created math utilities for big integer operations
- Created minimal RLP encoder for crypto package needs
- Updated all imports from github.com/luxfi/geth to local packages
- All tests pass with no functionality changes
2025-08-03 01:50:33 +00:00
Zach Kelling f6730ab3c1 Update to use go-eth versions 2025-08-03 01:35:05 +00:00
Zach Kelling 1765dfc504 Export SignatureLen and other constants 2025-08-03 01:28:25 +00:00
Zach Kelling aa0d0ad6a4 Fix secp256k1 compatibility: traditional Lux address format, signature recovery, init order 2025-08-01 18:52:00 +00:00
Zach Kelling 9fdae9028c Add compatibility layer for node crypto API: BLS helpers, secp256k1 keys, recover cache, and ethereum address support 2025-08-01 18:32:44 +00:00
Zach Kelling 45463e1cc7 refactor: remove geth dependencies and internalize utilities
- Created utils package with common types (Address, Hash, Big1, Big0)
- Added utility functions (BytesToAddress, HexToAddress, CopyBytes, FromHex)
- Implemented math utilities (PaddedBigBytes, MustParseBig256)
- Created minimal RLP encoder for CreateAddress function
- Added hexutil functions for KZG4844 support
- Updated all imports to use local utils instead of geth
- All tests passing successfully
2025-07-31 18:53:05 +00:00
Hanzo Dev c1ab877496 Remove validator package as requested 2025-07-30 15:29:04 -05:00
Zach Kelling 40837afb4f fix: validate signature is not all zeros in SignatureFromBytes
- Add check for all-zero signatures which are invalid
- Return ErrInvalidSignature for zero signatures
- Fixes compatibility with warp signature tests
2025-07-30 07:41:17 +00:00
Zach Kelling d29c684101 Fix BLS public key aggregation and multi-signature support
- Implemented proper public key aggregation using direct G1 point addition
- Created DirectPublicKey, DirectSignature, and DirectSecretKey types that
  wrap the circl BLS12-381 G1/G2 types directly
- Fixed AggregatePublicKeys to properly add G1 points instead of just
  returning the first key
- Added comprehensive tests for aggregation that verify multi-signature works
- Added TODO notes for VerifyProofOfPossession and SignProofOfPossession
  to use different domain separation tags (DST) once we have better access
  to the underlying circl private key representation

The implementation now properly supports BLS signature aggregation which is
required for the Lux warp/lp118 multi-signature verification.

All tests pass including multi-signature aggregation verification.
2025-07-30 07:32:14 +00:00
Zach Kelling a644c5ebc8 Replace C-based blst with pure Go BLS12-381 implementation using cloudflare/circl 2025-07-30 04:11:41 +00:00
Zach Kelling b9bd48f7ea Remove circular dependencies and use blst v0.3.15 2025-07-30 03:53:10 +00:00
Hanzo Dev 51ff23245a Remove cruft 2025-07-29 19:31:12 -05:00
Hanzo Dev 54f4087b72 Add corona 2025-07-29 19:26:13 -05:00
Hanzo Dev 4d027b6da7 Add README v0.1.0 2025-07-26 04:17:07 -05:00
Hanzo Dev 8953743947 Update for node, evm v1.0.1 v1.0.2 2025-07-25 22:19:01 -05:00
Hanzo Dev 9cbec1931a Initial commit v1.0.0 2025-07-25 20:12:57 -05:00
Hanzo Dev c3d2563353 Initial commit 2025-07-25 19:04:58 -05:00