Commit Graph

640 Commits

Author SHA1 Message Date
Kasey White 3fb3a3240a checkpoint 2022-12-05 14:18:44 -05:00
rvcas 86ea41adc3 feat: start when expressions 2022-12-05 14:18:44 -05:00
Kasey White 8b24a66b7e add field access and list patterns are finished
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-05 14:18:44 -05:00
Kasey White abe29a3883 make progress on list deconstruction with IR 2022-12-05 14:18:44 -05:00
Kasey White 2a00b896fc create ir and start to replace plutus code gen with ir 2022-12-05 14:18:44 -05:00
Kasey White 6870a5cab7 fix minor scope issue 2022-12-05 14:18:44 -05:00
Kasey White e3267310c5 remove unListData 2022-12-05 14:18:44 -05:00
rvcas 84da69411d chore: fix test 2022-12-04 21:12:29 -05:00
rvcas f2c359f9d5 test(parser): add record creation tests 2022-12-04 21:12:29 -05:00
rvcas 85f839abe4 feat: support punning in record updates 2022-12-04 21:12:29 -05:00
rvcas 9ebc836b89 feat: handle punning in a non-ambiguous way 2022-12-04 21:12:29 -05:00
rvcas 391849bf37 feat: parser improvements
- record creation with punning
- disambiguate if condition from record creation with punning
- split parser tests up into many smaller ones
2022-12-04 21:12:29 -05:00
KtorZ 375499930a Add UPLC support for 'ProtoList' & 'ProtoPair' constants
Supersedes #35.

  The syntax for these elements isn't "set in stone"; in the sense that it is unspecified in [input-output-hk/plutus](https://github.com/input-output-hk/plutus). There's no visible plan from IOG to extend the Haskell parser to support this syntax, though there are samples of imagined syntax in the code. Thus, we can lead the way and simply choose a suitable syntax and let the Haskell implementation align to it later.

  This syntax is thus inspired from input-output-hk/plutus' samples, with only a small change: we use `<` and `>` for encapsulating type declaration instead of `(`, `)`. There are already enough parentheses in the UPLC syntax, adding more reduces visibility.

  Doing this, I've also added a lot more test cases for the UPLC parser. There could be more, but this is a good start.

  Here are some example programs (taken from test cases) utilizing this syntax:

  ```
  (program 0.0.0 (con list<bytestring> [#00, #01]))
  ```

  ```
  (program 0.0.0
      (con pair
        <integer, integer>
        [14, 42]
      )
  )
  ```

  ```
  (program 0.0.0
      (con pair<string, list<integer>> ["foo", [14, 42]])
  )
  ```

  _(Note that this was mainly done as an exercise to get more familiar with Rust and parts of Aiken.)_
2022-12-03 10:16:16 -05:00
rvcas 5ec93a8692 feat: format bytearrays 2022-12-01 15:28:15 -05:00
rvcas fedafed845 feat: add module constants 2022-12-01 15:28:15 -05:00
rvcas 34c8a58391 feat: complete language tour 2022-11-30 15:35:55 -05:00
rvcas 0823b78bf8 feat: some new features
- tuples `#(Int, Int)`
- `trace` and `trace("text")`
2022-11-28 22:33:53 -05:00
eyelash 6066e3176c move `to_string()` outside of the match 2022-11-28 17:30:45 -05:00
vh-zuka 269cf8c13f fix: update aiken new 2022-11-26 10:30:41 -05:00
rvcas d5087dbcc7 fix: it's more consistent to have snakecase builtins 2022-11-24 18:36:22 -05:00
rvcas 67d160230b feat: new build command flag
- `uplc` to optionally dump raw uplc
2022-11-24 18:17:03 -05:00
Kasey White 1c3511b073 insert def should run after all sequences have run 2022-11-24 17:51:49 -05:00
Kasey White 6babebde28 feat: support self recursion functions and fix making constrs 2022-11-24 15:19:32 -05:00
rvcas 09e77e1918 feat: display named source 2022-11-24 11:38:43 -05:00
rvcas ba8855add9 fix: implicit discard in list patterns 2022-11-24 10:06:54 -05:00
rvcas 27e0286d01 fix: most places should allow trailing comma 2022-11-23 21:09:06 -05:00
rvcas c07b9a1a81 feat: allow assignments to be cast to other types 2022-11-23 21:09:06 -05:00
rvcas 34d7a28351 feat: add check keyword and new assignment syntax 2022-11-23 21:09:06 -05:00
Kasey White 6687b9fe4c add forces to pair usage and fix clippy 2022-11-23 17:57:02 -05:00
Kasey White dc510b1c7a feat: finish list deconstruct 2022-11-23 17:57:02 -05:00
Kasey White e6f6d8a42d small edge case to fix and some ordering to go 2022-11-23 17:57:02 -05:00
rvcas 1de2640a48 feat: list patterns 2022-11-23 17:57:02 -05:00
Kasey White f09a3bd121 feat:list construction, no pairs yet 2022-11-23 17:57:02 -05:00
rvcas 0358952984
Release 0.0.26
aiken@0.0.26
aiken-lang@0.0.26
aiken-lsp@0.0.26
aiken-project@0.0.26

