def newBlockApi(self, network_config, node_url): if self.provider == 'rpc' or self.provider == 'prpc': return RpcBlockApiImpl(network_config, node_url) elif self.provider == 'tzstats': return TzStatsBlockApiImpl(network_config) raise Exception("No supported reward data provider : {}".format( self.provider))
def test_validate_plugins(self): data = """ baking_address: tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194 plugins: enabled: - plug1 - plug2 """ block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser( data, clnt_mngr=None, provider_factory=None, network_config=None, node_url="", block_api=block_api, ) cnf_prsr.parse() cnf_prsr.validate_plugins(cnf_prsr.get_conf_obj()) plugins = cnf_prsr.get_conf_obj_attr("plugins") self.assertIsInstance(plugins, dict) self.assertIsInstance(plugins["enabled"], list) self.assertEqual(len(plugins["enabled"]), 2)
def newBlockApi(self, network_config, wllt_clnt_mngr, node_url): if self.provider == 'rpc': return RpcBlockApiImpl(network_config, wllt_clnt_mngr, node_url) elif self.provider == 'tzscan': return TzScanBlockApiImpl(network_config) raise Exception("No supported reward data provider : {}".format( self.provider))
def test_validate_no_founders_map(self): data_no_founders = """ version : 1.0 baking_address : tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj payment_address : tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj owners_map : {'KT2Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj':0.5,'KT3Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj':0.5} service_fee : 4.5 """ managers_map = { 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj' } contr_dict_by_alias = {} addr_dict_by_pkh = { "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj": { "pkh": "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj", "originated": False, "alias": "main1", "sk": True, "manager": "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj" } } wallet_client_manager = WalletClientManager( client_path=None, node_addr=None, addr_dict_by_pkh=addr_dict_by_pkh, contr_dict_by_alias=contr_dict_by_alias, managers=managers_map) block_api = RpcBlockApiImpl(network, mainnet_public_node_url) cnf_prsr = BakingYamlConfParser(data_no_founders, wallet_client_manager, provider_factory=None, network_config=network, node_url=mainnet_public_node_url, block_api=block_api) cnf_prsr.parse() cnf_prsr.validate() self.assertEqual(cnf_prsr.get_conf_obj_attr('baking_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('payment_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_pkh'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual( cnf_prsr.get_conf_obj_attr('__payment_address_manager'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_type'), AddrType.TZ) self.assertEqual(cnf_prsr.get_conf_obj_attr('founders_map'), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr('specials_map'), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr('supporters_set'), set()) self.assertEqual(0, cnf_prsr.get_conf_obj_attr('min_delegation_amt'))
def newBlockApi(self, network_config, wllt_clnt_mngr, node_url): if self.provider == 'rpc' or self.provider == 'prpc': return RpcBlockApiImpl(network_config, wllt_clnt_mngr, node_url) elif self.provider == 'dunscan': if not self.mirror_selector: self.init_mirror_selector(network_config) return DunScanBlockApiImpl(network_config,self.mirror_selector) raise Exception("No supported reward data provider : {}".format(self.provider))
def test_validate_no_founders_map(self): data_no_founders = """ version: 1.0 baking_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj payment_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj owners_map: {'KT2Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5,'KT3Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5} supporters_set: None service_fee: 4.5 reactivate_zeroed: False delegator_pays_ra_fee: True rewards_type: plugins: enabled: """ wallet_client_manager = ClientManager('', '') block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser(data_no_founders, wallet_client_manager, provider_factory=None, network_config=network, node_url=self.mainnet_public_node_url, block_api=block_api) cnf_prsr.parse() cnf_prsr.validate() self.assertEqual(cnf_prsr.get_conf_obj_attr('baking_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('payment_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_pkh'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual( cnf_prsr.get_conf_obj_attr('__payment_address_manager'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_type'), AddrType.TZ) self.assertEqual(cnf_prsr.get_conf_obj_attr('founders_map'), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr('specials_map'), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr('supporters_set'), set()) self.assertEqual(cnf_prsr.get_conf_obj_attr('min_delegation_amt'), 0) self.assertEqual(cnf_prsr.get_conf_obj_attr('reactivate_zeroed'), False) self.assertEqual(cnf_prsr.get_conf_obj_attr('delegator_pays_ra_fee'), True) self.assertEqual(cnf_prsr.get_conf_obj_attr('rewards_type'), RewardsType.ACTUAL) plugins = cnf_prsr.get_conf_obj_attr('plugins') self.assertIsInstance(plugins, dict) self.assertIsNone(plugins['enabled'], None)
def newBlockApi(self, network_config, node_url, api_base_url=None): if self.provider == 'rpc' or self.provider == 'prpc': if node_url.find("http") == -1: node_url = 'http://' + node_url return RpcBlockApiImpl(network_config, node_url) elif self.provider == 'tzstats': return TzStatsBlockApiImpl(network_config) elif self.provider == 'tzkt': return TzKTBlockApiImpl(network_config, base_url=api_base_url) raise Exception("No supported reward data provider : {}".format(self.provider))
def test_validate_plugins(self): data = """ baking_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj plugins: enabled: """ block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser(data, wllt_clnt_mngr=None, provider_factory=None, network_config=None, node_url="", block_api=block_api) cnf_prsr.parse() cnf_prsr.validate_plugins(cnf_prsr.get_conf_obj())
def test_validate(self): data_fine = """ version: 1.0 baking_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj payment_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj founders_map: {'KT2Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5,'KT3Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5} owners_map: {'KT2Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5,'KT3Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5} service_fee: 4.53 reactivate_zeroed: False delegator_pays_ra_fee: True """ managers = {'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj', 'KT1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj'} contr_dict_by_alias = {} addr_dict_by_pkh = { "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj": {"pkh": "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj", "originated": False, "alias": "main1", "sk": True, "revealed": True, "manager": "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj"}, "KT1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj": {"pkh": "KT1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj", "originated": True, "alias": "kt1", "sk": True, "revealed": True, "manager": "tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj"} } wallet_client_manager = WalletClientManager(client_path=None, node_addr=None, addr_dict_by_pkh=addr_dict_by_pkh, contr_dict_by_alias=contr_dict_by_alias, managers=managers) block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser(data_fine, wallet_client_manager, provider_factory=None, network_config=network, node_url=self.mainnet_public_node_url, block_api=block_api) cnf_prsr.parse() cnf_prsr.validate() self.assertEqual(cnf_prsr.get_conf_obj_attr('baking_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('payment_address'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_pkh'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_manager'), 'tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj') self.assertEqual(cnf_prsr.get_conf_obj_attr('__payment_address_type'), AddrType.TZ) self.assertEqual(cnf_prsr.get_conf_obj_attr('min_delegation_amt'), 0) self.assertEqual(cnf_prsr.get_conf_obj_attr('reactivate_zeroed'), False) self.assertEqual(cnf_prsr.get_conf_obj_attr('delegator_pays_ra_fee'), True)
def test_validate_plugins(self): data = """ baking_address: tz1Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj plugins: enabled: - plug1 - plug2 """ block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser(data, clnt_mngr=None, provider_factory=None, network_config=None, node_url="", block_api=block_api) cnf_prsr.parse() cnf_prsr.validate_plugins(cnf_prsr.get_conf_obj()) plugins = cnf_prsr.get_conf_obj_attr('plugins') self.assertIsInstance(plugins, dict) self.assertIsInstance(plugins['enabled'], list) self.assertEqual(len(plugins['enabled']), 2)
def test_validate_no_founders_map(self): data_no_founders = """ version: 1.0 baking_address: tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194 payment_address: tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194 owners_map: {'KT2Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5,'KT3Z1tMai15JWUWeN2PKL9faXXVPMuWamzJj': 0.5} supporters_set: None service_fee: 4.5 reactivate_zeroed: False delegator_pays_ra_fee: True rewards_type: plugins: enabled: """ wallet_client_manager = ClientManager(self.mainnet_public_node_url, self.signer_endpoint) block_api = RpcBlockApiImpl(network, self.mainnet_public_node_url) cnf_prsr = BakingYamlConfParser( data_no_founders, wallet_client_manager, provider_factory=None, network_config=network, node_url=self.mainnet_public_node_url, block_api=block_api, ) cnf_prsr.parse() cnf_prsr.validate() self.assertEqual( cnf_prsr.get_conf_obj_attr("baking_address"), "tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194", ) self.assertEqual( cnf_prsr.get_conf_obj_attr("payment_address"), "tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194", ) self.assertEqual( cnf_prsr.get_conf_obj_attr("__payment_address_pkh"), "tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194", ) self.assertEqual( cnf_prsr.get_conf_obj_attr("__payment_address_manager"), "tz1g8vkmcde6sWKaG2NN9WKzCkDM6Rziq194", ) self.assertEqual(cnf_prsr.get_conf_obj_attr("__payment_address_type"), AddrType.TZ) self.assertEqual(cnf_prsr.get_conf_obj_attr("founders_map"), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr("specials_map"), dict()) self.assertEqual(cnf_prsr.get_conf_obj_attr("supporters_set"), set()) self.assertEqual(cnf_prsr.get_conf_obj_attr("min_delegation_amt"), 0) self.assertEqual(cnf_prsr.get_conf_obj_attr("reactivate_zeroed"), False) self.assertEqual(cnf_prsr.get_conf_obj_attr("delegator_pays_ra_fee"), True) self.assertEqual(cnf_prsr.get_conf_obj_attr("rewards_type"), RewardsType.ACTUAL) plugins = cnf_prsr.get_conf_obj_attr("plugins") self.assertIsInstance(plugins, dict) self.assertIsNone(plugins["enabled"], None)
from config.yaml_baking_conf_parser import BakingYamlConfParser from exception.configuration import ConfigurationException from Constants import PUBLIC_NODE_URL, PRIVATE_SIGNER_URL from rpc.rpc_block_api import RpcBlockApiImpl from tzkt.tzkt_block_api import TzKTBlockApiImpl from tzstats.tzstats_block_api import TzStatsBlockApiImpl from tests.utils import Constants node_endpoint = PUBLIC_NODE_URL["MAINNET"] network = {"NAME": "MAINNET"} @pytest.mark.parametrize( "block_api", [ pytest.param(RpcBlockApiImpl(network, node_endpoint), id="RpcBlockApiImpl"), pytest.param(TzKTBlockApiImpl(network), id="TzKTBlockApiImpl"), pytest.param(TzStatsBlockApiImpl(network), id="TzStatsBlockApiImpl"), ], ) def test_address_is_baker_address(block_api): data_fine = """ version: 1.0 baking_address: {0} """.format(Constants.STAKENOW_ADDRESS) wallet_client_manager = ClientManager(node_endpoint, PRIVATE_SIGNER_URL) cnf_prsr = BakingYamlConfParser( data_fine, wallet_client_manager,