You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
quickCurrencyPolicyV3 and permanentCurrencyPolicyV3 which should be the
most commonly used.
All kinds of scripts can now be used as reference scripts.
validateTxSkel_ which validates a skeleton and ignores the output.
txSkelMintsFromList' which only allows one redeemer per minting policy.
validatorToTypedValidatorV2
walletPKHashToWallet that retrives a wallet from a pkh. It used to be
present but somehow disapeared.
It is now possible to reference an output which has a hashed datum.
txSkelHashedData the gives all the datum hashes in inputs and reference inputs.
Partial support for withdrawals in txSkels. The rewarding scripts will be run
and assets will be transferred. However, these withdrawals are not properly
constrained yet.
PrettyCooked option pcOptPrintLog, which is a boolean, to turn on or off the log
display in the pretty printer. The default value is True.
Reference inputs with the right reference scripts are now automatically
attached to redeemers when such input exists. This can be turned on using txOptAutoReferenceScripts. If disabled, the helper withReferenceInput can
be used on a redeemer to manually attach a reference input (which does not
necessarily have to contain the right reference script).
Capability to test the result of a mockchain run based on the log entries.
txOutRefToTxSkelOut helper to query the mock chain for recreating a TxSkelOut from a TxOutRef. This is very useful when using Tweaks that
need to pay back an existing output with a slight modification.
A new tweak modifySpendRedeemersOfTypeTweak to apply an optional
modification of all redeemers of a certain type within the skeleton inputs.
New setters for the various outputs fields.
The Payable structure to properly define, compose, and later pay, payable
elements with receive.
The receive smart constructor for payments that allows to compose payable
elements (datums, values, staking credential and reference scripts) and
associate them to a recipient.
TxSkelOutValue which encompasses both a value and whether it can be tampered
with through min ada adjustment. It comes with the constructors Value and FixedValue from the Payable type.
Removed
positivePart and negativePart in ValueUtils.hs. Replaced by Api.split.
Redundant logging of errors in mockchain runs.
Useless minting of non-ADA value in the dummy initial transaction.
Payment helpers (such as PaysPK, withDatum ...). Replaced by receives.
txOptEnsureMinAda, replaced by a field of TxSkelOutValue
Changed
GHC bumped to 9.6.6
Internal representation of redeemers have changed, and are similar for any
supported script purpose (minting, spending or proposing).
Redeemers should now be built using one of the two following smart
constructors: someTxSkelRedeemer, emptyTxSkelRedeemer
mkProposingScript changed to mkScript
withDatumHashed changed to withUnresolvedDatumHash
paysScriptDatumHashed changed to paysScriptUnresolvedDatumHash
txSkelInputData changed to txSkelInputDataAsHashes
Pretty printing of hashed datum now includes the hash (and not only the
resolved datum).
Logging has been reworked:
it is no longer limited to StagedMockChain runs
it is now a component of MonadBlockChainBalancing
it can be turned on/off in pretty-printing options
it now displays the discarding of utxos during balancing.
it now displays when the user specifies useless collateral utxos.
it is not visible from outside of cooked-validators
Dependency to cardano-api bumped to 8.46.
The whole testing API has been revamped
File AddInputsAndOutputs.hs has been split into Inputs.hs, Outputs.hs
and Mint.hs. File TamperDatum.hs has been updated and integrated into Output.hs.
File Skeleton.hs has been split into sub-files in the Skeleton folder.
Default language extensions and compilation options have been updated.
Transaction generation now directly lives in MonadMockChainBalancing.
Initial distributions are now handled as a first action in the MockChain.
Fixed
A bug where the script hashes would not be computed properly for early plutus
version (V1 and V2).
A bug where balancing would fail with excessive inputs and not enough min ada
in the excess.
Transactions that do not involve script are now properly generated without any
All kinds of scripts can now be used as reference scripts.
A bug where scripts being paid to in the initial distribution would not be
stored in the MockChain.