Generated by cargo-workspaces
2022-11-23 00:31:24 -05:00
Kasey White 74712711c4 include when deconstructor discard 2022-11-20 15:42:12 -05:00
Kasey White d4f3eafc22 refactor away from tuples 2022-11-20 15:42:12 -05:00
jacfra 0069c1f68a correct typo 2022-11-19 15:35:07 -05:00
rvcas 89153a4d82 allow single var patterns to double as a label in records 2022-11-17 12:56:03 -05:00
rvcas d94ae82901
fix: none does not need a type variable 2022-11-16 21:41:03 -05:00
alessandrokonrad 6c5ec9bb25 Extended ScriptContext; added Option to builtins 2022-11-16 21:34:46 -05:00
rvcas 72bf27d467
fix: better constructor pattern parsing 2022-11-16 21:30:43 -05:00
rvcas ef9fd15e12
chore: remove loose println! 2022-11-16 14:49:06 -05:00
rvcas 132af027dc feat(aiken-lang): add doc, module, and regular comment support 2022-11-16 14:28:02 -05:00
rvcas f7313ee61a feat: some parsing for comments 2022-11-16 14:28:02 -05:00
rvcas 00e5f99304 feat: pull comment tokens out of the Iter before parsing 2022-11-16 14:28:02 -05:00
Kasey White f10c78d800 feat: when statements with field access now work 2022-11-16 13:11:24 -05:00
Kasey White 8d1e73bbea checkpoint 2022-11-16 13:11:24 -05:00
rvcas 742a5ea19b feat: handle didSave notification 2022-11-15 17:44:50 -05:00
rvcas bff99b0cf2 feat: publish errors as lsp diagnostic messages 2022-11-15 17:44:50 -05:00
rvcas f089eff97d
Release 0.0.25
aiken@0.0.25
aiken-lang@0.0.25
aiken-lsp@0.0.25
aiken-project@0.0.25
uplc@0.0.25

