Transaction
Definitions of transaction-related data types.
- class pycardano.transaction.TransactionInput(transaction_id: 'TransactionId', index: 'int')
Bases:
pycardano.serialization.ArrayCBORSerializable
- transaction_id: pycardano.hash.TransactionId
- index: int
- class pycardano.transaction.AssetName(payload: bytes)
Bases:
pycardano.hash.ConstrainedBytes
- MAX_SIZE = 32
- class pycardano.transaction.Asset(*args, **kwargs)
Bases:
pycardano.serialization.DictCBORSerializable
- KEY_TYPE
alias of
pycardano.transaction.AssetName
- VALUE_TYPE
alias of
int
- union(other: pycardano.transaction.Asset) pycardano.transaction.Asset
- class pycardano.transaction.MultiAsset(*args, **kwargs)
Bases:
pycardano.serialization.DictCBORSerializable
- KEY_TYPE
alias of
pycardano.hash.ScriptHash
- VALUE_TYPE
alias of
pycardano.transaction.Asset
- filter(criteria=typing.Callable[[pycardano.hash.ScriptHash, pycardano.transaction.AssetName, int], bool]) pycardano.transaction.MultiAsset
Filter items by criteria.
- Parameters
criteria – A function that takes in three input arguments (policy_id, asset_name, amount) and returns a bool. If returned value is True, then the asset will be kept, otherwise discarded.
- Returns
A new filtered MultiAsset object.
- count(criteria=typing.Callable[[pycardano.hash.ScriptHash, pycardano.transaction.AssetName, int], bool]) int
Count number of distinct assets that satisfy a certain criteria.
- Parameters
criteria – A function that takes in three input arguments (policy_id, asset_name, amount) and returns a bool.
- Returns
Total number of distinct assets that satisfy the criteria.
- Return type
int
- class pycardano.transaction.Value(coin: 'int' = 0, multi_asset: 'MultiAsset' = <factory>)
Bases:
pycardano.serialization.ArrayCBORSerializable
- coin: int = 0
Amount of ADA
- multi_asset: pycardano.transaction.MultiAsset
Multi-assets associated with the UTxO
- union(other: Union[pycardano.transaction.Value, int]) pycardano.transaction.Value
- to_shallow_primitive()
- Returns
A CBOR primitive.
- Return type
Primitive
- Raises
SerializeException – When the object could not be converted to CBOR primitive types.
- class pycardano.transaction.TransactionOutput(address: 'Address', amount: 'Union[Value]', datum_hash: 'Optional[DatumHash]' = None, datum: 'Optional[Datum]' = None, script: 'Optional[Union[NativeScript, PlutusV1Script, PlutusV2Script]]' = None, post_alonzo: 'Optional[bool]' = False)
Bases:
pycardano.serialization.CBORSerializable
- address: pycardano.address.Address
- amount: pycardano.transaction.Value
- datum_hash: Optional[pycardano.hash.DatumHash] = None
- datum: Optional[Union[pycardano.plutus.PlutusData, dict, int, bytes, pycardano.serialization.IndefiniteList, pycardano.serialization.RawCBOR, pycardano.plutus.RawPlutusData]] = None
- script: Optional[Union[pycardano.nativescript.NativeScript, pycardano.plutus.PlutusV1Script, pycardano.plutus.PlutusV2Script]] = None
- post_alonzo: Optional[bool] = False
- validate()
Validate the data stored in the current instance. Defaults to always pass.
- Raises
InvalidDataException – When the data is invalid.
- property lovelace: int
- to_primitive() Union[bytes, bytearray, str, int, float, decimal.Decimal, bool, None, tuple, list, pycardano.serialization.IndefiniteList, dict, collections.defaultdict, collections.OrderedDict, undefined_type, datetime.datetime, re.Pattern, CBORSimpleValue, _cbor2.CBORTag, set, frozenset, frozendict.frozendict, frozenlist._frozenlist.FrozenList, pycardano.serialization.IndefiniteFrozenList]
Convert the instance and its elements to CBOR primitives recursively.
- Returns
A CBOR primitive.
- Return type
Primitive
- Raises
SerializeException – When the object or its elements could not be converted to CBOR primitive types.
- classmethod from_primitive(value: Union[bytes, bytearray, str, int, float, decimal.Decimal, bool, None, tuple, list, pycardano.serialization.IndefiniteList, dict, collections.defaultdict, collections.OrderedDict, undefined_type, datetime.datetime, re.Pattern, CBORSimpleValue, _cbor2.CBORTag, set, frozenset, frozendict.frozendict, frozenlist._frozenlist.FrozenList, pycardano.serialization.IndefiniteFrozenList]) pycardano.transaction.TransactionOutput
Turn a CBOR primitive to its original class type.
- Parameters
cls (CBORBase) – The original class type.
value (
Primitive
) – A CBOR primitive.
- Returns
A CBOR serializable object.
- Return type
CBORBase
- Raises
DeserializeException – When the object could not be restored from primitives.
- class pycardano.transaction.UTxO(input: 'TransactionInput', output: 'TransactionOutput')
- class pycardano.transaction.TransactionBody(inputs: 'List[TransactionInput]' = <factory>, outputs: 'List[TransactionOutput]' = <factory>, fee: 'int' = 0, ttl: 'Optional[int]' = None, certificates: 'Optional[List[Certificate]]' = None, withdraws: 'Optional[Withdrawals]' = None, update: 'Any' = None, auxiliary_data_hash: 'Optional[AuxiliaryDataHash]' = None, validity_start: 'Optional[int]' = None, mint: 'Optional[MultiAsset]' = None, script_data_hash: 'Optional[ScriptDataHash]' = None, collateral: 'Optional[List[TransactionInput]]' = None, required_signers: 'Optional[List[VerificationKeyHash]]' = None, network_id: 'Optional[Network]' = None, collateral_return: 'Optional[TransactionOutput]' = None, total_collateral: 'Optional[int]' = None, reference_inputs: 'Optional[List[TransactionInput]]' = None)
Bases:
pycardano.serialization.MapCBORSerializable
- inputs: List[pycardano.transaction.TransactionInput]
- outputs: List[pycardano.transaction.TransactionOutput]
- fee: int = 0
- ttl: Optional[int] = None
- certificates: Optional[List[Union[pycardano.certificate.StakeRegistration, pycardano.certificate.StakeDeregistration, pycardano.certificate.StakeDelegation]]] = None
- withdraws: Optional[pycardano.transaction.Withdrawals] = None
- update: Any = None
- auxiliary_data_hash: Optional[pycardano.hash.AuxiliaryDataHash] = None
- validity_start: Optional[int] = None
- mint: Optional[pycardano.transaction.MultiAsset] = None
- script_data_hash: Optional[pycardano.hash.ScriptDataHash] = None
- collateral: Optional[List[pycardano.transaction.TransactionInput]] = None
- required_signers: Optional[List[pycardano.hash.VerificationKeyHash]] = None
- network_id: Optional[pycardano.network.Network] = None
- collateral_return: Optional[pycardano.transaction.TransactionOutput] = None
- total_collateral: Optional[int] = None
- reference_inputs: Optional[List[pycardano.transaction.TransactionInput]] = None
- hash() bytes
- property id: pycardano.hash.TransactionId
- class pycardano.transaction.Transaction(transaction_body: 'TransactionBody', transaction_witness_set: 'TransactionWitnessSet', valid: 'bool' = True, auxiliary_data: 'Optional[AuxiliaryData]' = None)
Bases:
pycardano.serialization.ArrayCBORSerializable
- transaction_body: pycardano.transaction.TransactionBody
- transaction_witness_set: pycardano.witness.TransactionWitnessSet
- valid: bool = True
- auxiliary_data: Optional[pycardano.metadata.AuxiliaryData] = None
- property id: pycardano.hash.TransactionId
- class pycardano.transaction.Withdrawals(*args, **kwargs)
Bases:
pycardano.serialization.DictCBORSerializable
A disctionary of reward addresses to reward withdrawal amount.
Key is address bytes, value is an integer.
Examples
>>> address = Address.from_primitive("stake_test1upyz3gk6mw5he20apnwfn96cn9rscgvmmsxc9r86dh0k66gswf59n") >>> Withdrawals({bytes(address): 1000000}) {b'\xe0H(\xa2\xda\xdb\xa9|\xa9\xfd\x0c\xdc\x99\x97X\x99G\x0c!\x9b\xdc\r\x82\x8c\xfam\xdfmi': 1000000}
- KEY_TYPE
alias of
bytes
- VALUE_TYPE
alias of
int