Commit Graph

452 Commits

Author SHA1 Message Date
microproofs 6254eeb2ed add acceptance test 88 2023-08-07 12:02:44 -04:00
microproofs f7d278a472 fix: 2 acceptance tests were throwing errors due to exhaustiveness checker 2023-08-07 12:02:44 -04:00
microproofs 36c80f36c1 fix tests 2023-08-07 12:02:44 -04:00
microproofs bfa4cc2efc fix: some function dependency tree path was not being updated in order
fix: revert to old implicit way of casting to data for now
2023-08-07 12:02:44 -04:00
rvcas 2253e29d42
chore: commit acceptance test plutus files 2023-07-17 17:34:00 -04:00
rvcas 0be09cd9e5 chore: use fmt to update examples 2023-07-12 09:16:37 -04:00
KtorZ 2a747305f7
Fixes evaluation of large positive bigint in the UPLC machine
Fixes #511.
2023-07-05 18:52:14 +02:00
microproofs 67c072a1a9 test: add acceptance test 86
fix: prevent mutual recursion for expect type code gen functions
2023-07-04 12:24:25 -04:00
microproofs 8b3504e9a1 fix: `expect _ = ...` not including the cast from data logic if the type is data and right hand has a type annotation 2023-06-23 18:39:12 -04:00
microproofs 226556bdd6 fix: builtins using the incorrect data to type conversion when used as a function param. 2023-06-23 14:31:19 -04:00
microproofs db369da96e feat: Make traces produced by expect dependent on
the value of the tracing flag.
2023-06-23 14:03:23 -04:00
microproofs dbfa08a5a7 fix: issue with tuple clause
It was not consuming the next case if there was no condition being checked in the clause.
Now it properly always consumes the next clause unless last clause.
2023-06-23 12:36:15 -04:00
microproofs 5362714a63 chore: update tests 2023-06-22 18:20:31 -04:00
microproofs 626033ff9b fix: attempt to convert from opaque before doing monomorphization 2023-06-22 18:20:31 -04:00
microproofs 24f5c4de6b fix: the final clause of a when expecting another clause afterwards in nested list cases.
fix: all elements were being destructured in tuple clauses even if not used
2023-06-19 21:43:38 -04:00
rvcas 37b2f0c239
fix: gift card example stdlib update
closes #596
2023-06-13 00:38:29 -04:00
Justin Syme e0e6ee1fa9 Update multi.ak
Updated using `from_minted_value`
2023-06-07 17:37:30 -04:00
Justin Syme fc9a60494e Update oneshot.ak
Updated with 
        `|> from_minted_value`
2023-06-07 17:37:30 -04:00
rvcas feb2698e5e chore: commit multi-validator plutus.json 2023-06-07 15:42:42 -04:00
Kasey White 73c9ac3409 feat: create multi validator for gift card.
This version of gift card allows for minting many gift cards  in a tx under the same policy by policy creator. Also allows batch redeem.
2023-06-07 15:42:42 -04:00
microproofs 5faa925aea fix: error when using nested boolean checks in when conditions 2023-06-06 03:04:12 -04:00
microproofs bfd2a50a6b fix: zero arg functions were grabbing extra dependencies they didn't need to
fix: Had the wrong conversion for constant maps to plutus data. Fixed to check for right conversion
2023-06-04 15:23:36 -04:00
rvcas 335cc0c8bc
feat(cli): rework uplc subcommands
closes #553

* rename flat to encode
* rename unflat to decode
* alias both to their old names
* both only print to stdout
  use can pipe to file
* split cbor and hex flags
* hex flag works for either cbor or flat
* encode takes --to flag
  [name, named-debruijn, debruijn]
* decode takes --from flag
  [name, named-debruijn, debruijn]
