Ejemplo n.º 1
0
 def test_str_to_bool(self):
     self.assertTrue(convert.str_to_bool("True"))
     self.assertTrue(convert.str_to_bool("true"))
     self.assertTrue(convert.str_to_bool("1"))
     self.assertFalse(convert.str_to_bool("False"))
     self.assertFalse(convert.str_to_bool("false"))
     self.assertFalse(convert.str_to_bool("0"))
     self.assertFalse(convert.str_to_bool("dummy_text"))
     self.assertFalse(convert.str_to_bool(None))
Ejemplo n.º 2
0
    def parse_track_flag(self, params: Union[Dict[str, Any], List[Any], None]):
        assert params is not None
        assert isinstance(params, dict)

        if not self.track_flag:
            self.track_flag = TransactionFlag.PAID_TX

        if rpc_constants.STATUS_TRACK_PARAMS_KEY in params:
            track_flag_str = params[rpc_constants.STATUS_TRACK_PARAMS_KEY]
            track_flag = convert.str_to_bool(str(track_flag_str).lower(),
                                             default=False)
            if track_flag:
                self.track_flag |= TransactionFlag.STATUS_TRACK

        if rpc_constants.NONCE_MONITORING_PARAMS_KEY in params:
            nonce_flag_str = params[rpc_constants.NONCE_MONITORING_PARAMS_KEY]
            nonce_flag = convert.str_to_bool(str(nonce_flag_str).lower(),
                                             default=False)
            if nonce_flag:
                self.track_flag |= TransactionFlag.NONCE_TRACK
Ejemplo n.º 3
0
    def validate_params(self) -> None:
        params = self.params
        if params is None or not isinstance(params, dict):
            raise RpcInvalidParams(
                self.request_id,
                "Params request field is either missing or not a dictionary type."
            )
        if (
            rpc_constants.TRANSACTION_JSON_PARAMS_KEY in params
            and self.get_network_protocol() == BlockchainProtocol.ETHEREUM
        ):
            tx_json = params[rpc_constants.TRANSACTION_JSON_PARAMS_KEY]
            tx_bytes = Transaction.from_json_with_validation(tx_json).contents().tobytes()
            params[rpc_constants.TRANSACTION_PARAMS_KEY] = tx_bytes.hex()

        super(GatewayBlxrTransactionRpcRequest, self).validate_params()

        if self.SYNCHRONOUS in params:
            synchronous = params[rpc_constants.SYNCHRONOUS_PARAMS_KEY]
            self.synchronous = convert.str_to_bool(str(synchronous).lower(), default=True)