Versions in this module Expand all Collapse all v1 v1.999.0 Nov 17, 2022 Changes in this version + var ErrAddressLengthNotCorrect = errors.New("address length is not correct") + var ErrEmptyCode = errors.New("empty code in provided smart contract holding account") + var ErrNotImplemented = errors.New("not implemented") + var ErrVMTypeLengthIsNotCorrect = errors.New("vm type length is not correct") + type ArgBlockChainHook struct + Accounts state.AccountsAdapter + BlockChain data.ChainHandler + BuiltInFunctions vmcommon.BuiltInFunctionContainer + CompiledSCPool storage.Cacher + ConfigSCStorage config.StorageConfig + DataPool dataRetriever.PoolsHolder + EnableEpochs config.EnableEpochs + EpochNotifier vmcommon.EpochNotifier + GlobalSettingsHandler vmcommon.ESDTGlobalSettingsHandler + Marshalizer marshal.Marshalizer + NFTStorageHandler vmcommon.SimpleESDTNFTStorageHandler + NilCompiledSCStore bool + PubkeyConv core.PubkeyConverter + ShardCoordinator sharding.Coordinator + StorageService dataRetriever.StorageService + Uint64Converter typeConverters.Uint64ByteSliceConverter + WorkingDir string + type BlockChainHookImpl struct + func NewBlockChainHookImpl(args ArgBlockChainHook) (*BlockChainHookImpl, error) + func (bh *BlockChainHookImpl) ApplyFiltersOnCodeMetadata(codeMetadata vmcommon.CodeMetadata) vmcommon.CodeMetadata + func (bh *BlockChainHookImpl) ClearCompiledCodes() + func (bh *BlockChainHookImpl) Close() error + func (bh *BlockChainHookImpl) CurrentEpoch() uint32 + func (bh *BlockChainHookImpl) CurrentNonce() uint64 + func (bh *BlockChainHookImpl) CurrentRandomSeed() []byte + func (bh *BlockChainHookImpl) CurrentRound() uint64 + func (bh *BlockChainHookImpl) CurrentTimeStamp() uint64 + func (bh *BlockChainHookImpl) DeleteCompiledCode(codeHash []byte) + func (bh *BlockChainHookImpl) EpochConfirmed(epoch uint32, _ uint64) + func (bh *BlockChainHookImpl) FilterCodeMetadataForUpgrade(input []byte) ([]byte, error) + func (bh *BlockChainHookImpl) GetAllState(_ []byte) (map[string][]byte, error) + func (bh *BlockChainHookImpl) GetBlockhash(nonce uint64) ([]byte, error) + func (bh *BlockChainHookImpl) GetBuiltinFunctionNames() vmcommon.FunctionNames + func (bh *BlockChainHookImpl) GetBuiltinFunctionsContainer() vmcommon.BuiltInFunctionContainer + func (bh *BlockChainHookImpl) GetCode(account vmcommon.UserAccountHandler) []byte + func (bh *BlockChainHookImpl) GetCompiledCode(codeHash []byte) (bool, []byte) + func (bh *BlockChainHookImpl) GetESDTToken(address []byte, tokenID []byte, nonce uint64) (*esdt.ESDigitalToken, error) + func (bh *BlockChainHookImpl) GetShardOfAddress(address []byte) uint32 + func (bh *BlockChainHookImpl) GetSnapshot() int + func (bh *BlockChainHookImpl) GetStateRootHash() []byte + func (bh *BlockChainHookImpl) GetStorageData(accountAddress []byte, index []byte) ([]byte, error) + func (bh *BlockChainHookImpl) GetUserAccount(address []byte) (vmcommon.UserAccountHandler, error) + func (bh *BlockChainHookImpl) IsInterfaceNil() bool + func (bh *BlockChainHookImpl) IsLimitedTransfer(tokenID []byte) bool + func (bh *BlockChainHookImpl) IsPaused(tokenID []byte) bool + func (bh *BlockChainHookImpl) IsPayable(sndAddress []byte, recvAddress []byte) (bool, error) + func (bh *BlockChainHookImpl) IsSmartContract(address []byte) bool + func (bh *BlockChainHookImpl) LastEpoch() uint32 + func (bh *BlockChainHookImpl) LastNonce() uint64 + func (bh *BlockChainHookImpl) LastRandomSeed() []byte + func (bh *BlockChainHookImpl) LastRound() uint64 + func (bh *BlockChainHookImpl) LastTimeStamp() uint64 + func (bh *BlockChainHookImpl) NewAddress(creatorAddress []byte, creatorNonce uint64, vmType []byte) ([]byte, error) + func (bh *BlockChainHookImpl) NumberOfShards() uint32 + func (bh *BlockChainHookImpl) ProcessBuiltInFunction(input *vmcommon.ContractCallInput) (*vmcommon.VMOutput, error) + func (bh *BlockChainHookImpl) RevertToSnapshot(snapshot int) error + func (bh *BlockChainHookImpl) SaveCompiledCode(codeHash []byte, code []byte) + func (bh *BlockChainHookImpl) SaveNFTMetaDataToSystemAccount(tx data.TransactionHandler) error + func (bh *BlockChainHookImpl) SetCurrentHeader(hdr data.HeaderHandler) + type VMCryptoHook struct + func NewVMCryptoHook() *VMCryptoHook + func (vmch *VMCryptoHook) Ecrecover(_ []byte, _ []byte, _ []byte, _ []byte) ([]byte, error) + func (vmch *VMCryptoHook) IsInterfaceNil() bool + func (vmch *VMCryptoHook) Keccak256(data []byte) ([]byte, error) + func (vmch *VMCryptoHook) Ripemd160(data []byte) ([]byte, error) + func (vmch *VMCryptoHook) Sha256(data []byte) ([]byte, error)