v0.2.0
Breaking Framework Changes
- Test suite to test against private network has undergone following changes:
- Type to represent context's user now doesn't have collateral (in PR #108), see it's fields here.
- Context now has one funder and 8 other users, these other users (
ctxUser2
toctxUser9
) start with the same amount of funds and funder (ctxUserF
) in contrast starts with a lot more ada (done in PR #96). See more details about exact funds in our guide for it, here. - Redundant type
UserIdx
is removed (in PR #87), changing the interface of functions in Ctx.hs, again refer to our guide to see use of latest interface. - Function
assertUserFunds
has been changed to check against exact transaction fees rather than in window in PR #100.
- Framework now has support for multi-asset collateral (PR #97 & PR #108), removing the need for dapps to require a UTxO for collateral as framework is capable for selecting suitable UTxO for it. For more details, see these two pages of our guide, Creating Endpoints & Browser Integration. This has led to interface of functions in Node.hs to change where instead of requiring reference to collateral UTxO, it's now a tuple inside
Maybe
value whereNothing
represents that framework is to choose for collateral (if required) and inJust
case we get a tuple of reference to collateral with a boolean, if this boolean isFalse
, given collateral is taken as collateral to build transaction and framework doesn't spend it (unless explicitly mentioned by transaction skeleton) and if the boolean isTrue
, framework checks if the given collateral UTxO has exactly 5 ada or not, if yes, behavior is likeFalse
case and if no, behavior is asNothing
case, i.e., framework picks suitable UTxO to use as collateral and is also free to spend it. someUTxO
now takes parameter to denote for script language (changed for in PR #114) and only returns UTxO which is translatable to that language, i.e., usable by script of that language.- In particular, there is additions to
GYTxMonad
, namely,ownAddresses
&availableUTxOs
(in PR #124) which would help in writing custom version ofsomeUTxO
if required, such as one done insomeUTxOWithoutRefScript
.
- In particular, there is additions to
Other Framework Features
- Earlier, when performing browser integration, there was need to use a library such as
CML
to add for witness (obtained from wallet api'ssignTx
method) to our transaction body, which just misses this key witness. Besides complication involved in using & understanding another library, this led to issues where transaction hash was getting modified due to different representation of CBOR for involved structures in such libraries. Adding for this is now possible to be done entirely using Atlas (done in PR #99), as illustrated in Creating Endpoints & Browser Integration section of guide.
All PR's involved in this Change
- Issue #45: Remove redundant
UserIdx
type by @sourabhxyz in #87 - Function to assert for exact fee in privnet by @sourabhxyz in #100
- Remove redundant constraints in cabal.project by @iburzynski in #89
- Replaced
ctxUser1
usage withctxUserF
and creating new users - all having same status by @sourabhxyz in #96 - Feat 98: Support to add witness (obtained from
api.signTx
) to original tx cbor by @sourabhxyz in #99 - add logging to GYTxQueryMonad by @piyushthapa in #76
- Feat 95: Multi asset collateral support by @sourabhxyz in #97
- Feat 104: Utilize multi asset collateral support to not explicitly require collateral by @sourabhxyz in #108
- Update CODEOWNERS by @MatD9 in #116
- Add Pr template #17 by @Haluk-GeniusYield in #117
- Logging skeletons before building the Txs by @alegadea in #111
- Fix incorrect links in Readme file by @sourabhxyz in #115
- Feat 109 & 113: Parametric
someUTxO
by @sourabhxyz in #114 - Feat 123 & 125: Adding method to Node's monad to get for usable UTxOs & own addresses by @sourabhxyz in #124
- Feat 105: Elaborate cabal file & include version bounds by @sourabhxyz in #112
- support darwin arch by @piyushthapa in #120
New Contributors
- @Haluk-GeniusYield made their first contribution in #117
Full Changelog: v0.1.0...v0.2.0