Generated by cargo-workspaces
2022-11-14 18:04:19 -05:00
rvcas 3f952cdf0e feat: add new Data type to prelude and allow it to unify with any user defined type 2022-11-14 15:09:56 -05:00
rvcas 123e729137 fix: when formatting we need to use the in memory edited version 2022-11-14 14:20:41 -05:00
vh-zuka 2736df5466 Validate project name on aiken new 2022-11-14 14:15:02 -05:00
Kasey White 2cac7963c3 feat: add complex function composability. Minor scope changes 2022-11-14 14:13:21 -05:00
Kasey White 491c13f3aa chore: name_field_label should return actual constant for bytearray and int 2022-11-14 14:13:21 -05:00
Kasey White aa0f258ea2 add pipelines functionality 2022-11-14 14:13:21 -05:00
Kasey White d11b8858ba clean up some unused parts in created hashmaps 2022-11-12 20:57:44 -05:00
Kasey White b450c41438 finish up binops for code gen 2022-11-12 20:57:44 -05:00
Kasey White a73fc345fe clippy fix 2022-11-11 20:24:21 -05:00
Kasey White d0463b3218 missing into on a term 2022-11-11 20:24:21 -05:00
Kasey White c36fa8cee5 fix issue with scope for data creation and wrap program with ifthenelse 2022-11-11 20:24:21 -05:00
Kasey White a3935c5df7 almost done data constr creation 2022-11-11 20:24:21 -05:00
rvcas 4a95fc5588 chore: fix parser tests 2022-11-10 17:41:39 -05:00
KtorZ 2e5406afa3 Rename 'scripts' as 'validators' across the codebase. 2022-11-10 17:41:39 -05:00
rvcas c9da049712 feat: rework how modules are loaded 2022-11-10 17:41:39 -05:00
KtorZ 7b5763edeb Respond to 'notification' requests from language-client 2022-11-10 17:41:39 -05:00
vh-zuka bdf91d287b Add a few more files 2022-11-10 01:45:32 -05:00
vh-zuka 9d6f9fd013 Use indoc for better raw text 2022-11-10 01:45:32 -05:00
vh-zuka 3faed5c980 Add new project template 2022-11-10 01:45:32 -05:00
rvcas 01e91b9fe5 chore: deal with clippy warnings 2022-11-10 01:27:18 -05:00
rvcas e90a210537 feat: add a basic lsp 2022-11-10 01:27:18 -05:00
rvcas c4f2a1ffec fix: weird test error after rebase 2022-11-08 22:21:07 -05:00
rvcas 7e0767ef74 feat: output build assets 2022-11-08 22:21:07 -05:00
rvcas 4db0c93061 chore: clean up warnings 2022-11-08 22:21:07 -05:00
rvcas 3787cce275 chore: fix some stuff after rebase 2022-11-08 22:21:07 -05:00
Kasey White 6c6aefd1c4 get basic when conditions to work 2022-11-08 22:21:07 -05:00
Kasey White 6950b66b55 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White 28697586f2 remove some warnings and start on when 2022-11-08 22:21:07 -05:00
Kasey White 805bf19081 Got nested field access working efficiently. Will clean up code soon. 2022-11-08 22:21:07 -05:00
Kasey White e3fa9ac105 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White 9864a3fe31 figured out the recursion based uplc terms to get item from a list 2022-11-08 22:21:07 -05:00
Kasey White ad4a5e927d starting on field access in aiken 2022-11-08 22:21:07 -05:00
Kasey White 3cafb2bcbe checkpoint commit 2022-11-08 22:21:07 -05:00
rvcas d8f3ada13e chore: add default for Interner 2022-11-08 22:21:07 -05:00
Kasey White 6162128427 add string comparison and int comparison 2022-11-08 22:21:07 -05:00
Kasey White 8a99b8c071 Remove println 2022-11-08 22:21:07 -05:00
Kasey White 6d720f6265 implement scope level in a consistent way. 2022-11-08 22:21:07 -05:00
Kasey White f6a72cc7f9 did hacky way for scope level, but now i know how it works and how to fix 2022-11-08 22:21:07 -05:00
Kasey White f7276df355 checkpoint commit 2022-11-08 22:21:07 -05:00
rvcas 483aa0784e chore: clean up some errors after rebase and rename project to aiken_project 2022-11-08 22:21:07 -05:00
Kasey White a993bea2a2 try code gen for assignment 2022-11-08 22:21:07 -05:00
Kasey White ffa78e4c30 work out some initial direction for code gen 2022-11-08 22:21:07 -05:00
rvcas 51302f1730 feat: error if validators have wrong arity 2022-11-08 22:21:07 -05:00
rvcas 4130e0f2c3 feat: validate if scripts return Bool 2022-11-08 22:21:07 -05:00
rvcas d830060683
fix: tests 2022-11-05 18:27:02 -04:00
rvcas 3a653b6624
chore: all dead code till we sort out doc comments 2022-11-05 18:20:23 -04:00
rvcas 7092673c45
feat: if expression formatting 2022-11-05 17:53:11 -04:00
rvcas 809d5ea5c5
fix: record formatting 2022-11-05 17:28:32 -04:00
rvcas 9d14acbe0a
fix: when formatting and add some methods to Project::Error 2022-11-05 16:23:46 -04:00
rvcas 14724f924c
fix: weird extra space above definitions 2022-11-05 15:42:53 -04:00
rvcas 4cad053e15
fix: capture variables are a bit different 2022-11-05 15:35:18 -04:00
rvcas cba7a6f46e
feat: bring over the formatter from gleam 2022-11-05 15:35:11 -04:00
rvcas 3df275043a
Release 0.0.24
aiken@0.0.24
aiken-lang@0.0.24
aiken-project@0.0.24
uplc@0.0.24

