Identifying all LPs for a protocol

Using the dexTrades cube, querying 1inch lp, returned 149 addresses. Per 1inch app there are 179 pools. 1inch operates on Ethereum, BSC and recently Polygon (Matic).
It appears there is no cube to call for BSC. Here is code:

query MyQuery {
ethereum {
dexTrades(
options: {desc: “tradeAmount”}
protocol: {is: “One Inch Liquidity Pool”}
) {
protocol
count
tradeAmount(in: USD)
smartContract {
address {
address
}
protocolType
contractType
}
}
}
}

Can you show me where you are seeing 179 pools on 1inch. Are those 179 only on Ethereum?

Pools on 1inch (Ethereum) (1inch - DeFi / DEX aggregator on Ethereum & Binance Smart Chain) = 179
Pools on 1inch (BSC) (change network) = 709
Polygon = no pools yet

Per grapgQl (using query above):
Pools (Ethereum) = 154
Pools (BSC) = 274

Some protocol’s have a factory contract. Is best way to use [smartContractEvent: {is: “PairCreated”},], to be sure I have all Pools related to a particular protocol? But this assumes there’s a factory contract that creates the pools for every protocol. Would there be another way?

Yes, getting PairCreated events is the best way to get all the pools.

Can you send me the factory contract address on both Ethereum and BSC, I will investigate.

Factory contract (Ethereum): 0xCB06dF7F0Be5B8Bb261d294Cf87C794EB9Da85b1

This is not a factory contract, it’s a Pool contract on BSC…

On Ethereum same address is a moniswap contract which is not emitting any event

1inch is the new iteration of Mooniswap. This ‘mooniswap delpoyer’ contract, deploys v1.1 1inch LPs.
I’ve noticed there weren’t any ‘event’ emitted, but this is definitely the contract that deploys LPs - they’re listed on Interan Txns tab. Can we pull these internal transactions via GraphQl? Or perhaps there’s another way of identifying LPs, knowing that this is deployer?
I haven’t looked into BSC yet - thought I’d sort out Ethereum contract first.

I looked up that BSC, and found this is the creator of that LP
0x11799622F4D98A24514011E8527B969f7488eF47

Try this

{
  ethereum(network: bsc) {
    smartContractCalls(options: {desc: "block.timestamp.time", limit: 10}, date: {since: null, till: null}, caller: {is: "0x11799622f4d98a24514011e8527b969f7488ef47"}) {
      block {
        timestamp {
          time(format: "%Y-%m-%d %H:%M:%S")
        }
        height
      }
      smartContractMethod {
        name
        signatureHash
      }
      smartContract {
        address {
          address
          annotation
        }
      }
      transaction {
        hash
      }
      external
      gasValue
    }
  }
}

Thanks Gaurav, thanks great