Loading...
Searching...
No Matches
address_manager.cpp
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
21
22#include <glog/logging.h>
23
24#include "eEVM/util.h"
25
26namespace resdb {
27namespace contract {
28
30 std::vector<uint8_t> raw(20);
31 std::generate(raw.begin(), raw.end(), []() { return rand(); });
32 Address address = eevm::from_big_endian(raw.data(), raw.size());
33 users_.insert(address);
34 return address;
35}
36
37bool AddressManager::Exist(const Address& address) {
38 return users_.find(address) != users_.end();
39}
40
42 return eevm::generate_address(owner, 0u);
43}
44
45std::string AddressManager::AddressToHex(const Address& address) {
46 return eevm::to_hex_string(address);
47}
48
49Address AddressManager::HexToAddress(const std::string& address) {
50 return eevm::to_uint256(address);
51}
52
53} // namespace contract
54} // namespace resdb
static std::string AddressToHex(const Address &address)
static Address HexToAddress(const std::string &address)
static Address CreateContractAddress(const Address &owner)
bool Exist(const Address &address)
eevm::Address Address
Definition utils.h:27