Ejemplo n.º 1
0
    def _initialize_udc(
        self, gas_limit: int, node_count: int
    ) -> Tuple[Set[TransactionHash], Optional[ContractProxy], bool]:
        our_address = to_checksum_address(self.client.address)
        udc_settings = self.yaml.settings.services.udc
        udc_enabled = udc_settings.enable

        ud_token_tx = set()

        if not udc_enabled:
            return ud_token_tx, None, False

        udc_ctr, ud_token_ctr = get_udc_and_token(self)

        ud_token_address = to_checksum_address(ud_token_ctr.contract_address)
        udc_address = to_checksum_address(udc_ctr.contract_address)

        log.info("UDC enabled", contract_address=udc_address, token_address=ud_token_address)

        self.udc = UserDepositContract(self, udc_ctr, ud_token_ctr)

        should_deposit_ud_token = udc_enabled and udc_settings.token["deposit"]
        allowance_tx = self.udc.update_allowance()
        if allowance_tx:
            ud_token_tx.add(allowance_tx)
        if should_deposit_ud_token:

            tx = self.udc.mint(our_address)
            if tx:
                ud_token_tx.add(tx)

        return ud_token_tx, udc_ctr, should_deposit_ud_token
Ejemplo n.º 2
0
 def set_up_udc_test_class(self, runner):
     with patch(
         "scenario_player.utils.token.UserDepositContract.effective_balance"
     ) as mock_eb, patch(
         "scenario_player.utils.token.UserDepositContract.allowance", new_callable=PropertyMock
     ) as mock_allowance, patch(
         "scenario_player.utils.token.UserDepositContract.ud_token_address",
         new_callable=PropertyMock,
     ) as mock_ud_token_addr:
         # We'll mock the properties accessing the contract proxies for now
         # TODO: Properly mock them instead.
         self.instance = UserDepositContract(runner, MagicMock(), MagicMock())
         self.mock_allowance = mock_allowance
         self.mock_effective_balance = mock_eb
         self.mock_ud_token_address = mock_ud_token_addr
         yield