25 lines
1.1 KiB
JavaScript
25 lines
1.1 KiB
JavaScript
async function run(nodeName, networkInfo, args) {
|
|
const {wsUri, userDefinedTypes} = networkInfo.nodesByName[nodeName];
|
|
const api = await zombie.connect(wsUri, userDefinedTypes);
|
|
|
|
// TODO: could be replaced with https://github.com/polkadot-js/api/issues/4930 (depends on metadata v15) later
|
|
const relayerAccountAddress = args.relayerAccountAddress;
|
|
const reward = args.reward;
|
|
const expectedRelayerReward = BigInt(args.expectedRelayerReward);
|
|
console.log("Waiting rewards for relayerAccountAddress: " + relayerAccountAddress + " expecting minimal rewards at least: " + expectedRelayerReward + " for " + JSON.stringify(reward));
|
|
while (true) {
|
|
const relayerReward = await api.query.bridgeRelayers.relayerRewards(relayerAccountAddress, reward);
|
|
if (relayerReward.isSome) {
|
|
const relayerRewardBalance = relayerReward.unwrap().toBigInt();
|
|
if (relayerRewardBalance > expectedRelayerReward) {
|
|
return relayerRewardBalance;
|
|
}
|
|
}
|
|
|
|
// else sleep and retry
|
|
await new Promise((resolve) => setTimeout(resolve, 6000));
|
|
}
|
|
}
|
|
|
|
module.exports = { run }
|