Commit Graph

3117 Commits

Author SHA1 Message Date
KtorZ 2b8e99a1b8
Fix CI script for acceptance tests, and have them run in parallel. 2024-03-02 14:11:22 +01:00
rvcas d698f76e3c
fix(codegen): builtin calls for g1 and g2 where flipped
closes #840
2024-02-29 12:13:51 -05:00
rvcas ff5491caa0
fix(check): only disallow ml_result in data 2024-02-29 11:19:26 -05:00
rvcas d18caaeecb
feat(cli): support mainnet address output
closes #832
2024-02-27 21:55:18 -05:00
rvcas 50c37c7a14
feat(aikup): error message when version not found
closes #837
2024-02-27 21:38:00 -05:00
rvcas 2018a18d15
fix: error message for bls elements in a type def
closes #840
2024-02-27 21:21: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
Sam Foo b6b57c776f chore: use updated theme method 2024-02-15 14:47:53 -05:00
rvcas 9e3f348c6c
chore: commit artifacts from acceptance tests 2024-02-13 21:29:46 -05:00
rvcas 0ccfe60072
feat: support nested void matching 2024-02-13 21:29:24 -05:00
rvcas ac0c73a56a
chore: clippy fixes 2024-02-13 20:26:12 -05:00
rvcas 3582c5569d
fix: no single when clause warning sometimes
While looking at some code, I noticed that this
warning would show up even if an error for a
non-exhaustive when/is shows up for the same when/is
expression. This isn't a useful situation to show this
warning because things are not exhaustive yet so we should
let the user finish and only provide the errors. If things
are exhaustive then the code proceeds and if a warning was set
when there's only one clause pattern then this warning message
can be pushed because that's when it's actually useful.
2024-02-13 20:12:40 -05:00
rvcas 4c5a449d83
chore: improve a comment/doc 2024-02-13 19:46:34 -05:00
microproofs 6e2f9b9eb9 fix tests 2024-02-07 12:48:07 -05:00
microproofs 056e3d76ea change check_validator_args to check type after each arg 2024-02-07 12:48:07 -05:00
microproofs 6c6be3f53d got past the errors and warnings 2024-02-07 12:37:37 -05:00
microproofs 51f1da2505 Removed AirStatements and AirExpressions
Still a WIP
2024-02-07 12:37:37 -05:00
microproofs b807d58e89 fix first compiler pass of errors 2024-02-07 12:37:37 -05:00
microproofs dc195b22d4 missed another hoist over 2024-02-07 12:36:35 -05:00
microproofs 713b16e25d we now build forwards when it comes to piplines and expressions
so this test got reordered
2024-02-07 12:36:35 -05:00
microproofs d1c784ed49 few more hoist over fixes 2024-02-07 12:36:35 -05:00
microproofs 3938d74bb6 missed a hoist over 2024-02-07 12:36:35 -05:00
microproofs 6b97ab71fe fix up code gen tests 2024-02-07 12:36:35 -05:00
microproofs 4ab3b61200 In most cases the context isn't need so I made the code more explicit about that 2024-02-07 12:36:35 -05:00
microproofs 575dde9885 fix: issue with reordering statements caused clause props to not be updated 2024-02-07 12:36:35 -05:00
microproofs 8702c736d0 fix warning 2024-02-07 12:36:35 -05:00
microproofs 806a74c192 fix all current errors 2024-02-07 12:36:35 -05:00
microproofs 9f96e4bc5a fix first compiler pass of errors 2024-02-07 12:36:35 -05:00
KtorZ a12c374258 Start turning AirTree statements into expressions (let)
Still many places to fix, WIP.
2024-02-07 12:36:35 -05:00
microproofs cf51b30045 update changelog 2024-02-07 11:48:52 -05:00
KtorZ 3c8460e6af Allow annotating Data for blueprint
This commit allows Data to be optionally annotated with a
  phantom-type. This doesn't change anything in codegen but we can now
  leverage this information to generate better blueprint schemas.
2024-02-07 11:48:52 -05:00
KtorZ 20ce19dfb1 Fix error hint when expecting 0 generic parameters. 2024-02-07 11:48:52 -05:00
microproofs 0e2995e16e fix test 2024-02-07 11:48:52 -05:00
microproofs 3b4c6cb2aa fix: missing message error term in one place for type is void 2024-02-07 11:48:52 -05:00
microproofs e25be7643e discards will now check for type too. 2024-02-07 11:48:52 -05:00
microproofs 982eff449e chore: Release 2024-01-31 13:48:20 -05:00
rvcas b46206bfe2
chore: update changelog 2024-01-31 13:47:07 -05:00
microproofs bcc2a0fd12 update changelog 2024-01-31 13:44:11 -05:00
microproofs 258c224e21 update changelog 2024-01-31 13:42:46 -05:00
microproofs d8cdeba6fd chore: lastest acceptance test lock and plutus.json files 2024-01-31 00:07:43 -05:00
microproofs 551941392e fix: assert had one minor edge case due to final clauses with lists 2024-01-31 00:05:09 -05:00