|
8 | 8 | expressiveness of the Tweak/Attack DSL. |
9 | 9 | - New `Ltl` combinators resulting from the addition of `LtlNot`, such as |
10 | 10 | `nowhere`, `whenAble`, ... |
11 | | -- Module `Cooked.MockChain.Common` which exposes several type aliases. |
| 11 | +- `ExtendedStagedMockChain`: It is not possible to extend a mockchain run with |
| 12 | + arbitrary effects, while the associated tweaks will also have access to the |
| 13 | + added effects. |
| 14 | +- A new capability in a mockchain run, which allows to take note (basically log) |
| 15 | + anything. Functions `Note(|p|s|w|l)` support this functionality. |
| 16 | +- A new capability in a mockchain run, which allows to make assertions which |
| 17 | + will be displayed in the final result, and taken into account during |
| 18 | + tests. Functions `assert(|')` support his functionality. |
| 19 | +- A new `testBoolMsg` function which outputs an error message when given |
| 20 | + `False`. |
| 21 | +- Functions `testCookedFromInitDistTemplate` and |
| 22 | + `testCookedQCFromInitDistTemplate` to build tests from the initial |
| 23 | + distribution template (the old default initial distribution). |
| 24 | +- The ability to enable/disable everything from the printing of the final result |
| 25 | + of running a mockchain. The pretty printer has also been improved; |
| 26 | +- The `HList` type for heterogeneous lists. |
12 | 27 |
|
13 | 28 | ### Removed |
14 | 29 |
|
15 | | -- File `Cooked.MockChain.BlockChain` and all of its content. |
| 30 | +- Tweaks can no longer issue write action such as waiting a certain amount of |
| 31 | + time. As a consequence, `waitUntilValidTweak` has been removed. |
16 | 32 |
|
17 | 33 | ### Changed |
18 | 34 |
|
|
35 | 51 | `Cooked.MockChain.GenerateTx.Credential` file. |
36 | 52 | - All the auto adjustment made by cooked are now implemented using tweaks, such |
37 | 53 | as autofilling of min ada, auto assignement of reference script... |
| 54 | +- Initial distributions have been downgraded from a first class citizen to a |
| 55 | + mere helping structure equivalent to using `forceOutputs`. By default, the |
| 56 | + mockchain runs now have an empty state, and non-empty initial distribution can |
| 57 | + be fed to runs in one of the following 3 ways: 1. use `forceOutputs` at the |
| 58 | + beginning of a run. 2. Use `runMockChainFromConf` or |
| 59 | + `runMockChainFromInitiDist` while running a trace. 3. use `withInitDist` when |
| 60 | + running tests. The old default initial distribution still exists as |
| 61 | + `initialDistributionTemplate` and is simply directly a list of outputs. |
| 62 | +- The UTxO searches have been fully reworked. They now happen in 3 |
| 63 | + steps: 1. bootstrap the search with a set of UTxOs (`beginSearch` and |
| 64 | + `beginSearchP`) 2. filter (`ensure`, `ensurePure`, `ensureAFoldIs` and |
| 65 | + `ensureAFoldIsn't`) and/or extract elements from the selected outputs |
| 66 | + (`extract`, `extractPure`,`extractAFold`, `extractTotal`, `extractPureTotal` |
| 67 | + and `extractGetter`) in an type-retaining heterogeneous list. 2. retrieve the |
| 68 | + result of the search (`getOutputs`, `getOutputsAndExtracts`, `getExtracts`, |
| 69 | + `getTxOutRefs` and `getTxOutRefandOutputs`). Some additional helpers are |
| 70 | + provided for basic searches (`utxosAtSearch`, `allUtxosSearch`, |
| 71 | + `txSkelOutByRefSearch` and `txSkelOutByRefSearch'`) and for basic filters |
| 72 | + (`ensureOnlyValueOutputs`, `ensureVanillaOutputs` and |
| 73 | + `ensureProperReferenceScript`). |
| 74 | +- `txSkelLabel` has been renamed `txSkelLabels` |
38 | 75 |
|
39 | 76 | ### Fixed |
40 | 77 |
|
|
0 commit comments