-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stacks Transactions being rejected - Arkadiko, ALEX + Gamma #159
Comments
Thanks, @pete-watters there are many changes in #158 and #156 might solve those issues. it is possible to test them in a real device using the app/pkg/[email protected] installers |
Do you know if ledger Nanos also failed? Would it be possible to share the data being sent to the device? it would facilitate finding the issue |
Thanks @neithanmo . I will test with a Nano S to see if that also fails. I can gather the data being sent also to help find the problem. |
@neithanmo I tested just now and it is also failing using a Nano S. The easiest way to replicate it is to try and generate a signature on Stacking DAO.
The payload we are sending is: |
This issue would not be fixed by any of the latest changes that will soon be merged. |
Thanks @neithanmo . This issue isn't actually a problem in Leather Wallet itself. It occurs when trying to authorise transactions via Leather. So if you:
On Stacking Dao you should see a screen like this where you can replicate the error: In the meantime I will try and get the serialised data in case it helps. Thanks! |
Thanks @pete-watters. Is there any update on the structured_message being sent to the ledger? pub fn verify(input: &'a [u8]) -> Result<(), ParserError> {
let rem = Self::parse_prefix(input)?;
// parse domain
let (msg, _) = Domain::from_bytes(rem)?;
// validate msg, but here we can limit the complexity
// of the msg we can parse as the device has limited resources.
//let's evaluate if a recursion limit of MAX_DEPTH is good for
// general purposed structured data
Self::validate(msg)?;
Ok(())
} we have a recursion limit of MAX_DEPTH, used in case of nested values in the message. However looking at the payload image you share, I do not see complex data structures there that might trigger this limit |
Hi @neithanmo, Apologies for the delay, here is some sample data we are passing to
Hopefully that helps? If not let me know and I can try and gather more information |
Thank You @pete-watters, That data is what we need. I will put it in our tests suite internally for easy debugging of this bug, hopefully, it would be about adjusting some types/value limits and not due to device limitations. I will keep you posted |
Wow that's great news and thanks for the quick response. I will be slow to reply next week but if you need more assistance contact the team on here leather-io/extension#5115. Thanks again! |
@pete-watters |
Hey @neithanmo , Thanks again for the help here, I am still investigating on our side. Its good if the data passes your emulator however on our side with an actual connected device no action is triggered so I don't see anything on the physical device. We just receive the invalid payload error back. When we send
I gathered some information from another approach, where it fails when trying to create a new vault on Arkadiko. In that case we use
That also fails and is rejected by the Ledger device with:
In both above cases I am using a Ledger Nano X |
I tested the data you shared and it is a contract call:
not sure what is happening, are you able to test with a nanosplus? on what OS are you running this? macOS, could it be a communication error with the device? |
@neithanmo we already tested this with nano S+, with firmware 1.1.1 and more recently with 1.1.2. I tested with Windows machine. I am not sure about Pete's OS. |
@neithanmo I am testing it on Mac OS |
I will close for now, provided data did not trigger any error in our integration test or our unit testing. feel free to open again and provide more detail |
We are having some issues signing certain transactions in Leather Wallet. leather-io/extension#5115 . It seems like this is an issue with the
ledger-stacks
app as it is also causing problems when we try with Xverse.Is this an issue that has been fixed and will be released soon? #157 ?
The problem is happening on Ledger nano S plus (firmware v1.1.1), And Ledger Nano X, with the latest firmware
The message we get back is:
The problem can be produced using Arkadiko finance:
app.arkadiko.finance
{returnCode: 27012, errorMessage: 'Data is invalid : Unexpected data type’}
Users are also having this same issue when visiting Gamma Stacks NFT marketplace and trying to use Ledger. The Bitcoin ledger app is working but the Stacks app has this same error.
🔗 zboto Link
The text was updated successfully, but these errors were encountered: