hade
ad3c9f24b7
chore: minimal pallas dependencies
2024-05-30 15:09:05 +07:00
rvcas
338fc0eba6
chore: Release
2024-05-23 16:45:10 -04:00
rvcas
ff50d4d2cf
chore: Release
2024-05-23 16:23:59 -04:00
rvcas
c3ad52b50f
feat: add compiler version to aiken.toml
2024-05-22 15:35:57 -04:00
Christopher Valerio
949f16f34a
rebase from main
2024-04-28 17:04:40 -06:00
dependabot[bot]
2abf626e25
chore(deps): bump h2 from 0.3.24 to 0.3.26
...
Bumps [h2](https://github.com/hyperium/h2 ) from 0.3.24 to 0.3.26.
- [Release notes](https://github.com/hyperium/h2/releases )
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md )
- [Commits](https://github.com/hyperium/h2/compare/v0.3.24...v0.3.26 )
---
updated-dependencies:
- dependency-name: h2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 12:26:51 -04:00
rvcas
075668b52e
chore: Release
2024-03-25 22:09:37 -04:00
KtorZ
4e8042fd06
chore: Release
2024-03-22 16:10:17 +01:00
rvcas
2b5ed95df5
feat: serialize as cbor
2024-03-08 19:19:07 -05:00
rvcas
fe6710935d
feat: impl serde on errythang
2024-03-08 19:19:07 -05:00
KtorZ
a9d596f4cb
Memoize simplification steps during property-based shrinking.
...
I've been benchmarking that through the shrink of 'large' lists, and the cache brings about 1.5x speed increase. For small and simple cases, the cache as no visible effects (positive or negative).
2024-03-08 18:58:51 +01:00
KtorZ
bff822ea7f
Rework unit test report to leverage new reification
...
And also provide slightly better errors when traces, or trace-if-false operators are present.
2024-03-07 01:20:40 +01:00
microproofs
b146db8c95
update package dependency
2024-03-05 10:23:29 -05:00
dependabot[bot]
52795692d6
Bump mio from 0.8.10 to 0.8.11
...
Bumps [mio](https://github.com/tokio-rs/mio ) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases )
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11 )
---
updated-dependencies:
- dependency-name: mio
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-05 10:18:01 -05:00
KtorZ
362acd43a3
Rework and optimize PRNG
...
Using ByteArrays as vectors on-chain is a lot more efficient than relying on actul Data's list of values. From the Rust end, it doesn't change much as we were already manipulating vectors anyway.
2024-03-04 14:27:16 +01:00
KtorZ
7a2537432a
Accept an optional --seed parameter for check, otherwise default to random.
...
Also, show the seed on failure.
2024-03-03 20:36:01 +01:00
KtorZ
14f1025f0b
Display counterexamples as Aiken values instead of raw UPLC.
2024-03-03 19:33:24 +01:00
KtorZ
3762473a60
Add preliminary plumbing to run property test through the CLI.
...
This is very very rough at the moment. But it does a couple of thing:
1. The 'ArgVia' now contains an Expr/TypedExpr which should unify to a Fuzzer. This is to avoid having to introduce custom logic to handle fuzzer referencing. So this now accepts function call, field access etc.. so long as they unify to the right thing.
2. I've done quite a lot of cleanup in aiken-project mostly around the tests and the naming surrounding them. What we used to call 'Script' is now called 'Test' and is an enum between UnitTest (ex-Script) and PropertyTest. I've moved some boilerplate and relevant function under those module Impl.
3. I've completed the end-to-end pipeline of:
- Compiling the property test
- Compiling the fuzzer
- Generating an initial seed
- Running property tests sequentially, threading the seed through each step.
An interesting finding is that, I had to wrap the prop test in a similar wrapper that we use for validator, to ensure we convert primitive types wrapped in Data back to UPLC terms. This is necessary because the fuzzer return a ProtoPair (and soon an Array) which holds 'Data'.
At the moment, we do nothing with the size, though the size should ideally grow after each iteration (up to a certain cap).
In addition, there are a couple of todo/fixme that I left in the code as reminders of what's left to do beyond the obvious (error and success reporting, testing, etc..)
2024-03-03 19:33:24 +01:00
rvcas
d698f76e3c
fix(codegen): builtin calls for g1 and g2 where flipped
...
closes #840
2024-02-29 12:13:51 -05:00
microproofs
982eff449e
chore: Release
2024-01-31 13:48:20 -05:00
rvcas
3a7a0c1971
chore: remove unused deps
2024-01-30 12:28:18 -05:00
microproofs
8584adc1b7
chore: Release
2024-01-25 15:10:11 -05:00
rvcas
defd36ad8c
chore: Release
2024-01-25 11:07:32 -05:00
rvcas
1ab6d050af
chore: bump pallas
2024-01-25 11:07:18 -05:00
rvcas
589bb9a4b3
chore: change how we depend on pallas
2024-01-24 21:26:48 -05:00
KtorZ
0e2b8ae251
Bump pallas dependencies to include flat bigint patch
...
Fixes #796 .
2024-01-18 18:26:21 +01:00
rvcas
2647e4aae6
chore: Release
2023-12-04 22:14:03 -05:00
rvcas
0a1e0d7bee
feat: remove flat-rs crate and use it through pallas_codec
2023-12-04 22:01:51 -05:00
rvcas
b17b7f287c
chore: update to pallas v0.20.0
2023-12-04 21:44:19 -05:00
KtorZ
a23bc32fa2
Fill-in CHANGELOG.
2023-11-25 15:14:10 +01:00
rvcas
b6f6064aaf
test: add all plutus conformance tests
2023-11-15 15:55:56 -05:00
rvcas
3675762c3e
feat(bls): aiken level g1 and g2 literals
2023-11-15 15:55:56 -05:00
microproofs
0d2ac952d0
feat: implemented the Bls381-12 builtins and types
...
also implemented Keccak256 and Blake2b_224
TODO: cost model, flat serialization, pretty
Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
microproofs
2f694b01cb
chore: use insta snapshot for blueprint validator tests
2023-11-06 15:37:04 -05:00
microproofs
49bd4ba33d
chore: Release
2023-10-25 19:00:03 -04:00
KtorZ
d56d5180cf
Move compile-time build info to aiken-project
...
So that we can use it as part of the blueprints.
2023-10-06 14:08:47 +02:00
microproofs
fb6cbbec8b
chore: Release
2023-09-29 22:08:09 -04:00
microproofs
82ceb5b696
chore: Release
2023-09-29 19:39:28 -04:00
microproofs
a4aa51ed2d
WIP: first part of mutual recursion is done.
...
This involves creating the function definition and detecting cycles.
The remaining part is to "fix" the call sites
of the mutually recursive functions
2023-09-25 21:16:19 -04:00
KtorZ
ee4001d2c8
chore: Release
2023-09-20 18:03:46 +02:00
rvcas
d808197507
chore: clippy fix
2023-09-13 18:17:59 -04:00
rvcas
b075d85b40
chore: Release
2023-08-24 15:05:12 -06:00
rvcas
b3494a7f63
chore: fix versions
2023-08-24 15:04:52 -06:00
KtorZ
2f0211a7b1
Bump all version manually because cargo workspaces didn't work.
2023-08-22 13:27:10 +02:00
KtorZ
780a61e3e8
Release 1.0.16-alpha
...
aiken@1.0.16-alpha
Generated by cargo-workspaces
2023-08-22 13:18:48 +02:00
microproofs
89c55a23fa
chore: Release
2023-08-19 20:17:00 -04:00
KtorZ
c6f764d2db
Refresh Cargo.lock & fill-in CHANGELOG.
2023-08-19 13:39:39 -04:00
rvcas
690e41261e
chore: Release
2023-08-16 23:30:21 -04:00
Cainã Costa
2cecb099d7
feat: add a generator for shell completions
2023-07-25 14:00:29 -04:00
rvcas
97acd6d7bd
chore: Release
2023-07-15 21:37:10 -04:00
rvcas
621017bd93
chore: Release
2023-07-14 10:55:13 -04:00
Cainã Costa
58c854fd3f
feat: add insta as dependency
...
We are going to start to add "golden"/snapshot tests, so we are using
[insta](https://insta.rs ) to do so.
2023-07-04 17:19:28 -04:00
KtorZ
49098d5a45
Bump miette to 5.9.0
...
No particular reason, but it's good to be up-to-date with our dependencies.
2023-07-04 16:51:59 -04:00
rvcas
90ff211205
chore: Release
2023-06-23 19:41:14 -04:00
dependabot[bot]
6f7dafb82c
chore(deps): bump openssl from 0.10.49 to 0.10.55
...
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.49 to 0.10.55.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.49...openssl-v0.10.55 )
---
updated-dependencies:
- dependency-name: openssl
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 19:40:33 -04:00
rvcas
85d82e5aec
chore: Release
2023-06-13 21:24:41 -04:00
microproofs
379c2fe2bf
chore: Release
2023-06-13 20:32:22 -04:00
microproofs
c5af6e0be3
chore: Release
2023-06-08 19:34:51 -04:00
KtorZ
79a2174f0a
Extend parser to support int as hexadecimal and numeric underscore.
...
We only allow numeric underscore for decimal numbers as I am not sure how we can define it for non-decimal numbers?
2023-06-08 15:33:50 +02:00
rvcas
cb9a140601
chore: Release
2023-06-02 00:34:07 -04:00
rvcas
d68d4656df
feat(aiken-new): output a github action
...
- bonus: include git short sha in version
closes #515
2023-05-18 01:33:03 -04:00
microproofs
8e60234562
chore: Release
2023-05-17 18:04:45 -04:00
rvcas
f2d8c8938c
chore: Release
2023-05-14 21:25:29 -04:00
rvcas
e1a75391a1
chore: Release
2023-05-09 23:16:59 -04:00
microproofs
b1728b57b8
chore: Release
2023-04-28 17:11:56 -04:00
microproofs
672a900243
chore: converted acceptance tests 5-7
2023-04-19 20:03:41 -04:00
microproofs
e4276d7f5a
move uplc tests to new location
2023-04-19 16:08:55 -04:00
microproofs
7dd13f8d73
feat: add end to end tests to replace acceptance tests with strict uplc comparison.
...
Add acceptance tests 1,2, 6 as end to end tests
2023-04-19 16:08:55 -04:00
rvcas
3182dac908
chore: Release
2023-04-17 10:53:30 -04:00
dependabot[bot]
1d60a02822
chore(deps): bump h2 from 0.3.16 to 0.3.17
...
Bumps [h2](https://github.com/hyperium/h2 ) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases )
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/h2/compare/v0.3.16...v0.3.17 )
---
updated-dependencies:
- dependency-name: h2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 00:02:44 -04:00
rvcas
3d0fa1a5f6
chore: Release
2023-04-16 16:49:08 -04:00
rvcas
63ddef7efb
chore: Release
2023-04-13 13:37:12 -04:00
rvcas
12e8ebdf4f
chore: revert version bumps
2023-04-13 13:03:43 -04:00
KtorZ
067e39286d
Bump versions to 1.0.0-alpha, update CHANGELOG.
2023-04-13 17:35:21 +02:00
KtorZ
c18deecdc8
Show slightly better schema mismatch errors
...
Display terms as CBOR diagnostic when they are Plutus data.
2023-04-08 08:57:38 +02:00
KtorZ
565c0bea74
Write JSON deserializers for Reference, Constructors, Items and Data.
...
This is needed in order to deserialize a JSON blueprint and use it to perform validation.
Still TODO:
- [ ] Write JSON deserializer for 'Schema'
Which should now be relatively straightforward.
2023-04-08 08:53:49 +02:00
dependabot[bot]
9a73535610
chore(deps): bump openssl from 0.10.45 to 0.10.49
...
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.45 to 0.10.49.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.49 )
---
updated-dependencies:
- dependency-name: openssl
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 17:21:51 -04:00
rvcas
298e8068ee
chore: remove program_builder
2023-03-30 21:15:27 -04:00
KtorZ
1d3315005c
Support some single-character escape sequences in UPLC
...
Fixes #472 .
This also partially addresses #195 . However, as pointed out in one of
the comment, there's no 'official rule' when it comes to what should
be considered valid escape sequences. Haskell relies mostly on the
AttoParsec library and Rust also has its own set of rules.
This is in particular true for unicode escape sequences, but there is
a common middleground for some usual single character escapes such as
\n or \\. So we now at least support these.
For more complicated escape sequence, please refer to #195 for now and
keep the discussion going there.
2023-03-30 11:50:59 +02:00
KtorZ
dc500b8e13
Add missing import to owo_colors
2023-03-30 09:21:59 +02:00
rvcas
4f1d14f2a0
feat: introduce miette into uplc
2023-03-08 10:19:35 +01:00
KtorZ
cb11b21c9f
Update dependencies
...
In particular, tempfile >= 3.4.0 to remove the vulnerability on remove_dir_all
2023-03-08 10:17:22 +01:00
rvcas
1902a2d56c
chore: update all deps
2023-03-06 13:13:59 -05:00
rvcas
1f8535e76e
chore: update some deps
2023-03-06 11:09:44 -05:00
KtorZ
a46a9fca41
Only use colors & text decorations on ANSI-capable terminals.
...
Fixes #404 .
2023-02-26 13:19:03 +01:00
rvcas
0066cc61cc
Release 0.0.29
...
aiken@0.0.29
aiken-lang@0.0.29
aiken-lsp@0.0.29
aiken-project@0.0.29
uplc@0.0.29
Generated by cargo-workspaces
2023-02-23 19:04:18 -05:00
KtorZ
fbf65de1dc
Update default cost models for Aiken
...
Closes #396
2023-02-22 17:03:48 +01:00
rvcas
815d7d80c6
feat(lsp): hover and goto definition
2023-02-20 15:30:25 -05:00
KtorZ
56258dc815
Fix todo/error parser on when clauses.
2023-02-16 00:40:49 +01:00
rvcas
c1d67e95e1
feat: fix errors and add tests for BigInt changes
2023-02-09 15:01:30 -05:00
KtorZ
e76d26eb3c
Fixup: follow compiler.
2023-02-09 16:09:49 +01:00
rvcas
ec58279424
test(machine): integer overflow
2023-02-09 09:44:06 -05:00
rvcas
67a2674d27
feat: allow verify functions to build for wasm
2023-02-07 00:25:22 -05:00
rvcas
fb69a2c8a9
fix: switch to rust bindings for bitcoin-secp256k1
2023-02-04 22:07:56 -05:00
rvcas
7bffb994fc
feat: add k256 for elliptic curve algos
2023-02-04 22:07:56 -05:00
dependabot[bot]
71b7ec6088
chore(deps): bump tokio from 1.23.1 to 1.24.2
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.23.1 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 20:06:54 -05:00
Kasey White
fdf89b7326
implement optimizations
...
-Force usage on builtins
-Inline vars used once
-Lambdas that use a var as an arg
-Lambdas that use a const as an arg
2023-02-01 23:49:33 -05:00
rvcas
618ea0c8dc
feat: switch to zip from zip-extract
2023-02-01 14:50:18 -05:00
dependabot[bot]
651f757b63
chore(deps): bump bzip2 from 0.4.3 to 0.4.4
...
Bumps [bzip2](https://github.com/alexcrichton/bzip2-rs ) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/alexcrichton/bzip2-rs/releases )
- [Commits](https://github.com/alexcrichton/bzip2-rs/commits/0.4.4 )
---
updated-dependencies:
- dependency-name: bzip2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:00:30 -05:00
dependabot[bot]
6974d31285
chore(deps): bump tokio from 1.23.0 to 1.23.1
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.23.0 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.23.0...tokio-1.23.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 12:36:49 -05:00