Source code for bitshares.instance

# -*- coding: utf-8 -*-
from graphenecommon.instance import AbstractBlockchainInstanceProvider


[docs]class SharedInstance: """This class merely offers a singelton for the Blockchain Instance.""" instance = None config = {}
[docs]class BlockchainInstance(AbstractBlockchainInstanceProvider): """This is a class that allows compatibility with previous naming conventions.""" _sharedInstance = SharedInstance def __init__(self, *args, **kwargs): # Also allow 'bitshares_instance' if kwargs.get("bitshares_instance"): kwargs["blockchain_instance"] = kwargs["bitshares_instance"] AbstractBlockchainInstanceProvider.__init__(self, *args, **kwargs)
[docs] def get_instance_class(self): """Should return the Chain instance class, e.g. `bitshares.BitShares`""" import bitshares as bts return bts.BitShares
@property def bitshares(self): """Alias for the specific blockchain.""" return self.blockchain
[docs]def shared_blockchain_instance(): return BlockchainInstance().shared_blockchain_instance()
[docs]def set_shared_blockchain_instance(instance): instance.clear_cache() # instance.set_shared_instance() BlockchainInstance.set_shared_blockchain_instance(instance)
[docs]def set_shared_config(config): BlockchainInstance.set_shared_config(config)
shared_bitshares_instance = shared_blockchain_instance set_shared_bitshares_instance = set_shared_blockchain_instance