Commit Graph

513 Commits

Author SHA1 Message Date
Kasey
86ec3b2924 Fix: issue crash in code gen with incorrect column length in decision trees (#1069)
* Fix: Deeply nested assignments would offset the new columns count calculation. Now we track relevant columns and their path to ensure each row has wildcards if they don't contain the relevant column

* Add test plus clippy fix

* Clippy fix

* New version clippy fix
2024-12-05 11:02:19 +07:00
rvcas
c3b07dfe83 chore(example): const's should be let's 2024-11-25 22:58:20 -05:00
rvcas
9d59333757 feat: convert gift card tutorial to lucid-evolution and weld 2024-11-25 16:19:06 -05:00
rvcas
7c1cd81554 feat: start switching to blaze and svelte 2024-11-25 16:19:06 -05:00
microproofs
eec08fcbd9 Fix scoped path for list with tail cases only plus wild card fallback 2024-11-18 12:22:08 -05:00
microproofs
cd42f51f1a Finish up tests for decision-tree modification 2024-11-08 14:11:34 -05:00
microproofs
97ee1a8ba6 Start working on using a decision tree for when expr. Also fmt fix. Other Stuff 2024-11-01 19:34:45 -04:00
KtorZ
7f13fca1a4 Revert "Add acceptance tests #114"
This reverts commit a18af83786. The test
case has proven to be an ill-formed scenario with a genuine infinite
recursion.
2024-10-19 10:52:37 +02:00
KtorZ
a18af83786 Add acceptance tests #114
Demonstrate what seems to be the creation of an infinite recursion in the produced UPLC.
2024-10-13 13:40:25 +02:00
microproofs
5d4b3e69b9 Revert "Start working on using a decision tree for when expr. Also fmt fix"
This reverts commit e8f74985d5.
2024-10-08 13:33:05 -04:00
microproofs
e8f74985d5 Start working on using a decision tree for when expr. Also fmt fix 2024-10-08 13:30:29 -04:00
microproofs
4f1de2d3b5 Add test for flat error when encoding bls constant 2024-09-20 13:41:58 -04:00
Matthias Benkort
a1045352d7 Merge pull request #1018 from solidsnakedev/main
fix: Plutus V3 NoDatum
2024-09-13 09:29:55 +02:00
microproofs
8d13b0b706 Add acceptance test 112 2024-09-12 19:06:46 -04:00
KtorZ
6413f2c1cc Make 'simple_spend_no_datum' acceptance test more to-the-point
This new acceptance test is really meant to check for the behavior surrounding the optional datum. So I've added an extra expect on the received datum, and kept only assertions that were about or related to the datum.
2024-09-12 17:21:09 +02:00
solidsnakedev
defce9be4e fix: Plutus V3 NoDatum - Error: missing required inline datum or datum hash in script input 2024-09-11 15:25:20 -06:00
KtorZ
7741be64f8 Fix validator's fallback handler generation
Fixes #1015.
2024-09-10 10:48:06 +02:00
KtorZ
8db4a60986 (re)format aiken sources in the repository. 2024-09-07 18:25:21 +02:00
KtorZ
9f6daa8cd5 Refresh gift_card and hello_world examples. 2024-09-01 18:22:43 +02:00
KtorZ
8d60f08f65 Add acceptance test 111
Seems like nested tuples are inferred wrongly when type-casted.

  ```
  type mismatch
     Expected (list a)
          Got integer
  ```
2024-08-31 00:03:46 +02:00
KtorZ
e3e889f875 Update benchmarks. 2024-08-30 15:45:00 +02:00
microproofs
e772ff1787 Missed some zero parameter check 2024-08-29 16:30:30 +02:00
KtorZ
a909e9eb0a Add acceptance_tests/109 to illustrate new config/constants capabilities. 2024-08-29 16:25:12 +02:00
KtorZ
8bccbd9e00 Update acceptance tests and script context tests to latest stdlib. 2024-08-28 17:41:32 +02:00
rvcas
6bbc6a8f2f chore: fix the issue in gift card 2024-08-27 19:12:44 -04:00
rvcas
d337e601cb chore: add a test for by name with params 2024-08-27 18:10:46 -04:00
KtorZ
48535636ed Fix remaining acceptance tests to be V3-compatible 2024-08-27 19:19:25 +02:00
KtorZ
d74e36d0bc Introduce 'Never' type as a safe alternative to always None options
Unfortunately, as documented in:

  https://github.com/IntersectMBO/cardano-ledger/issues/4571

  Some Option fields in the script context certificates are going to
  remain set to None, at least until the next Hard fork. There's a risk
  that people permanently lock their funds if they expect deposits on
  registration credentials to ever be `Some`.

  So, we introduce a special type that emulate an `Option` that can only
  ever be `None`. We call it `Never` and it is the first type of this
  kind (i.e. with constructors indexes not starting at 0).
2024-08-27 14:40:39 +02:00
rvcas
ff25fbd970 chore: acceptance tests v3 syntax 2024-08-26 15:56:49 -04:00
rvcas
b57f840cad chore: use correct arguments in gift card validators 2024-08-26 15:45:37 -04:00
rvcas
c87f459ce7 chore: convert gift card tutorial to v3 2024-08-26 15:41:01 -04:00
KtorZ
3521a8c921 Start adjusting acceptance tests to the new Plutus V3 syntax. 2024-08-25 17:12:36 +02:00
KtorZ
1198d7a5ae Adjust hello world example to new Plutus V3 syntax. 2024-08-25 16:29:24 +02:00
KtorZ
8c2fdf9ad4 Use dot to separate purpose from validator name in blueprint
The rationale is two folds:

  1. It's more consistent with how we already separate the validator
  name from its module.

  2. Because `_` may be present in Aiken's validator's name, it is hard
     to read and I am afraid it could potentially conflict later on. So
     it's better to use a separator that cannot appear in validator
     names.
2024-08-25 16:20:08 +02:00
KtorZ
f9acbd3bcb DRY handlers generation from validator 2024-08-25 16:20:07 +02:00
KtorZ
047f422d0d remove v2 script contexts acceptance tests.
V2 is dead. Long live V3.
2024-08-25 16:20:07 +02:00
KtorZ
fe205e360f Update remaining script context e2e tests. 2024-08-25 16:20:06 +02:00
rvcas
be7c0c8012 fix: withdraw kinda 2024-08-25 16:20:06 +02:00
rvcas
3aa9e0c4b7 chore: run fmt on mint 2024-08-25 16:20:05 +02:00
rvcas
3fac7002d4 feat: switch mint to new def 2024-08-25 16:20:05 +02:00
microproofs
953ee6b5d1 Fix ordering for ScriptInfo type 2024-08-25 16:20:05 +02:00
KtorZ
823492c27b Adjust v3 script context end-to-end tests to work with new syntax. 2024-08-25 16:20:04 +02:00
rvcas
03a348040b chore: convert hello_world to v3 2024-08-25 16:20:04 +02:00
KtorZ
35b7066163 Introduce acceptance test 107 illustrating compiler crash
```
  crates/aiken-lang/src/gen_uplc.rs:4515:30

      internal error: entered unreachable code: Shouldn't call anything other than var or apply

      Lambda {
          parameter_name: Name {
              text: "__no_inline__",
              unique: Unique(
                  0,
              ),
          },
          body: Var(
              Name {
                  text: "tests_new_list_unbound",
                  unique: Unique(
                      0,
                  ),
              },
          ),
      }
  ```
2024-08-21 14:43:08 +02:00
KtorZ
520ceff83d Do not ignore ctx/inputs.cbor; it is used/needed by the test runner. 2024-08-14 03:09:45 +02:00
KtorZ
b104356fb9 (temporarily) make script context tests more verbose. 2024-08-14 03:02:40 +02:00
KtorZ
f879f6d183 Fix script context translations for withdrawals and validity intervals. 2024-08-13 23:43:47 +02:00
KtorZ
5067aad0d8 Fix 'Pair' formatter inside forced unbroken components. 2024-08-13 17:05:41 +02:00
KtorZ
7501538053 Add script context translations for voting purpose. 2024-08-13 16:24:01 +02:00
KtorZ
bfc93bf076 Add script context translation for new Conway certificates 2024-08-13 10:56:29 +02:00