Commit Graph

268 Commits

Author SHA1 Message Date
rvcas 5f9b5ac781 feat: basic ability to have many projects in one repo 2025-03-23 21:46:13 -04:00
rvcas f03633edb4
chore: Release 2025-03-23 14:25:50 -04:00
KtorZ 796eb2d98a
Bump versions to v1.1.14
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
2025-03-21 11:05:21 +01:00
rvcas b9ef61e8e1
chore: changelog was messed up 2025-02-26 10:16:00 -05:00
rvcas 2fbbc56777 chore: reintroduce bench graph borders 2025-02-21 15:28:51 -05:00
Simon Gellis 216c5c31ec chore: bump pallas to 0.32.0 2025-02-19 19:45:02 -05:00
Pi Lanningham 0da4f70c39 chore: Release 2025-02-18 15:24:16 -05:00
rvcas 7472428fed chore: don't use fork for now 2025-02-18 15:08:35 -05:00
KtorZ 7c3c5a500f
pin textplots-rs fork to a specific revision & version.
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:32:21 +01:00
KtorZ 3bce2e2d78
chore: Release
Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-11 14:26:12 +01:00
KtorZ b4aa877d6a
rework benchmarks output
Going for a terminal plot, for now, as this was the original idea and it is immediately visual. All benchmark points can also be obtained as JSON when redirecting the output, like for tests. So all-in-all, we provide a flexible output which should be useful. Whether it is the best we can do, time (and people/users) will tell.

Signed-off-by: KtorZ <5680256+KtorZ@users.noreply.github.com>
2025-02-09 16:22:58 +01:00
microproofs c382e6fba8 Add a debug flag for uplc eval 2025-02-09 08:39:38 -05:00
microproofs b25afa2d0d
chore: Release 2025-01-21 23:48:15 +07:00
rvcas c1871768f8
feat: remove plutus v1,v2 from aiken.toml closes #1032 2024-12-25 22:52:08 -05:00
KtorZ 22172069f8
chore: Release 2024-12-13 16:44:12 +01:00
KtorZ da1c478b2f
chore: Release 2024-12-13 15:22:10 +01:00
KtorZ dc09949739
Add couple of tests covering the new Katex rendering in docs.
Had a doubt about the Regex behaviour, so wanted to convince myself it
  does what it should. All good.
2024-12-13 13:46:39 +01:00
microproofs 86951ef19a
One last builtin to do. Also switch to using bitvec for faster and more accurate shifting 2024-12-06 11:33:45 +07:00
KtorZ e2fb28b4ce
chore: Release 2024-11-19 15:55:23 +01:00
KtorZ b5047d623a
Update to pallas=0.31.0 2024-11-19 14:53:36 +01:00
microproofs 18054eed1a
chore: Release 2024-11-13 15:17:53 -05:00
KtorZ 51a8ddcc0b
Document test output JSON schema through '--help'
The help manual is getting a bit large, but fortunately, we can resort
  to a simpler/more compact version using `-h`.
2024-11-13 14:59:20 +01:00
microproofs 7966cc0165
Finish up decision tree and rework it a bit to closely follow how the paper handles wild card patterns 2024-11-01 19:34:48 -04:00
microproofs a7741ec286
chore: Release 2024-10-19 13:45:54 -04:00
microproofs 356d845a9a
chore: Release 2024-10-01 16:14:25 -04:00
KtorZ ac9c71e32a
Try to bundle openssl with the Aiken binary to avoid core dumps on Linux 2024-09-22 18:12:26 +02:00
microproofs 3d77b5c378
chore: Release 2024-09-20 14:05:15 -04:00
microproofs 7047c7720e
chore: Release 2024-09-13 16:52:20 -04:00
KtorZ 0905146140
chore: Release 2024-09-10 13:25:04 +02:00
rvcas be31a7ce38
chore: Release 2024-09-03 17:01:41 -04:00
rvcas 20ac89fc33
chore: reset version 2024-09-03 17:01:24 -04:00
KtorZ c21466831c
Bump versions to 1.1.0, in anticipation. 2024-08-29 09:12:37 +02:00
KtorZ e31c6de04e
Adjust module organization to facilitate resurrection of the playground.
The playground doesn't / cannot depend on aiken-project because that becomes a gigantic pain. So instead, we try to keep essential stuff inside aiken-lang when possible.
2024-08-29 09:12:37 +02:00
KtorZ 745f14ccb2
Adjust doc to support blockquote alerts. 2024-08-28 15:28:49 +02:00
KtorZ b78aee2acc
Use pallas==0.30.1 2024-08-27 20:17:56 +02:00
KtorZ 05a3d5fb2a
Revert "Switch back to pallas crates release now that 0.30.0 is out."
This reverts commit 7435dfd0e5.
2024-08-23 16:07:11 +02:00
KtorZ 7435dfd0e5
Switch back to pallas crates release now that 0.30.0 is out. 2024-08-23 15:59:05 +02:00
KtorZ b479a289cf
Implement source linker and add URL to source code in generated docs.
Long overdue.
2024-08-22 16:37:48 +02:00
KtorZ f244b9c496
Add support for protocol parameters (except cost models)
We can now simulate transactions with protocol parameters voting
  procedures. Cost models remain to be done, though.
2024-08-13 10:56:29 +02:00
KtorZ 50dad1fdfe
Test proposal procedures through Aiken. 2024-08-13 10:56:29 +02:00
KtorZ cfca0da4e9
Add (partial) support for simulating contract with proposal procedures
This covers every proposal procedures but protocol parameters, this
  one is yet to be done. It spans over 30+ fields, and felt like it is a
  big enough piece to tackle it on its own.
2024-08-13 10:56:29 +02:00
KtorZ 6b6bace8a5
test 'mint' purpose and script context creation.
Alongside a bunch of other stuff from the coverage list. In
  particular, the mint transaction contains:

  - reference inputs
  - multiple outputs, with assets, and type-0, type-1 and type-6
    addresses.
  - an output with a datum hash
  - an output with an inline script
  - carries an extra datum witness, preimage of the embedded hash
  - mint, with 2 policies purposely ordered wrongly, with 1 and 2
    assets purposely ordered wrong. One of the mint is actually a
    burn (i.e. negative quantity)
2024-08-13 10:56:29 +02:00
KtorZ 821f7bd8c7
Fix ToPlutusData serializer for V3
This is intense, as we still want to preserve the serializer for V1 &
  V2, and I've tried as much as possible to avoid polluting the
  application layer with many enum types such as:

  ```
  pub enum TxOut {
    V1(TransactionOutput),
    V2(TransactionOutput),
    V3(TransactionOutput),
  }
  ```

  Those types make working with the script context cumbersome, and are
  only truly required to provide different serialisation strategies. So
  instead, we keep one top-level `TxInfo V1/V2/V3` type, and we ensure
  to pass serialization strategies as type wrappers.

  This way, the strategy propagates through the structure up until it's
  eliminated when it reaches the relevant types.

  All-in-all, this strikes a correct balance between maintainability and
  repetition; and it makes it possible to define _different but mostly
  identical_ encoders for the various versions.

  With it, I've been able to successfully encode a V3 script context and
  match it against one produced using the Haskell libraries. More to
  come.
2024-08-13 10:55:23 +02:00
KtorZ ff4a480242
Upgrade pallas to v0.0.29, and start support for simulating transactions carrying Plutus v3 scripts. 2024-08-13 10:55:22 +02:00
KtorZ f5c4e185d4 Redact compiledCode & hash in generated blueprint tests
The point of those tests is to ensure that blueprints are generated
  properly, irrespective of the generated code. It is annoying to
  constantly get those test failing every time we introduce an
  optimization or something that would slightly change the generated
  UPLC.
2024-08-08 00:39:44 -04:00
KtorZ 91e0e2493a
Provide better errors on unknown type in cyclic definitions.
Let's consider the following case:

  ```
  type Var =
    Integer

  type Vars =
    List<Var>
  ```

  This incorrectly reports an infinite cycle; due to the inability to
  properly type-check `Var` which is also a dependent var of `Vars`. Yet
  the real issue here being that `Integer` is an unknown type.

  This commit also upgrades miette to 7.2.0, so that we can also display
  a better error output when the problem is actually a cycle.
2024-08-06 19:24:48 +02:00
KtorZ 4645257e62
Prune pallas dependencies.
Using 'pallas' as a dependency brings utxo-rpc other annoying dependencies such as _tokyo_. This not only makes the overall build longer, but it also prevents it to even work when targetting wasm.
2024-08-03 14:14:49 +02:00
rvcas 4645fd3e28
chore: Release 2024-07-25 08:28:15 -04:00
KtorZ 49190b485a
chore: Release 2024-07-25 09:58:06 +02:00
KtorZ 216dab99d4
chore: Release 2024-06-06 11:19:34 +02:00