Generated by cargo-workspaces
2022-11-04 13:56:15 -04:00
alessandrokonrad af7ca87ffc Fixed more clippy issues 2022-11-04 18:21:22 +01:00
alessandrokonrad 9a2c6753cd Fixed clippy issues 2022-11-04 18:13:46 +01:00
alessandrokonrad d1141f306a Sorted all relevant structures in ScriptContext 2022-11-04 17:58:23 +01:00
rvcas c4db8c951f
Release 0.0.23
aiken@0.0.23
aiken-lang@0.0.23
aiken-project@0.0.23
uplc@0.0.23

Generated by cargo-workspaces
2022-11-03 20:27:03 -04:00
Kasey White 887f5eeee9 sorts inputs for sc 2022-11-03 05:04:21 -04:00
rvcas 1b6e5d262f
Release 0.0.22
aiken@0.0.22
aiken-lang@0.0.22
aiken-project@0.0.22
uplc@0.0.22

Generated by cargo-workspaces
2022-10-31 13:32:54 -04:00
rvcas 09462bbb42
chore: rename project to aiken-project 2022-10-31 13:25:19 -04:00
Lucas 11c0e4e193
Merge pull request #85 from txpipe/expose-pallas-plutus-data 2022-10-29 16:30:23 -04:00
Turner 9bbcdfd0b3 Revert versions, fix changelog 2022-10-28 11:50:19 -07:00
KtorZ 4316d5c382
Factor out common project-logic between build and check. 2022-10-28 17:20:41 +02:00
KtorZ 8d45b2a2f5
Enforce ordering of commands/sub-commands according to source
By default, clap orders command alphabetically, which can be quite
    confusing when listing commands with `--help`:

    ```
    SUBCOMMANDS:
        eval      Evaluate an Untyped Plutus Core program
        flat      Encode textual Untyped Plutus Core to flat bytes
        fmt       Format an Untyped Plutus Core program
        help      Print this message or the help of the given subcommand(s)
        unflat    Decode flat bytes to textual Untyped Plutus Cor
    ```

    It is possible to instrument clap to order commands in the same way
    they are declared in the source, giving us back the freedom to order
    and group them in a manner that makes sense, e.g.:

    ```
    SUBCOMMANDS:
        fmt       Format an Untyped Plutus Core program
        eval      Evaluate an Untyped Plutus Core program
        flat      Encode textual Untyped Plutus Core to flat bytes
        unflat    Decode flat bytes to textual Untyped Plutus Cor
        help      Print this message or the help of the given subcommand(s)
    ```
2022-10-28 17:20:41 +02:00
KtorZ 9c608ad9f1
Refactor cli's crate; split code into a hierarchy of modules.
This follows a simple convention:

    - `main.rs` contains as little as possible and delegates both
      data-types definitions and command executions to sub-modules.

    - modules are named after their respective commands. For
      sub-commands,

    - Each command module can be in one of two forms:

      - Either it is a leaf command, and it then contains an `Args`
	struct that defines the command arguments; and a function
	`exec` when outlines the execution logic.

      - Or, it is a group command with multiple sub-commands. In which
	case the module defines a `Cmd` struct encapsulating all
	sub-commands; and also an `exec` function which simply
	dispatches the logic to sub-functions.

    ---

    This commit also removes the `dev` command which is currently
    unused. The rationale being: if it's not there, it's not there.
