tx_util
A utility library to help constructing ScriptContext
, useful for testing.
โน๏ธ | Package info | aiken-extra/tx_util v1.170.202311 | ๐ชฒ |
---|---|---|---|
๐ข | Depends on | aiken-lang/stdlib v1.7.0 | โ๏ธ |
๐ข | Tested with | 7d319077e6 | โ๏ธ |
Usage Example
use tx_util/builder.{
build_txn_context,
mint_assets,
add_tx_ref_input,
add_tx_input,
add_tx_output,
add_signatory
}
test validate_something() {
...
let ctx =
after(now) // aiken/interval.{after}
|> build_txn_context()
|> mint_assets("PolicyID", minted_assets)
|> add_tx_ref_input(tx_ref_in)
|> add_tx_input(tx_in_1)
|> add_tx_input(tx_in_2)
|> add_tx_output(tx_out_1)
|> add_tx_output(tx_out_2)
|> add_signatory("Signer")
...
validator(..., ..., ctx)
}
Where,
// aiken/transaction/value
minted_assets = to_minted_value(assets)
// tx_util/builder
tx_ref_in = new_tx_input(...)
|> with_asset_of_tx_input(asset)
// tx_util/builder.{new_tx_input}
tx_in_1 = new_tx_input(...)
// tx_util/builder.{with_asset_of_tx_input}
tx_in_2 = new_tx_input(...)
|> with_asset_of_tx_input(asset1)
|> with_asset_of_tx_input(asset2)
// tx_util/builder.{new_tx_output}
tx_out_1 = new_tx_output(...)
// tx_util/builder.{add_asset_to_tx_output}
tx_out_2 = new_tx_output(...)
|> add_asset_to_tx_output(asset1)
|> add_asset_to_tx_output(asset2)