Module hebi.ledger.api_v2
+The PlutusV2 ledger API
++Expand source code +
+"""
+The PlutusV2 ledger API
+"""
+from dataclasses import dataclass
+from typing import Dict, List, Union
+
+from pycardano import Datum as Anything, PlutusData
+
+
+# Plutus V2
+@dataclass(unsafe_hash=True)
+class TxId(PlutusData):
+ """
+ A transaction id, a 64 bytes long hash of the transaction body (also called transaction hash).
+
+ Example value: TxId(bytes.fromhex("842a4d37b036da6ab3c04331240e67d81746beb44f23ad79703e026705361956"))
+ """
+
+ tx_id: bytes
+
+
+@dataclass(unsafe_hash=True)
+class Nothing(PlutusData):
+ """
+ Nothing, can be used to signify non-importance of a parameter to a function
+
+ Example value: Nothing()
+ """
+
+ # The maximimum constructor ID for simple cbor types, chosen to minimize probability of collision while keeping the corresponding cbor small
+ CONSTR_ID = 6
+
+
+@dataclass(unsafe_hash=True)
+class TrueData(PlutusData):
+ """
+ A Datum that represents True in Haskell implementations.
+ It is thus used as an encoding for True in the ScriptContext.
+
+ Example value: TrueData()
+ """
+
+ CONSTR_ID = 0
+
+
+@dataclass(unsafe_hash=True)
+class FalseData(PlutusData):
+ """
+ A Datum that represents False in Haskell implementations.
+ It is thus used as an encoding for False in the ScriptContext.
+
+ Example value: FalseData()
+ """
+
+ CONSTR_ID = 1
+
+
+# A Datum that represents a boolean value in Haskell implementations.
+# It is thus used as an encoding for booleans in the ScriptContext.
+#
+# Example value: TrueData()
+BoolData = Union[TrueData, FalseData]
+
+
+@dataclass(unsafe_hash=True)
+class TxOutRef(PlutusData):
+ """
+ A reference to a transaction output (hash/id + index)
+ """
+
+ id: TxId
+ idx: int
+
+
+# A public key hash, used to identify signatures provided by a wallet
+PubKeyHash = bytes
+
+
+@dataclass(unsafe_hash=True)
+class PubKeyCredential(PlutusData):
+ """
+ Part of an address that is authenticated by a public key hash
+
+ Example value: PubKeyCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274"))
+ """
+
+ CONSTR_ID = 0
+ credential_hash: PubKeyHash
+
+
+# A validator hash, used to identify signatures provided by a smart contract
+ValidatorHash = bytes
+
+
+@dataclass(unsafe_hash=True)
+class ScriptCredential(PlutusData):
+ """
+ Part of an address that is authenticated by a smart cotnract
+
+ Example value: ScriptCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274"))
+ """
+
+ CONSTR_ID = 1
+ credential_hash: ValidatorHash
+
+
+# A credential, either smart contract or public key hash
+Credential = Union[PubKeyCredential, ScriptCredential]
+
+
+@dataclass(unsafe_hash=True)
+class StakingHash(PlutusData):
+ """
+ Indicates that the stake of this address is controlled by the associated credential
+ """
+
+ CONSTR_ID = 0
+ value: Credential
+
+
+@dataclass(unsafe_hash=True)
+class StakingPtr(PlutusData):
+ """
+ Indicates that the stake of this address is controlled by the associated pointer.
+
+ In an address, a chain pointer refers to a point of the chain containing a stake key registration certificate.
+ A point is identified by the 3 coordinates in this object.
+ """
+
+ CONSTR_ID = 1
+ # an absolute slot number
+ slot_no: int
+ # a transaction index (within that slot)
+ tx_index: int
+ # a (delegation) certificate index (within that transaction)
+ cert_index: int
+
+
+# Part of an address that controls who can delegate the stake associated with an address
+StakingCredential = Union[StakingHash, StakingPtr]
+
+
+@dataclass(unsafe_hash=True)
+class NoStakingCredential(PlutusData):
+ """
+ Indicates that this address has no staking credentials.
+ Its funds can not be delegated.
+ """
+
+ CONSTR_ID = 1
+
+
+@dataclass(unsafe_hash=True)
+class SomeStakingCredential(PlutusData):
+ """
+ Indicates that this address has staking credentials.
+ Its funds can be delegated by the credentialed user.
+ """
+
+ CONSTR_ID = 0
+ staking_credential: StakingCredential
+
+
+@dataclass(unsafe_hash=True)
+class Address(PlutusData):
+ """
+ A Shelley address, consisting of a payment and staking credential
+ """
+
+ payment_credential: Credential
+ staking_credential: Union[NoStakingCredential, SomeStakingCredential]
+
+
+# The policy Id of a token
+PolicyId = bytes
+
+# The name of a token in bytes (not textual representation!)
+TokenName = bytes
+
+# The Plutus representation of amounts of tokens being spent, sent or minted
+# It is a two-layered dictionary that stores for each policy id and token name
+# the amount of the token that is being sent/minted/burned etc
+#
+# Lovelace is represented with policy id b"" and token name b""
+Value = Dict[PolicyId, Dict[TokenName, int]]
+
+# A hash of a Datum
+DatumHash = bytes
+
+
+@dataclass(unsafe_hash=True)
+class SomeDatumHash(PlutusData):
+ """
+ Indicates that there is a datum associated with this output, which has the given hash.
+ """
+
+ CONSTR_ID = 1
+ datum_hash: DatumHash
+
+
+@dataclass(unsafe_hash=True)
+class SomeScriptHash(PlutusData):
+ """
+ Indicates that there is a script associated with this output, which has the given hash.
+ """
+
+ CONSTR_ID = 0
+ script_hash: DatumHash
+
+
+# The abstract super type of any object in opshin.
+# Use if you don't know what kind of object is being passed or if it doesn't matter.
+BuiltinData = Anything
+
+
+# An abstract type annotation that something is supposed to be used as a redeemer.
+Redeemer = BuiltinData
+
+
+# An abstract type annotation that something is supposed to be used as a datum.
+Datum = BuiltinData
+
+
+@dataclass(unsafe_hash=True)
+class NoOutputDatum(PlutusData):
+ """
+ Indicates that there is no datum associated with an output
+ """
+
+ CONSTR_ID = 0
+
+
+@dataclass(unsafe_hash=True)
+class SomeOutputDatumHash(PlutusData):
+ """
+ Indicates that there is an datum associated with an output, which has the attached hash
+ """
+
+ CONSTR_ID = 1
+ datum_hash: DatumHash
+
+
+@dataclass(unsafe_hash=True)
+class SomeOutputDatum(PlutusData):
+ """
+ Indicates that there is an datum associated with an output, which is inlined and equal to the attached datum
+ """
+
+ CONSTR_ID = 2
+ datum: Datum
+
+
+# Possible cases of datum association with an output
+OutputDatum = Union[NoOutputDatum, SomeOutputDatumHash, SomeOutputDatum]
+
+
+@dataclass(unsafe_hash=True)
+class NoScriptHash(PlutusData):
+ """
+ Indicates that there is no script associated with an output
+ """
+
+ CONSTR_ID = 1
+
+
+@dataclass(unsafe_hash=True)
+class TxOut(PlutusData):
+ """
+ The plutus representation of an transaction output, consisting of
+ - address: address owning this output
+ - value: tokens associated with this output
+ - datum: datum associated with this output
+ - reference_script: reference script associated with this output
+ """
+
+ address: Address
+ value: Value
+ datum: OutputDatum
+ reference_script: Union[NoScriptHash, SomeScriptHash]
+
+
+@dataclass(unsafe_hash=True)
+class TxInInfo(PlutusData):
+ """
+ The plutus representation of an transaction output, that is consumed by the transaction.
+ """
+
+ out_ref: TxOutRef
+ resolved: TxOut
+
+
+@dataclass(unsafe_hash=True)
+class DCertDelegRegKey(PlutusData):
+ CONSTR_ID = 0
+ value: StakingCredential
+
+
+@dataclass(unsafe_hash=True)
+class DCertDelegDeRegKey(PlutusData):
+ CONSTR_ID = 1
+ value: StakingCredential
+
+
+@dataclass(unsafe_hash=True)
+class DCertDelegDelegate(PlutusData):
+ CONSTR_ID = 2
+ delegator: StakingCredential
+ delegatee: PubKeyHash
+
+
+@dataclass(unsafe_hash=True)
+class DCertPoolRegister(PlutusData):
+ CONSTR_ID = 3
+ pool_id: PubKeyHash
+ pool_vfr: PubKeyHash
+
+
+@dataclass(unsafe_hash=True)
+class DCertPoolRetire(PlutusData):
+ CONSTR_ID = 4
+ retirement_certificate: PubKeyHash
+ epoch: int
+
+
+@dataclass(unsafe_hash=True)
+class DCertGenesis(PlutusData):
+ CONSTR_ID = 5
+
+
+@dataclass(unsafe_hash=True)
+class DCertMir(PlutusData):
+ CONSTR_ID = 6
+
+
+DCert = Union[
+ DCertDelegRegKey,
+ DCertDelegDeRegKey,
+ DCertDelegDelegate,
+ DCertPoolRegister,
+ DCertPoolRetire,
+ DCertGenesis,
+ DCertMir,
+]
+
+
+POSIXTime = int
+
+
+@dataclass(unsafe_hash=True)
+class NegInfPOSIXTime(PlutusData):
+ """
+ Negative infinite POSIX time, used to indicate that there is no lower bound for the execution of this transaction
+ """
+
+ CONSTR_ID = 0
+
+
+@dataclass(unsafe_hash=True)
+class FinitePOSIXTime(PlutusData):
+ """
+ Finite POSIX time, used to indicate that there is a lower or upper bound for the execution of this transaction
+ """
+
+ CONSTR_ID = 1
+ time: POSIXTime
+
+
+@dataclass(unsafe_hash=True)
+class PosInfPOSIXTime(PlutusData):
+ """
+ Infinite POSIX time, used to indicate that there is no upper bound for the execution of this transaction
+ """
+
+ CONSTR_ID = 2
+
+
+ExtendedPOSIXTime = Union[NegInfPOSIXTime, FinitePOSIXTime, PosInfPOSIXTime]
+
+
+@dataclass(unsafe_hash=True)
+class UpperBoundPOSIXTime(PlutusData):
+ """
+ Upper bound for the execution of this transaction
+ """
+
+ CONSTR_ID = 0
+ limit: ExtendedPOSIXTime
+ closed: BoolData
+
+
+@dataclass(unsafe_hash=True)
+class LowerBoundPOSIXTime(PlutusData):
+ """
+ Lower bound for the execution of this transaction
+ """
+
+ CONSTR_ID = 0
+ limit: ExtendedPOSIXTime
+ closed: BoolData
+
+
+@dataclass(unsafe_hash=True)
+class POSIXTimeRange(PlutusData):
+ """
+ Time range in which this transaction can be executed
+ """
+
+ lower_bound: LowerBoundPOSIXTime
+ upper_bound: UpperBoundPOSIXTime
+
+
+@dataclass(unsafe_hash=True)
+class Minting(PlutusData):
+ """
+ Script purpose indicating that the given policy id is being minted or burned
+ """
+
+ CONSTR_ID = 0
+ policy_id: PolicyId
+
+
+@dataclass(unsafe_hash=True)
+class Spending(PlutusData):
+ """
+ Script purpose indicating that the given transaction output is being spent, which is
+ owned by the invoked contract
+ """
+
+ CONSTR_ID = 1
+ tx_out_ref: TxOutRef
+
+
+@dataclass(unsafe_hash=True)
+class Rewarding(PlutusData):
+ CONSTR_ID = 2
+ staking_credential: StakingCredential
+
+
+@dataclass(unsafe_hash=True)
+class Certifying(PlutusData):
+ CONSTR_ID = 3
+ d_cert: DCert
+
+
+# The reason that this script is being invoked
+ScriptPurpose = Union[Minting, Spending, Rewarding, Certifying]
+
+
+@dataclass(unsafe_hash=True)
+class TxInfo(PlutusData):
+ """
+ A complex agglomeration of everything that could be of interest to the executed script, regarding the transaction
+ that invoked the script
+ """
+
+ inputs: List[TxInInfo]
+ reference_inputs: List[TxInInfo]
+ outputs: List[TxOut]
+ fee: Value
+ mint: Value
+ dcert: List[DCert]
+ wdrl: Dict[StakingCredential, int]
+ valid_range: POSIXTimeRange
+ signatories: List[PubKeyHash]
+ redeemers: Dict[ScriptPurpose, Redeemer]
+ data: Dict[DatumHash, Datum]
+ id: TxId
+
+
+@dataclass(unsafe_hash=True)
+class ScriptContext(PlutusData):
+ """
+ Auxiliary information about the transaction and reason for invocation of the called script.
+ """
+
+ tx_info: TxInfo
+ purpose: ScriptPurpose
+Classes
+-
+
+class Address +(payment_credential: Union[PubKeyCredential, ScriptCredential], staking_credential: Union[NoStakingCredential, SomeStakingCredential]) +
+-
++
A Shelley address, consisting of a payment and staking credential
+++Expand source code +
+
+class Address(PlutusData): + """ + A Shelley address, consisting of a payment and staking credential + """ + + payment_credential: Credential + staking_credential: Union[NoStakingCredential, SomeStakingCredential]
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var payment_credential : Union[PubKeyCredential, ScriptCredential]
+- + + +
var staking_credential : Union[NoStakingCredential, SomeStakingCredential]
+- + + +
+ +class Certifying +(d_cert: Union[DCertDelegRegKey, DCertDelegDeRegKey, DCertDelegDelegate, DCertPoolRegister, DCertPoolRetire, DCertGenesis, DCertMir]) +
+-
++
Certifying(d_cert: Union[hebi.ledger.api_v2.DCertDelegRegKey, hebi.ledger.api_v2.DCertDelegDeRegKey, hebi.ledger.api_v2.DCertDelegDelegate, hebi.ledger.api_v2.DCertPoolRegister, hebi.ledger.api_v2.DCertPoolRetire, hebi.ledger.api_v2.DCertGenesis, hebi.ledger.api_v2.DCertMir])
+++Expand source code +
+
+class Certifying(PlutusData): + CONSTR_ID = 3 + d_cert: DCert
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var d_cert : Union[DCertDelegRegKey, DCertDelegDeRegKey, DCertDelegDelegate, DCertPoolRegister, DCertPoolRetire, DCertGenesis, DCertMir]
+- + + +
+ +class DCertDelegDeRegKey +(value: Union[StakingHash, StakingPtr]) +
+-
++
DCertDelegDeRegKey(value: Union[hebi.ledger.api_v2.StakingHash, hebi.ledger.api_v2.StakingPtr])
+++Expand source code +
+
+class DCertDelegDeRegKey(PlutusData): + CONSTR_ID = 1 + value: StakingCredential
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var value : Union[StakingHash, StakingPtr]
+- + + +
+ +class DCertDelegDelegate +(delegator: Union[StakingHash, StakingPtr], delegatee: bytes) +
+-
++
DCertDelegDelegate(delegator: Union[hebi.ledger.api_v2.StakingHash, hebi.ledger.api_v2.StakingPtr], delegatee: bytes)
+++Expand source code +
+
+class DCertDelegDelegate(PlutusData): + CONSTR_ID = 2 + delegator: StakingCredential + delegatee: PubKeyHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var delegatee : bytes
+- + + +
var delegator : Union[StakingHash, StakingPtr]
+- + + +
+ +class DCertDelegRegKey +(value: Union[StakingHash, StakingPtr]) +
+-
++
DCertDelegRegKey(value: Union[hebi.ledger.api_v2.StakingHash, hebi.ledger.api_v2.StakingPtr])
+++Expand source code +
+
+class DCertDelegRegKey(PlutusData): + CONSTR_ID = 0 + value: StakingCredential
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var value : Union[StakingHash, StakingPtr]
+- + + +
+ +class DCertGenesis +
+-
++
DCertGenesis()
+++Expand source code +
+
+class DCertGenesis(PlutusData): + CONSTR_ID = 5
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class DCertMir +
+-
++
DCertMir()
+++Expand source code +
+
+class DCertMir(PlutusData): + CONSTR_ID = 6
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class DCertPoolRegister +(pool_id: bytes, pool_vfr: bytes) +
+-
++
DCertPoolRegister(pool_id: bytes, pool_vfr: bytes)
+++Expand source code +
+
+class DCertPoolRegister(PlutusData): + CONSTR_ID = 3 + pool_id: PubKeyHash + pool_vfr: PubKeyHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var pool_id : bytes
+- + + +
var pool_vfr : bytes
+- + + +
+ +class DCertPoolRetire +(retirement_certificate: bytes, epoch: int) +
+-
++
DCertPoolRetire(retirement_certificate: bytes, epoch: int)
+++Expand source code +
+
+class DCertPoolRetire(PlutusData): + CONSTR_ID = 4 + retirement_certificate: PubKeyHash + epoch: int
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var epoch : int
+- + + +
var retirement_certificate : bytes
+- + + +
+ +class FalseData +
+-
++
A Datum that represents False in Haskell implementations. +It is thus used as an encoding for False in the ScriptContext.
+Example value: FalseData()
+++Expand source code +
+
+class FalseData(PlutusData): + """ + A Datum that represents False in Haskell implementations. + It is thus used as an encoding for False in the ScriptContext. + + Example value: FalseData() + """ + + CONSTR_ID = 1
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class FinitePOSIXTime +(time: int) +
+-
++
Finite POSIX time, used to indicate that there is a lower or upper bound for the execution of this transaction
+++Expand source code +
+
+class FinitePOSIXTime(PlutusData): + """ + Finite POSIX time, used to indicate that there is a lower or upper bound for the execution of this transaction + """ + + CONSTR_ID = 1 + time: POSIXTime
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var time : int
+- + + +
+ +class LowerBoundPOSIXTime +(limit: Union[NegInfPOSIXTime, FinitePOSIXTime, PosInfPOSIXTime], closed: Union[TrueData, FalseData]) +
+-
++
Lower bound for the execution of this transaction
+++Expand source code +
+
+class LowerBoundPOSIXTime(PlutusData): + """ + Lower bound for the execution of this transaction + """ + + CONSTR_ID = 0 + limit: ExtendedPOSIXTime + closed: BoolData
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var closed : Union[TrueData, FalseData]
+- + + +
var limit : Union[NegInfPOSIXTime, FinitePOSIXTime, PosInfPOSIXTime]
+- + + +
+ +class Minting +(policy_id: bytes) +
+-
++
Script purpose indicating that the given policy id is being minted or burned
+++Expand source code +
+
+class Minting(PlutusData): + """ + Script purpose indicating that the given policy id is being minted or burned + """ + + CONSTR_ID = 0 + policy_id: PolicyId
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var policy_id : bytes
+- + + +
+ +class NegInfPOSIXTime +
+-
++
Negative infinite POSIX time, used to indicate that there is no lower bound for the execution of this transaction
+++Expand source code +
+
+class NegInfPOSIXTime(PlutusData): + """ + Negative infinite POSIX time, used to indicate that there is no lower bound for the execution of this transaction + """ + + CONSTR_ID = 0
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class NoOutputDatum +
+-
++
Indicates that there is no datum associated with an output
+++Expand source code +
+
+class NoOutputDatum(PlutusData): + """ + Indicates that there is no datum associated with an output + """ + + CONSTR_ID = 0
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class NoScriptHash +
+-
++
Indicates that there is no script associated with an output
+++Expand source code +
+
+class NoScriptHash(PlutusData): + """ + Indicates that there is no script associated with an output + """ + + CONSTR_ID = 1
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class NoStakingCredential +
+-
++
Indicates that this address has no staking credentials. +Its funds can not be delegated.
+++Expand source code +
+
+class NoStakingCredential(PlutusData): + """ + Indicates that this address has no staking credentials. + Its funds can not be delegated. + """ + + CONSTR_ID = 1
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class Nothing +
+-
++
Nothing, can be used to signify non-importance of a parameter to a function
+Example value: Nothing()
+++Expand source code +
+
+class Nothing(PlutusData): + """ + Nothing, can be used to signify non-importance of a parameter to a function + + Example value: Nothing() + """ + + # The maximimum constructor ID for simple cbor types, chosen to minimize probability of collision while keeping the corresponding cbor small + CONSTR_ID = 6
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class POSIXTimeRange +(lower_bound: LowerBoundPOSIXTime, upper_bound: UpperBoundPOSIXTime) +
+-
++
Time range in which this transaction can be executed
+++Expand source code +
+
+class POSIXTimeRange(PlutusData): + """ + Time range in which this transaction can be executed + """ + + lower_bound: LowerBoundPOSIXTime + upper_bound: UpperBoundPOSIXTime
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var lower_bound : LowerBoundPOSIXTime
+- + + +
var upper_bound : UpperBoundPOSIXTime
+- + + +
+ +class PosInfPOSIXTime +
+-
++
Infinite POSIX time, used to indicate that there is no upper bound for the execution of this transaction
+++Expand source code +
+
+class PosInfPOSIXTime(PlutusData): + """ + Infinite POSIX time, used to indicate that there is no upper bound for the execution of this transaction + """ + + CONSTR_ID = 2
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class PubKeyCredential +(credential_hash: bytes) +
+-
++
Part of an address that is authenticated by a public key hash
+Example value: PubKeyCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274"))
+++Expand source code +
+
+class PubKeyCredential(PlutusData): + """ + Part of an address that is authenticated by a public key hash + + Example value: PubKeyCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274")) + """ + + CONSTR_ID = 0 + credential_hash: PubKeyHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var credential_hash : bytes
+- + + +
+ +class Rewarding +(staking_credential: Union[StakingHash, StakingPtr]) +
+-
++
Rewarding(staking_credential: Union[hebi.ledger.api_v2.StakingHash, hebi.ledger.api_v2.StakingPtr])
+++Expand source code +
+
+class Rewarding(PlutusData): + CONSTR_ID = 2 + staking_credential: StakingCredential
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var staking_credential : Union[StakingHash, StakingPtr]
+- + + +
+ +class ScriptContext +(tx_info: TxInfo, purpose: Union[Minting, Spending, Rewarding, Certifying]) +
+-
++
Auxiliary information about the transaction and reason for invocation of the called script.
+++Expand source code +
+
+class ScriptContext(PlutusData): + """ + Auxiliary information about the transaction and reason for invocation of the called script. + """ + + tx_info: TxInfo + purpose: ScriptPurpose
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var purpose : Union[Minting, Spending, Rewarding, Certifying]
+- + + +
var tx_info : TxInfo
+- + + +
+ +class ScriptCredential +(credential_hash: bytes) +
+-
++
Part of an address that is authenticated by a smart cotnract
+Example value: ScriptCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274"))
+++Expand source code +
+
+class ScriptCredential(PlutusData): + """ + Part of an address that is authenticated by a smart cotnract + + Example value: ScriptCredential(bytes.fromhex("c06ddaad12fc4ded18e56feac72957c1aa75fce6096b40e63ec88274")) + """ + + CONSTR_ID = 1 + credential_hash: ValidatorHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var credential_hash : bytes
+- + + +
+ +class SomeDatumHash +(datum_hash: bytes) +
+-
++
Indicates that there is a datum associated with this output, which has the given hash.
+++Expand source code +
+
+class SomeDatumHash(PlutusData): + """ + Indicates that there is a datum associated with this output, which has the given hash. + """ + + CONSTR_ID = 1 + datum_hash: DatumHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var datum_hash : bytes
+- + + +
+ +class SomeOutputDatum +(datum: Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]) +
+-
++
Indicates that there is an datum associated with an output, which is inlined and equal to the attached datum
+++Expand source code +
+
+class SomeOutputDatum(PlutusData): + """ + Indicates that there is an datum associated with an output, which is inlined and equal to the attached datum + """ + + CONSTR_ID = 2 + datum: Datum
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var datum : Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]
+- + + +
+ +class SomeOutputDatumHash +(datum_hash: bytes) +
+-
++
Indicates that there is an datum associated with an output, which has the attached hash
+++Expand source code +
+
+class SomeOutputDatumHash(PlutusData): + """ + Indicates that there is an datum associated with an output, which has the attached hash + """ + + CONSTR_ID = 1 + datum_hash: DatumHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var datum_hash : bytes
+- + + +
+ +class SomeScriptHash +(script_hash: bytes) +
+-
++
Indicates that there is a script associated with this output, which has the given hash.
+++Expand source code +
+
+class SomeScriptHash(PlutusData): + """ + Indicates that there is a script associated with this output, which has the given hash. + """ + + CONSTR_ID = 0 + script_hash: DatumHash
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var script_hash : bytes
+- + + +
+ +class SomeStakingCredential +(staking_credential: Union[StakingHash, StakingPtr]) +
+-
++
Indicates that this address has staking credentials. +Its funds can be delegated by the credentialed user.
+++Expand source code +
+
+class SomeStakingCredential(PlutusData): + """ + Indicates that this address has staking credentials. + Its funds can be delegated by the credentialed user. + """ + + CONSTR_ID = 0 + staking_credential: StakingCredential
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var staking_credential : Union[StakingHash, StakingPtr]
+- + + +
+ +class Spending +(tx_out_ref: TxOutRef) +
+-
++
Script purpose indicating that the given transaction output is being spent, which is +owned by the invoked contract
+++Expand source code +
+
+class Spending(PlutusData): + """ + Script purpose indicating that the given transaction output is being spent, which is + owned by the invoked contract + """ + + CONSTR_ID = 1 + tx_out_ref: TxOutRef
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var tx_out_ref : TxOutRef
+- + + +
+ +class StakingHash +(value: Union[PubKeyCredential, ScriptCredential]) +
+-
++
Indicates that the stake of this address is controlled by the associated credential
+++Expand source code +
+
+class StakingHash(PlutusData): + """ + Indicates that the stake of this address is controlled by the associated credential + """ + + CONSTR_ID = 0 + value: Credential
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var value : Union[PubKeyCredential, ScriptCredential]
+- + + +
+ +class StakingPtr +(slot_no: int, tx_index: int, cert_index: int) +
+-
++
Indicates that the stake of this address is controlled by the associated pointer.
+In an address, a chain pointer refers to a point of the chain containing a stake key registration certificate. +A point is identified by the 3 coordinates in this object.
+++Expand source code +
+
+class StakingPtr(PlutusData): + """ + Indicates that the stake of this address is controlled by the associated pointer. + + In an address, a chain pointer refers to a point of the chain containing a stake key registration certificate. + A point is identified by the 3 coordinates in this object. + """ + + CONSTR_ID = 1 + # an absolute slot number + slot_no: int + # a transaction index (within that slot) + tx_index: int + # a (delegation) certificate index (within that transaction) + cert_index: int
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var cert_index : int
+- + + +
var slot_no : int
+- + + +
var tx_index : int
+- + + +
+ +class TrueData +
+-
++
A Datum that represents True in Haskell implementations. +It is thus used as an encoding for True in the ScriptContext.
+Example value: TrueData()
+++Expand source code +
+
+class TrueData(PlutusData): + """ + A Datum that represents True in Haskell implementations. + It is thus used as an encoding for True in the ScriptContext. + + Example value: TrueData() + """ + + CONSTR_ID = 0
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
+ +class TxId +(tx_id: bytes) +
+-
++
A transaction id, a 64 bytes long hash of the transaction body (also called transaction hash).
+Example value: TxId(bytes.fromhex("842a4d37b036da6ab3c04331240e67d81746beb44f23ad79703e026705361956"))
+++Expand source code +
+
+class TxId(PlutusData): + """ + A transaction id, a 64 bytes long hash of the transaction body (also called transaction hash). + + Example value: TxId(bytes.fromhex("842a4d37b036da6ab3c04331240e67d81746beb44f23ad79703e026705361956")) + """ + + tx_id: bytes
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var tx_id : bytes
+- + + +
+ +class TxInInfo +(out_ref: TxOutRef, resolved: TxOut) +
+-
++
The plutus representation of an transaction output, that is consumed by the transaction.
+++Expand source code +
+
+class TxInInfo(PlutusData): + """ + The plutus representation of an transaction output, that is consumed by the transaction. + """ + + out_ref: TxOutRef + resolved: TxOut
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+ +
+ +class TxInfo +(inputs: List[TxInInfo], reference_inputs: List[TxInInfo], outputs: List[TxOut], fee: Dict[bytes, Dict[bytes, int]], mint: Dict[bytes, Dict[bytes, int]], dcert: List[Union[DCertDelegRegKey, DCertDelegDeRegKey, DCertDelegDelegate, DCertPoolRegister, DCertPoolRetire, DCertGenesis, DCertMir]], wdrl: Dict[Union[StakingHash, StakingPtr], int], valid_range: POSIXTimeRange, signatories: List[bytes], redeemers: Dict[Union[Minting, Spending, Rewarding, Certifying], Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]], data: Dict[bytes, Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]], id: TxId) +
+-
++
A complex agglomeration of everything that could be of interest to the executed script, regarding the transaction +that invoked the script
+++Expand source code +
+
+class TxInfo(PlutusData): + """ + A complex agglomeration of everything that could be of interest to the executed script, regarding the transaction + that invoked the script + """ + + inputs: List[TxInInfo] + reference_inputs: List[TxInInfo] + outputs: List[TxOut] + fee: Value + mint: Value + dcert: List[DCert] + wdrl: Dict[StakingCredential, int] + valid_range: POSIXTimeRange + signatories: List[PubKeyHash] + redeemers: Dict[ScriptPurpose, Redeemer] + data: Dict[DatumHash, Datum] + id: TxId
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var data : Dict[bytes, Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]]
+- + + +
var dcert : List[Union[DCertDelegRegKey, DCertDelegDeRegKey, DCertDelegDelegate, DCertPoolRegister, DCertPoolRetire, DCertGenesis, DCertMir]]
+- + + +
var fee : Dict[bytes, Dict[bytes, int]]
+- + + +
var id : TxId
+- + + +
var inputs : List[TxInInfo]
+- + + +
var mint : Dict[bytes, Dict[bytes, int]]
+- + + +
var outputs : List[TxOut]
+- + + +
var redeemers : Dict[Union[Minting, Spending, Rewarding, Certifying], Union[pycardano.plutus.PlutusData, dict, pycardano.serialization.IndefiniteList, int, bytes, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]]
+- + + +
var reference_inputs : List[TxInInfo]
+- + + +
var signatories : List[bytes]
+- + + +
var valid_range : POSIXTimeRange
+- + + +
var wdrl : Dict[Union[StakingHash, StakingPtr], int]
+- + + +
+ +class TxOut +(address: Address, value: Dict[bytes, Dict[bytes, int]], datum: Union[NoOutputDatum, SomeOutputDatumHash, SomeOutputDatum], reference_script: Union[NoScriptHash, SomeScriptHash]) +
+-
++
The plutus representation of an transaction output, consisting of +- address: address owning this output +- value: tokens associated with this output +- datum: datum associated with this output +- reference_script: reference script associated with this output
+++Expand source code +
+
+class TxOut(PlutusData): + """ + The plutus representation of an transaction output, consisting of + - address: address owning this output + - value: tokens associated with this output + - datum: datum associated with this output + - reference_script: reference script associated with this output + """ + + address: Address + value: Value + datum: OutputDatum + reference_script: Union[NoScriptHash, SomeScriptHash]
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var address : Address
+- + + +
var datum : Union[NoOutputDatum, SomeOutputDatumHash, SomeOutputDatum]
+- + + +
var reference_script : Union[NoScriptHash, SomeScriptHash]
+- + + +
var value : Dict[bytes, Dict[bytes, int]]
+- + + +
+ +class TxOutRef +(id: TxId, idx: int) +
+-
++
A reference to a transaction output (hash/id + index)
+++Expand source code +
+
+class TxOutRef(PlutusData): + """ + A reference to a transaction output (hash/id + index) + """ + + id: TxId + idx: int
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var id : TxId
+- + + +
var idx : int
+- + + +
+ +class UpperBoundPOSIXTime +(limit: Union[NegInfPOSIXTime, FinitePOSIXTime, PosInfPOSIXTime], closed: Union[TrueData, FalseData]) +
+-
++
Upper bound for the execution of this transaction
+++Expand source code +
+
+class UpperBoundPOSIXTime(PlutusData): + """ + Upper bound for the execution of this transaction + """ + + CONSTR_ID = 0 + limit: ExtendedPOSIXTime + closed: BoolData
Ancestors
+-
+
- pycardano.plutus.PlutusData +
- pycardano.serialization.ArrayCBORSerializable +
- pycardano.serialization.CBORSerializable +
Class variables
+-
+
var CONSTR_ID : ClassVar[int]
+- + + +
var closed : Union[TrueData, FalseData]
+- + + +
var limit : Union[NegInfPOSIXTime, FinitePOSIXTime, PosInfPOSIXTime]
+- + + +
+