Commit Graph

2028 Commits

Author SHA1 Message Date
Cainã Costa
6768a26e5e chore: reduce dependencies to build aiken
We don't need the whole of openssl to build, only the headers. It will
still be installed because we need it to run.
2023-07-24 10:24:37 -04:00
Cainã Costa
ce03576a52 chore: update aiken version on nix recipe 2023-07-24 10:24:37 -04:00
Pi Lanningham
27c0f25606 Add a blueprint hash command
Similar to blueprint address and blueprint policy, this just prints the
hash of the validator; useful if you need the hash, and you don't want
to pipe the address to a bech32 decoder and juggle the hex.
2023-07-21 22:57:31 -04:00
rvcas
be7a441205 fix(uplc): pair type formatting closes #680 2023-07-19 13:49:05 -04:00
rvcas
1d1403816a chore: add stats to readme 2023-07-18 19:28:07 -04:00
rvcas
2253e29d42 chore: commit acceptance test plutus files 2023-07-17 17:34:00 -04:00
rvcas
97acd6d7bd chore: Release 2023-07-15 21:37:10 -04:00
rvcas
77a627817b chore: prepare changelog for release 2023-07-15 21:34:41 -04:00
rvcas
1b8e94fe32 feat: expect boolean sugar 2023-07-15 20:50:02 -04:00
rvcas
d009358266 chore: update changelog 2023-07-15 20:08:16 -04:00
rvcas
db3b5c74bb fix: todo and fail spans 2023-07-15 20:08:16 -04:00
rvcas
69fdee9f7e fix: trace expr 2023-07-15 20:08:16 -04:00
rvcas
2edfd33594 fix: some attempted adjustments 2023-07-15 20:08:16 -04:00
rvcas
252b760ca1 test: remove prefix on all format tests 2023-07-14 16:56:27 -04:00
rvcas
eafe3cdf75 test: fail with expr relates to #675 2023-07-14 13:09:55 -04:00
rvcas
621017bd93 chore: Release 2023-07-14 10:55:13 -04:00
rvcas
dbb6d302bd chore: update changelog 2023-07-14 10:54:55 -04:00
rvcas
e7c1b28b52 feat: add ability to reference validators in tests closes #632 2023-07-12 18:29:03 -04:00
rvcas
13ee62c05c fix: don't break failing test defs for current users 2023-07-12 09:16:37 -04:00
rvcas
0b65c20e31 chore: update changelog 2023-07-12 09:16:37 -04:00
rvcas
03e7d6e944 feat: update syntax for failing test to be more consistent 2023-07-12 09:16:37 -04:00
rvcas
0be09cd9e5 chore: use fmt to update examples 2023-07-12 09:16:37 -04:00
rvcas
1ab1ff9a1f feat: rename error to fail 2023-07-12 09:16:37 -04:00
rvcas
5318c94892 chore: update changelog 2023-07-11 18:59:11 -04:00
rvcas
a36cc7d631 fix: cpu and mem in white terminals, cyan makes things stand out nicely closes #415 2023-07-11 18:50:27 -04:00
rvcas
914b8d4e74 fix: infer validator args as Data if Unbound closes #649 2023-07-11 13:51:17 -04:00
Cainã Costa
b80c41b4b7 chore: cargo fmt 2023-07-11 13:06:25 -04:00
Cainã Costa
14652abd4f fix: port last missing test
This test has been added after the first implementation, so we move it
to the new format :)
2023-07-11 13:06:25 -04:00
Cainã Costa
7f7a86765d feat: bring back formatting imdepotency test 2023-07-11 13:06:25 -04:00
Cainã Costa
c27ef8ad93 chore: refactor formatting tests
This changes the tests from normal assertions into snapshot tests, as
well as standardizing test names.
2023-07-11 13:06:25 -04:00
rvcas
01be548752 chore: update stdlib version in new command relates to #672 2023-07-10 07:36:31 -04:00
rvcas
265af44b86 chore: update changelog 2023-07-09 23:33:40 -04:00
Cainã Costa
1df232e849 fixup! chore: remove references to cargo2nix from build 2023-07-09 23:20:29 -04:00
Cainã Costa
9212c4a293 chore: remove unnecessary comments 2023-07-09 23:20:29 -04:00
Cainã Costa
47d2cd6fb9 chore: remove references to cargo2nix from build 2023-07-09 23:20:29 -04:00
Cainã Costa
887f214514 chore: add OS X dependencies to nix build 2023-07-09 23:20:29 -04:00
Cainã Costa
4a435a69f0 chore: remove cargo2nix
This commit changes from cargo2nix to just use `buildRustPackage`, which
does not generate itermediate crate derivations for the build. This
means that we lose dependency caching (for CI as well), but on the other
hand it becomes much more cacheable for people that actually use Nix to
add the dependencies.
2023-07-09 23:20:29 -04:00
Pi Lanningham
723c347a1a Clippy
Clippy has a build failure locally, for some reason, so I have to use CICD to find these
2023-07-09 23:16:01 -04:00
Pi Lanningham
189150612c cargo fmt :| 2023-07-09 23:16:01 -04:00
Pi Lanningham
26a4c57805 Clippy cleanup 2023-07-09 23:16:01 -04:00
Pi Lanningham
c4690c6e00 Data parsing, tests 2023-07-09 23:16:01 -04:00
Pi Lanningham
6d9a95ef2d Add all but data parsing
Updates the parsing to the standard, *except* for Data, since that'll be more involved
2023-07-09 23:16:01 -04:00
Pi Lanningham
a48c45b737 Formatting 2023-07-09 23:16:01 -04:00
Pi Lanningham
ecff82659d Tweak pretty-printing
This pretty printing now (mostly) matches https://github.com/input-output-hk/plutus/issues/4751#issuecomment-1538377273; the only concern is whether the PlutusData stuff should be upstreamed to pallas, and whether pallas has a way to print BigInts easier
2023-07-09 23:16:01 -04:00
rvcas
94bf75dd1c chore: delete unreferenced snapshots 2023-07-06 21:00:13 -04:00
KtorZ
93b33df3ef Fill-in CHANGELOG. 2023-07-06 16:10:46 -04:00
KtorZ
126f2ab004 Implement new formatter for 'int'.
This is used for constants and patterns, which can carry negative
   values.