2023-06-01 23:50:59 -04:00
microproofs 4838ebd39e feat: record modules are no longer unimplemented for no fields
refactor: remove some clones and use a ref instead
test: add acceptance test 81
2023-05-14 18:30:51 -04:00
microproofs b36cf1c029 chore: refactor default functions in uplc_code_gen.
feat: Add an identity optimization to remove functions that return the argument only.
2023-05-08 16:15:09 -04:00
microproofs 0d0c96deda commit validator changes and tests 2023-04-28 17:05:46 -04:00
microproofs c3184c544c fix: wrap data reduce had the wrong argument called in recursively, thus skipping over cases that should have been reduced
chore: Add unit tests on for uplc optimizations
2023-04-26 17:22:16 -04:00
microproofs b050018a37 test fix: blueprint change 2023-04-25 02:06:56 -04:00
rvcas 3891016bc3
chore(gift_card): better input id 2023-04-21 12:07:18 -04:00
rvcas 6ab42735b0
fix: switch back to blockfrost kupmios + demeter setup showing strange behavior 2023-04-21 11:59:31 -04:00
microproofs 672a900243 chore: converted acceptance tests 5-7 2023-04-19 20:03:41 -04:00
microproofs 23a7e7e680 chore: convert acceptance test 5
Also constructors with no fields are now converted to a constant data term.
2023-04-19 16:08:55 -04:00
microproofs 7dd13f8d73 feat: add end to end tests to replace acceptance tests with strict uplc comparison.
Add acceptance tests 1,2, 6 as end to end tests
2023-04-19 16:08:55 -04:00
microproofs fc1b8738df fix: fixed how the ir was generating for expect Void, expect Bool, let Void
add some acceptance tests for the various scenarios
2023-04-12 22:37:33 -04:00
KtorZ 0846fe2d5f
Add new failing test case for 048 (clause guards)
It seems like we don't properly handle clause guards for wildcard
  patterns. Seems like a codegen issue here as the code type-check
  properly.
