@sentio/runtime 2.59.0-rc.29 → 2.59.0-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/processor-runner.js +41 -10
- package/lib/processor-runner.js.map +1 -1
- package/package.json +1 -1
- package/src/full-service.ts +59 -13
package/lib/processor-runner.js
CHANGED
@@ -25956,6 +25956,7 @@ import { createRequire } from "module";
|
|
25956
25956
|
var import_fs_extra = __toESM(require_lib(), 1);
|
25957
25957
|
import path from "path";
|
25958
25958
|
import os from "os";
|
25959
|
+
import { createHash } from "crypto";
|
25959
25960
|
var require2 = createRequire(import.meta.url);
|
25960
25961
|
var FUEL_PROTO_UPDATE_VERSION = parseSemver("2.54.0-rc.7");
|
25961
25962
|
var FUEL_PROTO_NO_FUEL_TRANSACTION_AS_CALL_VERSION = parseSemver("2.55.0-rc.1");
|
@@ -25964,6 +25965,22 @@ var ETH_USE_RAW_VERSION = parseSemver("2.57.9-rc.12");
|
|
25964
25965
|
var PROCESSED_MOVE_EVENT_TX_HANDLER = new LRUCache({
|
25965
25966
|
max: 1e4
|
25966
25967
|
});
|
25968
|
+
var enableTxCache = process.env.ENABLE_PARSE_CACHE === "true";
|
25969
|
+
var PARSED_DATA_CACHE = new LRUCache({
|
25970
|
+
max: enableTxCache ? 5e3 : 1
|
25971
|
+
});
|
25972
|
+
function getParsedData(rawData) {
|
25973
|
+
if (!enableTxCache) {
|
25974
|
+
return JSON.parse(rawData);
|
25975
|
+
}
|
25976
|
+
const digest = createHash("md5").update(rawData).digest("hex");
|
25977
|
+
let parsedData = PARSED_DATA_CACHE.get(digest);
|
25978
|
+
if (!parsedData) {
|
25979
|
+
parsedData = JSON.parse(rawData);
|
25980
|
+
PARSED_DATA_CACHE.set(digest, parsedData);
|
25981
|
+
}
|
25982
|
+
return parsedData;
|
25983
|
+
}
|
25967
25984
|
function locatePackageJson(pkgId) {
|
25968
25985
|
const m = require2.resolve(pkgId);
|
25969
25986
|
let dir = path.dirname(m);
|
@@ -26064,17 +26081,31 @@ var FullProcessorServiceImpl = class {
|
|
26064
26081
|
const ethLog = dataBinding.data?.ethLog;
|
26065
26082
|
if (ethLog?.log == null && ethLog?.rawLog) {
|
26066
26083
|
ethLog.log = JSON.parse(ethLog.rawLog);
|
26067
|
-
|
26068
|
-
|
26069
|
-
|
26084
|
+
if (ethLog.rawTransaction) {
|
26085
|
+
ethLog.transaction = getParsedData(ethLog.rawTransaction);
|
26086
|
+
}
|
26087
|
+
if (ethLog.rawBlock) {
|
26088
|
+
ethLog.block = getParsedData(ethLog.rawBlock);
|
26089
|
+
}
|
26090
|
+
if (ethLog.rawTransactionReceipt) {
|
26091
|
+
ethLog.transactionReceipt = getParsedData(ethLog.rawTransactionReceipt);
|
26092
|
+
}
|
26070
26093
|
}
|
26071
26094
|
break;
|
26072
26095
|
case 11 /* ETH_TRANSACTION */:
|
26073
26096
|
const ethTx = dataBinding.data?.ethTransaction;
|
26074
26097
|
if (ethTx?.transaction == null && ethTx?.rawTransaction) {
|
26075
|
-
ethTx.transaction =
|
26076
|
-
|
26077
|
-
|
26098
|
+
ethTx.transaction = getParsedData(ethTx.rawTransaction);
|
26099
|
+
if (ethTx.rawBlock) {
|
26100
|
+
ethTx.block = getParsedData(ethTx.rawBlock);
|
26101
|
+
} else {
|
26102
|
+
ethTx.block = void 0;
|
26103
|
+
}
|
26104
|
+
if (ethTx.rawTransactionReceipt) {
|
26105
|
+
ethTx.transactionReceipt = getParsedData(ethTx.rawTransactionReceipt);
|
26106
|
+
} else {
|
26107
|
+
ethTx.transactionReceipt = void 0;
|
26108
|
+
}
|
26078
26109
|
}
|
26079
26110
|
break;
|
26080
26111
|
case 20 /* FUEL_TRANSACTION */:
|
@@ -26097,7 +26128,7 @@ var FullProcessorServiceImpl = class {
|
|
26097
26128
|
const aptEvent = dataBinding.data?.aptEvent;
|
26098
26129
|
if (aptEvent) {
|
26099
26130
|
if (isBeforeMoveUseRawVersion && aptEvent.rawTransaction) {
|
26100
|
-
const transaction =
|
26131
|
+
const transaction = getParsedData(aptEvent.rawTransaction);
|
26101
26132
|
const key = `${transaction.hash}-${dataBinding.handlerIds[0]}`;
|
26102
26133
|
if (PROCESSED_MOVE_EVENT_TX_HANDLER.has(key)) {
|
26103
26134
|
console.debug("skip binding", key);
|
@@ -26116,7 +26147,7 @@ var FullProcessorServiceImpl = class {
|
|
26116
26147
|
const aptCall = dataBinding.data?.aptCall;
|
26117
26148
|
if (aptCall) {
|
26118
26149
|
if (isBeforeMoveUseRawVersion && aptCall.rawTransaction) {
|
26119
|
-
aptCall.transaction =
|
26150
|
+
aptCall.transaction = getParsedData(aptCall.rawTransaction);
|
26120
26151
|
}
|
26121
26152
|
}
|
26122
26153
|
break;
|
@@ -26132,7 +26163,7 @@ var FullProcessorServiceImpl = class {
|
|
26132
26163
|
const suiEvent = dataBinding.data?.suiEvent;
|
26133
26164
|
if (suiEvent) {
|
26134
26165
|
if (isBeforeMoveUseRawVersion && suiEvent.rawTransaction) {
|
26135
|
-
const transaction =
|
26166
|
+
const transaction = getParsedData(suiEvent.rawTransaction);
|
26136
26167
|
const key = `${transaction.digest}-${dataBinding.handlerIds[0]}`;
|
26137
26168
|
if (PROCESSED_MOVE_EVENT_TX_HANDLER.has(key)) {
|
26138
26169
|
console.debug("skip binding", key);
|
@@ -26151,7 +26182,7 @@ var FullProcessorServiceImpl = class {
|
|
26151
26182
|
const suiCall = dataBinding.data?.suiCall;
|
26152
26183
|
if (suiCall) {
|
26153
26184
|
if (isBeforeMoveUseRawVersion && suiCall.rawTransaction) {
|
26154
|
-
suiCall.transaction =
|
26185
|
+
suiCall.transaction = getParsedData(suiCall.rawTransaction);
|
26155
26186
|
}
|
26156
26187
|
}
|
26157
26188
|
break;
|