connect()

This file documents the main exports of the library.

connect(location, connector, options)

Connects and returns an Organization for location.

Name

Type

Description

location

String

The Ethereum address or ENS domain of an Aragon organization.

connector

Connector or [String, Object] or String

Accepts a Connector instance, and either a string or a tuple for embedded connectors and their config.

options

Object

The optional configuration object.

options.ethereum

EthereumProvider

An EIP-1193 compatible object.

options.network

Networkish

The network to connect to. Defaults to 1.

options.ipfs

IpfsResolverDeclaration

The IPFS gateway and cached results. Defaults to 'https://ipfs.eth.aragon.network/ipfs/{cid}{path}' and 40 respectively.

returns

Promise<Organization>

An Organization instance.

This function can throw the following errors:

Error type

Description

ErrorInvalidConnector

An unsupported or invalid connector was provided.

ErrorInvalidEthereum

The Ethereum provider doesn’t seem to be valid.

ErrorInvalidLocation

The provided location doesn’t seem to be valid.

ErrorInvalidNetwork

The network is incorrect or unsupported.

Example

import connect from '@aragon/connect'
// Connections should get wrapped in a try / catch to capture connection errors
try {
// Connect to an org through The Graph
const org1 = await connect('org1.aragonid.eth', 'thegraph')
// Specify a different Chain ID
const org3 = await connect('org3.aragonid.eth', 'thegraph', { network: 4 })
// Specify a configuration for the connector
const org3 = await connect('org3.aragonid.eth', [
'thegraph',
{ orgSubgraphUrl: 'http://…' },
])
// Custom connector
const org4 = await connect(
'org4.aragonid.eth',
// CustomConnector implements IConnector
new CustomConnector()
)
} catch (err) {
if (err instanceof ConnectionError) {
console.error('Connection error')
} else {
console.error(err)
}
}