OpenCBDC Transaction Processor
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
address.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 address.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::contract_address (const evmc::address &sender, const evmc::uint256be &nonce) -> evmc::address
 Calculates a contract address for the CREATE call keccak256(rlp([sender,nonce]))
 
auto cbdc::parsec::agent::runner::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(bytecode))
 
auto cbdc::parsec::agent::runner::eth_addr (const cbdc::privkey_t &key, const std::shared_ptr< secp256k1_context > &ctx) -> evmc::address
 Calculates an eth address from a private key.
 
auto cbdc::parsec::agent::runner::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.