ContractValidatorContexts
export type ContractValidatorContexts<V extends LoadedValidator = LoadedValidator> = V extends {
Datum: [CastLike](/docs/sdk/contract-utils/CastLike)<any, any>
purpose: "spending"
Redeemer: [CastLike](/docs/sdk/contract-utils/CastLike)<any, any>
\}
? \{hash: ValidatorHash<SpendingContext<StrictType<V["Datum"]>, [PermissiveType](/docs/sdk/contract-utils/PermissiveType)<V["Datum"]>, StrictType<V["Redeemer"]>, [PermissiveType](/docs/sdk/contract-utils/PermissiveType)<V["Redeemer"]>>>} & ContractTypesContext<V["types"]> & [ContractUserFuncsContext](/docs/sdk/contract-utils/ContractUserFuncsContext)<V["functions"]>
: V extends {
purpose: "minting"
Redeemer: CastLike<any, any>
}
? {hash: [MintingPolicyHash](/docs/sdk/ledger/MintingPolicyHash)<[MintingContext](/docs/sdk/ledger/MintingContext)<[StrictType](/docs/sdk/contract-utils/StrictType)<V["Redeemer"]>, PermissiveType<V["Redeemer"]>>>\} & [ContractTypesContext](/docs/sdk/contract-utils/ContractTypesContext)<V["types"]> & ContractUserFuncsContext<V["functions"]>
: V extends \{
purpose: "certifying"
| "rewarding"
| "staking"
Redeemer: [CastLike](/docs/sdk/contract-utils/CastLike)<any, any>
\}
? \{hash: StakingValidatorHash<StakingContext<StrictType<V["Redeemer"]>, [PermissiveType](/docs/sdk/contract-utils/PermissiveType)<V["Redeemer"]>>>} & ContractTypesContext<V["types"]> & [ContractUserFuncsContext](/docs/sdk/contract-utils/ContractUserFuncsContext)<V["functions"]>
: V extends {
Datum: [CastLike](/docs/sdk/contract-utils/CastLike)<any, any>
purpose: "mixed"
Redeemer: [CastLike](/docs/sdk/contract-utils/CastLike)<any, any>
\}
? \{hash: ScriptHash<SpendingContext<StrictType<V["Datum"]>, [PermissiveType](/docs/sdk/contract-utils/PermissiveType)<V["Datum"]>, StrictType<V["Redeemer"]>, [PermissiveType](/docs/sdk/contract-utils/PermissiveType)<V["Redeemer"]>>>} & ContractTypesContext<V["types"]> & [ContractUserFuncsContext](/docs/sdk/contract-utils/ContractUserFuncsContext)<V["functions"]>
: {$hash: ScriptHash<any>} & ContractTypesContext & ContractUserFuncsContext