6#ifndef OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_EVM_ADDRESS_H_
7#define OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_EVM_ADDRESS_H_
14#include <evmc/evmc.hpp>
15#include <evmc/hex.hpp>
18#include <secp256k1_extrakeys.h>
19#include <secp256k1_recovery.h>
28 const evmc::uint256be& nonce) -> evmc::address;
37 const evmc::bytes32& salt,
45 const std::shared_ptr<secp256k1_context>& ctx)
52 auto eth_addr(
const std::unique_ptr<secp256k1_pubkey>& pk,
53 const std::shared_ptr<secp256k1_context>& ctx)
auto eth_addr(const std::unique_ptr< secp256k1_pubkey > &pk, const std::shared_ptr< secp256k1_context > &ctx) -> evmc::address
Calculates an eth address from a public key.
auto contract_address2(const evmc::address &sender, const evmc::bytes32 &salt, const cbdc::hash_t &bytecode_hash) -> evmc::address
Calculates a contract address for the CREATE2 call keccak256(0xFF | sender | salt | keccak256(bytecod...
auto contract_address(const evmc::address &sender, const evmc::uint256be &nonce) -> evmc::address
Calculates a contract address for the CREATE call keccak256(rlp([sender,nonce]))
std::array< unsigned char, cbdc::hash_size > hash_t
SHA256 hash container.
std::array< unsigned char, pubkey_len > privkey_t
A private key of a public/private keypair.