OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
signature.hpp File Reference
#include "messages.hpp"
#include "util/common/buffer.hpp"
#include "util/common/hash.hpp"
#include "util/common/keys.hpp"
#include <evmc/evmc.hpp>
#include <evmc/hex.hpp>
#include <memory>
#include <secp256k1.h>
#include <secp256k1_extrakeys.h>
#include <secp256k1_recovery.h>
Include dependency graph for signature.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cbdc
 
namespace  cbdc::parsec
 
namespace  cbdc::parsec::agent
 
namespace  cbdc::parsec::agent::runner
 

Functions

auto cbdc::parsec::agent::runner::eth_sign (const privkey_t &key, hash_t &hash, evm_tx_type type, const std::shared_ptr< secp256k1_context > &ctx, uint64_t chain_id=opencbdc_chain_id) -> evm_sig
 Signs a hash using a privkey_t using ecdsa and produces an evm_sig struct Used primarily in unit tests for signature checking.
 
auto cbdc::parsec::agent::runner::check_signature (const cbdc::parsec::agent::runner::evm_tx &tx, const std::shared_ptr< secp256k1_context > &ctx, uint64_t chain_id=opencbdc_chain_id) -> std::optional< evmc::address >
 Checks the signature of an EVM transaction.
 
auto cbdc::parsec::agent::runner::sig_hash (const cbdc::parsec::agent::runner::evm_tx &tx, uint64_t chain_id=opencbdc_chain_id) -> hash_t
 Calculates the hash for creating / validating the signature.