-
Notifications
You must be signed in to change notification settings - Fork 91
Closed
Copy link
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
The current TransferTransaction supports only add_token_transfer and add_nft_transfer for token and NFT transfers. Unlike other SDKs (Java, JS), it does not support the following methods:
- addTokenTransferWithDecimals()
- addApprovedTokenTransfer()
- addApprovedTokenTransferWithDecimals()
- addApprovedNftTransfer()
- addApprovedHbarTransfer()
Solution
-
Refactor
TransferTransactionto extendAbstractTokenTransferTransaction, enabling reuse of existing logic for:- _addTokenTransfer()
- _addNftTransfer()
-
Add a new method in
TransferTransactionto support:- addTokenTransferWithDecimals()
- addApprovedTokenTransfer()
- addApprovedTokenTransferWithDecimals()
- addApprovedNftTransfer()
- addApprovedHbarTransfer()
-
Create unit and integration tests for all updated and new methods to ensure correctness and reliability.
Alternatives
- Implement the additional methods directly in
AbstractTokenTransferTransactionso they can be shared betweenTransferTransactionandTokenAirdrop:- addTokenTransferWithDecimals()
- addApprovedTokenTransfer()
- addApprovedTokenTransferWithDecimals()
- addApprovedNftTransfer()
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request