#pragma once namespace Aurora::Crypto::ECC { class PublicECCImpl : public IECCPublic { public: PublicECCImpl(EECCCurve type, ecc_key &key); ~PublicECCImpl(); bool Verify(const Memory::MemoryViewRead &hash, const Memory::MemoryViewRead &signature) override; bool Verify(const Memory::MemoryViewRead &plaintext, const Memory::MemoryViewRead &signature, EHashType method) override; bool AsPublicECC(Memory::ByteBuffer &out) override; EECCCurve GetType() override; const ecc_key &GetKey(); private: ecc_key _key; EECCCurve _type; }; }