41 Commits

Author SHA1 Message Date
parazyd
9888739171 zkas/proofs: Add initial doc and proper source code for anonymous voting. 2022-01-07 21:19:34 +01:00
parazyd
f0f56e406e zkas/proofs: Add voting contract. 2022-01-07 21:00:30 +01:00
parazyd
fe6c62f38a zkas: Prepend magic AND version. 2022-01-07 15:58:30 +01:00
parazyd
9d898b507f zkas/compiler: Don't write STATEMENT_TYPE to circuit statements. 2022-01-07 14:01:30 +01:00
parazyd
c999e20cc4 zkas/compiler: Prepend magic bytes to binary and remove STACK_INDEX from contract. 2022-01-07 14:01:30 +01:00
parazyd
dac6bab2cd zkas: Document opcodes and types. 2022-01-07 14:01:30 +01:00
parazyd
8c93154dc6 book/zkas: Add introductory text. 2022-01-07 14:01:29 +01:00
parazyd
2ae2647de7 proofs/burn: Calculate Merkle root for derived coin C. 2022-01-06 19:53:14 +01:00
parazyd
42e8a34ae0 zkas/opcode: Pass leaf position as call argument to CalculateMerkleRoot. 2022-01-06 19:52:41 +01:00
parazyd
389602e253 zkas: Implement Uint32 type. 2022-01-06 19:47:40 +01:00
parazyd
431f95dbb6 zkas/compiler: Place CONSTANT_NAME as last in the declaration. 2022-01-06 19:16:04 +01:00
parazyd
5dbf0ac421 zkas/analyzer: Improve incorrect argument error messages. 2022-01-06 17:33:03 +01:00
parazyd
e71c8bebb1 zkas: Add EcMulBase opcode. 2022-01-06 17:24:52 +01:00
parazyd
ba41f1b863 zkas/compiler: Implement initial bincode generation. 2022-01-06 16:53:21 +01:00
parazyd
b05a32d0e1 zkas: Use IndexMap instead of HashMap to keep order. 2022-01-06 16:53:21 +01:00
parazyd
a78441729c zkas: Compiler skeleton. 2022-01-06 00:07:56 +01:00
parazyd
fd0021106a zkas: Semantic analysis stub. 2022-01-05 19:34:21 +01:00
parazyd
0c39188ead zkas/analyzer: Implement type checking. 2022-01-02 23:06:36 +01:00
parazyd
97648381a4 zkas: Port to clap 3. 2022-01-02 13:30:22 +01:00
parazyd
f87c5c7baa zkas/parser: Check if parenthesis pairs are correct in statements. 2022-01-02 13:01:21 +01:00
parazyd
bbecf641de zkas/analyzer: Add error functions. 2022-01-02 12:22:20 +01:00
parazyd
3b1b0de2e9 zkas/parser: Remove outdated comment. 2022-01-02 11:55:59 +01:00
parazyd
cd2124271c zkas/parser: Clean up function parsing redundancy. 2022-01-02 11:52:37 +01:00
parazyd
db2e9a8d01 zkas: Add skeleton for semantic analyzer. 2022-01-02 11:27:35 +01:00
parazyd
9db98a97cb zkas/parser: Implement missing parser errors. 2022-01-02 11:27:05 +01:00
parazyd
7546e641c5 zkas: Move some types to ast module. 2022-01-02 10:23:25 +01:00
parazyd
b865aeb150 zkas: Implement initial full circuit parsing.
Next is simplification and static checks, and finally, stack checks.
2021-12-30 14:45:22 +01:00
parazyd
b996e0266c zkas: WIP circuit parsing. 2021-12-30 00:53:00 +01:00
parazyd
7edbf0ee04 zkas: Move binary to main.rs. 2021-12-30 00:01:45 +01:00
parazyd
2cdb452987 zkas/parser: Fix logic bug in check_section_structure(). 2021-12-29 01:11:43 +01:00
parazyd
1247051866 zkas/parser: Small naming cleanups. 2021-12-29 01:04:50 +01:00
parazyd
6b148dcceb zkas: Add circuit parser skeleton and improve some error handling. 2021-12-29 00:46:02 +01:00
parazyd
b483c8caf0 zkas: Rework lexer and parser into classes and simplify errors. 2021-12-28 22:58:21 +01:00
parazyd
4e8361bf96 zkas: Update Cargo.toml and Cargo.lock 2021-12-28 22:57:57 +01:00
parazyd
bda7ad6c06 zkas/AST: Proper parsing of constant/contract.
The design we are moving towards is a composition of functions that
consume ASTs and produce modified ASTs.
2021-12-24 13:21:13 +01:00
parazyd
faa88faec9 zkas: Parse constants and contract. 2021-12-24 11:07:29 +01:00
parazyd
0ac6dd8c39 book: Move proofs from Sapling example to zkas/proofs and #include them. 2021-12-24 09:48:02 +01:00
parazyd
c3188b7576 zkas: Outline parser behaviour and add opcodes+types. 2021-12-21 00:18:10 +01:00
parazyd
3511b8ff51 zkas: Add zkas code from zkas repo. 2021-12-19 16:59:32 +01:00
parazyd
ba18a15764 zkas: Remove old code. 2021-12-19 15:13:00 +01:00
parazyd
4999914663 zkas: Add zk circuit compiler. 2021-10-29 23:32:06 +02:00