You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is not possible to set the asset_sender transaction field when building an inner transaction asset transfer. This is required to perform a clawback operation on an asset.
Mypy identifies the missing kwarg (Unexpected keyword argument "asset_sender" for "AssetTransfer"). The contract will also fail to move a frozen asset because it needs the inner transaction to have this field set.
The text was updated successfully, but these errors were encountered:
This should be fixed in the next release which will be out this week, in the mean time, since in this case the compiler actually supports this and it's just missing from the stubs, the following is a viable workaround:
Subject of the issue
It is not possible to set the
asset_sender
transaction field when building an inner transaction asset transfer. This is required to perform a clawback operation on an asset.Your environment
AlgoKit: 2.0.3
AlgoKit Python: 3.12.3 (main, Apr 9 2024, 08:09:14) [Clang 15.0.0 (clang-1500.3.9.4)] (location: /Users/brianwhippo/.local/pipx/venvs/algokit)
OS: macOS-14.4.1-arm64-arm-64bit
docker: 26.0.0
docker compose: 2.26.1-desktop.1
git: 2.39.3
python: Command not found!
python3: 3.12.3 (location: /opt/homebrew/bin/python3)
pipx: 1.5.0
poetry: 1.5.1
node: 21.7.3
npm: 10.5.0
brew: 4.2.18
[tool.poetry.dependencies]
python = "^3.12"
algokit-utils = "^2.2.0"
python-dotenv = "^1.0.0"
algorand-python = "^1.0.0"
Steps to reproduce
Expected behaviour
The
AssetTransfer
class, as well as the more generic InnerTransaction class, should provide a way to set asset sender per the clawback transaction specification at https://developer.algorand.org/docs/get-details/transactions/transactions/#asset-clawback-transaction.Actual behaviour
Mypy identifies the missing kwarg (Unexpected keyword argument "asset_sender" for "AssetTransfer"). The contract will also fail to move a frozen asset because it needs the inner transaction to have this field set.
The text was updated successfully, but these errors were encountered: