Commit Graph

1480 Commits

Author SHA1 Message Date
KtorZ 83a86e6dc0
Fix logical operator precedence in parser.
Whoopsie... || and && were treated with the same precedence, causing very surprising behavior down the line.

  I noticed this because of the auto-formatter adding parenthesis where it really shouldn't. The problem came actually from the parser and how it constructed the AST.
2023-02-09 13:57:12 +01:00
KtorZ 62fe321ddf
Add 'Ordering' data-type to the Prelude.
Useful to have around to build comparison functions.
2023-02-09 11:07:30 +01:00
Matthias Benkort b803332f99
Update crates/aiken-lang/src/tipo/error.rs 2023-02-09 09:25:33 +01:00
Matthias Benkort efbc3abb95
Delete tests.ak 2023-02-09 09:23:46 +01:00
rvcas 460da20e4a
feat: warn when using expect in a completely safe way 2023-02-09 02:10:22 -05:00
rvcas e9caa710c4
chore: rename assert_parser to expect_parser 2023-02-09 01:05:11 -05:00
rvcas 9348caab2f
feat(expect): update formatter
* Token::Expect should format to expect
* since we still capture assert this means
  we can help users update to the new syntax
2023-02-09 00:57:38 -05:00
rvcas 6f591c633d
chore: fmt most of the acceptance tests 2023-02-09 00:57:14 -05:00
rvcas 3f540c7c99
chore: rename assignment kind 2023-02-09 00:47:38 -05:00
rvcas dbd162e985
feat: handle expect in parser
* map both assert/expect to Token::Expect
* use the new token in the parser
* new unit test to expect
2023-02-09 00:43:29 -05:00
rvcas 5a4a8df727
feat(token): add Token::Expect 2023-02-09 00:25:54 -05:00
rvcas fd14da0720 chore: fix blueprint tests 2023-02-09 00:09:23 -05:00
Kasey White 7b29a75cc0 test name number fix 2023-02-09 00:09:23 -05:00
Kasey White f60b7d84c1 clippy fix 2023-02-09 00:09:23 -05:00
Kasey White 076871492b fix: unwrap used in a reachable place. Replaced with alternative option 2023-02-09 00:09:23 -05:00
Kasey White 9ae28aaa88 all nebula tests pass. Had one more fix on listaccessor to finish 2023-02-09 00:09:23 -05:00
Kasey White 986a6009f7 fix: Various fixes for FieldsExpose, ListAccessor, TupleAccessor 2023-02-09 00:09:23 -05:00
KtorZ cf7a20b986 Add new acceptance test scenario: 052
Pattern-match on unary constructors.
2023-02-09 00:09:23 -05:00
KtorZ c50bf94020 Add new acceptance test scenario: 053
```
  × foo failed
  help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
        │ Failed to deserialise PlutusData using UnConstrData: │
        │                                                      │
        │ Con(                                                 │
        │     Data(                                            │
        │         BigInt(                                      │
        │             Int(                                     │
        │                 Int(                                 │
        │                     Int {                            │
        │                         neg: false,                  │
        │                         val: 0,                      │
        │                     },                               │
        │                 ),                                   │
        │             ),                                       │
        │         ),                                           │
        │     ),                                               │
        │ )                                                    │
        ┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙

        should be equal to

        ┍━ right ━━━━━━━━━┑
        │ (con integer 3) │
        ┕━━━━━━━━━━━━━━━━━┙
  ```
