Commit Graph

386 Commits

Author SHA1 Message Date
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
alessandrokonrad 57816d4c09
added get script purpose 2022-09-14 18:52:03 -04:00
alessandrokonrad 8b894f7351
added functions to get script context 2022-09-14 18:52:03 -04:00
alessandrokonrad c0c7bd58b3
added all necessary trait impl for PlutusV2 scriptContext 2022-09-14 18:52:02 -04:00
alessandrokonrad 4e51826981
added more implementations for ToPlutusData 2022-09-14 18:52:02 -04:00
alessandrokonrad 60d7c52c26
added some structs; added ToPlutusData 2022-09-14 18:52:01 -04:00
rvcas bc983d694a
feat: some cbor hex flags for flat and unflat 2022-09-14 18:51:38 -04:00
rvcas da73995124
fix: resolved inputs should be a flag 2022-09-14 18:51:38 -04:00
Harper d8cdeaf925
ouput (#51) 2022-09-14 18:51:38 -04:00
rvcas 564cd41626
chore: clean up tx in info 2022-09-14 18:51:37 -04:00
Kasey White d5f8b749ae
add txininfo plutus data to main 2022-09-14 18:51:36 -04:00
rvcas cf27c0c755
feat: apply redeemers and datum to script 2022-09-14 18:51:08 -04:00
rvcas c9072deb09
feat: print some info 2022-09-14 18:50:11 -04:00
rvcas 055ca5c66b
feat: add a new subcommand for tx simulation 2022-09-14 18:50:05 -04:00
rvcas 4615132b05
Release 0.0.12
aiken@0.0.12
uplc@0.0.12

Generated by cargo-workspaces
2022-09-08 18:22:46 -04:00
Lucas 6d6f671f4f
eval with inputs (#56) 2022-09-08 18:20:52 -04:00
Niels Mündler 739f38beac
UPLC data parsing support by CBOR notation (#37)
* Implement constant data parsing support

New notation: (con data #0000)
Where #0000 is the CBOR hex representation of a PlutusDatum

* Add pretty printing support for data

* Format
2022-09-08 16:10:12 -04:00
rvcas d54aaff5de
feat: fill in expr unit parser a bit 2022-09-07 17:53:07 -04:00
rvcas 59a9bac9b5
feat: finish expr_seq_parser 2022-09-07 17:52:49 -04:00
rvcas 3bc507c9e8
feat: beginnings of expr parsing 2022-09-07 17:52:49 -04:00
rvcas d87bb17a27
feat: type aliases and some fn parsing 2022-09-07 17:52:49 -04:00
rvcas fbc9b27efe
feat: parse custom types 2022-09-07 17:52:49 -04:00
rvcas 1d1a6fc404
feat: parse imports 2022-09-07 17:52:49 -04:00
rvcas 1d6809661c
feat: lexer 2022-09-07 17:52:49 -04:00
rvcas 208f2e80ea
feat: more ast elements and some sample syntax 2022-09-07 17:52:48 -04:00
rvcas 35143f1544
feat: add the ast module 2022-09-07 17:52:48 -04:00
rvcas fd17605e4d
feat: add deps 2022-09-07 17:52:46 -04:00
rvcas e74eace15c
chore: init lang crate 2022-09-07 17:52:18 -04:00
rvcas db5695a1c4
Release 0.0.11
aiken@0.0.11
uplc@0.0.11

Generated by cargo-workspaces
2022-09-07 17:49:27 -04:00
rvcas 4d742b5b47
chore: fix formatting 2022-09-06 15:45:08 -04:00
Niels Mündler 9b491b3777 Print machine logs (debug trace)
This may be made optional with a --verbose flag, but usually the user wants to see all invocations of the Trace command
2022-09-06 15:44:23 -04:00
Kasey White c88e5df8b1 finish up builtin implementations for Vasil 2022-08-30 18:15:50 -04:00
Kasey White 2d1f147d40 remove extra dependencies and return result for data encode/decode 2022-08-29 14:07:13 -04:00
Kasey White 65b133251a change pretty vars and handle larger range of cbor tags 2022-08-29 14:07:13 -04:00
Kasey White 833914c80c done with data builtins 2022-08-29 14:07:13 -04:00
Kasey White 368cd4ad55 one more data builtin to go 2022-08-29 14:07:13 -04:00
Kasey White 00cc9f93d5 start making data with builtins 2022-08-29 14:07:13 -04:00
Kasey White 1a09a34873 mknil builtins 2022-08-29 14:07:13 -04:00
Kasey White c34344ce21 add a few additional data builtins 2022-08-29 14:07:13 -04:00
Kasey White c9c8e6e554 add unmap and other builtins to deconstruct data 2022-08-29 14:07:13 -04:00
Kasey White 73e367ad53 add a data builtin and do ex_mem for pairs, list, data 2022-08-29 14:07:13 -04:00
rvcas 45e22c1ea8
Release 0.0.10
aiken@0.0.10
flat-rs@0.0.10
uplc@0.0.10

Generated by cargo-workspaces
2022-08-27 16:45:04 -04:00
zypeh 03847259f7 Removing whitespace 2022-08-27 10:59:48 -04:00
zypeh b474abdb9b Rewrite test in proptest, remove quickcheck dep 2022-08-27 10:59:48 -04:00
Kasey White 8eb2d24704 fix clippy check 2022-08-25 19:36:03 -04:00
zypeh aeae9aa51e zigzag zagzig 2022-08-25 19:36:03 -04:00
zypeh b81986c44c Adding more tests 2022-08-25 19:36:03 -04:00
zypeh ef81427b62 Fixed bug if byte array exceed 255 bytes 2022-08-25 19:36:03 -04:00
zypeh 10461779af Moved the test and use compiler specific function 2022-08-25 19:36:03 -04:00
zypeh 7cff93e718 Code linting 2022-08-25 19:36:03 -04:00
zypeh 40fd4ae447 Adding test cover the write_blk encode function 2022-08-25 19:36:03 -04:00
zypeh 9ded4d79d5 Move test to tests directory 2022-08-25 19:36:03 -04:00
zypeh f997a6250c Eliminate the recursive call 2022-08-25 19:36:03 -04:00
Kasey White 09ae98065c remaining buitlins for list and integer
Co-authored-by: rvcas <x@rvcas.dev>
2022-08-24 00:06:17 -04:00
Kasey White 3f6ad6be60 verify signature changed name and cost 2022-08-24 00:06:17 -04:00