Skip to content

Got response from unknown request #566

Open
@MrCasCode

Description

@MrCasCode

Hi, I'm trying to subscribe to events in a contract:

   let ws = web3::transports::WebSocket::new("mynode").await?;
   let web3 = web3::Web3::new(ws);
 
   let contract = Contract::from_json(
        web3.eth(),
        hex!("4e68Ccd3E89f51C3074ca5072bbAC773960dFa36").into(),
        include_bytes!("../contracts/uniswap_v3_pool.json"),
    )?;

   filter = FilterBuilder::default()
        .address(vec![contract.address()])
        .from_block(BlockNumber::Latest)
        .build();

    let mut evsub = web3ws.eth_subscribe().subscribe_logs(filter).await?;

    println!("Sub id {:?}", evsub.id());

    loop {
        let r = evsub.next().await;
        match r {
            Some(ev) => println!("{:?}", ev?),
            None => ()
        }
    }

And everytime an event happens (checking on etherscan) I receive a response from unknown request

[2021-11-05T08:14:40Z DEBUG web3::transports::ws] [1] Calling: {"jsonrpc":"2.0","method":"eth_subscribe","params":["logs",{"address":"0x4e68ccd3e89f51c3074ca5072bbac773960dfa36","fromBlock":"latest"}],"id":1}
Sub id SubscriptionId("0x10ff0e1299f046edb86e5c774741102fa889ab7e15dd")
[2021-11-05T08:14:58Z WARN  web3::transports::ws] Got response for unknown request (id: 0)
[2021-11-05T08:15:32Z WARN  web3::transports::ws] Got response for unknown request (id: 0)

The same is happening when I try to run the examples subscribing to new heads.

I know my node connection is working because I can fetch past events and I receive the correct data

let logs = web3ws.eth().logs(filter).await?;
    println!("Got {:?} logs", logs.len());

    for l in logs {
        let event: (Address, Address, U256, U256, U256, u128, i32) = Detokenize::from_tokens(
            contract
            .abi()
            .event("Swap")?
            .parse_log(ethabi::RawLog {topics: l.topics.clone(), data: l.data.0.clone()})?
            .params
            .into_iter()
            .map(|x| x.value)
            .collect::<Vec<_>>())?;

            println!("event {:?} ", event);
    }
event (0xe592427a0aece92de3edee1f18e0157c05861564, 0xe592427a0aece92de3edee1f18e0157c05861564, 320000000000000000, 115792089237316195423570985008687907853269984665640564039457584007911902018681, 4914607075100445747082281, 10392763788743888306, -193768) 

Any idea of what could be happening?

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions