Commit Graph

53 Commits

Author SHA1 Message Date
Collin Chin
b690a62676
impl Mapping::contains, Mapping::remove (#2436)
* impl Mapping::contains, Mapping::remove

* regen expectations

* Update compiler/passes/src/type_checking/checker.rs

Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
2023-06-29 17:04:55 -07:00
d0cd
b236918df4
[Feature] Support ChaCha::rand_* (#2433)
* Add tests for ChaCha::rand*

* Add Chacha::rand* to AST, tyc, and codegen

* Add lottery example

* Regen expectations

* Add check asserting that command is only used in finalize block

* Update example and related CI
2023-06-28 21:02:50 -07:00
Pranav Gaddamadugu
9b7a4ba456 WIP associated function syntax for group::to_*_coordinate 2023-06-23 20:22:03 -04:00
d0cd
07d26ea43f
[Feature] Casting via the as operator. (#2426)
* Revert "Revert WIP"

This reverts commit 5cce8b4a0e.

* Update tyc

* Add parse, compile, and execute tests

* Regen expectations
2023-06-23 17:09:15 -07:00
Pranav Gaddamadugu
5cce8b4a0e Revert WIP 2023-06-23 10:24:10 -04:00
Pranav Gaddamadugu
6ef4779925 Add the as symbol 2023-06-22 23:57:09 -04:00
Collin Chin
4a0ee1d9d8
[Feature] implement block.height command (#2420)
* implement initial block.height

* commit.height parsing and code generation

* patch self.caller tests

* add error for self.caller in a finalize context

* fix test
2023-06-20 16:36:11 -07:00
Collin Chin
e5ae160d1a
Implement new hash and commit functions (#2415)
* refactor hash -> hash_to_field

* refactor commit -> commit_to_field

* implement commit_to_address

* implement hash_to_address

* update hash and commit examples

* implement hash_to_scalar

* update tests

* implement bhp hash to integer variants

* implement bhp pedersen and poseidon integer variants

* Update compiler/passes/src/type_checking/checker.rs

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* Update compiler/passes/src/type_checking/checker.rs

Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* fix pedersen hash type checks

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
2023-06-15 19:55:03 -07:00
Collin Chin
d83c4be330
Implement Mapping::get_or_use (#2413)
* get_or_init -> get_or_use

* use mapping get_or_use in examples

* fix codegen for Mapping::get_or_use

* fix tests for Mapping::get_or_use

* fix warnings, update snarvm rev

* bump circle rust img v1.70

* fix codegen

* update snarkvm rev and regen tests

* Update compiler/parser/src/parser/expression.rs

Co-authored-by: d0cd <pranavsaig@gmail.com>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* Delete program.json

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* Delete program.json

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: d0cd <pranavsaig@gmail.com>
2023-06-13 12:09:33 -07:00
Collin Chin
4e71f60cb4
Implement additional features to the "group" element type (#2394)
* add new hash and commit symbols

* pedersen commitment methods return fields

* use snarkvm rev a451d91, impl commit_to_group.bhp256

* implement bhp commit to group variants

* implement bhp hash_to_group variants

* implement pedersen commit_to_group and hash_to_scalar variants

* implement poseidon hash_to_group and hash_to_scalar variants

* remove hash_many symbol

* fix tests

* regen test expectations
2023-06-07 13:09:08 -07:00
Collin Chin
42d97d3d89
implement group::GEN Leo syntax (#2401)
* implement group::GEN Leo syntax

* revert unrelated test changes

* move new errors to bottom of file to keep previous error codes consistent
2023-05-31 16:05:56 -07:00
d0cd
d0c29ce8e0
[Update] snarkvm 0.11.0 (#2377)
* Remove gates from tests

* Remove Finalize test namespace

* Remove gates from examples

* Remove gates from compiler

* Regen expectations

* Add test that gates is allowed as a standard field of a record

* Update Rust version in CI

* Add check for MAX_MAPPINGS
2023-05-10 21:32:37 -07:00
Pranav Gaddamadugu
0b99135962 Update Mapping::get_or to Mapping::get_or_init 2023-04-18 17:09:22 -07:00
Pranav Gaddamadugu
da7537344b Rename Mapping::put to Mapping::set 2023-04-18 16:37:45 -07:00
Pranav Gaddamadugu
10875c7edb Add core mapping functions to AST 2023-04-18 16:21:40 -07:00
Pranav Gaddamadugu
8adc6c76b8 Fmts and clippies 2023-03-26 23:18:03 -07:00
d0cd
0522c2a08f
Removes unused or deprecated keywords from the grammar. (#2273)
* Remove unused/deprecated symbols

* Remove tokens

* Update parser

* Update tests

* Regen expectations
2023-02-17 19:25:11 -08:00
d0cd
c71ed3429c Add inline keyword 2023-02-08 16:20:07 -08:00
ljedrz
b20308f049
chore: update the license headers (#2252)
Signed-off-by: ljedrz <ljedrz@gmail.com>
2023-02-02 14:27:06 -08:00
Alessandro Coglio
1cbea97f27 [span] Extend and improve some doc. 2023-01-13 20:07:49 -08:00
d0cd
48a1f0590b
Rename console.assert* to assert*. (#2205)
* Add assert statements to AST

* Add support in passes

* Add parser support

* Add tyc support

* Add support for assert statements in the remaining passes

* Fix examples, tests, and regen expectations

* Fmt

* Regen expectations
2022-12-06 21:56:48 -08:00
collin
f6f286ac8a pull testnet3, regen tests 2022-11-23 02:37:57 -05:00
collin
9e28591589 pull testnet3, regen tests 2022-11-23 01:56:37 -05:00
d0cd
ae329c521b Deprecate (async) finalize statements 2022-11-15 13:18:39 -08:00
d0cd
81d7c5c9a4 Update parser; remove async token 2022-11-12 10:17:41 -08:00
d0cd
b16926449c Support private mode in parser and passes 2022-11-12 09:53:20 -08:00
d0cd
af08c4f2e5 Some cleanup 2022-11-08 15:49:47 -08:00
d0cd
977dcd37fd Update comments; clippy 2022-10-13 16:03:23 -05:00
Pranav Gaddamadugu
9da6d7735f Enable parser support for program scope 2022-10-05 09:57:16 -07:00
Pranav Gaddamadugu
62b16cfa51 Tokenize transition keyword 2022-10-03 08:16:55 -07:00
Pranav Gaddamadugu
f51a36aeaf Rename in compiler 2022-09-30 11:52:06 -07:00
Pranav Gaddamadugu
0a481e543e Parse async, require it to precede finalize 2022-09-21 13:18:36 -07:00
Pranav Gaddamadugu
72c012f4c2 Add async symbol 2022-09-21 12:19:06 -07:00
Pranav Gaddamadugu
0fa8082656 Update token example 2022-09-06 12:14:36 -07:00
Pranav Gaddamadugu
044e41d80e Add new statements to passes 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
5521e7f30b Add finalize block to AST 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
09e9aeb537 Add support for mappings in the parsers 2022-09-06 12:13:32 -07:00
Pranav Gaddamadugu
1d55322276 Update parser and typechecker 2022-08-17 14:42:42 -07:00
collin
d397c750d2 merge testnet3 2022-08-05 13:59:08 -07:00
Pranav Gaddamadugu
fa8d03cbd6 Validate annotations; refactor FunctionInput in passes 2022-08-04 17:59:03 -07:00
Mazdak Farrokhzad
a77d3b4092 forbid unsafe_code in all crates 2022-08-05 00:36:41 +02:00
Mazdak Farrokhzad
e5819d790b cargo clippy 2022-08-05 00:28:54 +02:00
Mazdak Farrokhzad
6dbc21484f delete all unsafe instead of commenting out 2022-08-05 00:26:35 +02:00
Mazdak Farrokhzad
6cc70015d8 remove all uses of unsafe 2022-08-05 00:21:11 +02:00
collin
13350da303 merge testnet3 2022-08-03 17:20:40 -07:00
collin
e5da76abaf impl nonce 2022-08-03 13:35:58 -07:00
Pranav Gaddamadugu
7ff84af785 Add Rem, RemWrapped, and Mod to parser 2022-08-03 12:54:57 -07:00
Alessandro Coglio
9d36988946 [span] Add doc comment to explain span addition. 2022-07-30 21:54:29 -07:00
collin
6724d2abe9 remove unused code 1 2022-07-25 14:17:36 -07:00
collin
5316d900f4 merge testnet3, regen tests 2022-07-18 12:32:15 -07:00