utxosAtAddressesdoesn't throw error when querying for empty addresses list against Maestro provider.
- Added
utxosWithAssetfor efficiently querying of UTxOs containing a specified asset.
- Function to obtain
TxBodyContent BuildTx ApiErafromGYTxBody, calledobtainTxBodyContentBuildTx(also seeobtainTxBodyContentBuildTx'). This is useful to build upon previously built transactions. - Add support for treasury donation. See "Donation" test in
GeniusYield.Test.Privnet.Examples.Miscmodule. - Added extra build configuration (within
GYTxExtraConfiguration) to provide for fee UTxO. If such a UTxO is provided then it's used to cover for transaction fees and we won't be exercising our usual logarithmic fee over approximation algorithm (see specification for details about this algorithm -- mainly the first few paras) since purpose of that algorithm is to select sufficient ADA from user's wallet to satisfy for fees but here we have separate fee UTxO which is expected to provide for it.GYBuildTxFeeUtxoAdaInsufficienterror is returned if it proves to be insufficient (either fee is higher than ADA available in this UTxO or that subsequent change output lacks sufficient ADA to cover minimum ADA requirements of an output).
- Support of GHC 9.10 & 9.12.
- Updated to latest IOG libraries, in particular
cardano-apiversion >= 10.13 &cardano-nodeversion >= 10.3. - Usage of reference scripts no longer prohibit PlutusV1 scripts which can now also be given via reference.
- On-chain code is now split into a separate package so that Atlas no longer depends upon
plutus-tx-pluginwhich is constrained to a very specific GHC version. User's of Atlas, should have followingsubdirstanza when specifying Atlas dependency in theircabal.projectfile:subdir: plutus/atlas-onchain-common . - Support of advanced transaction building configuration. Currently Atlas assumes that extra wallet inputs selected by coin selection algorithm are coming from key based wallet but these inputs could also come from script based wallet instead. Type
GYTxExtraConfigurationhas fieldgytxecUtxoInputMapperto allow for this configuration. Other fields included inGYTxExtraConfigurationprovides advanced configuration, please see corresponding haddock for more details. Transaction building functions such asbuildTxBodyWithExtraConfigurationallow passing this extra configuration. - Support of extended verification keys. See
GYExtendedVerificationKeytype and related utilities such asgetExtendedVerificationKey. - Added
applyParamto apply data encoded script parameter to a plutus script. - Added
readScript', which is a variant ofreadScriptwhere file contents are already loaded.
valueAdjustnow omits for entries if result of adjustment is zero.- Port coin selection algorithm from
cardano-walletto Atlas. This is done in sync with our 3rd Milestone and allows us to support latest versions of node & other IOG tooling. - Update to latest IOG dependencies.
- Support of monitoring mempool transactions (
mempoolTxsquery function). - Support of government related queries such as
constitution(to query the current constitution definition) andproposals(to fetch for proposals that are considered for ratification) - Support of mempool based caching, enabled by setting
mempoolCachein provider's configuration. - Support of local transaction submission based caching (i.e., submitted transactions are considered to know for to be made available outputs & spent outputs), enabled by setting
localTxSubmissionCachein provider's configuration.
- Adds support of Ogmios-Kupo provider, see section on providers at https://atlas-app.io/getting-started/endpoints.
ToJSONinstance forGYTxOutRefCbor.- New
GeniusYield.Debugmodule to perform Atlas's operation from repl.
- Allows reference scripts to be of version greater than the minimum supported constrained version of
GYTxSkeleton. Thanks @SeungheonOh for finding this bug! Please visit the linked issue for more details.
- Support of extended keys in
runGYTxMonadIO. - Don't throw error for querying DRep state in case of Maestro/BF provider.
- When spending an input, datum is now optional since it is not required to be specified in case it's inlined or not needed by associated Plutus script.
- Add combined stake address registration and delegation certificate.
- Note that there has been large internal refactoring inside this update, but these are mostly non breaking as we provide pattern & type synonyms to keep earlier behavior. In particular:
- We define a new type
GYKeyHash krand all other key hashes such asGYPaymentKeyHash,GYStakePoolIdare type synonyms around it. - We define a new type
GYCredential krand all other credentials such asGYPaymentCredentialare type synonyms around it. - Likewise types
GYSigningKey kr,GYVerificationKey kr,GYExtendedSigningKey krare newly introduced and previous relevant key types likeGYPaymentSigningKeyare simply type synonyms.
- We define a new type
- Constructor of
GYPubKeyHashis no longer exported. readSomeSigningKeyis removed.- Adds additional certificates such as those related to governance, drep participation, stake pool registration, etc.
- Tracks node version 10.1.3 and corresponding updated CLB version.
- Update default value of
GYAwaitTxParametersto now have 100 max attempts. GYInScriptandGYStakeValScriptare now defined as a type synonyms aroundGYBuildPlutusScriptwhereasGYMintScriptis a type synonym aroundGYBuildScriptwhich now also includes simple scripts (besides plutus scripts). Pattern synonyms are provided for backwards compatibility. These and related functions such asstakeValidatorVersionFromWitness,gyStakeValScriptToSerialisedScriptare now exported fromGeniusYield.Types.BuildScriptinstead ofGeniusYield.Types.Script.GYTxWdrlWitness,GYTxCertWitnessare now defined as a type synonyms around genericGYTxBuildWitnessand now also includes simple scripts. Pattern synonyms are provided to maintain backwards compatibility.- Adds support for governance actions, namely proposal procedures & voting procedures.
- Era histories are now cached through entire run of the program whereas protocol parameters are fetched once per epoch. In case you were utilising era summary given by Atlas, note that era end of last era is now set to being unbounded.
- Bug fix for our caching mechanism, see PR #370 for more details.
- We no longer fetch registered stake pools as it is not required.
- Added utility functions to do slot to epoch related conversations.
addRefScriptnow accepts for scripts that has version greater than or equal toPlutusV2.
- Avoid dependency upon
cardano-balance-tx:internal. See #368 for more details.
- Give
Eq,Semigroup,Monoidinstance forGYTxWitness. - Adds
valueAlterutility function insideGeniusYield.Types.Valuemodule.