def test_no_changes_http_no_key(): url = 'http://polyswarmd-fast-e2e:31337/v1' allow_key_over_http = False insecure_transport = False api_key = None finalize_polyswarmd_addr(url, api_key, allow_key_over_http, insecure_transport)
def test_raises_http_with_key(): url = 'http://polyswarmd-fast-e2e:31337/v1' allow_key_over_http = False insecure_transport = False api_key = 'api-key' with pytest.raises(ValueError): finalize_polyswarmd_addr(url, api_key, allow_key_over_http, insecure_transport)
def maintain(polyswarmd_addr, keyfile, password, api_key, testing, insecure_transport, allow_key_over_http, denomination, maximum, withdraw_target, confirmations, minimum, refill_amount): """ Maintain min/max NCT balance in sidechain """ polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) logger.info( 'Maintaining the minimum balance by depositing %s %s when it falls below %s %s', refill_amount, denomination, minimum, denomination) if maximum > 0 > withdraw_target: logger.warning('Must set a withdraw target when using a maximum') return if maximum > 0 and 0 < withdraw_target < minimum: logger.warning('Withdraw-target must me more than minimum') return if 0 < maximum < minimum: logger.warning('Maximum must be more than minimum') return if maximum > 0 and withdraw_target > 0: logger.info( 'Maintaining the minimum balance by withdrawing to %s %s when it exceeds %s %s', withdraw_target, denomination, maximum, denomination) client = Client(polyswarmd_addr, keyfile, password, api_key, testing > 0) Maintainer(client, denomination, confirmations, minimum, refill_amount, maximum, withdraw_target, testing).run()
def main(log, client_log, polyswarmd_addr, keyfile, password, api_key, backend, testing, insecure_transport, allow_key_over_http, chains, watchdog, log_format, submission_rate): """ Entrypoint for the ambassador driver """ utils.fast_deprecation() loglevel = getattr(logging, log.upper(), None) clientlevel = getattr(logging, client_log.upper(), None) if not isinstance(loglevel, int) or not isinstance(clientlevel, int): logging.error('invalid log level') raise FatalError('Invalid log level', 1) logger_name, ambassador_class = choose_backend(backend) init_logging(['ambassador', logger_name], log_format, loglevel) init_logging(['polyswarmclient'], log_format, clientlevel) polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) if insecure_transport: warnings.warn('--insecure-transport will be removed soon. Please add http:// or https:// to polyswarmd-addr`', DeprecationWarning) ambassador_class.connect(polyswarmd_addr, keyfile, password, api_key=api_key, testing=testing, chains=set(chains), watchdog=watchdog, submission_rate=submission_rate).run()
def test_add_http_with_key_allowed(): url = 'polyswarmd-fast-e2e:31337/v1' allow_key_over_http = True insecure_transport = True api_key = 'api-key' assert 'http://polyswarmd-fast-e2e:31337/v1' == finalize_polyswarmd_addr( url, api_key, allow_key_over_http, insecure_transport)
def test_add_http_insecure_transport(): url = 'polyswarmd-fast-e2e:31337/v1' allow_key_over_http = False insecure_transport = True api_key = None assert 'http://polyswarmd-fast-e2e:31337/v1' == finalize_polyswarmd_addr( url, api_key, allow_key_over_http, insecure_transport)
def test_no_changes_https_with_key(): url = 'https://polyswarmd-fast-e2e:31337/v1' allow_key_over_http = False insecure_transport = False api_key = 'api-key' assert 'https://polyswarmd-fast-e2e:31337/v1' == finalize_polyswarmd_addr( url, api_key, allow_key_over_http, insecure_transport)
def main(log, client_log, polyswarmd_addr, keyfile, password, api_key, backend, testing, insecure_transport, allow_key_over_http, chains, log_format, artifact_type, bid_strategy, accept, exclude, filter, confidence): """ Entrypoint for the microengine driver """ utils.fast_deprecation() loglevel = getattr(logging, log.upper(), None) clientlevel = getattr(logging, client_log.upper(), None) if not isinstance(loglevel, int) or not isinstance(clientlevel, int): logging.error('invalid log level') raise FatalError('Invalid log level', 1) polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) if insecure_transport: warnings.warn( '--insecure-transport will be removed soon. Please add http:// or https:// to polyswarmd-addr`', DeprecationWarning) logger_name, microengine_class = choose_backend(backend) bid_logger_name, bid_strategy_class = choose_bid_strategy(bid_strategy) artifact_types = None init_logging(['microengine', logger_name], log_format, loglevel) init_logging(['polyswarmclient'], log_format, clientlevel) if artifact_type: artifact_types = [ ArtifactType.from_string(artifact) for artifact in artifact_type ] filter_accept = filter.get('accept', []) filter_reject = filter.get('reject', []) if accept or exclude: warnings.warn( 'Options `--exclude|accept key:value` are deprecated, please switch to' ' `--filter accept|reject key comparison value`', DeprecationWarning) filter_accept.extend(accept) filter_reject.extend(exclude) favor = confidence.get('favor', []) penalize = confidence.get('penalize', []) microengine_class.connect( polyswarmd_addr, keyfile, password, api_key=api_key, artifact_types=artifact_types, bid_strategy=bid_strategy_class(), bounty_filter=BountyFilter(filter_accept, filter_reject), chains=set(chains), confidence_modifier=ConfidenceModifier(favor, penalize), testing=testing).run()
def view_stake(polyswarmd_addr, keyfile, password, api_key, testing, insecure_transport, allow_key_over_http, denomination, chain): polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) client = Client(polyswarmd_addr, keyfile, password, api_key, testing > 0) balance = ViewStake(client, denomination, chain) balance.run_oneshot() if balance.exit_code: raise FatalError('Error viewing stake', balance.exit_code)
def withdraw(polyswarmd_addr, keyfile, password, api_key, testing, insecure_transport, allow_key_over_http, denomination, all, amount): """ Withdraw NCT from a sidechain """ polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) if amount is None and not all: raise click.BadArgumentUsage('Must specify either an amount or --all') client = Client(polyswarmd_addr, keyfile, password, api_key, testing > 0) w = Withdraw(client, denomination, all, amount, testing=testing) w.run_oneshot() if w.exit_code: raise FatalError('Error withdrawing NCT', w.exit_code)
def deposit_stake(polyswarmd_addr, keyfile, password, api_key, testing, insecure_transport, allow_key_over_http, denomination, all, chain, amount): """ Deposit NCT into the ArbiterStaking contract """ polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) if amount is None and not all: raise click.BadArgumentUsage('Must specify either an amount or --all') client = Client(polyswarmd_addr, keyfile, password, api_key, testing > 0) d = DepositStake(client, denomination, all, amount, testing=testing, chain=chain) d.run_oneshot() if d.exit_code: raise FatalError('Error depositing stake', d.exit_code)
def main(log, client_log, polyswarmd_addr, keyfile, password, api_key, backend, testing, insecure_transport, allow_key_over_http, chains, log_format, artifact_type): """ Entrypoint for the arbiter driver """ loglevel = getattr(logging, log.upper(), None) clientlevel = getattr(logging, client_log.upper(), None) if not isinstance(loglevel, int) or not isinstance(clientlevel, int): logging.error('invalid log level') raise FatalError('Invalid log level', 1) logger_name, arbiter_class = choose_backend(backend) init_logging(['arbiter', logger_name], log_format, loglevel) init_logging(['polyswarmclient'], log_format, clientlevel) polyswarmd_addr = utils.finalize_polyswarmd_addr(polyswarmd_addr, api_key, allow_key_over_http, insecure_transport) if insecure_transport: warnings.warn( '--insecure-transport will be removed soon. Please add http:// or https:// to polyswarmd-addr`', DeprecationWarning) artifact_types = None if artifact_type: artifact_types = [ ArtifactType.from_string(artifact) for artifact in artifact_type ] arbiter_class.connect(polyswarmd_addr, keyfile, password, api_key=api_key, testing=testing, chains=set(chains), artifact_types=artifact_types).run()