TavalidatorcertAlgoTransfer

Python pydantic class corresponding to json type `tavalidatorcert.algo.transfer`.

class gwatn.types.TavalidatorcertAlgoTransfer(*, ValidatorAddr, HalfSignedCertTransferMtx, TypeName='tavalidatorcert.algo.transfer', Version='000')

Used for Step 2 of TaValidator certification.

Meant to be sent from a pending TaValidator to the GNodeFactory (Gnf), so the Gnf will transfer its ValidatorCert to the pending TaValidator’s Algorand address. [More info](https://gridworks.readthedocs.io/en/latest/ta-validator.html).

Parameters:
  • ValidatorAddr (str) –

  • HalfSignedCertTransferMtx (str) –

  • TypeName (Literal['tavalidatorcert.algo.transfer']) –

  • Version (str) –

classmethod check_axiom_1(v)

Axiom 1: Is correct Multisig. Decoded HalfSignedCertTransferMtx must have type MultisigTransaction from the 2-sig MultiAccount [GnfAdminAddr, ValidatorAddr], signed by the ValidatorAddr [More info](https://gridworks.readthedocs.io/en/latest/g-node-factory.html#gnfadminaddr)

Parameters:

v (dict) –

Return type:

dict

classmethod check_axiom_2(v)
Axiom 2: Transfers correct certificate.
  • The transaction must be the transfer of an Algorand Standard Asset

-The sender must be the 2-sig Multi [GnfAdminAddr, TaValidatorAddr], which also created and owns the ASA - It must be getting sent to the ValidatorAddr -The ASA must have:

  • Total = 1

  • UnitName=VLDITR

  • GnfAdminAddr as manage

  • AssetName not blank

  • The transfer amount must be 1

[More info](https://gridworks.readthedocs.io/en/latest/ta-validator.html#tavalidator-certificate)

Parameters:

v (dict) –

Return type:

dict

classmethod check_axiom_3(v)

Axiom 3: TaValidator has opted in. ValidatorAddr must be opted into the transferring ASA.

Parameters:

v (dict) –

Return type:

dict

classmethod check_validator_addr(v)

Axiom 4: TaValidator has sufficient Algos. MultiAccount [GnfAdminAddr, ValidatorAddr] must have enough Algos to meet the GNodeFactory criterion.

Parameters:

v (str) –

Return type:

str

ValidatorAddr:
  • Description: The address of the pending TaValidator

  • Format: AlgoAddressStringFormat

HalfSignedCertTransferMtx:
  • Description: Algo multi-transaction for certificate transfer, with 1 of 2 signatures

  • Format: AlgoMsgPackEncoded

class gwatn.types.tavalidatorcert_algo_transfer.check_is_algo_address_string_format(v)

AlgoAddressStringFormat format: The public key of a private/public Ed25519 key pair, transformed into an Algorand address, by adding a 4-byte checksum to the end of the public key and then encoding in base32.

Raises:

ValueError – if not AlgoAddressStringFormat format

Parameters:

v (str) –

class gwatn.types.tavalidatorcert_algo_transfer.check_is_algo_msg_pack_encoded(v)

AlgoMSgPackEncoded format: the format of an transaction sent to the Algorand blockchain.

Raises:

ValueError – if not AlgoMSgPackEncoded format

Parameters:

v (str) –

class gwatn.types.TavalidatorcertAlgoTransfer_Maker(validator_addr, half_signed_cert_transfer_mtx)
Parameters:
  • validator_addr (str) –

  • half_signed_cert_transfer_mtx (str) –

classmethod tuple_to_type(tuple)

Given a Python class object, returns the serialized JSON type object

Parameters:

tuple (TavalidatorcertAlgoTransfer) –

Return type:

str

classmethod type_to_tuple(t)

Given a serialized JSON type object, returns the Python class object

Parameters:

t (str) –

Return type:

TavalidatorcertAlgoTransfer