2023-04-12 08:24:18 +02:00
Kasey White ff290bc582 add expect false test 2023-04-09 17:43:56 -04:00
Kasey White 02d57cc076 tests pass now after adding in final wrapper as air elements 2023-04-09 17:43:56 -04:00
Kasey White 9e95e24624 now tests are passing 2023-04-09 17:43:56 -04:00
Kasey White 897011e9bc misc changes 2023-04-09 17:43:56 -04:00
Kasey White f4ba6b8985 fix: unused validator args had an incorrect if check 2023-04-09 17:43:56 -04:00
Kasey White 3f45b524b8 feat: unused validator args are not expect checked 2023-04-09 17:43:56 -04:00
Kasey White 8c8312a412 fix: expect true was always expecting false 2023-04-09 17:43:56 -04:00
KtorZ 23b72e18f3 Add new acceptance test scenario: expect unary constructors.
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/gen_uplc.rs:1852:33
    ╰─▶ called `Option::unwrap()` on a `None` value
  ```
2023-04-09 17:43:56 -04:00
rvcas 1444c9328d
fix some typos 2023-04-07 16:51:18 -04:00
rvcas d0d482b3cb
chore(gift_card): run fmt 2023-04-07 16:35:58 -04:00
rvcas 4e380012fb
chore(gift_card): use kupmios backed by demeter for lucid 2023-04-06 21:35:08 -04:00
KtorZ 814157dd7b
Fix formatter inconsistency with record spread patterns. 2023-03-30 13:02:20 +02:00
KtorZ 17431daaa4
Correctly nest multiline pipeline expressions. 2023-03-30 12:48:15 +02:00
rvcas 703429af98 chore: commit plutus.json 2023-03-27 20:00:32 -04:00
Kasey White b2dcb112c9 fix last 2 acceptance tests 2023-03-27 20:00:32 -04:00
Kasey White 32d34d5fd3 create struct Air Env
refactor out some to_strings
2023-03-27 20:00:32 -04:00
rvcas 0060d29265
chore: update gift card example to use new validator syntax 2023-03-27 13:39:34 -04:00
Kasey White bb820ebdd8 fix: trace and scope issues
fix scope issues involving fieldsexpose and other destructureing pattern
fix trace to extract string from term.
2023-03-21 12:38:13 -04:00
Kasey White 6e5b24a937 refactor the rest of the term builders to use more concise code 2023-03-21 00:50:13 -04:00
Kasey White 50db958d06 update codegen to use more streamlined uplc building methods 2023-03-21 00:50:13 -04:00
KtorZ 6422027c6c
Fix README template for newly generated projects, and hello, world 2023-03-18 22:23:55 +01:00
KtorZ a4c7337df2
Add new acceptance scenario 079 (double validators) 2023-03-17 18:40:49 -04:00
rvcas c3870e340e
feat(codegen): support multi-validators
* rename force_wrap to force
* add a bunch of builder methods to Term<Name>
* refactor one tiny location to show off builder methods
* split generate into `generate` and `generate_test`
* create wrap_as_multi_validator function

Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-17 18:40:44 -04:00
KtorZ 660d2199d4
Make blueprint generation deterministic
Sort validators before iterating on them.
2023-03-17 14:57:39 +01:00
KtorZ c113582404 Support multi-clause patterns as syntactic sugar
And disable multi-patterns clauses. I was originally just controlling
  whether we did disable that from the parser but then I figured we
  could actually support multi-patterns clauses quite easily by simply
  desugaring a multi-pattern into multiple clauses.

  This is only a syntactic sugar, which means that the cost of writing
  that on-chain is as expensive as writing the fully expanded form; yet
  it seems like a useful shorthand; especially for short clause
  expressions.

  This commit however disables multi-pattern when clauses, which we do
  not support in the code-generation. Instead, one pattern on tuples for
  that.
2023-03-16 19:45:41 -04:00
KtorZ 13890874c0
Fix 'run' script, also do 'check' on modules that have validators. 2023-03-16 23:04:24 +01:00
Lucas fab6d56bf2
Merge branch 'main' into newline-assignment 2023-03-16 15:30:55 -04:00
KtorZ 45575cae96 Fix 'run' script and re-generate blueprint for scenario 077. 2023-03-16 15:29:44 -04:00
KtorZ 20f5baffa7
Enforce newline after assignment / clause.
This leads to more consistent formatting across entire Aiken programs.
  Before that commit, only long expressions would be formatted on a
  newline, causing non-consistent formatting and additional reading
  barrier when looking at source code.

  Programs also now take more vertical space, which is better for more
  friendly diffing in version control systems (especially git).
2023-03-16 19:46:46 +01:00
rvcas bf9297efcf
chore(gift_card): cardano scan url should be preprod as well 2023-03-16 09:45:11 -04:00
rvcas f7308f22fd
fix: gift_card deno.lock 2023-03-15 16:41:25 -04:00
waalge d13db5f34e Fix deno.lock
Switch to preprod, and test against eternl (passed)
2023-03-15 12:24:35 -04:00
rvcas 7e467ada2b chore(gift_card): more readme info 2023-03-14 19:13:21 -04:00
rvcas 56aa53eb73 chore: update lucid 2023-03-14 19:13:21 -04:00
rvcas 81359246f9 chore: update against latest main, rerun build, change unlock interface 2023-03-14 19:13:21 -04:00
rvcas 0147af8330 chore: rename example parents folder to gift card 2023-03-14 19:13:21 -04:00
rvcas a522cd1e7d chore: better names for the validators and some functions 2023-03-14 19:13:21 -04:00
rvcas 5e062c130d feat: finish up end to end example
* create a gift card (nft)
* lock ADA while minting gift card
* unlock ADA while burning gift card

Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
rvcas 79fd6b4828 feat(one_shot): actually getting properly applied contracts
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
rvcas a82cedbd92 feat(one_shot): apply params to script 2023-03-14 19:13:21 -04:00
rvcas e35ccc9e0c feat(one_shot): document vendored lucid 2023-03-14 19:13:21 -04:00
rvcas 14cdac7bfa feat(one_shot): some deno and lucid stuff 2023-03-14 19:13:21 -04:00
rvcas ab1ee17ad4 feat(one_shot): some deno boilerplate 2023-03-14 19:13:21 -04:00
rvcas 7ea8aeda01 feat: one_shot example
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-14 19:13:21 -04:00
KtorZ ae981403c6 Re-introduce field title & description in referenced schemas. 2023-03-12 12:44:49 -04:00
KtorZ 45a463786f Update blueprints from acceptance tests and hello, world. 2023-03-12 12:44:49 -04:00
Kasey White 31c280552d add another validator 2023-03-12 00:25:26 -05:00
Kasey White 4a7bbc23df fix: change in scope was applied in wrong place in pattern_ir for constr expect 2023-03-12 00:25:26 -05:00
Kasey White f377d60085 ChooseData is now lazy with its branch arguments.
This enables calling the un_data builtins directly from choose_data args
2023-03-09 00:31:57 -05:00
KtorZ dbef4474fa Add new acceptance scenario: 065
-> The provided Plutus code called 'error'.

  This scenario _could_ work if `choose_data` was lazy in its arguments.
  Which is a reasonable thing to expect from `choose_data`. Since we
  don't have any way to introduce on-demand lazyness in the language
  (and we are not looking for ways), we need to make a special case for
  `choose_data` which is a perfect (and singular) use case for it.
2023-03-09 00:31:57 -05:00
Kasey White c85240cbed Fix exception when doing expect boolean = ..
Add new Air Assert Bool
Add acceptance test 76
2023-03-08 22:31:30 -05:00
Matthias Benkort d8934b3d8d
Merge pull request #421 from aiken-lang/monomorph-panic-fix
Functions with only a generic return weren't being properly monomorph…
2023-03-08 11:39:50 +01:00
Kasey White 89373c32e6
Functions with only a generic return weren't being properly monomorphized. Fixed that. 2023-03-08 10:31:05 +01:00
rvcas f8545854fc
feat: json output for uplc eval 2023-03-08 10:19:36 +01:00
KtorZ 7257c2d89e
Small tweaks on the hello_world examples. 2023-03-08 09:47:08 +01:00
KtorZ 4ea50ca9ab
Remove editor configuration file.
Editor configurations and other system-specific files aren't meant to
  be committed to public repository. This belongs to a dev environment
  and should be handled by developers themselves though local git
  configurations.
2023-03-08 09:42:03 +01:00
Jack Fraser 6ec37778d7 change var to utxo from lockOutRef 2023-03-07 19:15:03 -05:00
Jack Fraser 2cfa0aeda9 add missing types, update log descriptions, deno fmt 2023-03-07 19:15:03 -05:00
Jack Fraser 80afb5fc2d update cli documentation 2023-03-07 19:15:03 -05:00
Jack Fraser 6aa51213e4 add deno settings 2023-03-07 19:15:03 -05:00
rvcas 9b96f7bb2e
chore: commit acceptance test plutus files 2023-03-06 13:26:36 -05:00
Kasey White f230af436c fix: scope issue with expect and function calls
Add acceptance test 72
2023-03-03 01:00:35 -05:00
Kasey White 5779b77ccc fix: Had to also check for generic type in return of a function.
add check to prevent stack overflow error
Add panic to prevent any other occurrences of stack overflow
2023-03-02 21:49:20 -05:00
Kasey White 26b4156d5a remove comment 2023-03-02 21:49:20 -05:00
KtorZ 451d9d8493 Add new acceptance test scenario: 068
Stack overflow happening during code generation.
2023-03-02 21:49:20 -05:00
KtorZ 65c336cb82
Update blueprint outputs to reflect latest specification.
Schemas of datums, redeemers and parameters are now nested under a field 'schema'. This allows to define a field 'purpose' at the same level.
2023-03-02 17:17:27 +01:00
Kasey White 0c1c7da16f add accpetance test 71 2023-03-01 14:22:59 -05:00
Kasey White 665a8dec67 feat: add support for unconstr_data
-Builitins IR now acts like Record IR in terms of argument consumption
-UnConstrData returns as Pair(Data,Data) to conform with how pairs are treated behind the scenes.
2023-02-26 00:13:38 -05:00
KtorZ 81e072a14e Add new acceptance test scenario: 064
- Type mismatch expected 'data' got 'integer'
  - Type mismatch expected 'data' got 'list data'
2023-02-26 00:13:38 -05:00
KtorZ c0230a811f
Add 'plutusVersion' to blueprints. 2023-02-21 15:37:35 +01:00
Kasey White 70164282f8 fix: switch from unwrap to if let to allow boolean when
fix: test 67 fixed to take in ByteArray instead of string literal
2023-02-20 04:37:33 -05:00
Kasey White 87eb4ca3b4 feat: handle single constr when with multiple branches
Add case to acceptance test 40
Add special case for top level single constr in a when.
2023-02-20 02:46:46 -05:00
KtorZ 5132110d4b
Fix acceptance tests to use new syntax. 2023-02-19 10:10:40 +01:00
Kasey f3cdc05875
fix: the refactor on discharge value env (#393) 2023-02-18 20:49:29 -05:00
KtorZ cd4ceb219c
Remove complex and compound constants.
This is not supported by the code generation, so it's a bit of a lie
  to have them in the language in the first place. There's arguably not
  even any use for constant records, list and tuples to begin with. So
  this cleans this up everywhere for the sake of moving forward with the
  alpha release.

  This now reduces constants to:

  - Integer
  - ByteArray
  - String

  Anything else can be declared via a function anyway. We can revisit
  this choice later.... or not.
2023-02-17 17:31:15 +01:00
KtorZ 560c17d5aa
Add new acceptance test scenario: 060
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/builder.rs:1088:13
    ╰─▶ not yet implemented
  ```