2023-07-06 16:10:46 -04:00
KtorZ
78d34f7f76 Fix parsing of negative int patterns and constants
This was trickier than expected as the expression parser, and in particular the bin-op parser will interpret negative patterns as a continuation of a binary operation and eventually choke on the next right-arrow symbol. This is due to how we actually completely erase newlines once we're done with the lexer. The newline separating when clause is actually semantically important. In principle, we could only parse an expression until the next newline.

  Ideally, we would keep that newline in the list of token but it's difficult to figure out which newline to keep between two right arrows since a clause guard can be written over multiple lines. Though, since we know that this is only truly a problem for negative integers, we can use the same trick as for tuples and define a new 'NewLineMinus' token. That token CANNOT be part of a binop expression. That means it's impossible to write a binary operation with a minus over multiple lines, or more specifically, with the '-' symbol on a newline. This sounds like a fair limitation. What we get in exchange is less ambiguity when parsing patterns following expressions in when clause cases.

  Another more cumbersome option could be to preserve the first newline encountered after a 'right-arrow' symbol and before any parenthesis or curly brace is found (which would otherwise signal the beginning of a new block). That requires to traverse, at least partially, the list of tokens twice. This feels unnecessary for now and until we do face a similar issue with a binary operator.
2023-07-06 16:10:46 -04:00
KtorZ
346df47232 Refactor chain parser
The main goal is to make the parser more reusable to be used for when-clauses, instead of the expression parser. A side goal has been to make it more readable by moving the construction of some untyped expression as method on UntypedExpr. Doing so, I got rid of the extra temporary 'ParseArg' type and re-used the generic 'CallArg' instead by simply using an Option<UntypedExpr> as value to get the same semantic as 'ParseArg' (which would distinguish between plain call args and holes). Now the chained parser is in a bit more reusable state.
2023-07-06 16:10:46 -04:00
KtorZ
549cf22cdd Rename (Un)TypedExpr.Int -> (Un)TypedExpr.UInt
We do not actually every parse negative values in there, as a negative value is a combination of a 'Negate' and 'UInt' expression.
  However, for patterns and constant, it'll be simpler to parse whole Int values as there's no ambiguity with arithmetic operations
  there. To avoid confusion of having some 'Int' constructors containing only non-negative values, and some being on the whole range,
  I've renamed the constructor to 'UInt' to make this more obvious.
2023-07-06 16:10:46 -04:00