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
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
Kasey White
c03d3e3604
fix budget restriction back to protocol params ( #39 )
2022-08-21 16:52:31 -04:00
rvcas
2b27261711
Release 0.0.9
...
aiken@0.0.9
uplc@0.0.9
Generated by cargo-workspaces
2022-08-17 22:48:06 -04:00
rvcas
8ed87c5f17
chore: fix clippy issues
2022-08-17 22:40:32 -04:00
Kasey White
2bb482d9ec
Using rc we now get code that runs much faster and
...
can run jpg contract with no inputs
2022-08-17 22:40:32 -04:00
Kasey White
fb81955f51
start changing machine to use rc instead of box (does compile)
2022-08-17 22:40:32 -04:00
Kasey White
c050a5647f
remove some unnecessary clones with more optimizations to come
2022-08-17 22:40:32 -04:00
rvcas
c3f0814c9b
Release 0.0.8
...
aiken@0.0.8
uplc@0.0.8
Generated by cargo-workspaces
2022-08-12 19:45:20 -04:00
Kasey White
f3ace55355
Implement more builtins for bytestring and integer
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-08-10 12:23:34 -04:00
Kasey White
11ee99c199
Add several builtins for strings and bytestring
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-08-07 22:21:58 -04:00
rvcas
4d04942a5e
Release 0.0.7
...
aiken@0.0.7
flat-rs@0.0.7
uplc@0.0.7
Generated by cargo-workspaces
2022-08-05 13:15:26 -04:00
rvcas
b83394be74
feat: decode proto list and proto pair
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-08-05 00:38:41 -04:00
rvcas
e8f783e7bb
feat: decode plutus data
2022-08-05 00:38:41 -04:00
rvcas
fa3c88a31e
feat: add from_cbor and from_hex
2022-08-05 00:38:41 -04:00
rvcas
e6be899b2a
feat: fill in encode constant todos
2022-08-05 00:38:41 -04:00
rvcas
61b70e7e3d
feat: encode plutus data
2022-08-05 00:38:41 -04:00
Kasey White
d14920265e
flat encoding for list and pairs
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-08-05 00:38:41 -04:00
rvcas
198dae7f5d
feat: impl display for Program and Term where T: Binder
2022-08-05 00:38:41 -04:00
rvcas
e70881c27c
feat: add some missing enum members to constant
2022-08-05 00:38:41 -04:00
rvcas
8e8f1270b5
feat: to_cbor and to_hex for Program
2022-08-03 17:17:15 -04:00
rvcas
339e638705
feat: impl eval for Program<DeBruijn>
2022-08-02 19:04:25 -04:00
rvcas
207f9e5ab0
Release 0.0.6
...
aiken@0.0.6
flat-rs@0.0.6
uplc@0.0.6
Generated by cargo-workspaces
2022-08-02 14:04:30 -04:00
Kasey White
a3a175d74b
switch to stack model for plutus eval
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-28 02:48:08 -04:00
Kasey White
4acbd704e0
fix compilation issue
2022-07-27 11:27:27 -04:00
Kasey White
234ab7c7cb
Try out recursion for environment and frames
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-27 11:27:27 -04:00
Kasey White
be38d1eebe
fix fmt error
2022-07-24 19:58:20 -04:00
Kasey White
2552a9c203
Finish docs for decoder
2022-07-24 19:58:20 -04:00
Kasey White
ac3ab5b47a
chore: start decoding docs and fix wording for encode docs
2022-07-24 19:58:20 -04:00
Kasey White
3aaec0936d
chore: create docs for encoding
2022-07-24 19:58:20 -04:00
Kasey White
b3cb9c4510
use expect instead of unwrap
2022-07-24 19:51:57 -04:00
rvcas
2a85567154
chore: clippy
2022-07-24 19:51:57 -04:00
rvcas
9e62181caa
feat: new Error not a constant
2022-07-24 19:51:57 -04:00
rvcas
77a7b11467
feat: finish to_ex_mem for constant
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
rvcas
f332dfeb38
feat: 3 new error cases and more generic pretty printing
2022-07-24 19:51:57 -04:00
Kasey White
598c5364fe
implement force for builtins
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
22f90bf07f
feat: impl ifThenElse kinda
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
rvcas
83b9294ac1
chore: print runtime
2022-07-24 19:51:57 -04:00
rvcas
b7e6f7b27f
feat: add default builtin costs
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
9f977f7e58
add costing capability for builtins
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
84df3be139
start filling in builtin cost model
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
a5140513de
fix: debruijn index - 1
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
d55409d8c5
feat: basic builtin execution
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
9ea57aa461
Add some runtime types
2022-07-24 19:51:57 -04:00
Kasey White
045dc8fed8
add builtin cost model
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
e8aa013aa4
chore: set to zero in spend loop
2022-07-24 19:51:57 -04:00
Kasey White
93f7849fc0
Finish machine evaluation for all terms except builtin
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
0e2214a908
Implement apply evaluate
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
650a789194
chore: step and maybe spend
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
0bf93e59b5
add evaluation for terms
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
795d9ee028
feat: clean up the machine a bit
2022-07-24 19:51:57 -04:00
Kasey White
de476c801b
Add costing to steps
2022-07-24 19:51:57 -04:00
Kasey White
7b8018447f
create initial enums and function of the UPLC cek interpreter
2022-07-24 19:51:57 -04:00
MitchTurner
0ea42ab7e7
Remove commented code related to closed story ( #23 )
...
Co-authored-by: Turner <mitch@tpfs.io>
2022-07-10 12:32:36 -07:00
MitchTurner
ada7b00b49
Expand builder ( #20 )
...
* Add bool method
* Add proptest
* Add some more consts and stuff
* Refactor Lambda stuff out
* REfactor
* Convert bytestring test to prop test
* Add string constant
* Add char stuff, despite it not being ready
* Add unit
* Add var
* Add delay
* Add apply
* Add force
* Add error
* Add builtin
* Add example, remove feature
* Rename some stuff
Co-authored-by: Turner <mitch@tpfs.io>
2022-07-01 20:50:58 -07:00
Turner
7f70ae0f74
Remove experimentation in features
2022-06-29 14:02:57 -04:00
Turner
a238dc58a6
Move program builder to uplc crate
2022-06-29 14:02:57 -04:00
Turner
f8aae49fce
Appease Clippy-sama
2022-06-29 14:02:57 -04:00
Turner
6748395d9e
Remove TODOs
2022-06-29 14:02:57 -04:00
Turner
35bdd542f1
Add test for nested lambdas
2022-06-29 14:02:57 -04:00
Turner
888e64d485
Refactor Lambda too
2022-06-29 14:02:57 -04:00
Turner
c7dfd01a5e
Refactor
2022-06-29 14:02:57 -04:00
Turner
41a7b73877
Add test for lambda and some edge cases for constant
2022-06-29 14:02:57 -04:00
Turner
e667fc3613
Add passing tests for builder
2022-06-29 14:02:57 -04:00
rvcas
4db39c8790
Release 0.0.5
...
aiken@0.0.5
uplc@0.0.5
Generated by cargo-workspaces
2022-06-27 11:46:21 -04:00
Kasey White
302da5e20d
Fix clippy warning
2022-06-26 21:38:27 -04:00
Kasey White
4eafdd2d39
fix issue with same names causing 0 index debruijn for var
2022-06-26 21:38:27 -04:00
Turner
027daf30ea
Add TODO for failing test with link to bug
2022-06-26 19:03:17 -04:00
Turner
19fd6a0e8c
Add comment explaining why that test is only one-way
2022-06-26 19:03:17 -04:00
Turner
1b00e4d416
Sanitize fibonacci program to make round-trip tests happy, isolate unsanitary code
2022-06-26 19:03:17 -04:00
Turner
787f345275
Add new uplc case to test, it is failing
2022-06-26 19:03:17 -04:00
Turner
5ba7349f4a
Refactor tests, move them into integ folder
2022-06-26 19:03:17 -04:00
rvcas
38e78cafeb
chore: readmes in uplc and cli
2022-06-18 23:15:05 -04:00
rvcas
0dd5cf2cb6
Release 0.0.4
...
aiken@0.0.4
Generated by cargo-workspaces
2022-06-18 23:06:15 -04:00
rvcas
7129ad6202
feat: remove authors from cli help
2022-06-18 23:06:05 -04:00
rvcas
5bd848b0b8
Release 0.0.3
...
aiken@0.0.3
uplc@0.0.3
Generated by cargo-workspaces
2022-06-18 22:55:04 -04:00
rvcas
6aae184848
feat: new fmt command and pretty printing works
2022-06-18 22:54:26 -04:00
rvcas
6a39d4349a
feat: everything lines up
2022-06-18 22:54:26 -04:00
Kasey White
d18ac475d1
modification to pretty printing for constants and nesting
2022-06-18 22:54:26 -04:00
rvcas
672c7037f6
fix: add new assert
2022-06-18 22:54:26 -04:00
rvcas
7e86a71772
feat: more pretty printing logic
2022-06-18 22:54:26 -04:00
rvcas
5a6ba40557
feat: start pretty printing
2022-06-18 22:54:26 -04:00
rvcas
cbea795f68
feat: only need to compare unique and index
2022-06-17 15:39:31 -04:00
rvcas
b8c5c268d4
feat: add conversion to tests
2022-06-16 16:54:34 -04:00
rvcas
59a8f6477b
feat: convet a named debruijn to a name
2022-06-15 20:12:12 -04:00
rvcas
7693da4bbf
Release 0.0.2
...
aiken@0.0.2
Generated by cargo-workspaces
2022-06-14 19:16:18 -04:00
rvcas
f8284ebaa0
chore: reset aiken version
2022-06-14 19:15:59 -04:00
rvcas
8d12332fa8
chore: version for uplc dep
2022-06-14 19:14:13 -04:00
rvcas
575585205b
Release 0.0.2
...
aiken@0.0.2
flat-rs@0.0.2
uplc@0.0.2
Generated by cargo-workspaces
2022-06-14 19:12:46 -04:00
rvcas
f7fba12a5f
chore: flat is taken in crates.io
2022-06-14 19:11:00 -04:00
rvcas
f511dce353
chore
2022-06-14 18:55:59 -04:00
rvcas
c210803adf
chore: add package description
2022-06-14 18:51:25 -04:00
rvcas
969cc80abf
chore: prepare to publish
2022-06-14 18:46:18 -04:00
rvcas
dc4246244d
chore: document somethings
2022-06-14 17:27:27 -04:00
rvcas
984c253f31
feat: rename to aiken and add e2e tests for uplc
2022-06-11 23:22:24 -04:00
Kasey White
1ef116fcda
fix: parse negative numbers and empty bytestrings
2022-06-10 17:23:36 -04:00
rvcas
2afded2d27
fix: builtin parsing
2022-06-10 11:48:46 -04:00
rvcas
b05f0846a8
fix: moving to a parser that can handle left recursion
2022-06-10 01:55:28 -04:00
rvcas
86089b4bee
fix: different attempt
2022-06-09 00:44:52 -04:00
rvcas
474df4a3ae
fix: different attempt
2022-06-08 23:22:34 -04:00
rvcas
74df7f8a7c
fix: potential fix for left recursion
2022-06-08 22:21:22 -04:00
rvcas
1c8f3a736b
feat: new uplc parser
2022-06-08 21:51:04 -04:00
Kasey White
33fcb77681
fix: put byte_array final pos incrementer in wrong scope
2022-06-08 15:42:58 -04:00
Kasey White
be477917f2
fix: fixed edge cases to get flat encode and decode working with stress test case
2022-06-08 03:33:09 -04:00
rvcas
21d713ece3
feat: change term parsing order
2022-06-07 22:02:20 -04:00
rvcas
b47030b86d
feat: better clap commands
2022-06-06 23:55:01 -04:00
Kasey White
895f279be0
fix: parser fixes for spacing
2022-06-06 23:28:36 -04:00
rvcas
60a920a0ac
fix: more subtle things
2022-06-06 22:51:09 -04:00
rvcas
4c45c95620
fix: var parsing
2022-06-06 22:40:15 -04:00
rvcas
d4251206e7
feat: fake named debruijn
2022-06-05 22:47:04 -04:00
rvcas
349364d867
chore: builtins implement Copy
2022-06-04 14:06:46 -04:00
rvcas
1ecd47a361
feat: clean up errors
2022-06-04 14:01:45 -04:00
rvcas
377c5c206c
feat: better errors for debruijn converter
2022-06-04 12:16:56 -04:00
rvcas
2f51b23e7e
feat: debruijn conversions and binder
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-06-04 11:15:34 -04:00
rvcas
2ad630de90
feat: use a stack for scope
2022-06-04 00:29:30 -04:00
rvcas
946937f945
feat: more debruijn stuff
2022-06-03 22:00:16 -04:00
rvcas
f8edb5d519
feat: start debruijn conversion
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-06-03 00:36:39 -04:00
rvcas
83d6b5243e
feat: get program ready for debruijn
2022-06-02 21:39:09 -04:00
rvcas
c7037ff8d9
feat: get string interning working
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-06-01 01:11:30 -04:00
Kasey White
581b8fc85d
feat: flat tweaks and string interning
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-31 22:57:55 -04:00
rvcas
31e7d63d9a
chore: use ref to get slice
2022-05-30 18:26:49 -04:00
rvcas
3f1ddef635
chore: slight clean up
2022-05-30 18:05:50 -04:00
Kasey White
83a784c745
add simple test for decoding
2022-05-30 17:12:32 -04:00
Kasey White
d4b659c04e
feat: finish up most of decoding (integer, decodeListWith, Term, Program, Version, Constant, Builtin)
2022-05-30 16:49:43 -04:00
rvcas
bf3b984405
fix: add back the decoder lifetime
2022-05-30 10:49:23 -04:00
Kasey White
4fb508e3b2
Add decoding for bytestring, string, char, bool, and filler
2022-05-30 02:32:39 -04:00
rvcas
9d8afee3d2
chore: impl todo for filler decode
2022-05-29 21:53:13 -04:00
rvcas
0a476d0592
feat: prepare decoding traits and make new Flat trait
2022-05-28 20:12:03 -04:00
Kasey White
41487733f7
feat: builtin encoding
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-28 00:23:34 -04:00
Kasey White
c01469ea51
feat: spec complaint program encoding
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-27 22:37:08 -04:00
Kasey White
2e130ac5f0
add integer based on plutus core manual information
2022-05-24 04:55:10 -04:00
rvcas
b345afd12f
feat: we're flat encoding plutus core
2022-05-23 12:45:13 -04:00
Kasey White
344620136f
use encode_list_with with safe_encode_bits func
2022-05-23 12:20:04 -04:00
Kasey White
c38da6426f
implement encode_constant and add term tags for encoding
2022-05-23 02:22:37 -04:00
Kasey White
52f9f5ab41
feat: start on encoding constants with Flat Encoder
2022-05-22 20:29:59 -04:00
Kasey White
fdfaf91bcf
feat: create encoding for char, string, byte array
2022-05-22 18:16:42 -04:00
rvcas
52523516fe
feat: u8
2022-05-22 12:56:28 -04:00
rvcas
33fee5b3e0
chore: switch to a mono repo
2022-05-22 12:40:52 -04:00