Multipartite(Regular) Address interaction interrogation
    Updated 2022-07-03
    WITH
    interrogate AS
    (SELECT 'thor1sdca32l97dvl5ug95yu6w75px55xs457r5c7av' AS target),

    ignoreaddresses AS
    (
    SELECT
    'thor1v8ppstuf6e3x0r4glqc68d5jqcs2tf38cg2q6y', --Minter module
    'thor1dheycdevq39qlkxs2a6wuuzyn4aqxhve4qxtxt', --Reserve module
    'thor17gw75axcnr8747pkanye45pnrwk7p9c3cqncsv', --Bond module
    'thor1g98cy3n9mmjrpn0sxmn63lztelera37n8n67c0' --Pool Module
    ),

    transferstable AS
    (
    SELECT DISTINCT from_address, to_address
    FROM thorchain.transfer_events
    WHERE from_address <> to_address
    --Note self-transfers, e.g.
    -- https://thornode.ninerealms.com/txs?tx.acc_seq=thor1cvuysmu8qp4ckkk993qtdutpxk0we52twqfyky/6
    -- https://thornode.ninerealms.com/txs?tx.acc_seq=thor1tgzc4xtwr7ww8cdkfxgmwl4hgtfpj763a45klg/529
    ),
    upstream AS
    (
    SELECT DISTINCT target, from_address AS associated_address
    FROM (interrogate LEFT JOIN transferstable ON target = to_address)
    WHERE (SELECT CONCAT(*) FROM ignoreaddresses) NOT LIKE CONCAT('%', from_address, '%')
    ),

    downstream AS
    (
    SELECT DISTINCT target, to_address AS associated_address
    FROM (interrogate LEFT JOIN transferstable ON target = from_address)
    WHERE (SELECT CONCAT(*) FROM ignoreaddresses) NOT LIKE CONCAT('%', to_address, '%')
    ),
    Run a query to Download Data