Commit Graph

96 Commits

Author SHA1 Message Date
rvcas 824431371e feat: centralize some Cargo.toml configs at root and upgrade to edition 2024 2025-03-23 21:46:13 -04:00
Pi Lanningham ec6f1f84e2 fix: formatting 2025-02-17 19:58:26 -05:00
Pi Lanningham 17a75d2481 Return an EvalResult alongside the redeemer
This refactors things so that eval_phase_two can expose logs even when the script succeeds.

It also enriches traces to be either Logs or Labels, so that we can tell the difference between the two when inspecting the traces.
2025-02-17 19:58:26 -05:00
microproofs c382e6fba8 Add a debug flag for uplc eval 2025-02-09 08:39:38 -05:00
microproofs ebc7d89d5d
Comment out ExpModInteger since it's not live on testnets yet 2024-12-08 14:29:58 +07:00
KtorZ 1105dbf3c6
enable new builtins (*with gotcha)
We still need to adjust the writeBits one to work around its list<int> argument.
2024-12-07 15:43:38 +01:00
microproofs ddc58b9a65
Cargo fmt fix 2024-12-07 12:30:14 +07:00
microproofs 4d7a24234b
Clippy fix 2024-12-07 12:27:35 +07:00
microproofs 5f1f37919f
Passing conformance tests 2024-12-07 12:23:22 +07:00
microproofs a1804863dc
Remaining builtin 2024-12-06 12:17:48 +07:00
microproofs b507992172
Clippy fix 2024-12-06 11:43:05 +07: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
microproofs 91d4ecc350
Unused import 2024-12-05 11:03:42 +07:00
microproofs 9867de38b6
A few more left to finish 2024-12-05 11:03:41 +07:00
microproofs c3b6bc5bff
Implementation of a few more of the new builtins 2024-12-05 11:03:41 +07:00
microproofs 4839273449
Continue working on new builtin cost model updates 2024-12-05 11:03:41 +07:00
microproofs befbb6ec18
Start adding implementation for new builtins 2024-12-05 11:03:41 +07:00
KtorZ b5047d623a
Update to pallas=0.31.0 2024-11-19 14:53:36 +01:00
KtorZ 365b3bf5bf
Remove dead-code and clarify note. 2024-10-19 11:00:46 +02:00
microproofs 53685dd1d5
Update cost model to properly calculate integer_to_bytearray
Also fix conformance tests to match plutus
2024-10-18 13:07:51 -04:00
microproofs 9dd3ead3df
IntegerToByteString takes in the second param itself 2024-10-17 20:01:01 -04:00
KtorZ 42784965d2
Implement new costing function for {divide,quotient,mod,remainder}_integer
As well as fixing a couple of other issues thanks to conformance
  tests. Some functions like multiply_integer or verify_ed25519_signature
  have also slightly changed their costing function.
2024-08-14 02:50:05 +02:00
KtorZ 846c16087e Test (and fix) unwrap_or helpers. 2024-08-08 00:39:44 -04:00
KtorZ 643e43f8aa Fix zero-arg builtins invokations.
There are currently two zero-arg builtins:

  - mkNilData
  - mkNilPairData

  And while they have strictly speaking no arguments, the VM still
  requires that they are called with an extra unit argument applied.
2024-08-02 00:17:16 -04:00
hade ad3c9f24b7
chore: minimal pallas dependencies 2024-05-30 15:09:05 +07:00
rvcas e28b0df840
fix: add v3 mapping for builtin semantics relates to #907 2024-05-21 17:06:18 -04:00
rvcas 3bc3792aa3
feat: add plutus version to aiken.toml
relates to #907
2024-05-21 17:02:20 -04:00
rvcas a15fead982 chore: remove unused import 2024-02-20 13:05:28 -05:00
rvcas 028528899c feat(runtime): implement byteStringToInteger and add conformance tests 2024-02-20 13:05:28 -05:00
rvcas da6e5ec6d1 feat: implement integerToByteString
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2024-02-20 13:05:28 -05:00
rvcas 70d4d7fdeb feat(runtime): add force count and arity for integerToByteString and byteStringToInteger 2024-02-20 13:05:28 -05:00
rvcas 589bb9a4b3
chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
Niels Mündler cda1716d47 Unify construction of PlutusData objects from int + fields 2024-01-13 13:23:58 -05:00
microproofs 4a8fecb70a fix: satisfy clippy's demands 2024-01-11 14:53:02 -05:00
rvcas 0382e5ce12
chore: this comment doesn't make sense 2023-11-17 18:41:28 -05:00
rvcas df992cba67 chore: remove check_type 2023-11-17 13:58:13 -05:00
rvcas 9ab458dcc6 feat: delay typemismatch errors in the machine runtime
to pass 2 of the conformance tests, we need to make sure
that we aren't typechecking builtin arguments as arguments
are applied. This switches push to by removing the call to check_type
and then reworking all the associated unwrap methods on Value
so that they return the same errors that were being returned before.
2023-11-17 13:58:13 -05:00
rvcas 90aea6476a feat: uplc g1 and g2 literal parsing 2023-11-15 15:55:56 -05:00
microproofs 18db1c394a feat: Implemented builtin semantic versioning
feat: impl flat serialization and deserialization for bls constants
feat: started on cost models for the new builtins

Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
rvcas f101581813 feat(bls): pretty printing for g1 and g1 element
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-11-15 15:55:56 -05:00
microproofs 0d2ac952d0 feat: implemented the Bls381-12 builtins and types
also implemented Keccak256 and Blake2b_224

TODO: cost model, flat serialization, pretty

Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
Pi Lanningham f464eb3702 Cargo fmt + clippy, with latest rust 2023-08-07 19:00:39 -04:00
rvcas 1fb31e246c
fix: better conditional comp for wasm 2023-05-11 16:59:54 -04:00
rvcas e3f2fb5393
fix: need to return deserialization error here 2023-04-17 10:50:40 -04:00
microproofs 564939ab61 feat
* remove more Rc's
* reconstruct Value::Builtin only when needed

Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-04-13 01:28:27 -04:00
rvcas 70f12d3fc5 chore: new branch with some things from the bumpalo branch 2023-04-13 01:28:27 -04:00
Kasey White e92d9af3c2 fix: changed how list_access_to_uplc handles discards fixing unit test 55
Also fix incorrect error message in runtime in machine
2023-02-11 04:30:18 -05:00
rvcas c1d67e95e1
feat: fix errors and add tests for BigInt changes 2023-02-09 15:01:30 -05:00
alessandrokonrad 221f1afbfe
Changed imports 2023-02-08 16:28:59 +01:00
alessandrokonrad 74b3507777
Added tag/constructor conversion tests 2023-02-08 16:26:58 +01:00