envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
36 lines (30 loc) • 818 B
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as Stdlib_Int from "@rescript/runtime/lib/es6/Stdlib_Int.js";
let callbacks = [];
function register(callback) {
callbacks.push(callback);
return () => {
let index = callbacks.indexOf(callback);
if (index !== -1) {
callbacks.splice(index, 1);
return;
}
};
}
async function fire(progressBlockNumberByChainId) {
await Promise.all(Object.entries(progressBlockNumberByChainId).flatMap(param => {
let args_chainId = Stdlib_Int.fromString(param[0], undefined);
let args_rollbackToBlock = param[1];
let args = {
chainId: args_chainId,
rollbackToBlock: args_rollbackToBlock
};
return callbacks.map(callback => callback(args));
}));
}
export {
callbacks,
register,
fire,
}
/* No side effect */