Mamy Ratsimbazafy 99c9730793
Self-contained bindings generation (#196)
* First draft at bindings generation

* finite field bindings PoC

* support openarray, export NimMain

* PoC extension fields and elliptic curve bindings

* Pasta

* expose more bindings, remove nimZeroMem, remove tracer when unused, codegen name_mangling`gensym issue

* workaround bad C gensym codegen with {.inline.} pragma in non-dirty template nested in generic proc instantiated by template
2022-08-06 19:05:54 +02:00
..
2022-03-02 01:18:47 +01:00

Constantine-backed protocols

This folder stores protocol implemented on top of Constantine.

Ethereum Virtual Machine

Constantine implements precompiles primitives for the Ethereum virtual machine

  • ECADD on BN254_Snarks (called alt_bn128 in Ethereum), address 0x6, spec EIP-196 and pricing EIP-1108
  • ECMUL on BN254_Snarks (called alt_bn128 in Ethereum), address 0x7, spec EIP-196 and pricing EIP-1108
  • ECPAIRING on BN254_Snarks (called alt_bn128 in Ethereum), address 0x8, spec EIP-197 and pricing EIP-1108

Their main use-case is for use zero-knowledge proofs and zkRollups and be compatible with work on Zcash