Description
Convert the Verifier trait from static methods to instance methods to enable stateful signature verification.
Use case: In Solana's IBC v2 implementation, transaction verification must be offloaded outside the main transaction context. An instance-based verifier allows referencing an accessor that checks verification results asynchronously.
Definition of "done"
Change:
// Before
fn verify(pubkey: PublicKey, msg: &[u8], signature: &Signature) -> Result<(), Error>;
// After
fn verify(&self, pubkey: PublicKey, msg: &[u8], signature: &Signature) -> Result<(), Error>;
Implementation is already complete and tested in our Solana IBC implementation. Awaiting approval to submit PR.
Description
Convert the Verifier trait from static methods to instance methods to enable stateful signature verification.
Use case: In Solana's IBC v2 implementation, transaction verification must be offloaded outside the main transaction context. An instance-based verifier allows referencing an accessor that checks verification results asynchronously.
Definition of "done"
Change:
// Before
fn verify(pubkey: PublicKey, msg: &[u8], signature: &Signature) -> Result<(), Error>;
// After
Implementation is already complete and tested in our Solana IBC implementation. Awaiting approval to submit PR.