aea.helpers.transaction.base¶
This module contains terms related classes.
RawTransaction Objects¶
This class represents an instance of RawTransaction.
__
init__
¶
Initialise an instance of RawTransaction.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the body.
encode¶
@staticmethod
def encode(raw_transaction_protobuf_object: Any,
raw_transaction_object: "RawTransaction") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the raw_transaction_protobuf_object argument must be matched with the instance of this class in the 'raw_transaction_object' argument.
Arguments:
raw_transaction_protobuf_object
: the protocol buffer object whose type corresponds with this class.raw_transaction_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'raw_transaction_protobuf_object' argument.
Arguments:
raw_transaction_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'raw_transaction_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
RawMessage Objects¶
This class represents an instance of RawMessage.
__
init__
¶
Initialise an instance of RawMessage.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the body.
is_
deprecated_
mode¶
Get the is_deprecated_mode.
encode¶
@staticmethod
def encode(raw_message_protobuf_object: Any,
raw_message_object: "RawMessage") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the raw_message_protobuf_object argument must be matched with the instance of this class in the 'raw_message_object' argument.
Arguments:
raw_message_protobuf_object
: the protocol buffer object whose type corresponds with this class.raw_message_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'raw_message_protobuf_object' argument.
Arguments:
raw_message_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'raw_message_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
SignedTransaction Objects¶
This class represents an instance of SignedTransaction.
__
init__
¶
Initialise an instance of SignedTransaction.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the body.
encode¶
@staticmethod
def encode(signed_transaction_protobuf_object: Any,
signed_transaction_object: "SignedTransaction") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the signed_transaction_protobuf_object argument must be matched with the instance of this class in the 'signed_transaction_object' argument.
Arguments:
signed_transaction_protobuf_object
: the protocol buffer object whose type corresponds with this class.signed_transaction_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'signed_transaction_protobuf_object' argument.
Arguments:
signed_transaction_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'signed_transaction_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
SignedMessage Objects¶
This class represents an instance of RawMessage.
__
init__
¶
Initialise an instance of SignedMessage.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the body.
is_
deprecated_
mode¶
Get the is_deprecated_mode.
encode¶
@staticmethod
def encode(signed_message_protobuf_object: Any,
signed_message_object: "SignedMessage") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the signed_message_protobuf_object argument must be matched with the instance of this class in the 'signed_message_object' argument.
Arguments:
signed_message_protobuf_object
: the protocol buffer object whose type corresponds with this class.signed_message_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'signed_message_protobuf_object' argument.
Arguments:
signed_message_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'signed_message_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
State Objects¶
This class represents an instance of State.
__
init__
¶
Initialise an instance of State.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the body.
encode¶
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the state_protobuf_object argument must be matched with the instance of this class in the 'state_object' argument.
Arguments:
state_protobuf_object
: the protocol buffer object whose type corresponds with this class.state_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'state_protobuf_object' argument.
Arguments:
state_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'state_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
Terms Objects¶
Class to represent the terms of a multi-currency & multi-token ledger transaction.
__
init__
¶
def __init__(ledger_id: str,
sender_address: Address,
counterparty_address: Address,
amount_by_currency_id: Dict[str, int],
quantities_by_good_id: Dict[str, int],
nonce: str,
is_sender_payable_tx_fee: bool = True,
fee_by_currency_id: Optional[Dict[str, int]] = None,
is_strict: bool = False,
**kwargs: Any) -> None
Instantiate terms of a transaction.
Arguments:
ledger_id
: the ledger on which the terms are to be settled.sender_address
: the sender address of the transaction.counterparty_address
: the counterparty address of the transaction.amount_by_currency_id
: the amount by the currency of the transaction.quantities_by_good_id
: a map from good id to the quantity of that good involved in the transaction.nonce
: nonce to be included in transaction to discriminate otherwise identical transactions.is_sender_payable_tx_fee
: whether the sender or counterparty pays the tx fee.fee_by_currency_id
: the fee associated with the transaction.is_strict
: whether or not terms must have quantities and amounts of opposite signs.kwargs
: keyword arguments
id¶
Get hash of the terms.
sender_
hash¶
Get the sender hash.
counterparty_
hash¶
Get the sender hash.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
sender_
address¶
Get the sender address.
counterparty_
address¶
Get the counterparty address.
counterparty_
address¶
Set the counterparty address.
amount_
by_
currency_
id¶
Get the amount by currency id.
is_
sender_
payable_
tx_
fee¶
Bool indicating whether the tx fee is paid by sender or counterparty.
is_
single_
currency¶
Check whether a single currency is used for payment.
is_
empty_
currency¶
Check whether a single currency is used for payment.
currency_
id¶
Get the amount the sender must pay.
sender_
payable_
amount¶
Get the amount the sender must pay.
sender_
payable_
amount_
incl_
fee¶
Get the amount the sender must pay inclusive fee.
counterparty_
payable_
amount¶
Get the amount the counterparty must pay.
counterparty_
payable_
amount_
incl_
fee¶
Get the amount the counterparty must pay.
quantities_
by_
good_
id¶
Get the quantities by good id.
good_
ids¶
Get the (ordered) good ids.
sender_
supplied_
quantities¶
Get the (ordered) quantities supplied by the sender.
counterparty_
supplied_
quantities¶
Get the (ordered) quantities supplied by the counterparty.
nonce¶
Get the nonce.
has_
fee¶
Check if fee is set.
fee¶
Get the fee.
sender_
fee¶
Get the sender fee.
counterparty_
fee¶
Get the counterparty fee.
fee_
by_
currency_
id¶
Get fee by currency.
kwargs¶
Get the kwargs.
is_
strict¶
Get is_strict.
get_
hash¶
@staticmethod
def get_hash(ledger_id: str, sender_address: str, counterparty_address: str,
good_ids: List[str], sender_supplied_quantities: List[int],
counterparty_supplied_quantities: List[int],
sender_payable_amount: int, counterparty_payable_amount: int,
nonce: str) -> str
Generate a hash from transaction information.
Arguments:
ledger_id
: the ledger idsender_address
: the sender addresscounterparty_address
: the counterparty addressgood_ids
: the list of good idssender_supplied_quantities
: the quantities supplied by the sender (must all be positive)counterparty_supplied_quantities
: the quantities supplied by the counterparty (must all be positive)sender_payable_amount
: the amount payable by the sendercounterparty_payable_amount
: the amount payable by the counterpartynonce
: the nonce of the transaction
Returns:
the hash
encode¶
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the terms_protobuf_object argument must be matched with the instance of this class in the 'terms_object' argument.
Arguments:
terms_protobuf_object
: the protocol buffer object whose type corresponds with this class.terms_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'terms_protobuf_object' argument.
Arguments:
terms_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'terms_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
TransactionDigest Objects¶
This class represents an instance of TransactionDigest.
__
init__
¶
Initialise an instance of TransactionDigest.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
body¶
Get the receipt.
encode¶
@staticmethod
def encode(transaction_digest_protobuf_object: Any,
transaction_digest_object: "TransactionDigest") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the transaction_digest_protobuf_object argument must be matched with the instance of this class in the 'transaction_digest_object' argument.
Arguments:
transaction_digest_protobuf_object
: the protocol buffer object whose type corresponds with this class.transaction_digest_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'transaction_digest_protobuf_object' argument.
Arguments:
transaction_digest_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'transaction_digest_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.
TransactionReceipt Objects¶
This class represents an instance of TransactionReceipt.
__
init__
¶
Initialise an instance of TransactionReceipt.
ledger_
id¶
Get the id of the ledger on which the terms are to be settled.
receipt¶
Get the receipt.
transaction¶
Get the transaction.
encode¶
@staticmethod
def encode(transaction_receipt_protobuf_object: Any,
transaction_receipt_object: "TransactionReceipt") -> None
Encode an instance of this class into the protocol buffer object.
The protocol buffer object in the transaction_receipt_protobuf_object argument must be matched with the instance of this class in the 'transaction_receipt_object' argument.
Arguments:
transaction_receipt_protobuf_object
: the protocol buffer object whose type corresponds with this class.transaction_receipt_object
: an instance of this class to be encoded in the protocol buffer object.
decode¶
Decode a protocol buffer object that corresponds with this class into an instance of this class.
A new instance of this class must be created that matches the protocol buffer object in the 'transaction_receipt_protobuf_object' argument.
Arguments:
transaction_receipt_protobuf_object
: the protocol buffer object whose type corresponds with this class.
Returns:
A new instance of this class that matches the protocol buffer object in the 'transaction_receipt_protobuf_object' argument.
__
eq__
¶
Check equality.
__
str__
¶
Get string representation.