2023-02-09 00:09:23 -05:00
KtorZ 95a62f7172
Fix oversights in blueprint / schema generation. 2023-02-08 19:04:50 +01:00
Matthias Benkort f9892434bf
Merge pull request #350 from spacebudz/constr_tests
Added tag/constructor conversion tests
2023-02-08 16:54:51 +01:00
alessandrokonrad 221f1afbfe
Changed imports 2023-02-08 16:28:59 +01:00
alessandrokonrad 74b3507777
Added tag/constructor conversion tests 2023-02-08 16:26:58 +01:00
Ales 242eaa8b67
Merge pull request #347 from spacebudz/constr
Fix constructor tag range
2023-02-08 14:52:50 +01:00
alessandrokonrad ce648b7483 Fixed schnorr and limiting it to 32 bytes messages for now 2023-02-08 08:04:24 -05:00
alessandrokonrad 3012a0b41d
Fix constructor tag range 2023-02-08 13:14:26 +01:00
Ales 477c938cbb
Merge pull request #344 from spacebudz/prehash
Changed to prehash function
2023-02-07 23:11:10 +01:00
alessandrokonrad 7c9443d87f
Changed to prehash function 2023-02-07 22:53:30 +01:00
Matthias Benkort 145484f5ab
Merge pull request #341 from aiken-lang/patch/cargo.nix
Update Cargo.nix
2023-02-07 14:33:18 +01:00
KtorZ cb5d0030a5 [create-pull-request] automated change 2023-02-07 13:31:33 +00:00
KtorZ 244c122560
Reinstate workflow SSH key access for Nix workflow. 2023-02-07 14:23:58 +01:00
Matthias Benkort 7984f6908c
Merge pull request #244 from aiken-lang/flake
Flakes
2023-02-07 13:16:30 +01:00
Micah Kendall 590f40139f
Add support for Nix flakes.
This relies on Cargo2Nix, and because we don't want to be maintaining
  that file by hand, we introduce a new continuous workflow to
  automatically update the generated Cargo.nix and submit a PR whenever
  something is merged into master.

  This should make the process of supporting Nix bearable. We'll
  re-assess in a while.

  Co-authored-by: KtorZ <matthias.benkort@gmail.com>
2023-02-07 13:16:17 +01:00
KtorZ 6e554129e9
Fix blueprint validator tests. 2023-02-07 12:28:34 +01:00
Matthias Benkort 8feaefe073
Merge pull request #335 from aiken-lang/blueprint-parameters
Blueprint parameters
2023-02-07 11:43:01 +01:00
KtorZ 4aa92a6d5e
Use positional argument for blueprint 'apply' command 2023-02-07 11:42:42 +01:00
rvcas 08e8347317 chore: rename feature flag to native-secp256k1 2023-02-07 00:25:22 -05:00
rvcas 67a2674d27 feat: allow verify functions to build for wasm 2023-02-07 00:25:22 -05:00
Kasey White 5d0c5d2a5b remove a redundant type replacement in build_ir 2023-02-05 23:56:44 -05:00
rvcas 3ff927d30a feat: reset the generator when generate finishes 2023-02-05 20:35:39 -05:00
rvcas 501d667532 chore: fix tests 2023-02-05 20:35:39 -05:00
Kasey White f1b24a5f6d fix: the following issues
fix conversion from inner opaque type for when and assignment
This fixes Clause being used in cases where ListClause or TupleClause should be used
Reset defined and zero arg functions between each code gen
Fixes for optimizations when encountering shadowed variables
2023-02-05 20:35:39 -05:00
Kasey White c32a9d7b6f commit working changes so far 2023-02-05 20:35:39 -05:00
rvcas 31cd19f198 feat: use secp256k1 to implement verify for ecdsa and schnorr 2023-02-04 22:07:56 -05:00
rvcas cde3e31723 feat: fill in todo for verify ecdsa and schnorr costing 2023-02-04 22:07:56 -05:00
rvcas 09d8d683b6 fix: switch to error from secp256k1 2023-02-04 22:07:56 -05:00
rvcas fb69a2c8a9 fix: switch to rust bindings for bitcoin-secp256k1 2023-02-04 22:07:56 -05:00
rvcas 025bf73254 test: verify schnorr and ecdsa 2023-02-04 22:07:56 -05:00
rvcas c2ff9389c5 feat(runtime): implement verifyEcdsaSecp256k1Signature 2023-02-04 22:07:56 -05:00
rvcas d224fe5356 feat(runtime): set force count and arg typechecking for the elliptic curve builtins 2023-02-04 22:07:56 -05:00