-
Notifications
You must be signed in to change notification settings - Fork 145
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
[Bug] Transaction signature verification failure #459
Comments
any updates ? have you figured a work around ? |
This is from Solnet.Serum. Maybe it will help bypass the verification issue. Create a TransactionBuilder instance and create your transaction by adding the instructions etc then obtain signatures from all the signers and add them to the signature list. Try populating the signatures manually. I will look into the web3.js source code and take a look at the typescript implementation to see if I can find a better way to serialize and break down transactions.
|
I did not figure this out. Instead of making 4 transfers in one transactions, I'm sending 4 separate transactions :( |
I believe I have a clue for this. I have found that when I add signers, success becomes less likely. I further demonstrated in my code that when serializing a transaction, the order of the accounts and the order of the signatures are not matched, which is required. I wrote the following unit test, which just creates a transaction with increasing numbers of signers and does a "waterfall" transfer of 1 lamport between them. So, if there is 1 transfer, there are two signers and 3 accounts. signers: fee payer, a sender; non-signer a receiver. If there were two transfers there is fee payer A, B -> C, then C->D (so 3 signers: A, B and C) and so on. This is repeated from 1 transfer to 7. At 1 transfer, success is about 100% (1000 iterations). By the time you get to 7 it will sometimes succeed 1 / 1000 times. When printing the success cases, it appears that if the non-fee paying signers happen to be in alphabetical order, it works. Here are the logs from this test code:
|
Describe the bug
Get error from Solana network "Transaction signature verification failure"
To Reproduce
Create a consolidation transaction with 4 transfers from 4 input addresses to 1 output
There's some kind of signature mismatch. It always works with 1 input, it SOMETIMES works with 3 and it never works with 4.
The text was updated successfully, but these errors were encountered: