UNPKG

@hyperlane-xyz/cli

Version:

A command-line utility for common Hyperlane operations

44 lines 2.12 kB
import { TokenType } from '@hyperlane-xyz/sdk'; import { writeYamlOrJson } from '../utils/files.js'; import { hyperlaneCoreDeploy } from './commands/core.js'; import { CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, REGISTRY_PATH, TEMP_PATH, hyperlaneRelayer, hyperlaneSendMessage, } from './commands/helpers.js'; import { hyperlaneWarpDeploy, hyperlaneWarpSendRelay, } from './commands/warp.js'; const SYMBOL = 'ETH'; const WARP_DEPLOY_OUTPUT = `${REGISTRY_PATH}/deployments/warp_routes/${SYMBOL}/${CHAIN_NAME_2}-${CHAIN_NAME_3}-config.yaml`; describe('hyperlane relayer e2e tests', async function () { this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT); before(async () => { await Promise.all([ hyperlaneCoreDeploy(CHAIN_NAME_2, CORE_CONFIG_PATH), hyperlaneCoreDeploy(CHAIN_NAME_3, CORE_CONFIG_PATH), ]); const warpConfig = { anvil2: { type: TokenType.native, symbol: SYMBOL, }, anvil3: { type: TokenType.synthetic, symbol: SYMBOL, }, }; const warpConfigPath = `./${TEMP_PATH}/warp-route-config.yaml`; writeYamlOrJson(warpConfigPath, warpConfig); await hyperlaneWarpDeploy(warpConfigPath); }); describe('relayer', () => { it('should relay core messages', async () => { const process = hyperlaneRelayer([CHAIN_NAME_2, CHAIN_NAME_3]); await hyperlaneSendMessage(CHAIN_NAME_2, CHAIN_NAME_3); await hyperlaneSendMessage(CHAIN_NAME_3, CHAIN_NAME_2); await process.kill('SIGINT'); }); it('should relay warp messages', async () => { const process = hyperlaneRelayer([CHAIN_NAME_2, CHAIN_NAME_3], WARP_DEPLOY_OUTPUT); await hyperlaneWarpSendRelay(CHAIN_NAME_2, CHAIN_NAME_3, WARP_DEPLOY_OUTPUT, false); await hyperlaneWarpSendRelay(CHAIN_NAME_3, CHAIN_NAME_2, WARP_DEPLOY_OUTPUT, false); await process.kill('SIGINT'); }); }); }); //# sourceMappingURL=relay.e2e-test.js.map