UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

43 lines (35 loc) 1.29 kB
// Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; var $$BigInt = require("./bindings/BigInt.res.js"); var Js_exn = require("rescript/lib/js/js_exn.js"); var Caml_obj = require("rescript/lib/js/caml_obj.js"); function getOrderedBatchItemComparator(item) { if (item.kind === 0) { return [ item.timestamp, item.chain, item.blockNumber, item.logIndex ]; } else { return Js_exn.raiseError("Block handlers are not supported for ordered multichain mode."); } } var isEarlier = Caml_obj.lessthan; var isEarlierUnordered = Caml_obj.lessthan; function packEventIndex(blockNumber, logIndex) { var blockNumber$1 = BigInt(blockNumber); var logIndex$1 = BigInt(logIndex); var blockNumber$2 = $$BigInt.Bitwise.shift_left(blockNumber$1, BigInt(16)); return $$BigInt.Bitwise.logor(blockNumber$2, logIndex$1); } function getEventIdKeyString(chainId, eventId) { var chainIdStr = String(chainId); return chainIdStr + "_" + eventId; } exports.getOrderedBatchItemComparator = getOrderedBatchItemComparator; exports.isEarlier = isEarlier; exports.isEarlierUnordered = isEarlierUnordered; exports.packEventIndex = packEventIndex; exports.getEventIdKeyString = getEventIdKeyString; /* BigInt Not a pure module */