ScriptContext
The ScriptContext
contains all the metadata related to a signed Cardano transaction and is often an important argument of the validator script main
function.
It wraps the Tx
type and provides some extra methods.
Associated functions
from_data
ScriptContext::from_data(data: Data) -> ScriptContext
new_certifying
Construct a ScriptContext
instance with a staking
/certifying
ScriptPurpose
. Only available after main
, see script structure.
Throws an error if the current script purpose isn't staking
or testing
.
ScriptContext::new_certifying(
tx: Tx,
dcert: DCert
) -> ScriptContext
new_minting
Construct a ScriptContext
instance with a minting
ScriptPurpose
. Only available after main
, see script structure.
Throws an error if the current script purpose isn't minting
or testing
.
ScriptContext::new_minting(
tx: Tx,
mph: MintingPolicyHash
) -> ScriptContext
new_rewarding
Construct a ScriptContext
instance with a staking
/rewarding
ScriptPurpose
. Only available after main
, see script structure.
Throws an error if the current script purpose isn't staking
or testing
.
ScriptContext::new_rewarding(
tx: Tx,
sc: StakingCredential
) -> ScriptContext
new_spending
Construct a ScriptContext
instance with a spending
ScriptPurpose
. Only available after main
, see script structure.
Throws an error if the current script purpose isn't spending
or testing
.
ScriptContext::new_spending(
tx: Tx,
output_id: TxOutputId
) -> ScriptContext
Getters
tx
Get the Tx
data structure.
ctx.tx -> Tx
Operators
==
ScriptContext == ScriptContext -> Bool
!=
ScriptContext != ScriptContext -> Bool
Methods
serialize
Returns the cbor-serialization of the ScriptContext
.
ctx.serialize() -> ByteArray
get_spending_purpose_output_id
Returns the TxOutputId
of the current UTxO being spent.
Can only be called in spending
purpose scripts, and throws an error otherwise.
ctx.get_spending_purpose_output_id() -> TxOutputId
get_current_input
Returns the current UTxO being spent as a TxInput
.
Can only be called in spending
purpose scripts, and throws an error otherwise.
ctx.get_current_input() -> TxInput
get_cont_outputs
Returns the outputs
sent back to the current validator script.
Can only be called in spending
purpose scripts, and throws an error otherwise.
ctx.get_cont_outputs() -> []TxOutput
get_current_validator_hash
Returns the ValidatorHash
of the current script.
Can only be called in spending
purpose scripts, and throws an error otherwise.
ctx.get_current_validator_hash() -> ValidatorHash
get_current_minting_policy_hash
Returns the MintingPolicyHash
of the minting policy being evaluated.
Can only be called in minting
purpose scripts, and throws an error otherwise.
ctx.get_current_minting_policy_hash() -> MintingPolicyHash
get_staking_purpose
Returns the current StakingPurpose
(Rewarding
or Certifying
).
Can only be called in staking
purpose scripts, and throws an error otherwise.
ctx.get_staking_purpose() -> StakingPurpose