Partial sign still doesn't work.
TheHmmka opened this issue · 2 comments
TheHmmka commented
I try to sign transaction which I get from my server.
try transaction.partialSign(signers: [account])
let data = try transaction.serialize()
The problem is in the order of accounts keys (according to instructions in transaction message) and signatures order.
Signed keys:
[
7qNz8fjLwsTF3ifPd8FUZt28PUr5KV593X7XBV2x2ojV,
DkLZoyq5xs92M92yWY2Xrzj4nTFPvx1c1oyfsA6TMPCz,
98P3VqKQ5kRb3Mowp4DPZepEUCQhYpuo9r46sEhSYvW2
]
Signatures:
[
SolanaSwift.Transaction.Signature(signature: Optional(64 bytes), publicKey: 7qNz8fjLwsTF3ifPd8FUZt28PUr5KV593X7XBV2x2ojV),
SolanaSwift.Transaction.Signature(signature: nil, publicKey: 98P3VqKQ5kRb3Mowp4DPZepEUCQhYpuo9r46sEhSYvW2),
SolanaSwift.Transaction.Signature(signature: Optional(64 bytes), publicKey: DkLZoyq5xs92M92yWY2Xrzj4nTFPvx1c1oyfsA6TMPCz)
]
bigearsenal commented
Hi there, how about trying to sign again, not using partialSign?
TheHmmka commented
I get transactions with signatures from the server, so the order should be the same, but I can get order only from instructions and first bytes of transactions data for the order of signatures. I think there is a mistake in the parser of transaction inside SDK. But I don't have time to check it. =( In any way the order of signatures and keys should be the same. I add signature outside the SDK and everything is fine.