microproofs
6b04a78e78
Removing unneeded Air terms and reduce by about 800 lines
2024-11-01 19:34:54 -04:00
microproofs
1bc15f78ea
Finished up remaining touches to the implementation. Now I need to finish unit tests and add a few more
2024-11-01 19:34:54 -04:00
microproofs
27bf40260e
Fix pairs not being unwrapped when wrapped as fields
2024-11-01 19:34:53 -04:00
microproofs
6e94d502a7
Fix more tests and issues
2024-11-01 19:34:53 -04:00
microproofs
7655a6ecbe
Fix test issues
2024-11-01 19:34:52 -04:00
microproofs
b4d142ca9d
Fix assigns sometimes having free uniques
2024-11-01 19:34:52 -04:00
microproofs
fa203ba9a2
Done with list pattern translation. Now to fix up tests
2024-11-01 19:34:52 -04:00
microproofs
8591bedc1e
Finish up list pattern translation to air
2024-11-01 19:34:52 -04:00
microproofs
1a15440d24
Checkpoint for today
2024-11-01 19:34:52 -04:00
microproofs
9dbe66bc0c
Producing uplc now. Just need to finish ListSwitch
2024-11-01 19:34:51 -04:00
microproofs
342676f530
Continue work on integrating the decision tree into code gen
2024-11-01 19:34:51 -04:00
microproofs
61184fbb86
Use Stick breaking set to track previously encountered values for each DecisionTree switch case
2024-11-01 19:34:51 -04:00
microproofs
5eac774443
Commit latest changes so far
2024-11-01 19:34:50 -04: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
microproofs
5fd349f571
Remove an unused opcode
2024-10-08 20:32:56 -04: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
5fe6e3f77b
Finish simplification changes
2024-10-01 15:57:54 -04:00
microproofs
c6c5cddead
Fix ordering of params on standard functions
2024-10-01 13:32:27 -04:00
microproofs
2bbc699a25
Refactor some code to make a define_const AirTree function
2024-10-01 13:32:27 -04:00
microproofs
18e79db4b2
Fix edge case with traces off and usage of softcast and hardcast on the same type
2024-09-19 22:29:19 -04:00
microproofs
16e222e997
Clippy fixes
2024-09-12 19:34:40 -04:00
microproofs
3f2de2665d
Clippy fixes
2024-09-12 19:13:31 -04:00
microproofs
362ca2544f
Fixed remaining issue when all parameters passed in to a recursive function were static.
...
Also fixed issue where modifying the calls in the airtree lead to an out of bounds index.
2024-09-12 17:03:48 -04:00
microproofs
30e66be568
Fix soft casting case
2024-09-12 17:03:48 -04:00
microproofs
49ef3a740c
Cargo tests now pass
2024-09-12 17:03:48 -04:00
microproofs
7c52094b15
Making progress on using interning in gen_uplc
...
Done interning for uniqueness. Now to fix the static optimization
Remove unused function
Fixing issues. Have a few remaining tests
2024-09-12 17:03:36 -04:00
microproofs
2be76d7cda
Use Delay error directly when casting from data without traces
2024-09-03 16:21:53 -04:00
KtorZ
53af366b59
Ensure uniqueness of intermediate variables in expect_type_assign
...
For recursive structures like Tuples, the span itself isn't enough to
ensure uniqueness of elements (in particular tuples) holding elements
of the same type.
2024-09-01 18:10:15 +02:00
KtorZ
ef89691331
Ensure code-gen's Program version/semantic matches Plutus version
2024-08-30 14:45:02 +02:00
microproofs
e772ff1787
Missed some zero parameter check
2024-08-29 16:30:30 +02:00
microproofs
f674f9ee97
hoist functions to super constants too
2024-08-29 16:24:14 +02:00
KtorZ
cd0a9440e8
Allow any expression as constants
...
This is only a start. It compiles, but with a few TODOs left open. In particular, it doesn't currently handle constants depending on other constants or functions; nor does it hoist constants.
2024-08-29 16:24:12 +02:00
KtorZ
0510ca58f7
Implement record access syntax for validator handlers.
...
This is a little trick which detects record access and replace them
with a simple var. The var itself is the validator handler name,
though since it contains dots, it cannot be referred to by users
explicitly. Yet fundamentally, it is semantically equivalent to just
calling the function by its name.
Note that this commit also removes the weird backdoor for allowing
importing validators in modules starting with `tests`. Allowing
validators handler to be used in importable module requires more work
and is arguably useful; so we will wait until someone complain and
reconsider the proper way to do it.
2024-08-27 17:16:15 +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
KtorZ
442010d056
Fix generation of fallback validator
...
This must only happen in case all other validator succeed; otherwise
we might generate invalid validators.
2024-08-25 16:20:08 +02:00
KtorZ
f9acbd3bcb
DRY handlers generation from validator
2024-08-25 16:20:07 +02:00
KtorZ
6a6bf6f65f
Handle (though discard) first script purpose argument of publish and propose.
2024-08-25 16:20:07 +02:00
KtorZ
fe205e360f
Update remaining script context e2e tests.
2024-08-25 16:20:06 +02:00
KtorZ
7ec3f2e8df
DRY builtins types creation to ensure proper consistency.
2024-08-25 16:20:06 +02:00
rvcas
5b61a75088
feat: handler withdraw purpose
2024-08-25 16:20:06 +02:00
microproofs
f86d550ca0
Fix type for mint scriptinfo
2024-08-25 16:20:06 +02:00
rvcas
b9456b5946
fix: wrap_validator_condition needs to happen earlier
2024-08-25 16:20:05 +02:00
rvcas
79099675d4
fix: free unique on purpose arg
2024-08-25 16:20:05 +02:00
KtorZ
972e9bd763
Define ScriptPurpose & ScriptContext types in prelude, fix codegen new v3 wrapper.
2024-08-25 16:20:04 +02:00
rvcas
7f26db401c
feat: handler implicit some and none
2024-08-25 16:20:03 +02:00
rvcas
0d8d80e5a7
feat: transform TypedValidator in a function of handlers
2024-08-25 16:20:03 +02:00
microproofs
0800901135
Fix clippy
2024-08-08 00:39:44 -04:00
microproofs
51fd503317
warning fix
2024-08-08 00:39:44 -04:00
microproofs
0a1992acd2
Run acceptance tests
2024-08-08 00:39:44 -04:00