2022-10-28 17:20:39 +02:00
KtorZ 6d0d938fb9
Extra project utilities in their own crate.
This was currently in the 'cli' crates, but this code is pretty standalone and need not to be mixed with the rest of the cli logic.
  Ideally, we want the cli crate to be only a thin wrapper over functionality available from the rest of the lib crates.
2022-10-28 13:48:40 +02:00
Turner aabcacbe87 Expose Pallas stuff, bump version, update changelog 2022-10-27 20:40:37 -07:00
rvcas 819256df99 feat: wrap up adding uplc builtins for now 2022-10-25 18:52:27 -04:00
rvcas d5d2ba9cd7 feat: start creating aiken/builtin module 2022-10-25 18:52:27 -04:00
rvcas a41d05f7b6 feat: change project structure 2022-10-24 00:09:00 -04:00
rvcas 825783ca61 feat: typecheck If expressions 2022-10-24 00:09:00 -04:00
rvcas 5244e58c9f feat: typechecking is working 2022-10-24 00:09:00 -04:00
rvcas cabc653167 feat: start expr inference 2022-10-24 00:09:00 -04:00
rvcas 81c87ab4da feat: register import, types, and values in environment 2022-10-24 00:09:00 -04:00
rvcas d0287d418b feat: add prelude 2022-10-24 00:09:00 -04:00
rvcas 4df3de0a03 feat: some boilerplate for typechecking 2022-10-24 00:09:00 -04:00
rvcas ed2ef4fa9b feat: sort modules and detect cycles 2022-10-24 00:09:00 -04:00
rvcas 15c774b7d0
Release 0.0.21
aiken@0.0.21
flat-rs@0.0.21
uplc@0.0.21

Generated by cargo-workspaces
2022-10-23 17:58:21 -04:00
Kasey White c89690aa77 Create unknown constructor error for decode 2022-10-23 17:54:21 -04:00
Kasey White 360a5b6017 preceding bytes output changes if you error before position 5 2022-10-23 17:54:21 -04:00
Kasey White 56984dea36 more spacing for parse error 2022-10-23 17:54:21 -04:00
Kasey White 15cfb22c8f more detailed parse errors when decoding with flat 2022-10-23 17:54:21 -04:00
alessandrokonrad 4ef654b660 fixed clippy issue 2022-10-22 18:01:36 -04:00
alessandrokonrad c6de827721 added apply_params_to_script function 2022-10-22 18:01:36 -04:00
alessandrokonrad e6f3c40429 changed i64 -> i128 2022-10-19 17:04:43 -04:00
rvcas ce875a3c47
Release 0.0.20
aiken@0.0.20
aiken-lang@0.0.20
flat-rs@0.0.20
uplc@0.0.20

Generated by cargo-workspaces
2022-10-17 17:22:50 -04:00
alessandrokonrad a83c731eb1 fixed err description 2022-10-17 08:35:45 -04:00
alessandrokonrad ad542a68e8 removed unnecessary return statement 2022-10-17 08:35:45 -04:00
alessandrokonrad 0856f6ccf2 added checked operators to some DefaultFunction 2022-10-17 08:35:45 -04:00
alessandrokonrad cfc1f92646 leave as i128 2022-10-17 08:35:45 -04:00
alessandrokonrad 4e8fd53e70 fixed comments 2022-10-17 08:35:45 -04:00
alessandrokonrad a14dae5863 changed slot_length to u32 2022-10-17 08:35:45 -04:00
alessandrokonrad 28b9fed8e5 added i128 integer support 2022-10-17 08:35:45 -04:00
rvcas 6e7ea45e11 fix: flip the cbor_hex if condition 2022-10-13 10:56:04 -04:00
rvcas da89e9902c feat: starting to get pretty error messages 2022-10-11 14:34:27 -04:00
rvcas 59d7b54473 feat: start integrating miette 2022-10-11 14:34:27 -04:00
rvcas 57dc50e3aa chore: temp allow dead code 2022-10-09 15:39:28 -04:00
rvcas 03d4a6f1e1 chore: rename 2022-10-09 15:39:28 -04:00
rvcas ff26db2245 feat: start project building 2022-10-09 15:39:28 -04:00
rvcas 2896b92203
Release 0.0.19
aiken@0.0.19
aiken-lang@0.0.19

