Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FascDGP Class Reference

#include <fascDGP.h>

Collaboration diagram for FascDGP:
[legend]

Public Member Functions

 FascDGP (FascState *_state, bool _dgpevm=true)
 
dev::eth::EVMSchedule getGasSchedule (unsigned int blockHeight)
 
uint32_t getBlockSize (unsigned int blockHeight)
 
uint64_t getMinGasPrice (unsigned int blockHeight)
 
uint64_t getBlockGasLimit (unsigned int blockHeight)
 

Private Member Functions

bool initStorages (const dev::Address &addr, unsigned int blockHeight, std::vector< unsigned char > data=std::vector< unsigned char >())
 
void initStorageDGP (const dev::Address &addr)
 
void initStorageTemplate (const dev::Address &addr)
 
void initDataTemplate (const dev::Address &addr, std::vector< unsigned char > &data)
 
void initDataEIP158 ()
 
bool checkLimitSchedule (const std::vector< uint32_t > &defaultData, const std::vector< uint32_t > &checkData)
 
void createParamsInstance ()
 
dev::Address getAddressForBlock (unsigned int blockHeight)
 
uint64_t getUint64FromDGP (unsigned int blockHeight, const dev::Address &contract, std::vector< unsigned char > data)
 
void parseStorageScheduleContract (std::vector< uint32_t > &uint32Values)
 
void parseDataScheduleContract (std::vector< uint32_t > &uint32Values)
 
void parseStorageOneUint64 (uint64_t &blockSize)
 
void parseDataOneUint64 (uint64_t &value)
 
dev::eth::EVMSchedule createEVMSchedule ()
 
void clear ()
 

Private Attributes

bool dgpevm
 
const FascStatestate
 
dev::Address templateContract
 
std::map< dev::h256, std::pair< dev::u256, dev::u256 > > storageDGP
 
std::map< dev::h256, std::pair< dev::u256, dev::u256 > > storageTemplate
 
std::vector< unsigned char > dataTemplate
 
std::vector< std::pair< unsigned int, dev::Address > > paramsInstance
 
std::vector< uint32_t > dataEIP158Schedule
 

Detailed Description

Definition at line 27 of file fascDGP.h.

Constructor & Destructor Documentation

FascDGP::FascDGP ( FascState _state,
bool  _dgpevm = true 
)
inline

Definition at line 31 of file fascDGP.h.

Here is the call graph for this function:

Member Function Documentation

bool FascDGP::checkLimitSchedule ( const std::vector< uint32_t > &  defaultData,
const std::vector< uint32_t > &  checkData 
)
private

Definition at line 21 of file fascDGP.cpp.

Here is the caller graph for this function:

void FascDGP::clear ( )
private

Definition at line 243 of file fascDGP.cpp.

Here is the caller graph for this function:

dev::eth::EVMSchedule FascDGP::createEVMSchedule ( )
private

Definition at line 189 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::createParamsInstance ( )
private

Definition at line 114 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

dev::Address FascDGP::getAddressForBlock ( unsigned int  blockHeight)
private

Definition at line 129 of file fascDGP.cpp.

Here is the caller graph for this function:

uint64_t FascDGP::getBlockGasLimit ( unsigned int  blockHeight)

Definition at line 76 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

uint32_t FascDGP::getBlockSize ( unsigned int  blockHeight)

Definition at line 56 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

dev::eth::EVMSchedule FascDGP::getGasSchedule ( unsigned int  blockHeight)

Definition at line 35 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t FascDGP::getMinGasPrice ( unsigned int  blockHeight)

Definition at line 66 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t FascDGP::getUint64FromDGP ( unsigned int  blockHeight,
const dev::Address contract,
std::vector< unsigned char >  data 
)
private

Definition at line 44 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::initDataEIP158 ( )
private

Definition at line 3 of file fascDGP.cpp.

Here is the caller graph for this function:

void FascDGP::initDataTemplate ( const dev::Address addr,
std::vector< unsigned char > &  data 
)
private

Definition at line 110 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::initStorageDGP ( const dev::Address addr)
private

Definition at line 102 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool FascDGP::initStorages ( const dev::Address addr,
unsigned int  blockHeight,
std::vector< unsigned char >  data = std::vector<unsigned char>() 
)
private

Definition at line 87 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::initStorageTemplate ( const dev::Address addr)
private

Definition at line 106 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::parseDataOneUint64 ( uint64_t &  value)
private

Definition at line 183 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::parseDataScheduleContract ( std::vector< uint32_t > &  uint32Values)
private

Definition at line 167 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::parseStorageOneUint64 ( uint64_t &  blockSize)
private

Definition at line 176 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void FascDGP::parseStorageScheduleContract ( std::vector< uint32_t > &  uint32Values)
private

Definition at line 141 of file fascDGP.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::vector<uint32_t> FascDGP::dataEIP158Schedule
private

Definition at line 91 of file fascDGP.h.

std::vector<unsigned char> FascDGP::dataTemplate
private

Definition at line 87 of file fascDGP.h.

bool FascDGP::dgpevm
private

Definition at line 77 of file fascDGP.h.

std::vector<std::pair<unsigned int, dev::Address> > FascDGP::paramsInstance
private

Definition at line 89 of file fascDGP.h.

const FascState* FascDGP::state
private

Definition at line 79 of file fascDGP.h.

std::map<dev::h256, std::pair<dev::u256, dev::u256> > FascDGP::storageDGP
private

Definition at line 83 of file fascDGP.h.

std::map<dev::h256, std::pair<dev::u256, dev::u256> > FascDGP::storageTemplate
private

Definition at line 85 of file fascDGP.h.

dev::Address FascDGP::templateContract
private

Definition at line 81 of file fascDGP.h.


The documentation for this class was generated from the following files: