rvcas
d698f76e3c
fix(codegen): builtin calls for g1 and g2 where flipped
...
closes #840
2024-02-29 12:13:51 -05:00
rvcas
d18caaeecb
feat(cli): support mainnet address output
...
closes #832
2024-02-27 21:55:18 -05:00
KtorZ
46c357df7b
Fix Int/BigInt pivot
...
We've been wrongly representing large ints as BigInt, causing them to
behave differently in the VM through builtins like 'serialise_data'.
Indeed, we expect anything that fits in 8 bytes to be encoded as Major
Type 0 or 1. But we were switching to encoding as Major type 6
(tagged, PosBigInt, NegBigInt) for much smaller values! Anything
outside of the range [-2^32, 2^32-1] would be treated as big int
(positive or negative).
Why? Because we checked whether a value i would fit in an i64, and if
it didn't we treated it as big int. But the reality is more subtle...
Fortunately, Rust has i128 and the minicbor library implements TryFrom
which enforces that the value fits in a range of [-2^64, 2^64 - 1], so
we're back on track easily.
2024-02-25 14:09:56 -05:00
rvcas
a15fead982
chore: remove unused import
2024-02-20 13:05:28 -05:00
rvcas
20917bbd5b
feat(machine): fix Value::Constr fields order
...
cc @MicroProofs
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
c7dd4d0e48
feat(aiken-lang): expose integerToByteString and byteStringToInteger
2024-02-20 13:05:28 -05:00
rvcas
fc3bc4d9ff
feat(cost_model): add costing for integerToByteString and byteStringToInteger
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
b0eade209b
feat(DefaultFunction): add IntegerToByteString and ByteString
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
KtorZ
8a90e9eda0
Improve behavior and reporting of tests expected to fail
...
Fixes #786 .
2024-01-19 18:20:58 +01:00
KtorZ
0e2b8ae251
Bump pallas dependencies to include flat bigint patch
...
Fixes #796 .
2024-01-18 18:26:21 +01:00
Niels Mündler
f934e87b1d
Reuse "convert_tag_to_constr"
2024-01-13 13:23:58 -05:00
Niels Mündler
cda1716d47
Unify construction of PlutusData objects from int + fields
2024-01-13 13:23:58 -05:00
Niels Mündler
4bd8ab890a
Add reverse mapping for PlutusData constr
2024-01-13 13:23:58 -05:00
Niels Mündler
0ae631a1fe
Fix parsing Constr PlutusData
2024-01-13 13:23:58 -05:00
microproofs
4a8fecb70a
fix: satisfy clippy's demands
2024-01-11 14:53:02 -05:00
Mitchell Turner
7992a50bec
Make foreign `Language` type publicly available ( #793 )
...
* Make foreign type public available
* Fix formatting
2024-01-08 13:31:21 -08:00
microproofs
394cac86b8
feat: expect on a type now can take in a msg when in trace mode
2024-01-04 16:03:51 -05:00
Niels Mündler
b6acdde552
Use to_i64 for clarity
2023-12-19 12:20:10 -05:00
Niels Mündler
89e518f878
Deduplicate code
2023-12-19 12:20:10 -05:00
Niels Mündler
ba76c1d2cf
Adjust acceptance tests and fix IData and UData
2023-12-19 12:20:10 -05:00
Niels Mündler
022503e254
Fix to_pallas_bigint
2023-12-19 12:20:10 -05:00
Niels Mündler
1b1636ab0e
Fix parsing of negative bigint
2023-12-19 12:20:10 -05:00
Niels Mündler
0cfcd78039
Use more clear functions
2023-12-15 21:59:57 -05:00
Niels Mündler
ceb6d63e95
Add parsing for big builtins
2023-12-15 21:59:57 -05:00
microproofs
6a10be3e82
chore: remove redundant clone
2023-12-15 21:58:02 -05:00
microproofs
a0ec92897b
chore: clean up pr
2023-12-15 21:58:02 -05:00
microproofs
2cd1379aec
for now comment out curry code so the rest of the changes
...
can be merged to main
2023-12-15 21:58:02 -05:00
microproofs
c0c9f2f432
commit latest changes
2023-12-15 21:58:02 -05:00
microproofs
058a190294
feat: implement curried tree pruning
2023-12-15 21:58:02 -05:00
microproofs
51079b8590
fix: builtin_force_reducer wasn't handling double forces correctly
2023-12-15 21:58:02 -05:00
microproofs
4015550f55
start testing the first stage of currying builtins
2023-12-15 21:58:02 -05:00
microproofs
249581e1bc
chore: continuing progress on implementing currying optimization for builtins
...
Introduced some new abstractions to make a different number of args easier to deal with
2023-12-15 21:58:02 -05:00
microproofs
8fdedb754e
chore: continue more on curry optimizations
2023-12-15 21:58:02 -05:00
microproofs
88e21449c5
chore: comment fixes
2023-12-15 21:58:02 -05:00
microproofs
5c688b1404
Feat: refactor optimizations to use tree traversal algorithm
...
This makes each optimization a single function that acts on an existing tree traversal function
2023-12-15 21:58:02 -05:00
Niels Mündler
b25e82ed36
Handle errors and format
2023-12-08 12:19:22 -05:00
Niels Mündler
772e73ae48
Fix parsing of hex encoded escaped bytes
2023-12-08 12:19:22 -05:00
Niels Mündler
d0bc782f75
Fix pretty prenting of strings in complex data structures
2023-12-08 12:19:22 -05:00
rvcas
0a1e0d7bee
feat: remove flat-rs crate and use it through pallas_codec
2023-12-04 22:01:51 -05:00
rvcas
b17b7f287c
chore: update to pallas v0.20.0
2023-12-04 21:44:19 -05:00
microproofs
1567e42875
chore: fill in machine todos and cost model for case and constr
...
This allows for several more tests to pass
**Had to remove case-7 since it was incorrectly passing before**
2023-11-17 19:52:03 -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
308fb47e40
fix: don't panic on invalid hex strings
2023-11-15 15:55:56 -05:00
rvcas
dfa0378404
chore: explain a todo in the machine
2023-11-15 15:55:56 -05:00