def test_extract_scriptsig_from_redeem_transaction_blockcypher_no_redeem( req_mock, network): # minimal version of required json response req_mock.return_value = {"txs": [{"hash": "010"}]} assert extract_scriptsig_from_redeem_transaction(network, 'some_address') is None if network == 'btc': assert extract_scriptsig_from_redeem_transaction( network, 'some_address', testnet=True) is None
def extract_secret_from_redeem_transaction( cls, contract_address: str) -> Optional[str]: if cls.is_test_network() and cls.name != 'test-bitcoin': raise NotImplementedError try: scriptsig = extract_scriptsig_from_redeem_transaction( network=cls.symbols[0], contract_address=contract_address, testnet=cls.is_test_network(), cryptoid_api_key=os.getenv('CRYPTOID_API_KEY'), ) except NotImplementedError: logger.debug('%s: network is not supported', cls.name) raise except ValueError as e: logger.debug(e) raise try: return cls.extract_secret(scriptsig=scriptsig) except ValueError as e: logger.debug(e) raise
def test_extract_scriptsig_from_redeem_transaction_blockcypher( req_mock, network): # minimal version of required json object req_mock.return_value = { "txs": [{ "hash": "011", "inputs": [{ "script": "test-sigscript", "script_type": "pay-to-script-hash" }] }, { "hash": "010" }] } assert 'test-sigscript' == extract_scriptsig_from_redeem_transaction( network, 'some_address') if network == 'btc': assert 'test-sigscript' == extract_scriptsig_from_redeem_transaction( network, 'some_address', testnet=True)
def test_extract_scriptsig_from_redeem_transaction_cryptoid(req_mock, network): # minimal versions of required json responses response1 = {"txs": [{"hash": "hash1"}, {"hash": "hash2"}]} response2 = { "vin": [ { "scriptSig": { "hex": "test-sigscript" } }, ] } req_mock.side_effect = [response1, response2] assert "test-sigscript" == extract_scriptsig_from_redeem_transaction( network, 'some_address', cryptoid_api_key='xxx')
def test_extract_scriptsig_from_redeem_transaction_cryptoid_no_redeem( req_mock, network): # minimal version of required json response req_mock.return_value = {"txs": [{"hash": "hash1"}]} assert extract_scriptsig_from_redeem_transaction( network, 'some_address', cryptoid_api_key='xxx') is None