62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import {
|
|
ChainInfo,
|
|
init,
|
|
loadChains,
|
|
} from "../helpers/env"
|
|
import { sendMessage } from "./messageUtils"
|
|
|
|
init()
|
|
const chains = loadChains()
|
|
|
|
async function run() {
|
|
console.log(process.argv)
|
|
const fetchSignedVaa = !!process.argv.find((arg) => arg === "--fetchSignedVaa")
|
|
const queryMessageOnTarget = !process.argv.find(
|
|
(arg) => arg === "--noQueryMessageOnTarget"
|
|
)
|
|
if (process.argv[2] === "--from" && process.argv[4] === "--to") {
|
|
await sendMessage(
|
|
getChainById(process.argv[3]),
|
|
getChainById(process.argv[5]),
|
|
fetchSignedVaa,
|
|
queryMessageOnTarget
|
|
)
|
|
} else if (process.argv[4] === "--from" && process.argv[2] === "--to") {
|
|
await sendMessage(
|
|
getChainById(process.argv[5]),
|
|
getChainById(process.argv[3]),
|
|
fetchSignedVaa,
|
|
queryMessageOnTarget
|
|
)
|
|
} else if (process.argv[2] === "--per-chain") {
|
|
for (let i = 0; i < chains.length; ++i) {
|
|
await sendMessage(
|
|
chains[i],
|
|
chains[i === 0 ? chains.length - 1 : 0],
|
|
fetchSignedVaa,
|
|
queryMessageOnTarget
|
|
)
|
|
}
|
|
} else if (process.argv[2] === "--matrix") {
|
|
for (let i = 0; i < chains.length; ++i) {
|
|
for (let j = 0; i < chains.length; ++i) {
|
|
await sendMessage(chains[i], chains[j], fetchSignedVaa, queryMessageOnTarget)
|
|
}
|
|
}
|
|
} else {
|
|
await sendMessage(chains[0], chains[1], fetchSignedVaa, queryMessageOnTarget)
|
|
}
|
|
}
|
|
|
|
function getChainById(id: number | string): ChainInfo {
|
|
id = Number(id)
|
|
const chain = chains.find((c) => c.chainId === id)
|
|
if (!chain) {
|
|
throw new Error("chainId not found, " + id)
|
|
}
|
|
return chain
|
|
}
|
|
|
|
console.log("Start!")
|
|
run().then(() => console.log("Done!"))
|