quasvel
Version:
Access and interact with Aragon Organizations and their apps.
39 lines (32 loc) • 1.01 kB
text/typescript
import { createAppConnector } from '@aragon/connect-core'
import Tokens from './models/Tokens'
import TokensConnectorTheGraph, {
subgraphUrlFromChainId,
} from './thegraph/connector'
type Config = {
pollInterval?: number
subgraphUrl?: string
}
export default createAppConnector<Tokens, Config>(
async ({ app, config, connector, network, orgConnector, verbose }) => {
if (connector !== 'thegraph') {
console.warn(
`Connector unsupported: ${connector}. Using "thegraph" instead.`
)
}
const subgraphUrl =
config.subgraphUrl ?? subgraphUrlFromChainId(network.chainId) ?? undefined
let pollInterval
if (orgConnector.name === 'thegraph') {
pollInterval =
config?.pollInterval ?? orgConnector.config?.pollInterval ?? undefined
}
const connectorTheGraph = await TokensConnectorTheGraph.create({
appAddress: app.address,
pollInterval,
subgraphUrl,
verbose,
})
return Tokens.create(connectorTheGraph)
}
)