Open concernedrat opened 6 months ago
Thanks for reporting it! I've asked @martykan to investigate it further.
I have reproduced the issue, the problem needs to be fixed on the firmware side, it's from the definitions in this file: https://github.com/trezor/trezor-firmware/blob/main/core/src/apps/solana/transaction/instructions.py
@Hannsek
@MiroslavProchazka thank you guys for the amazing work! 🫶🏽
I briefly dug into https://github.com/trezor/trezor-firmware/blob/c635b945e175762be93febbee6b983317b900c6e/core/src/apps/solana/transaction/instructions.py#L3082
looking to shed some light and new_authority field
of that instruction is correctly set to optional (is_optional: true
)
Cheers!
@concernedrat can you provide binary serialization of the transaction that you end up with?
Issue Title:
Trezor rejects transaction when setting authority to null to disable minting
Description:
When attempting to disable minting by setting the new authority to null as per the Solana SPL SDK, Trezor rejects the transaction, marking it as invalid (the signature of the createSetAuthorityInstructions accepts
PublicKey | null
for this field). This behavior is inconsistent with the expected behavior from the SDK and Solana.Steps to Reproduce:
Expected Behavior:
Trezor should accept the transaction even when the new authority is set to null, as it is a valid instruction according to the Solana SPL SDK.
Code Snippet:
Additional Information:
This issue prevents users from programmatically disabling minting using Trezor. As a workaround I set up the new authority to a dummy account
11111111111111111111111111111111
and mark the token account as immutable to disable minting (not ideal)