Generated by cargo-workspaces
2022-10-04 17:10:21 -04:00
rvcas 6de41e64be feat: add simple check command 2022-10-04 17:09:43 -04:00
rvcas 6ef8ba5c35 feat: if expressions 2022-10-04 16:32:32 -04:00
rvcas dba82d544d feat: record update syntax 2022-10-04 16:32:32 -04:00
rvcas 3ad915cafd fix: list spread allowing no comma before spread 2022-10-04 16:32:32 -04:00
rvcas fb1ff759e1 feat: function calls and captures 2022-10-04 16:32:32 -04:00
rvcas 1b61f4b25b feat: field access 2022-10-04 16:32:32 -04:00
rvcas 34492f600c test: empty function definition 2022-10-04 16:32:32 -04:00
rvcas 512431d27f feat: anonymous functions 2022-10-04 16:32:32 -04:00
rvcas 695ac409b7 feat: assert and boolean negation 2022-10-04 16:32:32 -04:00
rvcas c7c11d1bd5 feat: finish when clauses 2022-10-04 16:32:32 -04:00
Kasey White 722dc4b477 work on adding when clause 2022-10-04 16:32:32 -04:00
Kasey White 118a5ac54e add some block parsing and a test (incomplete) 2022-10-04 16:32:32 -04:00
rvcas 4acb849f09 fix: include return type in one function def 2022-10-04 16:32:32 -04:00
rvcas 55f906482a feat: strip for release builds 2022-10-04 16:32:32 -04:00
rvcas c5450d37d5 chore: move lang tests to a submodule 2022-10-04 16:32:32 -04:00
rvcas 43b147a9e0 feat: lists and flatten sequences 2022-10-04 16:32:32 -04:00
rvcas 3208dab718 feat: finish parsing let bindings 2022-10-04 16:32:32 -04:00
Kasey White 3c5039134f attempt to parse let 2022-10-04 16:32:32 -04:00
Kasey White 60359ec9b0 add pipeline and logical ops to expr parsing
Co-authored-by: rvcas <x@rvcas.dev>
2022-10-04 16:32:32 -04:00
rvcas fff38e30d2 test: add more stuff to get successfully parsing 2022-10-04 16:32:32 -04:00
rvcas 8e3b32fe2c
Release 0.0.18
aiken@0.0.18
uplc@0.0.18

Generated by cargo-workspaces
2022-09-27 09:15:41 -04:00
rvcas 037297880c
Release 0.0.17
aiken@0.0.17
uplc@0.0.17

Generated by cargo-workspaces
2022-09-27 09:15:26 -04:00
rvcas 8f9481079c
Release 0.0.16
aiken@0.0.16
uplc@0.0.16

Generated by cargo-workspaces
2022-09-27 09:14:11 -04:00
alessandrokonrad f3b9d33f32 added deserialisation error to machine 2022-09-27 09:13:00 -04:00
rvcas 94bfc2846c
Release 0.0.17
aiken-lang@0.0.17

Generated by cargo-workspaces
2022-09-26 17:13:44 -04:00
rvcas 4c1b04e022
chore: add Cargo.toml fields 2022-09-26 17:13:30 -04:00
rvcas 65f39432fa
Release 0.0.16
aiken@0.0.16
aiken-lang@0.0.16

Generated by cargo-workspaces
2022-09-26 17:11:01 -04:00
Lucas 28553e3d03
Merge pull request #33 from txpipe/lang
Lang
2022-09-26 17:10:30 -04:00
rvcas 119a6f1e77
feat: use pretty assert 2022-09-26 17:04:54 -04:00
rvcas ae2866f784
Release 0.0.15
aiken@0.0.15
uplc@0.0.15

