Skip to content

Commit 04ae9b6

Browse files
committed
fix: Token Airdrop Transaction
Signed-off-by: aceppaluni <aceppaluni@gmail.com>
1 parent 28e6c1f commit 04ae9b6

3 files changed

Lines changed: 19 additions & 17 deletions

File tree

src/hiero_sdk_python/tokens/token_airdrop_transaction_cancel.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,11 @@ def _build_proto_body(self):
6868
6969
Returns:
7070
TokenCancelAirdropTransactionBody: The protobuf body for this transaction.
71-
72-
Raises:
73-
ValueError: If pending airdrops list is invalid.
7471
"""
7572
pending_airdrops_proto: list[basic_types_pb2.PendingAirdropId] = [
7673
pending_airdrop._to_proto() for pending_airdrop in self.pending_airdrops
7774
]
7875

79-
if len(pending_airdrops_proto) < 1 or len(pending_airdrops_proto) > 10:
80-
raise ValueError("Pending airdrops list must contain mininum 1 and maximum 10 pendingAirdrop.")
81-
8276
return token_cancel_airdrop_pb2.TokenCancelAirdropTransactionBody(pending_airdrops=pending_airdrops_proto)
8377

8478
def build_transaction_body(self):

tck/handlers/token.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,9 +289,6 @@ def _build_cancel_airdrop_transaction(params: CancelAirdropParams) -> TokenCance
289289
)
290290
)
291291

292-
transaction.set_max_transaction_fee(transaction.get_max_transaction_fee())
293-
transaction.set_transaction_valid_duration(transaction.get_transaction_valid_duration())
294-
295292
return transaction
296293

297294

tests/unit/token_airdrop_transaction_cancel_test.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,20 +92,31 @@ def test_build_transaction_body(mock_account_ids):
9292

9393
def test_transaction_for_invalid_params(mock_account_ids):
9494
"""Test building the token cancel airdrop transaction body with invalid params."""
95-
sender_id, receiver_id, _, token_id, _ = mock_account_ids
96-
sample_pending_airdrop = PendingAirdropId(sender_id=sender_id, receiver_id=receiver_id, token_id=token_id)
95+
sender_id, receiver_id, node_account_id, token_id, _ = mock_account_ids
96+
sample_pending_airdrop = PendingAirdropId(
97+
sender_id=sender_id,
98+
receiver_id=receiver_id,
99+
token_id=token_id,
100+
)
97101

98-
# With empty pending airdrops list
99102
cancel_airdrop_tx_1 = TokenCancelAirdropTransaction()
100-
with pytest.raises(ValueError, match="Pending airdrops list must contain mininum 1 and maximum 10 pendingAirdrop."):
101-
cancel_airdrop_tx_1.build_transaction_body()
103+
cancel_airdrop_tx_1.transaction_id = generate_transaction_id(sender_id)
104+
cancel_airdrop_tx_1.set_node_account_ids([node_account_id])
105+
106+
transaction_body = cancel_airdrop_tx_1.build_transaction_body()
107+
108+
assert len(transaction_body.tokenCancelAirdrop.pending_airdrops) == 0
102109

103-
# With pending airdrops list containing more than 10 ids
104110
cancel_airdrop_tx_2 = TokenCancelAirdropTransaction()
105111
for _ in range(11):
106112
cancel_airdrop_tx_2.add_pending_airdrop(sample_pending_airdrop)
107-
with pytest.raises(ValueError, match="Pending airdrops list must contain mininum 1 and maximum 10 pendingAirdrop."):
108-
cancel_airdrop_tx_2.build_transaction_body()
113+
114+
cancel_airdrop_tx_2.transaction_id = generate_transaction_id(sender_id)
115+
cancel_airdrop_tx_2.set_node_account_ids([node_account_id])
116+
117+
transaction_body = cancel_airdrop_tx_2.build_transaction_body()
118+
119+
assert len(transaction_body.tokenCancelAirdrop.pending_airdrops) == 11
109120

110121

111122
def test_set_pending_airdrops(mock_account_ids):

0 commit comments

Comments
 (0)