-
Notifications
You must be signed in to change notification settings - Fork 73
/
index.ts
29 lines (23 loc) · 1.04 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { Blockchain } from '../blockchain/index.js'
import { connectDownward } from './downward.js'
import { connectHorizontal } from './horizontal.js'
import { connectUpward } from './upward.js'
import { defaultLogger } from '../logger.js'
import { getParaId } from '../utils/index.js'
export const xcmLogger = defaultLogger.child({ name: 'xcm' })
export const connectVertical = async (relaychain: Blockchain, parachain: Blockchain) => {
await connectDownward(relaychain, parachain)
await connectUpward(parachain, relaychain)
xcmLogger.info(
`Connected relaychain '${await relaychain.api.getSystemChain()}' with parachain '${await parachain.api.getSystemChain()}'`,
)
}
export const connectParachains = async (parachains: Blockchain[], disableAutoHrmp = false) => {
const list: Record<number, Blockchain> = {}
for (const chain of parachains) {
const paraId = await getParaId(chain)
list[paraId.toNumber()] = chain
}
await connectHorizontal(list, disableAutoHrmp)
xcmLogger.info(`Connected parachains [${Object.keys(list)}]`)
}