More transaction related helper functions
KristianBalaj opened this issue · 4 comments
KristianBalaj commented
Currently there are just 3 helper functions in the aiken/transaction
module (i.e. find_script_outputs
, find_datum
, find_input
).
I'm proposing to add further helper function inspired by PlutusTx:
-
findOwnInput
- https://input-output-hk.github.io/plutus/master/plutus-ledger-api/html/PlutusLedgerApi-V2-Contexts.html#v:findOwnInput - Resolves #44 -
getContinuingOutputs
- https://input-output-hk.github.io/plutus/master/plutus-ledger-api/html/PlutusLedgerApi-V2-Contexts.html#v:getContinuingOutputs -
txSignedBy
- https://input-output-hk.github.io/plutus/master/plutus-ledger-api/html/PlutusLedgerApi-V2-Contexts.html#v:txSignedBy -
checkOwnOutput
- check whether there's an output with expected datum and value going to the same script as currently being validated
I will be adding further items to this list but at least these for now. I will be also adding PRs for those functions over time.
micahkendall commented
I suggest that
txSignedBy :: [TxInfo] -> [PubKeyHash] -> [Bool]
is instead
signedByAll :: [PubKeyHash] -> [PubKeyHash] -> [Bool]
or some other variant. Once there are type classes etc. it can be an alias for list subset.
micahkendall commented
I don't like getContinuingOutputs/checkOwnOutput as they seem to be unnecessarily limiting in many cases, or encourage bad habits. Maybe we should have a compatibility library for all these ideas, and encourage datum/nft tagging etc. as alternatives.