hiero-sdk-python 0.0.1.dev2__tar.gz → 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/PKG-INFO +32 -2
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/README.md +31 -1
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/pyproject.toml +26 -5
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/__init__.py +2 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/client/client.py +48 -3
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/client/network.py +1 -1
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/consensus/topic_message.py +176 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/crypto/private_key.py +152 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/crypto/public_key.py +57 -57
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/mirror/consensus_service_pb2.py +44 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/mirror/consensus_service_pb2_grpc.py +106 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/mirror/mirror_network_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/mirror/mirror_network_service_pb2_grpc.py +108 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/address_book_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/address_book_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/address_book_service_pb2_grpc.py +444 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_encryption_key_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_encryption_key_pb2.pyi +11 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_encryption_key_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_message_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_message_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_message_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_share_signature_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_share_signature_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_share_signature_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_vote_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_vote_pb2.pyi +19 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/auxiliary/tss/tss_vote_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/basic_types_pb2.py +153 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/basic_types_pb2.pyi +694 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/basic_types_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_create_topic_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_create_topic_pb2.pyi +21 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_create_topic_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_delete_topic_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_delete_topic_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_delete_topic_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_get_topic_info_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_get_topic_info_pb2.pyi +27 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_get_topic_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_service_pb2_grpc.py +432 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_submit_message_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_submit_message_pb2.pyi +26 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_submit_message_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_topic_info_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_topic_info_pb2.pyi +30 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_topic_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_update_topic_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_update_topic_pb2.pyi +27 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/consensus_update_topic_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_local_pb2.py +52 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_local_pb2.pyi +79 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_local_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_pb2.pyi +18 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_call_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_create_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_create_pb2.pyi +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_delete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_delete_pb2.pyi +18 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_bytecode_pb2.py +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_bytecode_pb2.pyi +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_bytecode_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_info_pb2.py +48 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_info_pb2.pyi +60 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_records_pb2.py +47 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_records_pb2.pyi +28 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_get_records_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_types_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_types_pb2.pyi +15 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_types_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_update_pb2.py +47 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_update_pb2.pyi +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/contract_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_add_live_hash_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_add_live_hash_pb2.pyi +25 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_add_live_hash_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_approve_allowance_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_approve_allowance_pb2.pyi +56 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_approve_allowance_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_create_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_create_pb2.pyi +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_allowance_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_allowance_pb2.pyi +23 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_allowance_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_live_hash_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_live_hash_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_live_hash_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_balance_pb2.py +44 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_balance_pb2.pyi +31 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_balance_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_records_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_records_pb2.pyi +28 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_account_records_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_info_pb2.py +55 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_info_pb2.pyi +73 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_live_hash_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_live_hash_pb2.pyi +27 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_live_hash_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_stakers_pb2.py +46 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_stakers_pb2.pyi +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_get_stakers_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_service_pb2_grpc.py +787 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_transfer_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_transfer_pb2.pyi +15 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_transfer_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_update_pb2.py +55 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_update_pb2.pyi +47 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/crypto_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/custom_fees_pb2.py +46 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/custom_fees_pb2.pyi +61 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/custom_fees_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/duration_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/duration_pb2.pyi +11 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/duration_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/ethereum_transaction_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/ethereum_transaction_pb2.pyi +16 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/ethereum_transaction_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_consensus_data_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_consensus_data_pb2.pyi +16 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_consensus_data_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_core_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_core_pb2.pyi +23 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_core_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_descriptor_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_descriptor_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_descriptor_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_transaction_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_transaction_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/event_transaction_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/gossip_event_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/gossip_event_pb2.pyi +20 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/gossip_event_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/state_signature_transaction_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/state_signature_transaction_pb2.pyi +15 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/event/state_signature_transaction_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/exchange_rate_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/exchange_rate_pb2.pyi +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/exchange_rate_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_append_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_append_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_append_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_create_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_create_pb2.pyi +25 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_delete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_delete_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_contents_pb2.py +44 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_contents_pb2.pyi +31 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_contents_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_info_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_info_pb2.pyi +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_get_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_service_pb2_grpc.py +423 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_update_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_update_pb2.pyi +22 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/file_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_pb2.py +48 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_pb2.pyi +28 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_service_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_service_pb2.pyi +6 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_service_pb2_grpc.py +107 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_type_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_type_pb2.pyi +20 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/freeze_type_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_account_details_pb2.py +56 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_account_details_pb2.pyi +96 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_account_details_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_key_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_key_pb2.pyi +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_key_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_solidity_id_pb2.py +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_solidity_id_pb2.pyi +28 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/get_by_solidity_id_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_execution_time_pb2.py +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_execution_time_pb2.pyi +25 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_execution_time_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_version_info_pb2.py +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_version_info_pb2.pyi +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_get_version_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/network_service_pb2_grpc.py +250 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_create_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_create_pb2.pyi +25 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_delete_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_delete_pb2.pyi +11 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_stake_update_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_stake_update_pb2.pyi +58 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_stake_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_update_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_update_pb2.pyi +28 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/node_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_header_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_header_pb2.pyi +26 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_header_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_pb2.py +62 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_pb2.pyi +84 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/query_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_code_pb2.py +53 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_code_pb2.pyi +674 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_code_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_header_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_header_pb2.pyi +19 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_header_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_pb2.py +62 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_pb2.pyi +84 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/response_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedulable_transaction_body_pb2.py +83 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedulable_transaction_body_pb2.pyi +151 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedulable_transaction_body_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_create_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_create_pb2.pyi +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_delete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_delete_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_get_info_pb2.py +46 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_get_info_pb2.pyi +56 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_get_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_service_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_service_pb2_grpc.py +402 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_sign_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_sign_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/schedule_sign_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/smart_contract_service_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/smart_contract_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/smart_contract_service_pb2_grpc.py +604 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_delete_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_delete_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_undelete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_undelete_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/system_undelete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/throttle_definitions_pb2.py +42 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/throttle_definitions_pb2.pyi +31 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/throttle_definitions_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/timestamp_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/timestamp_pb2.pyi +19 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/timestamp_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_airdrop_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_airdrop_pb2.pyi +13 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_airdrop_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_associate_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_associate_pb2.pyi +15 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_associate_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_burn_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_burn_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_burn_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_cancel_airdrop_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_cancel_airdrop_pb2.pyi +13 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_cancel_airdrop_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_claim_airdrop_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_claim_airdrop_pb2.pyi +13 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_claim_airdrop_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_create_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_create_pb2.pyi +60 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_create_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_delete_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_delete_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_delete_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_dissociate_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_dissociate_pb2.pyi +15 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_dissociate_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_fee_schedule_update_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_fee_schedule_update_pb2.pyi +16 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_fee_schedule_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_freeze_account_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_freeze_account_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_freeze_account_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_account_nft_infos_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_account_nft_infos_pb2.pyi +30 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_account_nft_infos_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_info_pb2.py +47 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_info_pb2.pyi +88 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_info_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_info_pb2.pyi +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_info_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_infos_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_infos_pb2.pyi +32 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_get_nft_infos_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_grant_kyc_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_grant_kyc_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_grant_kyc_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_mint_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_mint_pb2.pyi +17 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_mint_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_pause_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_pause_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_pause_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_reject_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_reject_pb2.pyi +23 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_reject_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_revoke_kyc_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_revoke_kyc_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_revoke_kyc_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_service_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_service_pb2.pyi +8 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_service_pb2_grpc.py +1179 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unfreeze_account_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unfreeze_account_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unfreeze_account_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unpause_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unpause_pb2.pyi +12 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_unpause_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_nfts_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_nfts_pb2.pyi +18 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_nfts_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_pb2.py +41 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_pb2.pyi +49 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_update_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_wipe_account_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_wipe_account_pb2.pyi +19 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/token_wipe_account_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_body_pb2.py +99 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_body_pb2.pyi +197 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_body_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_contents_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_contents_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_contents_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_fast_record_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_fast_record_pb2.pyi +25 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_fast_record_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_receipt_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_receipt_pb2.pyi +34 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_receipt_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_record_pb2.py +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_record_pb2.pyi +34 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_get_record_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_pb2.py +47 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_pb2.pyi +21 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_receipt_pb2.py +40 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_receipt_pb2.pyi +43 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_receipt_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_record_pb2.py +45 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_record_pb2.pyi +66 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_record_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_response_pb2.py +38 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_response_pb2.pyi +14 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/transaction_response_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/unchecked_submit_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/unchecked_submit_pb2.pyi +11 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/unchecked_submit_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_prng_pb2.py +37 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_prng_pb2.pyi +11 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_prng_pb2_grpc.py +24 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_service_pb2.py +39 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_service_pb2.pyi +6 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/hapi/services/util_service_pb2_grpc.py +106 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/query/topic_message_query.py +166 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_create_transaction.py +17 -2
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/tokens/token_freeze_transaction.py +126 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/utils/crypto_utils.py +65 -0
- hiero_sdk_python-0.1.0/src/hiero_sdk_python/utils/subscription_handle.py +35 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/conftest.py +1 -1
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_token_create_transaction.py +8 -0
- hiero_sdk_python-0.1.0/tests/test_token_freeze_transaction.py +96 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_token_mint_transaction.py +2 -2
- hiero_sdk_python-0.0.1.dev2/src/hiero_sdk_python/consensus/topic_message.py +0 -61
- hiero_sdk_python-0.0.1.dev2/src/hiero_sdk_python/crypto/private_key.py +0 -196
- hiero_sdk_python-0.0.1.dev2/src/hiero_sdk_python/query/topic_message_query.py +0 -105
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/LICENSE +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/account/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/account/account_balance.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/account/account_create_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/account/account_id.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/client/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_create_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_delete_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_id.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_info.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_message_submit_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/consensus/topic_update_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/crypto/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/hapi/mirror/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/hapi/services/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/hbar.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/query/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/query/account_balance_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/query/query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/query/topic_info_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/query/transaction_get_receipt_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/response_code.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/timestamp.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_associate_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_delete_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_dissociate_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_id.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/tokens/token_mint_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/query_payment.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/transaction_id.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/transaction_receipt.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/transaction/transfer_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/utils/key_format.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/__init__.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_account_balance_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_account_create_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_get_receipt_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_token_associate_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_token_delete_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_token_dissociate_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_create_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_delete_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_info_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_message_query.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_message_submit_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_topic_update_transaction.py +0 -0
- {hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/tests/test_transfer_transaction.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hiero-sdk-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.1.0
|
|
4
4
|
Summary: A Hiero SDK in pure Python
|
|
5
5
|
Author-Email: Nadine Loepfe <nadine.loepfe@hashgraph.com>, Richard Bair <rbair23@users.noreply.github.com>
|
|
6
6
|
Maintainer-Email: Nadine Loepfe <nadine.loepfe@hashgraph.com>
|
|
@@ -225,7 +225,7 @@ Description-Content-Type: text/markdown
|
|
|
225
225
|
|
|
226
226
|
This is a Python SDK for interacting with the Hedera Hashgraph platform. It allows developers to:
|
|
227
227
|
|
|
228
|
-
- Manage Token Transactions like Create, Mint Fungible, Mint Non-Fungible, Associate, Dissociate, Transfer & Delete
|
|
228
|
+
- Manage Token Transactions like Create, Mint Fungible, Mint Non-Fungible, Associate, Dissociate, Transfer, Freeze & Delete
|
|
229
229
|
- Manage Consensus Transactions like Topic Create, Update, Delete
|
|
230
230
|
- Submit Topic Messages
|
|
231
231
|
- Query Account Balance, Transaction Receipts, Topic Infos and Messages
|
|
@@ -248,6 +248,7 @@ This is a Python SDK for interacting with the Hedera Hashgraph platform. It allo
|
|
|
248
248
|
- [Dissociating a Token](#dissociating-a-token)
|
|
249
249
|
- [Transferring Tokens](#transferring-tokens)
|
|
250
250
|
- [Deleting a Token](#deleting-a-token)
|
|
251
|
+
- [Freezing a Token](#freezing-a-token)
|
|
251
252
|
- [Transferring HBAR](#transferring-hbar)
|
|
252
253
|
- [Creating a Topic](#creating-a-topic)
|
|
253
254
|
- [Submitting a Topic Message](#submitting-a-topic-message)
|
|
@@ -338,9 +339,11 @@ OPERATOR_ID=0.0.1234xx
|
|
|
338
339
|
OPERATOR_KEY=302e020100300506032b657004220420...
|
|
339
340
|
ADMIN_KEY=302a300506032b65700321009308ecfdf...
|
|
340
341
|
SUPPLY_KEY =302a300506032b6570032100c5e4af5..."
|
|
342
|
+
FREEZE_KEY=302a300306072b65700321009308ecfdf...
|
|
341
343
|
RECIPIENT_ID=0.0.789xx
|
|
342
344
|
TOKEN_ID=0.0.100xx
|
|
343
345
|
TOPIC_ID=0.0.200xx
|
|
346
|
+
FREEZE_ACCOUNT_ID=0.0.100
|
|
344
347
|
NETWORK=testnet
|
|
345
348
|
```
|
|
346
349
|
|
|
@@ -371,6 +374,7 @@ Token association successful.
|
|
|
371
374
|
Token dissociation successful.
|
|
372
375
|
Token minting successful.
|
|
373
376
|
Token transfer successful.
|
|
377
|
+
Token freeze successful.
|
|
374
378
|
Token deletion successful.
|
|
375
379
|
Topic creation successful.
|
|
376
380
|
Topic Message submitted.
|
|
@@ -627,6 +631,32 @@ transaction.execute(client)
|
|
|
627
631
|
transaction.execute(client)
|
|
628
632
|
```
|
|
629
633
|
|
|
634
|
+
### Freezing a Token
|
|
635
|
+
|
|
636
|
+
#### Pythonic Syntax:
|
|
637
|
+
```
|
|
638
|
+
transaction = TokenFreezeTransaction(
|
|
639
|
+
token_id=token_id
|
|
640
|
+
account_id=account_id
|
|
641
|
+
).freeze_with(client)
|
|
642
|
+
|
|
643
|
+
transaction.sign(freeze_key) # Freeze key must have been set during token creation.
|
|
644
|
+
transaction.execute(client)
|
|
645
|
+
```
|
|
646
|
+
#### Method Chaining:
|
|
647
|
+
```
|
|
648
|
+
transaction = (
|
|
649
|
+
TokenFreezeTransaction()
|
|
650
|
+
.set_token_id(token_id)
|
|
651
|
+
.set_account_id(account_id)
|
|
652
|
+
.freeze_with(client)
|
|
653
|
+
)
|
|
654
|
+
|
|
655
|
+
transaction.sign(freeze_key) # Freeze key must also have been set in Token Create
|
|
656
|
+
transaction.execute(client)
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
|
|
630
660
|
### Transferring HBAR
|
|
631
661
|
|
|
632
662
|
#### Pythonic Syntax:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This is a Python SDK for interacting with the Hedera Hashgraph platform. It allows developers to:
|
|
4
4
|
|
|
5
|
-
- Manage Token Transactions like Create, Mint Fungible, Mint Non-Fungible, Associate, Dissociate, Transfer & Delete
|
|
5
|
+
- Manage Token Transactions like Create, Mint Fungible, Mint Non-Fungible, Associate, Dissociate, Transfer, Freeze & Delete
|
|
6
6
|
- Manage Consensus Transactions like Topic Create, Update, Delete
|
|
7
7
|
- Submit Topic Messages
|
|
8
8
|
- Query Account Balance, Transaction Receipts, Topic Infos and Messages
|
|
@@ -25,6 +25,7 @@ This is a Python SDK for interacting with the Hedera Hashgraph platform. It allo
|
|
|
25
25
|
- [Dissociating a Token](#dissociating-a-token)
|
|
26
26
|
- [Transferring Tokens](#transferring-tokens)
|
|
27
27
|
- [Deleting a Token](#deleting-a-token)
|
|
28
|
+
- [Freezing a Token](#freezing-a-token)
|
|
28
29
|
- [Transferring HBAR](#transferring-hbar)
|
|
29
30
|
- [Creating a Topic](#creating-a-topic)
|
|
30
31
|
- [Submitting a Topic Message](#submitting-a-topic-message)
|
|
@@ -115,9 +116,11 @@ OPERATOR_ID=0.0.1234xx
|
|
|
115
116
|
OPERATOR_KEY=302e020100300506032b657004220420...
|
|
116
117
|
ADMIN_KEY=302a300506032b65700321009308ecfdf...
|
|
117
118
|
SUPPLY_KEY =302a300506032b6570032100c5e4af5..."
|
|
119
|
+
FREEZE_KEY=302a300306072b65700321009308ecfdf...
|
|
118
120
|
RECIPIENT_ID=0.0.789xx
|
|
119
121
|
TOKEN_ID=0.0.100xx
|
|
120
122
|
TOPIC_ID=0.0.200xx
|
|
123
|
+
FREEZE_ACCOUNT_ID=0.0.100
|
|
121
124
|
NETWORK=testnet
|
|
122
125
|
```
|
|
123
126
|
|
|
@@ -148,6 +151,7 @@ Token association successful.
|
|
|
148
151
|
Token dissociation successful.
|
|
149
152
|
Token minting successful.
|
|
150
153
|
Token transfer successful.
|
|
154
|
+
Token freeze successful.
|
|
151
155
|
Token deletion successful.
|
|
152
156
|
Topic creation successful.
|
|
153
157
|
Topic Message submitted.
|
|
@@ -404,6 +408,32 @@ transaction.execute(client)
|
|
|
404
408
|
transaction.execute(client)
|
|
405
409
|
```
|
|
406
410
|
|
|
411
|
+
### Freezing a Token
|
|
412
|
+
|
|
413
|
+
#### Pythonic Syntax:
|
|
414
|
+
```
|
|
415
|
+
transaction = TokenFreezeTransaction(
|
|
416
|
+
token_id=token_id
|
|
417
|
+
account_id=account_id
|
|
418
|
+
).freeze_with(client)
|
|
419
|
+
|
|
420
|
+
transaction.sign(freeze_key) # Freeze key must have been set during token creation.
|
|
421
|
+
transaction.execute(client)
|
|
422
|
+
```
|
|
423
|
+
#### Method Chaining:
|
|
424
|
+
```
|
|
425
|
+
transaction = (
|
|
426
|
+
TokenFreezeTransaction()
|
|
427
|
+
.set_token_id(token_id)
|
|
428
|
+
.set_account_id(account_id)
|
|
429
|
+
.freeze_with(client)
|
|
430
|
+
)
|
|
431
|
+
|
|
432
|
+
transaction.sign(freeze_key) # Freeze key must also have been set in Token Create
|
|
433
|
+
transaction.execute(client)
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
|
|
407
437
|
### Transferring HBAR
|
|
408
438
|
|
|
409
439
|
#### Pythonic Syntax:
|
|
@@ -27,7 +27,7 @@ classifiers = [
|
|
|
27
27
|
"Intended Audience :: Developers",
|
|
28
28
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
29
29
|
]
|
|
30
|
-
version = "0.
|
|
30
|
+
version = "0.1.0"
|
|
31
31
|
|
|
32
32
|
[project.license]
|
|
33
33
|
file = "LICENSE"
|
|
@@ -40,6 +40,18 @@ lint = [
|
|
|
40
40
|
"ruff>=0.8.3",
|
|
41
41
|
]
|
|
42
42
|
|
|
43
|
+
[build-system]
|
|
44
|
+
requires = [
|
|
45
|
+
"pdm-backend",
|
|
46
|
+
"setuptools",
|
|
47
|
+
"setuptools_scm",
|
|
48
|
+
]
|
|
49
|
+
build-backend = "pdm.backend"
|
|
50
|
+
|
|
51
|
+
[tool.setuptools_scm]
|
|
52
|
+
version_scheme = "python-simplified-semver"
|
|
53
|
+
local_scheme = "dirty-tag"
|
|
54
|
+
|
|
43
55
|
[tool.pdm.version]
|
|
44
56
|
source = "scm"
|
|
45
57
|
|
|
@@ -49,11 +61,20 @@ excludes = [
|
|
|
49
61
|
"**/.pytest_cache",
|
|
50
62
|
]
|
|
51
63
|
|
|
64
|
+
[tool.pytest.ini_options]
|
|
65
|
+
pythonpath = [
|
|
66
|
+
"src",
|
|
67
|
+
]
|
|
68
|
+
|
|
52
69
|
[tool.ruff]
|
|
53
70
|
line-length = 120
|
|
54
71
|
|
|
55
|
-
[
|
|
56
|
-
|
|
57
|
-
"
|
|
72
|
+
[tool.ruff.lint]
|
|
73
|
+
select = [
|
|
74
|
+
"E",
|
|
75
|
+
"W",
|
|
76
|
+
"F",
|
|
77
|
+
"C",
|
|
78
|
+
"I",
|
|
79
|
+
"D",
|
|
58
80
|
]
|
|
59
|
-
build-backend = "pdm.backend"
|
|
@@ -16,6 +16,7 @@ from .tokens.token_associate_transaction import TokenAssociateTransaction
|
|
|
16
16
|
from .tokens.token_dissociate_transaction import TokenDissociateTransaction
|
|
17
17
|
from .tokens.token_delete_transaction import TokenDeleteTransaction
|
|
18
18
|
from .tokens.token_mint_transaction import TokenMintTransaction
|
|
19
|
+
from .tokens.token_freeze_transaction import TokenFreezeTransaction
|
|
19
20
|
from .tokens.token_id import TokenId
|
|
20
21
|
|
|
21
22
|
# Transaction
|
|
@@ -64,6 +65,7 @@ __all__ = [
|
|
|
64
65
|
"TokenDissociateTransaction",
|
|
65
66
|
"TokenDeleteTransaction",
|
|
66
67
|
"TokenMintTransaction",
|
|
68
|
+
"TokenFreezeTransaction",
|
|
67
69
|
"TokenId",
|
|
68
70
|
|
|
69
71
|
# Transaction
|
{hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/client/client.py
RENAMED
|
@@ -10,7 +10,6 @@ from hiero_sdk_python.hapi.services import (
|
|
|
10
10
|
|
|
11
11
|
from hiero_sdk_python.hapi.mirror import (
|
|
12
12
|
consensus_service_pb2_grpc as mirror_consensus_grpc,
|
|
13
|
-
mirror_network_service_pb2_grpc as mirror_network_grpc
|
|
14
13
|
)
|
|
15
14
|
|
|
16
15
|
from .network import Network
|
|
@@ -46,7 +45,7 @@ class Client:
|
|
|
46
45
|
if not node_account_ids:
|
|
47
46
|
raise ValueError("No nodes available in the network configuration.")
|
|
48
47
|
|
|
49
|
-
initial_node_id = node_account_ids[0]
|
|
48
|
+
initial_node_id = node_account_ids[0]
|
|
50
49
|
self._switch_node(initial_node_id)
|
|
51
50
|
|
|
52
51
|
self._init_mirror_stub()
|
|
@@ -61,16 +60,26 @@ class Client:
|
|
|
61
60
|
self.mirror_stub = mirror_consensus_grpc.ConsensusServiceStub(self.mirror_channel)
|
|
62
61
|
|
|
63
62
|
def set_operator(self, account_id, private_key):
|
|
63
|
+
"""
|
|
64
|
+
Sets the operator credentials (account ID and private key).
|
|
65
|
+
"""
|
|
64
66
|
self.operator_account_id = account_id
|
|
65
67
|
self.operator_private_key = private_key
|
|
66
68
|
|
|
67
69
|
@property
|
|
68
70
|
def operator(self):
|
|
71
|
+
"""
|
|
72
|
+
Returns an Operator namedtuple if both account ID and private key are set,
|
|
73
|
+
otherwise None.
|
|
74
|
+
"""
|
|
69
75
|
if self.operator_account_id and self.operator_private_key:
|
|
70
76
|
return Operator(account_id=self.operator_account_id, private_key=self.operator_private_key)
|
|
71
77
|
return None
|
|
72
78
|
|
|
73
79
|
def generate_transaction_id(self):
|
|
80
|
+
"""
|
|
81
|
+
Generates a new transaction ID, requiring that the operator_account_id is set.
|
|
82
|
+
"""
|
|
74
83
|
if self.operator_account_id is None:
|
|
75
84
|
raise ValueError("Operator account ID must be set to generate transaction ID.")
|
|
76
85
|
return TransactionId.generate(self.operator_account_id)
|
|
@@ -85,6 +94,9 @@ class Client:
|
|
|
85
94
|
raise ValueError("No nodes available in the network configuration.")
|
|
86
95
|
|
|
87
96
|
def get_transaction_receipt(self, transaction_id, max_attempts=10, sleep_seconds=2):
|
|
97
|
+
"""
|
|
98
|
+
Repeatedly queries for a transaction receipt until SUCCESS or certain retryable statuses.
|
|
99
|
+
"""
|
|
88
100
|
for attempt in range(max_attempts):
|
|
89
101
|
receipt_query = TransactionGetReceiptQuery()
|
|
90
102
|
receipt_query.set_transaction_id(transaction_id)
|
|
@@ -93,7 +105,13 @@ class Client:
|
|
|
93
105
|
|
|
94
106
|
if status == ResponseCode.SUCCESS:
|
|
95
107
|
return receipt
|
|
96
|
-
elif status in (
|
|
108
|
+
elif status in (
|
|
109
|
+
ResponseCode.UNKNOWN,
|
|
110
|
+
ResponseCode.BUSY,
|
|
111
|
+
ResponseCode.RECEIPT_NOT_FOUND,
|
|
112
|
+
ResponseCode.RECORD_NOT_FOUND,
|
|
113
|
+
ResponseCode.PLATFORM_NOT_ACTIVE
|
|
114
|
+
):
|
|
97
115
|
time.sleep(sleep_seconds)
|
|
98
116
|
continue
|
|
99
117
|
else:
|
|
@@ -137,3 +155,30 @@ class Client:
|
|
|
137
155
|
self.crypto_stub = crypto_service_pb2_grpc.CryptoServiceStub(self.channel)
|
|
138
156
|
self.topic_stub = consensus_service_pb2_grpc.ConsensusServiceStub(self.channel)
|
|
139
157
|
self.node_account_id = node_account_id
|
|
158
|
+
|
|
159
|
+
def close(self):
|
|
160
|
+
"""
|
|
161
|
+
Closes any open gRPC channels and frees resources.
|
|
162
|
+
Call this when you are done using the Client to ensure a clean shutdown.
|
|
163
|
+
"""
|
|
164
|
+
if self.channel is not None:
|
|
165
|
+
self.channel.close()
|
|
166
|
+
self.channel = None
|
|
167
|
+
|
|
168
|
+
if self.mirror_channel is not None:
|
|
169
|
+
self.mirror_channel.close()
|
|
170
|
+
self.mirror_channel = None
|
|
171
|
+
|
|
172
|
+
self.token_stub = None
|
|
173
|
+
self.crypto_stub = None
|
|
174
|
+
self.topic_stub = None
|
|
175
|
+
self.mirror_stub = None
|
|
176
|
+
|
|
177
|
+
def __enter__(self):
|
|
178
|
+
return self
|
|
179
|
+
|
|
180
|
+
def __exit__(self, exc_type, exc_value, traceback):
|
|
181
|
+
"""
|
|
182
|
+
Automatically close channels when exiting 'with' block.
|
|
183
|
+
"""
|
|
184
|
+
self.close()
|
{hiero_sdk_python-0.0.1.dev2 → hiero_sdk_python-0.1.0}/src/hiero_sdk_python/client/network.py
RENAMED
|
@@ -18,7 +18,7 @@ class Network:
|
|
|
18
18
|
'mainnet': 'https://mainnet-public.mirrornode.hedera.com',
|
|
19
19
|
'testnet': 'https://testnet.mirrornode.hedera.com',
|
|
20
20
|
'previewnet': 'https://previewnet.mirrornode.hedera.com',
|
|
21
|
-
'solo': 'http://localhost:8080'
|
|
21
|
+
'solo': 'http://localhost:8080'
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
DEFAULT_NODES = {
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Optional, List, Union, Dict
|
|
3
|
+
from hiero_sdk_python.hapi.mirror import consensus_service_pb2 as mirror_proto
|
|
4
|
+
|
|
5
|
+
def _to_datetime(ts_proto) -> datetime:
|
|
6
|
+
"""
|
|
7
|
+
Convert a protobuf Timestamp to a Python datetime (UTC).
|
|
8
|
+
"""
|
|
9
|
+
return datetime.utcfromtimestamp(ts_proto.seconds + ts_proto.nanos / 1e9)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TopicMessageChunk:
|
|
13
|
+
"""
|
|
14
|
+
Represents a single chunk within a chunked topic message.
|
|
15
|
+
Mirrors the Java 'TopicMessageChunk'.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, response: mirror_proto.ConsensusTopicResponse):
|
|
19
|
+
self.consensus_timestamp = _to_datetime(response.consensusTimestamp)
|
|
20
|
+
self.content_size = len(response.message)
|
|
21
|
+
self.running_hash = response.runningHash
|
|
22
|
+
self.sequence_number = response.sequenceNumber
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class TopicMessage:
|
|
26
|
+
"""
|
|
27
|
+
Represents a Hedera TopicMessage, possibly composed of multiple chunks.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
def __init__(
|
|
31
|
+
self,
|
|
32
|
+
consensus_timestamp: datetime,
|
|
33
|
+
message_data: Dict[str, Union[bytes, int]],
|
|
34
|
+
chunks: List[TopicMessageChunk],
|
|
35
|
+
transaction_id: Optional[str] = None,
|
|
36
|
+
):
|
|
37
|
+
"""
|
|
38
|
+
Args:
|
|
39
|
+
consensus_timestamp: The final consensus timestamp.
|
|
40
|
+
message_data: Dict with required fields:
|
|
41
|
+
{
|
|
42
|
+
"contents": bytes,
|
|
43
|
+
"running_hash": bytes,
|
|
44
|
+
"sequence_number": int
|
|
45
|
+
}
|
|
46
|
+
chunks: All individual chunks that form this message.
|
|
47
|
+
transaction_id: The transaction ID string if available.
|
|
48
|
+
"""
|
|
49
|
+
self.consensus_timestamp = consensus_timestamp
|
|
50
|
+
self.contents = message_data["contents"]
|
|
51
|
+
self.running_hash = message_data["running_hash"]
|
|
52
|
+
self.sequence_number = message_data["sequence_number"]
|
|
53
|
+
self.chunks = chunks
|
|
54
|
+
self.transaction_id = transaction_id
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def of_single(cls, response: mirror_proto.ConsensusTopicResponse) -> "TopicMessage":
|
|
58
|
+
"""
|
|
59
|
+
Build a TopicMessage from a single-chunk response.
|
|
60
|
+
"""
|
|
61
|
+
chunk = TopicMessageChunk(response)
|
|
62
|
+
consensus_timestamp = chunk.consensus_timestamp
|
|
63
|
+
contents = response.message
|
|
64
|
+
running_hash = response.runningHash
|
|
65
|
+
sequence_number = chunk.sequence_number
|
|
66
|
+
|
|
67
|
+
transaction_id = None
|
|
68
|
+
if response.HasField("chunkInfo") and response.chunkInfo.HasField("initialTransactionID"):
|
|
69
|
+
tx_id = response.chunkInfo.initialTransactionID
|
|
70
|
+
transaction_id = (
|
|
71
|
+
f"{tx_id.shardNum}.{tx_id.realmNum}.{tx_id.accountNum}-"
|
|
72
|
+
f"{tx_id.transactionValidStart.seconds}.{tx_id.transactionValidStart.nanos}"
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
return cls(
|
|
76
|
+
consensus_timestamp,
|
|
77
|
+
{
|
|
78
|
+
"contents": contents,
|
|
79
|
+
"running_hash": running_hash,
|
|
80
|
+
"sequence_number": sequence_number,
|
|
81
|
+
},
|
|
82
|
+
[chunk],
|
|
83
|
+
transaction_id
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
@classmethod
|
|
87
|
+
def of_many(cls, responses: List[mirror_proto.ConsensusTopicResponse]) -> "TopicMessage":
|
|
88
|
+
"""
|
|
89
|
+
Reassemble multiple chunk responses into a single TopicMessage.
|
|
90
|
+
"""
|
|
91
|
+
sorted_responses = sorted(responses, key=lambda r: r.chunkInfo.number)
|
|
92
|
+
|
|
93
|
+
chunks = []
|
|
94
|
+
total_size = 0
|
|
95
|
+
transaction_id = None
|
|
96
|
+
|
|
97
|
+
for r in sorted_responses:
|
|
98
|
+
c = TopicMessageChunk(r)
|
|
99
|
+
chunks.append(c)
|
|
100
|
+
total_size += len(r.message)
|
|
101
|
+
|
|
102
|
+
if (
|
|
103
|
+
transaction_id is None
|
|
104
|
+
and r.HasField("chunkInfo")
|
|
105
|
+
and r.chunkInfo.HasField("initialTransactionID")
|
|
106
|
+
):
|
|
107
|
+
tx_id = r.chunkInfo.initialTransactionID
|
|
108
|
+
transaction_id = (
|
|
109
|
+
f"{tx_id.shardNum}.{tx_id.realmNum}.{tx_id.accountNum}-"
|
|
110
|
+
f"{tx_id.transactionValidStart.seconds}.{tx_id.transactionValidStart.nanos}"
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
contents = bytearray(total_size)
|
|
114
|
+
offset = 0
|
|
115
|
+
for r in sorted_responses:
|
|
116
|
+
end = offset + len(r.message)
|
|
117
|
+
contents[offset:end] = r.message
|
|
118
|
+
offset = end
|
|
119
|
+
|
|
120
|
+
last_r = sorted_responses[-1]
|
|
121
|
+
consensus_timestamp = _to_datetime(last_r.consensusTimestamp)
|
|
122
|
+
running_hash = last_r.runningHash
|
|
123
|
+
sequence_number = last_r.sequenceNumber
|
|
124
|
+
|
|
125
|
+
return cls(
|
|
126
|
+
consensus_timestamp,
|
|
127
|
+
{
|
|
128
|
+
"contents": bytes(contents),
|
|
129
|
+
"running_hash": running_hash,
|
|
130
|
+
"sequence_number": sequence_number,
|
|
131
|
+
},
|
|
132
|
+
chunks,
|
|
133
|
+
transaction_id
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
@classmethod
|
|
137
|
+
def from_proto(
|
|
138
|
+
cls,
|
|
139
|
+
response_or_responses: Union[mirror_proto.ConsensusTopicResponse, List[mirror_proto.ConsensusTopicResponse]],
|
|
140
|
+
chunking_enabled: bool = False
|
|
141
|
+
) -> "TopicMessage":
|
|
142
|
+
"""
|
|
143
|
+
Creates a TopicMessage from either:
|
|
144
|
+
- A single ConsensusTopicResponse
|
|
145
|
+
- A list of responses (for multi-chunk)
|
|
146
|
+
|
|
147
|
+
If chunking is enabled and multiple chunks are detected, they are reassembled
|
|
148
|
+
into one combined TopicMessage. Otherwise, a single chunk is returned as-is.
|
|
149
|
+
"""
|
|
150
|
+
if not isinstance(response_or_responses, mirror_proto.ConsensusTopicResponse):
|
|
151
|
+
if not response_or_responses:
|
|
152
|
+
raise ValueError("Empty response list provided to from_proto().")
|
|
153
|
+
|
|
154
|
+
if not chunking_enabled and len(response_or_responses) == 1:
|
|
155
|
+
return cls.of_single(response_or_responses[0])
|
|
156
|
+
|
|
157
|
+
return cls.of_many(response_or_responses)
|
|
158
|
+
|
|
159
|
+
response = response_or_responses
|
|
160
|
+
if chunking_enabled and response.HasField("chunkInfo") and response.chunkInfo.total > 1:
|
|
161
|
+
raise ValueError(
|
|
162
|
+
"Cannot handle multi-chunk in a single response. Pass all chunk responses in a list."
|
|
163
|
+
)
|
|
164
|
+
return cls.of_single(response)
|
|
165
|
+
|
|
166
|
+
def __str__(self):
|
|
167
|
+
contents_str = self.contents.decode("utf-8", errors="replace")
|
|
168
|
+
return (
|
|
169
|
+
f"TopicMessage("
|
|
170
|
+
f"consensus_timestamp={self.consensus_timestamp}, "
|
|
171
|
+
f"sequence_number={self.sequence_number}, "
|
|
172
|
+
f"contents='{contents_str[:40]}{'...' if len(contents_str) > 40 else ''}', "
|
|
173
|
+
f"chunk_count={len(self.chunks)}, "
|
|
174
|
+
f"transaction_id={self.transaction_id}"
|
|
175
|
+
f")"
|
|
176
|
+
)
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
from cryptography.hazmat.primitives.asymmetric import ed25519, ec
|
|
2
|
+
from cryptography.hazmat.primitives import serialization
|
|
3
|
+
from cryptography.hazmat.backends import default_backend
|
|
4
|
+
from typing import Optional, Union
|
|
5
|
+
from hiero_sdk_python.crypto.public_key import PublicKey
|
|
6
|
+
|
|
7
|
+
class PrivateKey:
|
|
8
|
+
"""
|
|
9
|
+
Represents a private key that can be either Ed25519 or ECDSA (secp256k1).
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(
|
|
13
|
+
self, private_key: Union[ec.EllipticCurvePrivateKey, ed25519.Ed25519PrivateKey]):
|
|
14
|
+
"""
|
|
15
|
+
Initializes a PrivateKey from a cryptography PrivateKey object.
|
|
16
|
+
"""
|
|
17
|
+
self._private_key = private_key
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def from_string(cls, key_str: str) -> "PrivateKey":
|
|
21
|
+
"""
|
|
22
|
+
Load a private key from a hex-encoded string.
|
|
23
|
+
- If key_str starts with '0x', that prefix is removed.
|
|
24
|
+
- Then the remainder is decoded as hex -> bytes.
|
|
25
|
+
- Calls from_bytes to interpret raw or DER.
|
|
26
|
+
|
|
27
|
+
Raises ValueError if the hex is invalid or the bytes are not a valid key.
|
|
28
|
+
"""
|
|
29
|
+
key_str = key_str.removeprefix("0x")
|
|
30
|
+
|
|
31
|
+
try:
|
|
32
|
+
key_bytes = bytes.fromhex(key_str)
|
|
33
|
+
except ValueError:
|
|
34
|
+
raise ValueError(f"Invalid hex string for private key: {key_str}")
|
|
35
|
+
|
|
36
|
+
return cls.from_bytes(key_bytes)
|
|
37
|
+
|
|
38
|
+
@classmethod
|
|
39
|
+
def generate(cls, key_type: str = "ed25519"):
|
|
40
|
+
if key_type.lower() == "ed25519":
|
|
41
|
+
return cls.generate_ed25519()
|
|
42
|
+
elif key_type.lower() == "ecdsa":
|
|
43
|
+
return cls.generate_ecdsa()
|
|
44
|
+
else:
|
|
45
|
+
raise ValueError("Invalid key_type. Use 'ed25519' or 'ecdsa'.")
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def generate_ed25519(cls):
|
|
49
|
+
return cls(ed25519.Ed25519PrivateKey.generate())
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def generate_ecdsa(cls):
|
|
53
|
+
private_key = ec.generate_private_key(ec.SECP256K1(), default_backend())
|
|
54
|
+
return cls(private_key)
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def from_bytes(cls, key_bytes: bytes) -> "PrivateKey":
|
|
58
|
+
"""
|
|
59
|
+
Load a private key from bytes. For Ed25519, expects 32 bytes (raw).
|
|
60
|
+
For ECDSA (secp256k1), also expects 32 bytes (raw scalar).
|
|
61
|
+
If the key is DER-encoded, tries to parse Ed25519 vs ECDSA.
|
|
62
|
+
"""
|
|
63
|
+
if len(key_bytes) == 32:
|
|
64
|
+
ed_priv = cls._try_load_ed25519(key_bytes)
|
|
65
|
+
if ed_priv:
|
|
66
|
+
return cls(ed_priv)
|
|
67
|
+
|
|
68
|
+
ec_priv = cls._try_load_ecdsa(key_bytes)
|
|
69
|
+
if ec_priv:
|
|
70
|
+
return cls(ec_priv)
|
|
71
|
+
|
|
72
|
+
der_key = cls._try_load_der(key_bytes)
|
|
73
|
+
if der_key:
|
|
74
|
+
return cls(der_key)
|
|
75
|
+
|
|
76
|
+
raise ValueError("Failed to load private key from bytes.")
|
|
77
|
+
|
|
78
|
+
@staticmethod
|
|
79
|
+
def _try_load_ed25519(key_bytes: bytes) -> Optional[ed25519.Ed25519PrivateKey]:
|
|
80
|
+
try:
|
|
81
|
+
return ed25519.Ed25519PrivateKey.from_private_bytes(key_bytes)
|
|
82
|
+
except Exception:
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
@staticmethod
|
|
86
|
+
def _try_load_ecdsa(key_bytes: bytes) -> Optional[ec.EllipticCurvePrivateKey]:
|
|
87
|
+
try:
|
|
88
|
+
private_int = int.from_bytes(key_bytes, "big")
|
|
89
|
+
return ec.derive_private_key(private_int, ec.SECP256K1(), default_backend())
|
|
90
|
+
except Exception:
|
|
91
|
+
return None
|
|
92
|
+
|
|
93
|
+
@staticmethod
|
|
94
|
+
def _try_load_der(key_bytes: bytes) -> Optional[Union[ed25519.Ed25519PrivateKey, ec.EllipticCurvePrivateKey]]:
|
|
95
|
+
try:
|
|
96
|
+
private_key = serialization.load_der_private_key(key_bytes, password=None)
|
|
97
|
+
if isinstance(private_key, ed25519.Ed25519PrivateKey):
|
|
98
|
+
return private_key
|
|
99
|
+
if isinstance(private_key, ec.EllipticCurvePrivateKey):
|
|
100
|
+
if not isinstance(private_key.curve, ec.SECP256K1):
|
|
101
|
+
raise ValueError("Only secp256k1 ECDSA is supported.")
|
|
102
|
+
return private_key
|
|
103
|
+
return None
|
|
104
|
+
except Exception:
|
|
105
|
+
return None
|
|
106
|
+
|
|
107
|
+
def sign(self, data: bytes) -> bytes:
|
|
108
|
+
return self._private_key.sign(data)
|
|
109
|
+
|
|
110
|
+
def public_key(self) -> PublicKey:
|
|
111
|
+
return PublicKey(self._private_key.public_key())
|
|
112
|
+
|
|
113
|
+
def to_bytes_raw(self) -> bytes:
|
|
114
|
+
if self.is_ed25519():
|
|
115
|
+
return self._private_key.private_bytes(
|
|
116
|
+
encoding=serialization.Encoding.Raw,
|
|
117
|
+
format=serialization.PrivateFormat.Raw,
|
|
118
|
+
encryption_algorithm=serialization.NoEncryption()
|
|
119
|
+
)
|
|
120
|
+
else:
|
|
121
|
+
return self._private_key.private_numbers().private_value.to_bytes(32, "big")
|
|
122
|
+
|
|
123
|
+
def to_string(self) -> str:
|
|
124
|
+
"""
|
|
125
|
+
Returns the private key as a hex string (raw).
|
|
126
|
+
Matches old usage that calls to_string().
|
|
127
|
+
"""
|
|
128
|
+
return self.to_string_raw()
|
|
129
|
+
|
|
130
|
+
def to_string_raw(self) -> str:
|
|
131
|
+
return self.to_bytes_raw().hex()
|
|
132
|
+
|
|
133
|
+
def to_bytes_der(self) -> bytes:
|
|
134
|
+
return self._private_key.private_bytes(
|
|
135
|
+
encoding=serialization.Encoding.DER,
|
|
136
|
+
format=serialization.PrivateFormat.PKCS8,
|
|
137
|
+
encryption_algorithm=serialization.NoEncryption()
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
def to_string_der(self) -> str:
|
|
141
|
+
return self.to_bytes_der().hex()
|
|
142
|
+
|
|
143
|
+
def is_ed25519(self) -> bool:
|
|
144
|
+
return isinstance(self._private_key, ed25519.Ed25519PrivateKey)
|
|
145
|
+
|
|
146
|
+
def is_ecdsa(self) -> bool:
|
|
147
|
+
return isinstance(self._private_key, ec.EllipticCurvePrivateKey)
|
|
148
|
+
|
|
149
|
+
def __repr__(self):
|
|
150
|
+
if self.is_ed25519():
|
|
151
|
+
return f"<PrivateKey (Ed25519) hex={self.to_string_raw()}>"
|
|
152
|
+
return f"<PrivateKey (ECDSA) hex={self.to_string_raw()}>"
|