Generated by cargo-workspaces
2022-09-26 16:34:26 -04:00
alessandrokonrad 3256bfbc32 Wrapped errors in redeemer error 2022-09-26 16:33:52 -04:00
rvcas 81dd826ab8
Merge branch 'main' into lang 2022-09-26 11:15:02 -04:00
rvcas 4f26957806
feat: some expr with precendence parsing 2022-09-26 11:14:42 -04:00
rvcas e817b39e4c
Release 0.0.14
aiken@0.0.14
uplc@0.0.14

Generated by cargo-workspaces
2022-09-26 09:59:28 -04:00
alessandrokonrad 5ec991d83a fixed error handling in eval raw 2022-09-26 03:24:31 -04:00
rvcas c08f6a8454
Merge branch 'main' into lang 2022-09-25 17:44:20 -04:00
rvcas 25790287b7
Release 0.0.13
aiken@0.0.13
uplc@0.0.13

Generated by cargo-workspaces
2022-09-24 20:35:36 -04:00
rvcas 08596588a7
feat: output total budget spent from cli 2022-09-24 20:23:51 -04:00
rvcas 4166e27fd7
chore: v1 comments 2022-09-24 19:52:40 -04:00
rvcas 8620332b75
feat: move input from json to helper method 2022-09-24 19:40:07 -04:00
Kasey White 3cb24a1d00 update test mem and cpu assertions for eval tx tests 2022-09-24 18:19:18 -04:00
alessandrokonrad aa111f0a65 fixed slot 2022-09-25 00:01:01 +02:00
alessandrokonrad 35d09c642b fixed time conversion 2022-09-24 23:59:58 +02:00
alessandrokonrad fb0af3cfcf fixed bugs 2022-09-24 17:47:07 -04:00
alessandrokonrad 3eb4fb7523 fixed bugs 2022-09-24 23:09:55 +02:00
Kasey White ca2d8f0a1f ada policy is now empty and mintValue includes 0 ada 2022-09-24 15:47:51 -04:00
alessandrokonrad 99a27f6a3d new tests 2022-09-24 00:43:46 +02:00
Kasey White 3bb5826b91 change how mint gets converted to plutus data 2022-09-23 18:34:24 -04:00
Kasey White c45643bb01 empty bytestring should return 0 not 1 2022-09-23 04:09:28 -04:00
Kasey White 9b6d4e20c7 check exunits for eval tests 2022-09-22 03:13:30 -04:00
rvcas 2572ed6bbd
fix: remove BadTerm 2022-09-19 16:40:08 -04:00
alessandrokonrad 169fa05572 added ex units from haskell plc 2022-09-19 22:32:56 +02:00
alessandrokonrad 3e10fcbfbb changed example 4 to check 'False' 2022-09-19 22:15:31 +02:00
rvcas caa88dab12
fix: valid condition for a script 2022-09-19 16:00:25 -04:00
Kasey White 6ccd0aa2fb adding better debug for wrong term tag in uplc 2022-09-19 14:59:55 -04:00
alessandrokonrad 21d71e94b3 added more tests 2022-09-19 18:19:56 +02:00
alessandrokonrad f12540d8e2 fixed missing script test 2022-09-19 17:17:15 +02:00
rvcas 0ba8787b97
chore: clippy 2022-09-19 11:11:52 -04:00
rvcas f10e3836ad
feat: new error for bad term 2022-09-19 11:04:21 -04:00
alessandrokonrad 30ed8d9150 fixed initial_budget 2022-09-19 14:53:44 +02:00
alessandrokonrad ea735428dd fixed typos 2022-09-19 13:48:05 +02:00
alessandrokonrad 4a6496db3f Replaced unreachable statements with Error 2022-09-19 13:38:56 +02:00
alessandrokonrad 1148863a43 Allow to set initial budget 2022-09-19 12:02:41 +02:00
alessandrokonrad 83bac598de removed deprecated comment 2022-09-19 10:58:45 +02:00
alessandrokonrad d5f398bc5f Fixed output decoding for ResolvedInput 2022-09-19 10:50:25 +02:00
rvcas 6c34c9be19
feat: even more errors work 2022-09-19 01:05:33 -04:00
rvcas 9bab3187b1
feat: more errors 2022-09-19 00:39:52 -04:00
Harper 6e901de2f0
feat: implement script-related ledger checks for Tx Simulate (#57)
* feat: functions for extraneous/missing redeemers checks

* chore: typos

* feat: implement function to check for missing/extraneous scripts

* feat: check for missing/extraneous redeemers and scripts in eval_tx

* chore: add tests for missing/extraneous redeemers

* chore: remove duplicate file
2022-09-18 23:31:30 -04:00
rvcas 9e280f9cb5
feat: rename transaction eval and add error enum 2022-09-18 15:35:10 -04:00
rvcas 68fc0f643e
feat: add some v1 methods so that cost_mdls can be optional 2022-09-18 15:16:41 -04:00
Kasey White dac25b6f41 fix cpu mem mix up on steps 2022-09-18 04:15:30 -04:00
alessandrokonrad 6619a0e431 moved cost_mdls language determination into eval_redeemer 2022-09-18 09:37:14 +02:00
Kasey White 472cea6c41 parameratize cost model 2022-09-17 21:12:48 -04:00
alessandrokonrad d426f4922f added eval_tx_raw 2022-09-16 17:13:42 +02:00
Kasey White 02a8a34fe8 expose tx simulation with simulate cli command 2022-09-16 04:35:20 -04:00
Kasey White 3f27bd9f13 move utils to uplc and break up 2022-09-16 04:00:29 -04:00
rvcas ddf3cdb6ec
chore: use alpha 3 instead of main 2022-09-15 11:29:08 -04:00
rvcas 26deb6df10
fix: it compiles again 2022-09-15 11:27:33 -04:00
rvcas 348ed3b719
fix: changes from pallas bump
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-09-14 22:00:52 -04:00
rvcas 336af376e1
chore: bump pallas version 2022-09-14 18:52:42 -04:00
alessandrokonrad 806d98e5fc
added error messages to execution purpose 2022-09-14 18:52:05 -04:00
alessandrokonrad fc92c40c3c
fixed typo 2022-09-14 18:52:05 -04:00
alessandrokonrad 2bd46f90bb
error statemens after program 2022-09-14 18:52:05 -04:00
alessandrokonrad 829d959fa3
more error statements 2022-09-14 18:52:05 -04:00
alessandrokonrad a408491e41
added error messages 2022-09-14 18:52:05 -04:00
alessandrokonrad be8daa00dd
added plutusV1 test 2022-09-14 18:52:04 -04:00
alessandrokonrad 6e4ff1e282
added plutusV1 2022-09-14 18:52:04 -04:00
alessandrokonrad d9b34973c7
fixed constructor tags 2022-09-14 18:52:04 -04:00
alessandrokonrad 61bf55e151
added example 2022-09-14 18:52:04 -04:00
alessandrokonrad eb1466d269
fixed budget calc 2022-09-14 18:52:04 -04:00
alessandrokonrad fa6520e585
added full evaluation; still fails because hashes mismatch regarding pallas 2022-09-14 18:52:04 -04:00
alessandrokonrad 76d326b9ac
completed execution part 2022-09-14 18:52:04 -04:00
alessandrokonrad b1b9d3a5d4
preliminary work on execution 2022-09-14 18:52:04 -04:00
alessandrokonrad 080985b7c6
more bug fixes 2022-09-14 18:52:04 -04:00
alessandrokonrad 33c2a25fa3
bit more refactoring 2022-09-14 18:52:03 -04:00
alessandrokonrad ec63bd2365
fixed bugs in conversion to plutus data; little refactoring 2022-09-14 18:52:03 -04:00
alessandrokonrad f0d17897ab
fixed bug in tx_in_info 2022-09-14 18:52:03 -04:00
alessandrokonrad ecd363e67d
fixed bugs; preliminary work on eval 2022-09-14 18:52:03 -04:00
alessandrokonrad 4060a25324
fixed bugs 2022-09-14 18:52:03 -04:00
alessandrokonrad 24397d4b58
fixed time range 2022-09-14 18:52:03 -04:00