Skip to content

Commit cf99cf3

Browse files
Minor fix in Token Airdrop script receipt handling and updated changelog.md
Signed-off-by: tech0priyanshu <[email protected]>
1 parent f196e74 commit cf99cf3

File tree

2 files changed

+120
-84
lines changed

2 files changed

+120
-84
lines changed

CHANGELOG.md

Lines changed: 61 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ This project adheres to [Semantic Versioning](https://semver.org).
77
This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
88

99
## [Unreleased]
10+
1011
- Convert camelCase to snake_case in integration tests (#318)
1112

1213
### Added
14+
1315
- ScheduleSignTransaction class
1416
- NodeUpdateTransaction class
1517
- NodeDeleteTransaction class
@@ -34,10 +36,7 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
3436
- AccountId support for ECDSA alias accounts
3537
- ContractId.to_evm_address() method for EVM compatibility
3638
- consumeLargeData() function in StatefulContract
37-
- Added comprehensive example script for Token Airdrop (`token_airdrop.py`) that demonstrates:
38-
- Creating and airdropping both fungible tokens and NFTs with specific serial numbers
39-
- Verifying token transfers using transaction records and balance checks
40-
- Detailed transaction result reporting with visual summary tables
39+
- Added comprehensive Token Airdrop example script demonstrating token/NFT creation, airdrops, verification, and detailed logging
4140
- Added variables directly in the example script to reduce the need for users to supply extra environment variables.
4241
- Added new `merge_conflicts.md` with detailed guidance on handling conflicts during rebase.
4342
- Type hinting to /tokens, /transaction, /query, /consensus
@@ -46,9 +45,10 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
4645
- Function docstrings in /tokens, /transaction, /query, /consensus
4746

4847
### Changed
48+
4949
- bump protobufs version to `v0.66.0`
5050
- bump solo version to `v0.13`
51-
- Extract _build_proto_body() from build_transaction_body() in every transaction
51+
- Extract \_build_proto_body() from build_transaction_body() in every transaction
5252
- StatefulContract's setMessage() function designed with no access restrictions, allowing calls from any address
5353
- bump solo version to `v0.12`
5454
- Extract Ed25519 byte loading logic into private helper method `_from_bytes_ed25519()`
@@ -61,6 +61,7 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
6161
- Add CI tests across Python 3.10–3.12.
6262

6363
### Fixed
64+
6465
- Unit test compatibility issues when running with UV package manager
6566
- Type annotations in TokenRelationship class (kyc_status and freeze_status)
6667
- Test assertions in test_executable.py using pytest match parameter
@@ -73,53 +74,60 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
7374
- Invalid signature verification for examples/keys_public_der.py
7475

7576
### Removed
77+
7678
- Removed the old `/documentation` folder.
7779
- Rebase command in README_upstream changed to just -S
7880
- generate_proto.sh
7981
- pkg_resources dependency in generate_proto.py
8082

81-
8283
### Breaking API changes
83-
- We have some changed imports and returns to maintain compatability in the proto bump
84+
85+
- We have some changed imports and returns to maintain compatability in the proto bump
8486

8587
transaction_body_pb2.TransactionBody -> transaction_pb2.TransactionBody
8688

8789
contract_call_local_pb2.ContractFunctionResult -> contract_types_pb2.ContractFunctionResult
8890

8991
contract_call_local_pb2.ContractLoginfo -> contract_types_pb2.ContractLoginfo
92+
9093
- Removed init.py content in /tokens
9194

9295
## Corrected
96+
9397
- Duplicate validation function in TokenCreate
9498
- kyc_status: Optional[TokenFreezeStatusProto] = None → kyc_status: Optional[TokenKycStatus] = None
9599
- assert relationship.freeze_status == TokenFreezeStatus.FROZEN, f"Expected freeze status to be FROZEN, but got {relationship.freeze_status}" → assert relationship.freeze_status == TokenFreezeStatus.UNFROZEN, f"Expected freeze status to be UNFROZEN, but got {relationship.freeze_status}"
96100

97-
### Breaking API changes
101+
### Breaking API changes
98102

99103
**Changed imports**
104+
100105
- src/hiero_sdk_python/consensus/topic_message.py: from hiero_sdk_python import Timestamp → from hiero_sdk_python.timestamp import Timestamp
101106
- src/hiero_sdk_python/query/topic_message_query.py: from hiero_sdk_python import Client → from hiero_sdk_python.client.client import Client
102-
- src/hiero_sdk_python/tokens/__init__.py: content removed.
107+
- src/hiero_sdk_python/tokens/**init**.py: content removed.
103108
- src/hiero_sdk_python/tokens/token_info.py: from hiero_sdk_python.hapi.services.token_get_info_pb2 import TokenInfo as proto_TokenInfo → from hiero_sdk_python.hapi.services import token_get_info_pb2
104109
- src/hiero_sdk_python/tokens/token_key_validation.py: from hiero_sdk_python.hapi.services → import basic_types_pb2
105110
- src/hiero_sdk_python/tokens/token_kyc_status.py: from hiero_sdk_python.hapi.services.basic_types_pb2 import TokenKycStatus as proto_TokenKycStatus → from hiero_sdk_python.hapi.services import basic_types_pb2
106111
- src/hiero_sdk_python/tokens/token_pause_status.py: from hiero_sdk_python.hapi.services.basic_types_pb2 import (TokenPauseStatus as proto_TokenPauseStatus,) → from hiero_sdk_python.hapi.services import basic_types_pb2
107112
- src/hiero_sdk_python/tokens/token_pause_transaction.py: from hiero_sdk_python.hapi.services.token_pause_pb2 import TokenPauseTransactionBody → from hiero_sdk_python.hapi.services import token_pause_pb2, transaction_pb2
108113
- from hiero_sdk_python.hapi.services.token_revoke_kyc_pb2 import TokenRevokeKycTransactionBody → from hiero_sdk_python.hapi.services import token_revoke_kyc_pb2, transaction_pb2
109114
- src/hiero_sdk_python/tokens/token_update_nfts_transaction.py: from hiero_sdk_python.hapi.services.token_update_nfts_pb2 import TokenUpdateNftsTransactionBody → from hiero_sdk_python.hapi.services import token_update_nfts_pb2,transaction_pb2
110-
- src/hiero_sdk_python/tokens/token_wipe_transaction.py: from hiero_sdk_python.hapi.services.token_wipe_account_pb2 import TokenWipeAccountTransactionBody → from hiero_sdk_python.hapi.services import token_wipe_account_pb2, transaction_pb2
115+
- src/hiero_sdk_python/tokens/token_wipe_transaction.py: from hiero_sdk_python.hapi.services.token_wipe_account_pb2 import TokenWipeAccountTransactionBody → from hiero_sdk_python.hapi.services import token_wipe_account_pb2, transaction_pb2
111116

112117
## [0.1.4] - 2025-08-19
118+
113119
### Added
120+
114121
- CONTRIBUTING.md: expanded documentation detailing various contribution processes in a step-by-step way. Includes new sections: blog posts and support.
115122
- README_upstream.md: documentation explaining how to rebase to main.
116123

117124
### Added
125+
118126
- Legacy ECDSA DER parse support
119127
- documented private key from_string method behavior
120128
- ContractInfo class
121129
- ContractInfoQuery class
122-
- ContractID check in PublicKey._from_proto() method
130+
- ContractID check in PublicKey.\_from_proto() method
123131
- PendingAirdropId Class
124132
- PendingAirdropRecord Class
125133
- TokenCancelAirdropTransaction Class
@@ -130,48 +138,55 @@ contract_call_local_pb2.ContractLoginfo -> contract_types_pb2.ContractLoginfo
130138
- ContractUpdateTransaction class
131139

132140
### Fixed
141+
133142
- missing ECDSA support in query.py and contract_create_transaction.py (was only creating ED25519 keys)
134143
- Applied linting and code formatting across the consensus module
135144
- fixed pip install hiero_sdk_python -> pip install hiero-sdk-python in README.md
136145

137-
### Breaking API changes
146+
### Breaking API changes
147+
138148
**We have several camelCase uses that will be deprecated → snake_case** Original aliases will continue to function, with a warning, until the following release.
139149

140150
#### In `token_info.py`
141-
- tokenId → token_id
142-
- totalSupply → total_supply
151+
152+
- tokenId → token_id
153+
- totalSupply → total_supply
143154
- isDeleted → is_deleted
144-
- tokenType → token_type
145-
- maxSupply → max_supply
146-
- adminKey → admin_key
155+
- tokenType → token_type
156+
- maxSupply → max_supply
157+
- adminKey → admin_key
147158
- kycKey → kyc_key
148-
- freezeKey → freeze_key
159+
- freezeKey → freeze_key
149160
- wipeKey → wipe_key
150161
- supplyKey → supply_key
151-
- defaultFreezeStatus → default_freeze_status
152-
- defaultKycStatus → default_kyc_status
153-
- autoRenewAccount → auto_renew_account
154-
- autoRenewPeriod → auto_renew_period
155-
- pauseStatus → pause_status
156-
- supplyType → supply_type
162+
- defaultFreezeStatus → default_freeze_status
163+
- defaultKycStatus → default_kyc_status
164+
- autoRenewAccount → auto_renew_account
165+
- autoRenewPeriod → auto_renew_period
166+
- pauseStatus → pause_status
167+
- supplyType → supply_type
157168

158169
#### In `nft_id.py`
159-
- tokenId → token_id
160-
- serialNumber → serial_number
170+
171+
- tokenId → token_id
172+
- serialNumber → serial_number
161173

162174
#### In `transaction_receipt.py`
175+
163176
- tokenId → token_id
164-
- topicId → topic_id
165-
- accountId → account_id
177+
- topicId → topic_id
178+
- accountId → account_id
166179
- fileId → file_id
167180

168181
### Deprecated Additions
182+
169183
- logger.warn will be deprecated in v0.1.4. Please use logger.warning instead.
170184
- get_logger method passing (name, level) will be deprecated in v0.1.4 for (level, name).
171185

172-
173186
## [0.1.3] - 2025-07-03
187+
174188
### Added
189+
175190
- TokenType Class
176191
- MAINTAINERS.md file
177192
- Duration Class
@@ -198,8 +213,8 @@ contract_call_local_pb2.ContractLoginfo -> contract_types_pb2.ContractLoginfo
198213
- TransactionRecordQuery Class
199214
- AccountInfoQuery Class
200215

201-
202216
### Changed
217+
203218
- replace datetime.utcnow() with datetime.now(timezone.utc) for Python 3.10
204219
- updated pr-checks.yml
205220
- added add_require_frozen() to Transaction Base Class
@@ -219,54 +234,66 @@ contract_call_local_pb2.ContractLoginfo -> contract_types_pb2.ContractLoginfo
219234
- Created `sdk_users` docs folder and renamed `examples/README.md` to `running_examples.md`
220235
- Updated references and links accordingly
221236

222-
223237
### Fixed
238+
224239
- fixed INVALID_NODE_ACCOUNT during node switching
225240
- fixed ed25519 key ambiguity (PrivateKey.from_string -> PrivateKey.from_string_ed25519 in examples)
226241

227242
### Removed
228-
- Redundant test.py file
229243

244+
- Redundant test.py file
230245

231246
## [0.1.2] - 2025-03-12
247+
232248
### Added
249+
233250
- NFTId Class
234251

235252
### Changed
253+
236254
- use SEC1 ECPrivateKey instead of PKCS#8
237255

238256
### Fixed
257+
239258
- PR checks
240259
- misnamed parameter (ECDSASecp256k1=pub_bytes -> ECDSA_secp256k1=pub_bytes)
241260

242261
### Removed
243-
- .DS_store file
244262

263+
- .DS_store file
245264

246265
## [0.1.1] – 2025-02-25
266+
247267
### Added
268+
248269
- RELEASE.md
249270
- CONTRIBUTING.md
250271

251272
### Changed
273+
252274
- README now split into root README for project overview and /examples README for transaction types and syntax.
253275
- Python version incremented from 3.9 to 3.10
254276

255277
### Removed
256-
- pdm.lock & uv.lock file
257278

279+
- pdm.lock & uv.lock file
258280

259281
## [0.1.0] - 2025-02-19
282+
260283
### Added
284+
261285
- Initial release of the Python SDK core functionality.
262286
- Basic documentation on how to install and use the SDK.
263287
- Example scripts illustrating setup and usage.
264288

265289
### Changed
290+
266291
- N/A
267292

268293
### Fixed
294+
269295
- N/A
270296

271297
### Removed
298+
272299
- N/A

0 commit comments

Comments
 (0)