def test_regression_unfiltered_routes(raiden_network, token_addresses, settle_timeout, deposit): app0, app1, app2, app3, app4 = raiden_network token = token_addresses[0] # Topology: # # 0 -> 1 -> 2 -> 4 # | ^ # +--> 3 ---+ app_channels = [ (app0, app1), (app1, app2), (app1, app3), (app3, app4), (app2, app4), ] setup_channels( token, app_channels, deposit, settle_timeout, ) # poll the channel manager events for app in raiden_network: app.raiden.poll_blockchain_events() transfer = app0.raiden.transfer_async(token, 1, app4.raiden.address) assert transfer.wait()
def test_regression_unfiltered_routes(raiden_network, token_addresses, settle_timeout, deposit): """ The transfer should proceed without triggering an assert. Transfers failed in networks where two or more paths to the destination are possible but they share same node as a first hop. """ app0, app1, app2, app3, app4 = raiden_network token = token_addresses[0] # Topology: # # 0 -> 1 -> 2 -> 4 # | ^ # +--> 3 ---+ app_channels = [ (app0, app1), (app1, app2), (app1, app3), (app3, app4), (app2, app4), ] setup_channels( token, app_channels, deposit, settle_timeout, ) # poll the channel manager events wait_for_partners(raiden_network) transfer = app0.raiden.mediated_transfer_async( token_address=token, amount=1, target=app4.raiden.address, identifier=1, ) assert transfer.wait()