microproofs
5362714a63
chore: update tests
2023-06-22 18:20:31 -04:00
microproofs
626033ff9b
fix: attempt to convert from opaque before doing monomorphization
2023-06-22 18:20:31 -04:00
microproofs
24f5c4de6b
fix: the final clause of a when expecting another clause afterwards in nested list cases.
...
fix: all elements were being destructured in tuple clauses even if not used
2023-06-19 21:43:38 -04:00
rvcas
37b2f0c239
fix: gift card example stdlib update
...
closes #596
2023-06-13 00:38:29 -04:00
Justin Syme
e0e6ee1fa9
Update multi.ak
...
Updated using `from_minted_value`
2023-06-07 17:37:30 -04:00
Justin Syme
fc9a60494e
Update oneshot.ak
...
Updated with
`|> from_minted_value`
2023-06-07 17:37:30 -04:00
rvcas
feb2698e5e
chore: commit multi-validator plutus.json
2023-06-07 15:42:42 -04:00
Kasey White
73c9ac3409
feat: create multi validator for gift card.
...
This version of gift card allows for minting many gift cards in a tx under the same policy by policy creator. Also allows batch redeem.
2023-06-07 15:42:42 -04:00
microproofs
5faa925aea
fix: error when using nested boolean checks in when conditions
2023-06-06 03:04:12 -04:00
microproofs
bfd2a50a6b
fix: zero arg functions were grabbing extra dependencies they didn't need to
...
fix: Had the wrong conversion for constant maps to plutus data. Fixed to check for right conversion
2023-06-04 15:23:36 -04:00
rvcas
335cc0c8bc
feat(cli): rework uplc subcommands
...
closes #553
* rename flat to encode
* rename unflat to decode
* alias both to their old names
* both only print to stdout
use can pipe to file
* split cbor and hex flags
* hex flag works for either cbor or flat
* encode takes --to flag
[name, named-debruijn, debruijn]
* decode takes --from flag
[name, named-debruijn, debruijn]
2023-06-01 23:50:59 -04:00
microproofs
4838ebd39e
feat: record modules are no longer unimplemented for no fields
...
refactor: remove some clones and use a ref instead
test: add acceptance test 81
2023-05-14 18:30:51 -04:00
microproofs
b36cf1c029
chore: refactor default functions in uplc_code_gen.
...
feat: Add an identity optimization to remove functions that return the argument only.
2023-05-08 16:15:09 -04:00
microproofs
0d0c96deda
commit validator changes and tests
2023-04-28 17:05:46 -04:00
microproofs
c3184c544c
fix: wrap data reduce had the wrong argument called in recursively, thus skipping over cases that should have been reduced
...
chore: Add unit tests on for uplc optimizations
2023-04-26 17:22:16 -04:00
microproofs
b050018a37
test fix: blueprint change
2023-04-25 02:06:56 -04:00
rvcas
3891016bc3
chore(gift_card): better input id
2023-04-21 12:07:18 -04:00
rvcas
6ab42735b0
fix: switch back to blockfrost kupmios + demeter setup showing strange behavior
2023-04-21 11:59:31 -04:00
microproofs
672a900243
chore: converted acceptance tests 5-7
2023-04-19 20:03:41 -04:00
microproofs
23a7e7e680
chore: convert acceptance test 5
...
Also constructors with no fields are now converted to a constant data term.
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
microproofs
fc1b8738df
fix: fixed how the ir was generating for expect Void, expect Bool, let Void
...
add some acceptance tests for the various scenarios
2023-04-12 22:37:33 -04:00
KtorZ
0846fe2d5f
Add new failing test case for 048 (clause guards)
...
It seems like we don't properly handle clause guards for wildcard
patterns. Seems like a codegen issue here as the code type-check
properly.
2023-04-12 08:24:18 +02:00
Kasey White
ff290bc582
add expect false test
2023-04-09 17:43:56 -04:00
Kasey White
02d57cc076
tests pass now after adding in final wrapper as air elements
2023-04-09 17:43:56 -04:00
Kasey White
9e95e24624
now tests are passing
2023-04-09 17:43:56 -04:00
Kasey White
897011e9bc
misc changes
2023-04-09 17:43:56 -04:00
Kasey White
f4ba6b8985
fix: unused validator args had an incorrect if check
2023-04-09 17:43:56 -04:00
Kasey White
3f45b524b8
feat: unused validator args are not expect checked
2023-04-09 17:43:56 -04:00
Kasey White
8c8312a412
fix: expect true was always expecting false
2023-04-09 17:43:56 -04:00
KtorZ
23b72e18f3
Add new acceptance test scenario: expect unary constructors.
...
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/gen_uplc.rs:1852:33
╰─▶ called `Option::unwrap()` on a `None` value
```
2023-04-09 17:43:56 -04:00
rvcas
1444c9328d
fix some typos
2023-04-07 16:51:18 -04:00
rvcas
d0d482b3cb
chore(gift_card): run fmt
2023-04-07 16:35:58 -04:00
rvcas
4e380012fb
chore(gift_card): use kupmios backed by demeter for lucid
2023-04-06 21:35:08 -04:00
KtorZ
814157dd7b
Fix formatter inconsistency with record spread patterns.
2023-03-30 13:02:20 +02:00
KtorZ
17431daaa4
Correctly nest multiline pipeline expressions.
2023-03-30 12:48:15 +02:00
rvcas
703429af98
chore: commit plutus.json
2023-03-27 20:00:32 -04:00
Kasey White
b2dcb112c9
fix last 2 acceptance tests
2023-03-27 20:00:32 -04:00
Kasey White
32d34d5fd3
create struct Air Env
...
refactor out some to_strings
2023-03-27 20:00:32 -04:00
rvcas
0060d29265
chore: update gift card example to use new validator syntax
2023-03-27 13:39:34 -04:00
Kasey White
bb820ebdd8
fix: trace and scope issues
...
fix scope issues involving fieldsexpose and other destructureing pattern
fix trace to extract string from term.
2023-03-21 12:38:13 -04:00
Kasey White
6e5b24a937
refactor the rest of the term builders to use more concise code
2023-03-21 00:50:13 -04:00
Kasey White
50db958d06
update codegen to use more streamlined uplc building methods
2023-03-21 00:50:13 -04:00
KtorZ
6422027c6c
Fix README template for newly generated projects, and hello, world
2023-03-18 22:23:55 +01:00
KtorZ
a4c7337df2
Add new acceptance scenario 079 (double validators)
2023-03-17 18:40:49 -04:00
rvcas
c3870e340e
feat(codegen): support multi-validators
...
* rename force_wrap to force
* add a bunch of builder methods to Term<Name>
* refactor one tiny location to show off builder methods
* split generate into `generate` and `generate_test`
* create wrap_as_multi_validator function
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-17 18:40:44 -04:00
KtorZ
660d2199d4
Make blueprint generation deterministic
...
Sort validators before iterating on them.
2023-03-17 14:57:39 +01:00
KtorZ
c113582404
Support multi-clause patterns as syntactic sugar
...
And disable multi-patterns clauses. I was originally just controlling
whether we did disable that from the parser but then I figured we
could actually support multi-patterns clauses quite easily by simply
desugaring a multi-pattern into multiple clauses.
This is only a syntactic sugar, which means that the cost of writing
that on-chain is as expensive as writing the fully expanded form; yet
it seems like a useful shorthand; especially for short clause
expressions.
This commit however disables multi-pattern when clauses, which we do
not support in the code-generation. Instead, one pattern on tuples for
that.
2023-03-16 19:45:41 -04:00
KtorZ
13890874c0
Fix 'run' script, also do 'check' on modules that have validators.
2023-03-16 23:04:24 +01:00
Lucas
fab6d56bf2
Merge branch 'main' into newline-assignment
2023-03-16 15:30:55 -04:00
KtorZ
45575cae96
Fix 'run' script and re-generate blueprint for scenario 077.
2023-03-16 15:29:44 -04:00
KtorZ
20f5baffa7
Enforce newline after assignment / clause.
...
This leads to more consistent formatting across entire Aiken programs.
Before that commit, only long expressions would be formatted on a
newline, causing non-consistent formatting and additional reading
barrier when looking at source code.
Programs also now take more vertical space, which is better for more
friendly diffing in version control systems (especially git).
2023-03-16 19:46:46 +01:00
rvcas
bf9297efcf
chore(gift_card): cardano scan url should be preprod as well
2023-03-16 09:45:11 -04:00
rvcas
f7308f22fd
fix: gift_card deno.lock
2023-03-15 16:41:25 -04:00
waalge
d13db5f34e
Fix deno.lock
...
Switch to preprod, and test against eternl (passed)
2023-03-15 12:24:35 -04:00
rvcas
7e467ada2b
chore(gift_card): more readme info
2023-03-14 19:13:21 -04:00
rvcas
56aa53eb73
chore: update lucid
2023-03-14 19:13:21 -04:00
rvcas
81359246f9
chore: update against latest main, rerun build, change unlock interface
2023-03-14 19:13:21 -04:00
rvcas
0147af8330
chore: rename example parents folder to gift card
2023-03-14 19:13:21 -04:00
rvcas
a522cd1e7d
chore: better names for the validators and some functions
2023-03-14 19:13:21 -04:00
rvcas
5e062c130d
feat: finish up end to end example
...
* create a gift card (nft)
* lock ADA while minting gift card
* unlock ADA while burning gift card
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
rvcas
79fd6b4828
feat(one_shot): actually getting properly applied contracts
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
rvcas
a82cedbd92
feat(one_shot): apply params to script
2023-03-14 19:13:21 -04:00
rvcas
e35ccc9e0c
feat(one_shot): document vendored lucid
2023-03-14 19:13:21 -04:00
rvcas
14cdac7bfa
feat(one_shot): some deno and lucid stuff
2023-03-14 19:13:21 -04:00
rvcas
ab1ee17ad4
feat(one_shot): some deno boilerplate
2023-03-14 19:13:21 -04:00
rvcas
7ea8aeda01
feat: one_shot example
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
KtorZ
ae981403c6
Re-introduce field title & description in referenced schemas.
2023-03-12 12:44:49 -04:00
KtorZ
45a463786f
Update blueprints from acceptance tests and hello, world.
2023-03-12 12:44:49 -04:00
Kasey White
31c280552d
add another validator
2023-03-12 00:25:26 -05:00
Kasey White
4a7bbc23df
fix: change in scope was applied in wrong place in pattern_ir for constr expect
2023-03-12 00:25:26 -05:00
Kasey White
f377d60085
ChooseData is now lazy with its branch arguments.
...
This enables calling the un_data builtins directly from choose_data args
2023-03-09 00:31:57 -05:00
KtorZ
dbef4474fa
Add new acceptance scenario: 065
...
-> The provided Plutus code called 'error'.
This scenario _could_ work if `choose_data` was lazy in its arguments.
Which is a reasonable thing to expect from `choose_data`. Since we
don't have any way to introduce on-demand lazyness in the language
(and we are not looking for ways), we need to make a special case for
`choose_data` which is a perfect (and singular) use case for it.
2023-03-09 00:31:57 -05:00
Kasey White
c85240cbed
Fix exception when doing expect boolean = ..
...
Add new Air Assert Bool
Add acceptance test 76
2023-03-08 22:31:30 -05:00
Matthias Benkort
d8934b3d8d
Merge pull request #421 from aiken-lang/monomorph-panic-fix
...
Functions with only a generic return weren't being properly monomorph…
2023-03-08 11:39:50 +01:00
Kasey White
89373c32e6
Functions with only a generic return weren't being properly monomorphized. Fixed that.
2023-03-08 10:31:05 +01:00
rvcas
f8545854fc
feat: json output for uplc eval
2023-03-08 10:19:36 +01:00
KtorZ
7257c2d89e
Small tweaks on the hello_world examples.
2023-03-08 09:47:08 +01:00
KtorZ
4ea50ca9ab
Remove editor configuration file.
...
Editor configurations and other system-specific files aren't meant to
be committed to public repository. This belongs to a dev environment
and should be handled by developers themselves though local git
configurations.
2023-03-08 09:42:03 +01:00
Jack Fraser
6ec37778d7
change var to utxo from lockOutRef
2023-03-07 19:15:03 -05:00
Jack Fraser
2cfa0aeda9
add missing types, update log descriptions, deno fmt
2023-03-07 19:15:03 -05:00
Jack Fraser
80afb5fc2d
update cli documentation
2023-03-07 19:15:03 -05:00
Jack Fraser
6aa51213e4
add deno settings
2023-03-07 19:15:03 -05:00
rvcas
9b96f7bb2e
chore: commit acceptance test plutus files
2023-03-06 13:26:36 -05:00
Kasey White
f230af436c
fix: scope issue with expect and function calls
...
Add acceptance test 72
2023-03-03 01:00:35 -05:00
Kasey White
5779b77ccc
fix: Had to also check for generic type in return of a function.
...
add check to prevent stack overflow error
Add panic to prevent any other occurrences of stack overflow
2023-03-02 21:49:20 -05:00
Kasey White
26b4156d5a
remove comment
2023-03-02 21:49:20 -05:00
KtorZ
451d9d8493
Add new acceptance test scenario: 068
...
Stack overflow happening during code generation.
2023-03-02 21:49:20 -05:00
KtorZ
65c336cb82
Update blueprint outputs to reflect latest specification.
...
Schemas of datums, redeemers and parameters are now nested under a field 'schema'. This allows to define a field 'purpose' at the same level.
2023-03-02 17:17:27 +01:00
Kasey White
0c1c7da16f
add accpetance test 71
2023-03-01 14:22:59 -05:00
Kasey White
665a8dec67
feat: add support for unconstr_data
...
-Builitins IR now acts like Record IR in terms of argument consumption
-UnConstrData returns as Pair(Data,Data) to conform with how pairs are treated behind the scenes.
2023-02-26 00:13:38 -05:00
KtorZ
81e072a14e
Add new acceptance test scenario: 064
...
- Type mismatch expected 'data' got 'integer'
- Type mismatch expected 'data' got 'list data'
2023-02-26 00:13:38 -05:00
KtorZ
c0230a811f
Add 'plutusVersion' to blueprints.
2023-02-21 15:37:35 +01:00
Kasey White
70164282f8
fix: switch from unwrap to if let to allow boolean when
...
fix: test 67 fixed to take in ByteArray instead of string literal
2023-02-20 04:37:33 -05:00
Kasey White
87eb4ca3b4
feat: handle single constr when with multiple branches
...
Add case to acceptance test 40
Add special case for top level single constr in a when.
2023-02-20 02:46:46 -05:00
KtorZ
5132110d4b
Fix acceptance tests to use new syntax.
2023-02-19 10:10:40 +01:00
Kasey
f3cdc05875
fix: the refactor on discharge value env ( #393 )
2023-02-18 20:49:29 -05:00
KtorZ
cd4ceb219c
Remove complex and compound constants.
...
This is not supported by the code generation, so it's a bit of a lie
to have them in the language in the first place. There's arguably not
even any use for constant records, list and tuples to begin with. So
this cleans this up everywhere for the sake of moving forward with the
alpha release.
This now reduces constants to:
- Integer
- ByteArray
- String
Anything else can be declared via a function anyway. We can revisit
this choice later.... or not.
2023-02-17 17:31:15 +01:00
KtorZ
560c17d5aa
Add new acceptance test scenario: 060
...
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/builder.rs:1088:13
╰─▶ not yet implemented
```
2023-02-17 17:13:04 +01:00
KtorZ
f10e9e8977
Add new acceptance test scenario: 062
...
```
Error:
× Main thread panicked.
├─▶ at crates/uplc/src/optimize.rs:16:68
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_bar", unique: Unique(1) })
```
2023-02-17 11:25:41 +01:00
KtorZ
8fabfd112e
Add new acceptance test scenario: 063
2023-02-16 20:29:41 -05:00
KtorZ
e7a61df1f3
Add new acceptance test scenario: 062
...
```
Error:
× Main thread panicked.
├─▶ at crates/uplc/src/optimize.rs:16:68
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_bar", unique: Unique(1) })
```
2023-02-16 20:27:00 -05:00
Matthias Benkort
ec6baf3a6a
Merge pull request #351 from aiken-lang/acceptance-test-054-pattern-match-on-list
...
Add new acceptance test scenario: 056
2023-02-16 10:01:56 +01:00
rvcas
d41e6942c6
test: fix acceptance tests
2023-02-16 00:05:55 -05:00
rvcas
a311531508
fix(cli): aiken address
2023-02-16 00:05:55 -05:00
rvcas
673b57b81c
feat: get bluprint stuff compiling again
2023-02-16 00:05:55 -05:00
rvcas
a88a193383
fix: properly lex new token and adjust parsed spans
2023-02-16 00:05:55 -05:00
KtorZ
d26ff0298f
Add new acceptance test scenario: 054.
...
**a**
```
× Main thread panicked.
├─▶ at crates/uplc/src/optimize.rs:16:68
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "__other_clauses_delayed", unique: Unique(13) })
```
**b**
```
× Main thread panicked.
├─▶ at crates/aiken-lang/src/builder.rs:771:14
╰─▶ not yet implemented: Assign
```
**c**
```
× choice_4 failed
help: ┍━ left ━━━━━━━━━━━━━┑
│ (con data #d87a80) │
┕━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━━━━━━━━━┑
│ (con data #d8799f182aff) │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━┙
```
2023-02-15 22:12:41 -05:00
KtorZ
808ff97c68
Preserve trace, error & todo formatting.
2023-02-15 23:19:07 +01:00
KtorZ
7abd76b6ad
Allow to trace expressions (and not only string literals)
...
This however enforces that the argument unifies to a `String`. So this
is more flexible than the previous form, but does fundamentally the
same thing.
Fixes #378 .
2023-02-15 21:07:56 +01:00
KtorZ
4e51e49fe6
Align context diagnostics to use similar syntax.
2023-02-15 17:26:26 +01:00
KtorZ
7251b2d01e
Remove single-argument function call special-case in formatter
...
Not sure what this special case was trying to achieve, but it's not right. There's no need to handle function call with a single argument differently than the others.
2023-02-15 17:22:08 +01:00
KtorZ
47e77aa819
Add new context test for datums and reference scripts
2023-02-15 17:10:14 +01:00
KtorZ
6772e20d85
Replace withdrawals withdraw validator with always true validator.
2023-02-15 12:59:33 +01:00
KtorZ
b300cf38db
Add new script context test scenario covering minting & values.
2023-02-15 12:49:56 +01:00
KtorZ
01c392836e
Fix CI script + add script interactions.
2023-02-15 09:42:46 +01:00
KtorZ
e1c0c3986d
Remove unused imports in 054.
2023-02-15 09:42:45 +01:00
Kasey White
e15e725bfe
add one more test
2023-02-15 02:20:05 -05:00
Kasey White
32b0200966
fixes: tuple clauses, zero args funcs, list clause named pattern
...
List Clauses patterns handle var cases
Fixed Tuple Clauses issue with last clause not being a tuple
Redid how zero arg functions and dependencies are handled. Tough one lol
2023-02-15 02:20:05 -05:00
KtorZ
23bf101e08
Add new acceptance test scenario: 058
...
Doesn't like var patterns in list pattern-matching
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:770:29
╰─▶ internal error: entered unreachable code
```
2023-02-15 02:20:05 -05:00
KtorZ
d9cfad8f68
Add new acceptance test scenario: 061
...
```
Error:
× Main thread panicked.
├─▶ at crates/uplc/src/optimize.rs:16:68
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_tx_1", unique:
Unique(14) })
```
2023-02-15 02:20:05 -05:00
KtorZ
6132c092e3
Add new acceptance test scenario: 059
...
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:1451:52
╰─▶ called `Option::unwrap()` on a `None` value
```
See also: #310
2023-02-15 02:20:05 -05:00
KtorZ
a3078adce8
Add succinct README to explain what's going on.
2023-02-14 16:25:48 +01:00
KtorZ
685473ead6
Rename data -> ctx
2023-02-14 16:11:00 +01:00
KtorZ
5369872a3d
Add new script_context acceptance scenario for withdrawals.
2023-02-14 16:11:00 +01:00
KtorZ
251aa756d9
Make basic script a template, and add more assertions.
2023-02-14 11:37:10 +01:00
KtorZ
545323128c
Write basic e2e validator with evaluation.
2023-02-14 10:39:31 +01:00
KtorZ
4ef1ba69de
Use blueprint in hello-world example.
2023-02-14 09:16:30 +01:00
Kasey White
765ceefd38
feat: add ability to downcast void to data
2023-02-12 18:56:38 -05:00
Kasey White
e9883adf12
fix: scope issue when using when with a function call subject
2023-02-12 18:43:11 -05:00
KtorZ
2bda581fbd
Add new acceptance test scenario: 057
...
```
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:4286:48
╰─▶ called `Option::unwrap()` on a `None` value
```
2023-02-12 18:43:11 -05:00
Kasey White
1c9540ec87
one more test case to add
2023-02-11 22:26:34 -05:00
Kasey White
4b1015e0d4
change how expect works on lists and constructors
...
Add more coverage to acceptance test 40 on expect
2023-02-11 22:26:34 -05:00
Kasey White
e92d9af3c2
fix: changed how list_access_to_uplc handles discards fixing unit test 55
...
Also fix incorrect error message in runtime in machine
2023-02-11 04:30:18 -05:00
rvcas
9b0fc0b395
chore: fix some weirdness after rebasing with main
2023-02-10 10:09:00 +01:00
Matthias Benkort
efbc3abb95
Delete tests.ak
2023-02-09 09:23:46 +01: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
Kasey White
7b29a75cc0
test name number 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
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
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
rvcas
025bf73254
test: verify schnorr and ecdsa
2023-02-04 22:07:56 -05:00
Kasey White
6053e76f6f
chore: more acceptance tests
...
Co-authored-by: rvcas <x@rvcas.dev>
2023-02-04 02:33:10 -05:00
rvcas
a9ed04ef22
feat: newer rules around casting Data
...
* you cannot cast FROM Data with a `let`
* you cannot cast FROM Data by passing
Data to none Data when calling a function
* you MUST use `assert` to cast from data
* you can cast INTO Data with a `let`
* you can cast INTO Data by passing none Data
to Data when calling a function
* You cannot assert cast Data without an
annotation
2023-02-04 02:33:10 -05:00
rvcas
0f6d2487ec
fix: acceptance test 040 after new casting rules
2023-02-02 01:17:58 -05:00
rvcas
79b0af15da
chore: commit acceptance test plutus files
2023-02-02 00:49:47 -05:00
rvcas
0ee083cc9a
chore(examples): commit updated plutus.json
2023-02-01 23:54:35 -05:00
KtorZ
79b8786cee
Replace 'assets' with generated blueprints.
2023-01-31 15:39:41 +01:00
rvcas
d4a73f1235
chore: commit assets
2023-01-30 12:01:56 -05:00
rvcas
aec79936e2
chore: move a test case to 049
2023-01-30 11:49:18 -05:00
Lucas
b653714c0c
Merge branch 'main' into when-clause-guards
2023-01-30 11:40:29 -05:00
Kasey White
a638388747
Add more complex test 40.
...
Add assert for when constr index is given
2023-01-30 04:17:03 -05:00
Kasey White
8c04ab093a
update test 40
2023-01-30 03:24:52 -05:00
Micah Kendall
d608c50130
Added 048 acceptance test
2023-01-23 01:12:29 +11:00
Kasey White
e36f91c39c
fix: multiple list cases of the same length weren't being handled
2023-01-21 19:42:17 -05:00
KtorZ
a178cee7bf
Add new acceptance test scenario: 046
2023-01-21 19:42:17 -05:00
Kasey White
e8fb386bdc
chore: Switch from hashmap and hashset to indexmap and indexset
2023-01-21 18:10:15 -05:00
KtorZ
a926a1a2d4
Add new acceptance test scenario 048
2023-01-21 17:49:44 +01:00
KtorZ
83fd910604
Update artifacts from acceptance tests 036
2023-01-21 12:46:22 +01:00
KtorZ
ce65236514
Parse tests as private functions.
...
They actually are private; we can't export / import tests. Fixes #284 .
2023-01-20 12:50:07 +01:00
rvcas
2f6c794cdf
fix: ci... :facepalm
2023-01-18 15:29:51 -05:00
rvcas
479d49bdfc
fix: ci... again
2023-01-18 15:29:51 -05:00
rvcas
f975c345c9
fix: ci
2023-01-18 15:29:51 -05:00
KtorZ
75808cc046
Add new acceptance scenario: 044
...
❌ 044
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:846:89
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 15:29:51 -05:00
KtorZ
6e64bb72e6
Add new acceptance test scenario 045
...
Error:
× Main thread panicked.
├─▶ at crates/aiken-lang/src/uplc.rs:3435:48
╰─▶ called `Option::unwrap()` on a `None` value
2023-01-18 16:28:44 +01:00
rvcas
63bfb4e05d
chore: no longer need pub here
2023-01-15 12:33:10 -05:00
rvcas
00f2150eed
feat: add identity, always, & flip
2023-01-14 23:33:49 -05:00
rvcas
9daf86e984
chore: fix version for hello world
2023-01-14 22:22:36 -05:00
rvcas
95c9be5c52
chore: acceptance test 040 had the wrong name
2023-01-14 22:03:56 -05:00
KtorZ
8c19d4ec08
Fix and re-apply formatter on all acceptance tests
...
Less noise, pretty tuples. Everyone's happy.
2023-01-14 20:23:17 +01:00
rvcas
c6fe5235fe
chore: fmt acceptance test 40
2023-01-13 14:55:18 -05:00
Kasey White
7b023911af
add assert and record
...
Record is a more efficient air for making records
Assert guarantees a custom is of a certain variant.
2023-01-13 13:50:27 -05:00
Kasey White
1721c3945b
Refactors:
...
Add test 40
refactor how we get data type from type
Call contains type now to handle certain record cases
2023-01-13 13:50:27 -05:00
Kasey White
42c8d50fa1
feat: finish record update
2023-01-08 19:42:49 -05:00
rvcas
c89802eaed
chore: bump pallas version
2023-01-06 13:39:18 -05:00
Matthias Benkort
de7a8f6f20
Merge pull request #240 from matiwinnetou/aiken-examples
...
hello world for starters
2023-01-06 13:49:30 +01:00
KtorZ
193792b48f
Draft quick README, use ENV var for passing configuration.
2023-01-06 13:44:20 +01:00
KtorZ
1b7be32d74
rename 'hello_world-keygen.ts' as 'generate-credentials'
...
And add *.sk to .gitignore!
2023-01-06 13:32:27 +01:00
KtorZ
eb2f4a8056
Use pinned version of the stdlib.
2023-01-06 13:31:18 +01:00
KtorZ
7c2b1ac269
Define 'local' gitignore for examples' packages.
2023-01-06 13:30:56 +01:00
Mateusz Czeladka
1142c6ca6d
hello world for starters
2023-01-06 13:24:15 +01:00
KtorZ
aff96d99af
Return non-zero exit code on acceptance test failure.
2023-01-06 13:10:11 +01:00
KtorZ
613fb3c957
Add new acceptance test scenario 038
2023-01-06 06:46:15 +01:00
Kasey White
88d5d1b7f7
chore: add 036 assets
2022-12-31 00:09:02 -05:00
Kasey White
3514e66234
Fix to variant name creation for dependencies.
...
Last few changes to go Tuple Index,
Assert, Check, not
change test 35 to produce intended functionality
2022-12-30 14:01:11 -05:00
KtorZ
d5d878e83c
Add acceptance test scenario: 037
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:701:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(1) })
```
2022-12-29 17:40:21 +01:00
KtorZ
6f8d1698fe
Add missing function 'concat' in acceptance test 034.
2022-12-29 12:13:32 +01:00
KtorZ
4f83d4fa1b
Add new acceptance test scenario: 036
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:567:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(17) })
```
2022-12-29 12:11:55 +01:00
KtorZ
602a6a03a8
Rename '{run, run-all}.sh' into '{run, run-all}'.
2022-12-29 12:04:37 +01:00
KtorZ
013fe886f5
Add new acceptance test scenario: 035
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:692:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"aiken/dict_do_insert_with_map_bytearray_int_bytearray_int_data",
unique: Unique(27) })
```
2022-12-28 17:03:32 +01:00
KtorZ
77fbb3cbdb
Add new acceptance test scenario: 034
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-project/src/lib.rs:670:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "aiken/list_foldr_list_data_data_list_data", unique: Unique(1) })
```
2022-12-28 10:59:42 +01:00
Kasey White
010024fb95
fix: acceptance test 031
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-27 22:33:09 -05:00
Kasey White
542e39f093
feat: finish up zero arg issues with dependencies
2022-12-27 19:35:08 -05:00
Kasey White
a08c615da4
checkpoint
2022-12-27 19:35:08 -05:00
KtorZ
2e17f18846
Rework acceptance test runner
...
Show less noise, support parallel execution and make it easier to run a single one.
2022-12-27 09:29:13 +01:00
rvcas
0d0536f6c1
fix: rename test module to tests
2022-12-23 22:00:59 -05:00
KtorZ
39f5d1a86d
Make build, check and docs target directory an (optional) argument
...
Instead of being an option. Feels more natural that way.
2022-12-23 20:23:27 +01:00