One thing that seems to get folks is that the data that is signed includes the hash of the contract that is doing the verification (note for an application this is different from the app address)
Thank you for your reply. I tried it and nothing changed… I will try again. Also, I found one method from Python SDK from algosdk.logic import teal_sign_from_program, but it didn’t help me as well…
When you compile the program, it results in a binary representation of the program && a hash of the program.
For LSigs (in the example i posted) the address of the program is the same as the hash
For Applications, the address is the hash of the app id. A Common mistake is to try to use the address as a parameter for the Ed25519 Verify function, when it should always be the hash of the program.