2023-02-17 17:13:04 +01:00
KtorZ f10e9e8977
Add new acceptance test scenario: 062
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/uplc/src/optimize.rs:16:68
    ╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_bar", unique: Unique(1) })
  ```
2023-02-17 11:25:41 +01:00
KtorZ 8fabfd112e Add new acceptance test scenario: 063 2023-02-16 20:29:41 -05:00
KtorZ e7a61df1f3 Add new acceptance test scenario: 062
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/uplc/src/optimize.rs:16:68
    ╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_bar", unique: Unique(1) })
  ```
2023-02-16 20:27:00 -05:00
Matthias Benkort ec6baf3a6a
Merge pull request #351 from aiken-lang/acceptance-test-054-pattern-match-on-list
Add new acceptance test scenario: 056
2023-02-16 10:01:56 +01:00
rvcas d41e6942c6 test: fix acceptance tests 2023-02-16 00:05:55 -05:00
rvcas a311531508 fix(cli): aiken address 2023-02-16 00:05:55 -05:00
rvcas 673b57b81c feat: get bluprint stuff compiling again 2023-02-16 00:05:55 -05:00
rvcas a88a193383 fix: properly lex new token and adjust parsed spans 2023-02-16 00:05:55 -05:00
KtorZ d26ff0298f Add new acceptance test scenario: 054.
**a**

  ```
  × Main thread panicked.
  ├─▶ at crates/uplc/src/optimize.rs:16:68
  ╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "__other_clauses_delayed", unique: Unique(13) })
  ```

  **b**

  ```
  × Main thread panicked.
  ├─▶ at crates/aiken-lang/src/builder.rs:771:14
  ╰─▶ not yet implemented: Assign
  ```

  **c**

  ```
  × choice_4 failed
  help: ┍━ left ━━━━━━━━━━━━━┑
        │ (con data #d87a80) │
        ┕━━━━━━━━━━━━━━━━━━━━┙

        should be equal to

        ┍━ right ━━━━━━━━━━━━━━━━━━┑
        │ (con data #d8799f182aff) │
        ┕━━━━━━━━━━━━━━━━━━━━━━━━━━┙
  ```
2023-02-15 22:12:41 -05:00
KtorZ 808ff97c68
Preserve trace, error & todo formatting. 2023-02-15 23:19:07 +01:00
KtorZ 7abd76b6ad
Allow to trace expressions (and not only string literals)
This however enforces that the argument unifies to a `String`. So this
  is more flexible than the previous form, but does fundamentally the
  same thing.

  Fixes #378.
2023-02-15 21:07:56 +01:00
KtorZ 4e51e49fe6
Align context diagnostics to use similar syntax. 2023-02-15 17:26:26 +01:00
KtorZ 7251b2d01e
Remove single-argument function call special-case in formatter
Not sure what this special case was trying to achieve, but it's not right. There's no need to handle function call with a single argument differently than the others.
2023-02-15 17:22:08 +01:00
KtorZ 47e77aa819
Add new context test for datums and reference scripts 2023-02-15 17:10:14 +01:00
KtorZ 6772e20d85
Replace withdrawals withdraw validator with always true validator. 2023-02-15 12:59:33 +01:00
KtorZ b300cf38db
Add new script context test scenario covering minting & values. 2023-02-15 12:49:56 +01:00
KtorZ 01c392836e
Fix CI script + add script interactions. 2023-02-15 09:42:46 +01:00
KtorZ e1c0c3986d
Remove unused imports in 054. 2023-02-15 09:42:45 +01:00
Kasey White e15e725bfe add one more test 2023-02-15 02:20:05 -05:00
Kasey White 32b0200966 fixes: tuple clauses, zero args funcs, list clause named pattern
List Clauses patterns handle var cases

