Commit Graph

496 Commits

Author SHA1 Message Date
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
8d59ba1c77 chore: update the conformance tests 2024-02-20 13:05:28 -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
microproofs
982eff449e chore: Release 2024-01-31 13:48:20 -05:00
rvcas
3a7a0c1971 chore: remove unused deps 2024-01-30 12:28:18 -05:00
microproofs
8584adc1b7 chore: Release 2024-01-25 15:10:11 -05:00
rvcas
defd36ad8c chore: Release 2024-01-25 11:07:32 -05:00
rvcas
1ab6d050af chore: bump pallas 2024-01-25 11:07:18 -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
742a728d53 Fix conformance test to make a point 2024-01-13 13:23:58 -05:00
Niels Mündler
316842876d Fix PlutusData Constr test case 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
d06f2f6008 Formatting 2023-12-19 12:20:10 -05:00
Niels Mündler
eefd26c6fa Add acceptance tests for this tricky case 2023-12-19 12:20:10 -05:00
Niels Mündler
fb56700bde Fix and re-enable pretty print test for bigint 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
8c619954d3 Add conformance test for big ints 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