def __init__(self, root=b'', env=Env(), **kwargs): self.env = env self.trie = SecureTrie(Trie(self.db, root)) for k, v in STATE_DEFAULTS.items(): setattr(self, k, kwargs.get(k, copy.copy(v))) self.journal = [] self.cache = {} self.log_listeners = []
def __init__(self, root=b'', env=Env(), executing_on_head=False, **kwargs): self.env = env self.trie = SecureTrie(Trie(RefcountDB(self.db), root)) for k, v in STATE_DEFAULTS.items(): setattr(self, k, kwargs.get(k, copy.copy(v))) self.journal = [] self.cache = {} self.log_listeners = [] self.deletes = [] self.changed = {} self.executing_on_head = executing_on_head
def __init__(self, nonce, balance, storage, code_hash, db, address): self.db = db self.address = address super(Account, self).__init__(nonce, balance, storage, code_hash) self.storage_cache = {} self.storage_trie = SecureTrie(Trie(self.db)) self.storage_trie.root_hash = self.storage self.touched = False self.existent_at_start = True self._mutable = True self.deleted = False
def __init__(self, nonce, balance, storage, code_hash, env): assert isinstance(env.db, BaseDB) self.env = env super(Account, self).__init__(nonce, balance, storage, code_hash) self.storage_cache = {} self.storage_trie = SecureTrie(Trie(self.env.db)) self.storage_trie.root_hash = self.storage self.touched = False self.existent_at_start = True self._mutable = True self.deleted = False
def __init__(self, db, root): """ :param db: :param root: """ self.db = db self.trie = Trie(self.db, root) self.secure_trie = SecureTrie(self.trie) self.journal = [] self.cache = {}
def __init__(self, db, state_root): self.db = db if isinstance(state_root, str): self.state_root = decode_hex(state_root) else: self.state_root = state_root try: self.trie = Trie(db, self.state_root) self.is_in_db = True except KeyError: self.state_root = None self.is_in_db = False logging.warning('State root %s not in database', self.state_root) logging.info('State created')
def __init__(self, nonce, balance, storage, code_hash, env, address): assert isinstance(env.db, BaseDB) self.env = env self.address = address acc = _Account(nonce, balance, storage, code_hash) self.nonce = acc.nonce self.balance = acc.balance self.storage = acc.storage self.code_hash = acc.code_hash self.storage_cache = {} self.storage_trie = SecureTrie(Trie(RefcountDB(self.env.db))) self.storage_trie.root_hash = self.storage self.touched = False self.existent_at_start = True self._mutable = True self.deleted = False
def storage_size(self, db): size = 0 if self.is_contract: try: storage_trie = Trie(db, decode_hex(self.storage_root)) except KeyError: logging.warning('storage root %s not in database', self.storage_root) return size try: trie_dict = storage_trie.to_dict() except KeyError: logging.warning('storage root %s integrity error in database', self.storage_root) return size size = len(trie_dict) return size
def __init__(self, db, root): self.db = db self.trie = Trie(self.db, root) self.secure_trie = SecureTrie(self.trie) self.journal = [] self.cache = {}