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))
Esempio n. 2
0
    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)
Esempio n. 7
0
    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())
Esempio n. 9
0
    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)
Esempio n. 11
0
    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,