* feat: add serde impls to Blob and Bytes48
* remove duplicate serde file
* cargo fmt
* serialize and deserialize with prefix
* cargo fmt
* use different trusted setup based on minimal spec
* add Bytes32 serde impls
* modify directory structure to isolate the generated bindings
* add a lib.rs file
* move deref impls to the extension file
* remove unused types from generated bindings
* cleanup new lines to reduce diff noise
* reorder definitions to reduce diff noise
* move sync and send impls to the extension file
* generate bindings
* blacklist used bindings; create snapshots dir to ensure freshness in the future
* fix typo. Ty @pawanjay176
* run cargo build after merge
* custom impl for KZGCommitment and KZGProof
* final touches
* working build
* Move bindings.rs to root directory
* tidy build script
* Add initial rust safe bindings
* import fewer c stuff in bindings
* remove unnecessary blst definitions in bindings
* remove bindgen build dependency
* improve interface
* Remove more stuff from bindings
* Add a simple test
* Update error type
* Update verify_kzg_proof interface
* Return array instead of vec
* link with no-pie
* impl Send and Sync for KzgSettings; change mut pointers to const
* Remove no-pie linking
* Make FIELD_ELEMENTS_PER_BLOB a compile time variable
* Add load_trusted_setup method
* Cleanup
* Add failure case to bytes_to_bls_field
* Fix conditional compilation and ensure canonical blobs in test
* Add test vectors
* Remove blobk_commitment test case
* Change function signature
* Copy and delete instead of rename in build script
* Make consts public
* Add error conditions for invalid trusted setup
* Lowercase renamings
* Make blob public
* Add benchmarks
* Run test vectors only for mainnet spec
* Add README
* clippy
* Add rust CI checks
* actually add CI checks
* Fix CI
* Fix workflow again