Fixed Tuple Clauses issue with last clause not being a tuple

Redid how zero arg functions and dependencies are handled. Tough one lol
2023-02-15 02:20:05 -05:00
KtorZ 23bf101e08 Add new acceptance test scenario: 058
Doesn't like var patterns in list pattern-matching

  ```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/uplc.rs:770:29
    ╰─▶ internal error: entered unreachable code
  ```
2023-02-15 02:20:05 -05:00
KtorZ d9cfad8f68 Add new acceptance test scenario: 061
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/uplc/src/optimize.rs:16:68
    ╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "tests_tx_1", unique:
        Unique(14) })
  ```
2023-02-15 02:20:05 -05:00
KtorZ 6132c092e3 Add new acceptance test scenario: 059
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/uplc.rs:1451:52
    ╰─▶ called `Option::unwrap()` on a `None` value
  ```

  See also: #310
2023-02-15 02:20:05 -05:00
KtorZ a3078adce8
Add succinct README to explain what's going on. 2023-02-14 16:25:48 +01:00
KtorZ 685473ead6
Rename data -> ctx 2023-02-14 16:11:00 +01:00
KtorZ 5369872a3d
Add new script_context acceptance scenario for withdrawals. 2023-02-14 16:11:00 +01:00
KtorZ 251aa756d9
Make basic script a template, and add more assertions. 2023-02-14 11:37:10 +01:00
KtorZ 545323128c
Write basic e2e validator with evaluation. 2023-02-14 10:39:31 +01:00
KtorZ 4ef1ba69de
Use blueprint in hello-world example. 2023-02-14 09:16:30 +01:00
Kasey White 765ceefd38 feat: add ability to downcast void to data 2023-02-12 18:56:38 -05:00
Kasey White e9883adf12 fix: scope issue when using when with a function call subject 2023-02-12 18:43:11 -05:00
KtorZ 2bda581fbd Add new acceptance test scenario: 057
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/uplc.rs:4286:48
    ╰─▶ called `Option::unwrap()` on a `None` value
  ```
2023-02-12 18:43:11 -05:00
Kasey White 1c9540ec87 one more test case to add 2023-02-11 22:26:34 -05:00
Kasey White 4b1015e0d4 change how expect works on lists and constructors
Add more coverage to acceptance test 40 on expect
2023-02-11 22:26:34 -05: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 9b0fc0b395
chore: fix some weirdness after rebasing with main 2023-02-10 10:09:00 +01:00
Matthias Benkort efbc3abb95
Delete tests.ak 2023-02-09 09:23:46 +01:00
rvcas 9348caab2f
feat(expect): update formatter
* Token::Expect should format to expect
* since we still capture assert this means
  we can help users update to the new syntax
2023-02-09 00:57:38 -05:00
rvcas 6f591c633d
chore: fmt most of the acceptance tests 2023-02-09 00:57:14 -05:00