@0xtorch/evm 0.0.16 → 0.0.18

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.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resetAccountActionsOrder = exports.analyze = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  const axieMarketplace_1 = require("./axieMarketplace");
6
+ const fail_1 = require("./fail");
6
7
  const gasFee_1 = require("./gasFee");
7
8
  const seaport_1 = require("./seaport");
8
9
  const swap_1 = require("./swap");
@@ -18,6 +19,7 @@ const analyze = async (parameters, config) => {
18
19
  mut_accountActions.push(...gasFeeActions.accountActions);
19
20
  }
20
21
  for (const analyze of [
22
+ fail_1.analyzeFail,
21
23
  swap_1.analyzeSwap,
22
24
  seaport_1.analyzeSeaport,
23
25
  axieMarketplace_1.analyzeAxieMarketplace,
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":";;;AAMA,oCAAuC;AACvC,uDAA0D;AAC1D,qCAAwC;AACxC,uCAA0C;AAC1C,iCAAoC;AACpC,yCAA4C;AAGrC,MAAM,OAAO,GAAG,KAAK,EAC1B,UAAoC,EACpC,MAAe,EACa,EAAE;IAC9B,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAGxE,MAAM,iBAAiB,GAAmB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAoB,EAAE,CAAA;IAE9C,MAAM,aAAa,GAAG,MAAM,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAA;IACrD,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAA;IAC9B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAChD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAGD,KAAK,MAAM,OAAO,IAAI;QACpB,kBAAW;QACX,wBAAc;QACd,wCAAsB;QACtB,0BAAe;KAChB,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QACzC,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1C,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;YAClD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,IAAA,gCAAwB,EAAC,kBAAkB,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAtCY,QAAA,OAAO,WAsCnB;AAEM,MAAM,wBAAwB,GAAG,CACtC,OAAiC,EACP,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,GAAG,MAAM;IACT,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAA;AANQ,QAAA,wBAAwB,4BAMhC"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":";;;AAMA,oCAAuC;AACvC,uDAA0D;AAC1D,iCAAoC;AACpC,qCAAwC;AACxC,uCAA0C;AAC1C,iCAAoC;AACpC,yCAA4C;AAGrC,MAAM,OAAO,GAAG,KAAK,EAC1B,UAAoC,EACpC,MAAe,EACa,EAAE;IAC9B,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAGxE,MAAM,iBAAiB,GAAmB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAoB,EAAE,CAAA;IAE9C,MAAM,aAAa,GAAG,MAAM,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAA;IACrD,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAA;IAC9B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAChD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAGD,KAAK,MAAM,OAAO,IAAI;QACpB,kBAAW;QACX,kBAAW;QACX,wBAAc;QACd,wCAAsB;QACtB,0BAAe;KAChB,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QACzC,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1C,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;YAClD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,IAAA,gCAAwB,EAAC,kBAAkB,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAvCY,QAAA,OAAO,WAuCnB;AAEM,MAAM,wBAAwB,GAAG,CACtC,OAAiC,EACP,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,GAAG,MAAM;IACT,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAA;AANQ,QAAA,wBAAwB,4BAMhC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeFail = void 0;
4
+ const core_1 = require("@0xtorch/core");
5
+ const utils_1 = require("../../utils");
6
+ const create_1 = require("../../utils/create");
7
+ const analyzeFail = ({ chain, transaction, accountAddresses, }) => {
8
+ if (transaction.status !== 'reverted') {
9
+ return Promise.resolve(undefined);
10
+ }
11
+ const actions = [
12
+ {
13
+ type: 'NormalAction',
14
+ action: 'fail-tx',
15
+ evidence: 'system-rule',
16
+ timestamp: Number(transaction.block.timestamp) * 1000,
17
+ comment: undefined,
18
+ app: transaction.app,
19
+ transfers: [],
20
+ },
21
+ ];
22
+ const accountIds = new Set(accountAddresses.map((address) => (0, utils_1.createEvmAddressId)({ chainId: chain.id, address })));
23
+ const source = (0, create_1.createEvmActionSource)({
24
+ chainId: chain.id,
25
+ transactionHash: transaction.transactionHash,
26
+ });
27
+ const accountActions = (0, core_1.parseNormalActionToAccountActions)({
28
+ action: actions[0],
29
+ accountIds,
30
+ source,
31
+ cexAccountIds: undefined,
32
+ });
33
+ return Promise.resolve({
34
+ actions,
35
+ accountActions,
36
+ });
37
+ };
38
+ exports.analyzeFail = analyzeFail;
39
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../analyzer/fail/analyze.ts"],"names":[],"mappings":";;;AACA,wCAAiE;AACjE,uCAAgD;AAChD,+CAA0D;AAInD,MAAM,WAAW,GAAG,CAAgD,EACzE,KAAK,EACL,WAAW,EACX,gBAAgB,GACS,EAA0C,EAAE;IACrE,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,OAAO,GAA4B;QACvC;YACE,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI;YACrD,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,SAAS,EAAE,EAAE;SACd;KACF,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,IAAA,0BAAkB,EAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CACnD,CACF,CAAA;IACD,MAAM,MAAM,GAAG,IAAA,8BAAqB,EAAC;QACnC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,eAAe,EAAE,WAAW,CAAC,eAAe;KAC7C,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,IAAA,wCAAiC,EAAC;QACvD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClB,UAAU;QACV,MAAM;QAEN,aAAa,EAAE,SAAS;KACzB,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,OAAO;QACP,cAAc;KACf,CAAC,CAAA;AACJ,CAAC,CAAA;AAxCY,QAAA,WAAW,eAwCvB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeFail = void 0;
4
+ var analyze_1 = require("./analyze");
5
+ Object.defineProperty(exports, "analyzeFail", { enumerable: true, get: function () { return analyze_1.analyzeFail; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../analyzer/fail/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAA9B,sGAAA,WAAW,OAAA"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeTransfer = exports.analyzeSwap = exports.analyzeSeaport = exports.evmAnalyzersSchema = exports.createAnalyzeByJsonRule = exports.analyzeGasFee = exports.analyzeAxieMarketplace = exports.analyzer = exports.analyze = void 0;
3
+ exports.analyzeTransfer = exports.analyzeSwap = exports.analyzeSeaport = exports.evmAnalyzersSchema = exports.createAnalyzeByJsonRule = exports.analyzeGasFee = exports.analyzeFail = exports.analyzeAxieMarketplace = exports.analyzer = exports.analyze = void 0;
4
4
  var analyze_1 = require("./analyze");
5
5
  Object.defineProperty(exports, "analyze", { enumerable: true, get: function () { return analyze_1.analyze; } });
6
6
  var analyzer_1 = require("./analyzer");
7
7
  Object.defineProperty(exports, "analyzer", { enumerable: true, get: function () { return analyzer_1.analyzer; } });
8
8
  var axieMarketplace_1 = require("./axieMarketplace");
9
9
  Object.defineProperty(exports, "analyzeAxieMarketplace", { enumerable: true, get: function () { return axieMarketplace_1.analyzeAxieMarketplace; } });
10
+ var fail_1 = require("./fail");
11
+ Object.defineProperty(exports, "analyzeFail", { enumerable: true, get: function () { return fail_1.analyzeFail; } });
10
12
  var gasFee_1 = require("./gasFee");
11
13
  Object.defineProperty(exports, "analyzeGasFee", { enumerable: true, get: function () { return gasFee_1.analyzeGasFee; } });
12
14
  var json_1 = require("./json");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qDAA0D;AAAjD,yHAAA,sBAAsB,OAAA;AAC/B,mCAAwC;AAA/B,uGAAA,aAAa,OAAA;AACtB,+BAAoE;AAA3D,+GAAA,uBAAuB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AACpD,qCAA0C;AAAjC,yGAAA,cAAc,OAAA;AACvB,+BAAoC;AAA3B,mGAAA,WAAW,OAAA;AACpB,uCAA4C;AAAnC,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qDAA0D;AAAjD,yHAAA,sBAAsB,OAAA;AAC/B,+BAAoC;AAA3B,mGAAA,WAAW,OAAA;AACpB,mCAAwC;AAA/B,uGAAA,aAAa,OAAA;AACtB,+BAAoE;AAA3D,+GAAA,uBAAuB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AACpD,qCAA0C;AAAjC,yGAAA,cAAc,OAAA;AACvB,+BAAoC;AAA3B,mGAAA,WAAW,OAAA;AACpB,uCAA4C;AAAnC,2GAAA,eAAe,OAAA"}
package/_cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRoninChainCustom = exports.createRoninChain = exports.createPolygonPosChainCustom = exports.createPolygonPosChain = exports.createOptimismChainCustom = exports.createOptimismChain = exports.createMoonriverChainCustom = exports.createMoonriverChain = exports.createMoonbeamChainCustom = exports.createMoonbeamChain = exports.createMetisChainCustom = exports.createMantleChainCustom = exports.createLineaChainCustom = exports.createLineaChain = exports.createFantomChainCustom = exports.createFantomChain = exports.createEthereumChainCustom = exports.createEthereumChain = exports.createBscChainCustom = exports.createBscChain = exports.createBaseChainCustom = exports.createBaseChain = exports.createAvalancheCChainCustom = exports.createAvalancheCChain = exports.createAstarChainCustom = exports.createAstarChain = exports.createArbitrumOneChainCustom = exports.createArbitrumOneChain = exports.bscWebsocketRpcUrls = exports.bscHttpRpcs = exports.baseWebsocketRpcUrls = exports.baseHttpRpcs = exports.avalancheCWebsocketRpcUrls = exports.avalancheCHttpRpcs = exports.astarWebsocketRpcUrls = exports.astarHttpRpcs = exports.arbitrumOneWebsocketRpcUrls = exports.arbitrumOneHttpRpcs = exports.evmAnalyzersSchema = exports.createAnalyzeByJsonRule = exports.analyzer = exports.analyzeTransfer = exports.analyzeSwap = exports.analyzeSeaport = exports.analyzeGasFee = exports.analyzeAxieMarketplace = exports.wethAbi = exports.erc721Abi = exports.erc20Abi = exports.erc1155Abi = void 0;
4
- exports.toLowerHex = exports.parsedLogSchema = exports.isHex = exports.getTransactionFullCustom = exports.getTransactionFull = exports.getTransactionDetail = exports.getAccountsTransactionFullsCustom = exports.getAccountsTransactionFulls = exports.createRoninExplorer = exports.createEtherscan = exports.createBlockscout = exports.parseErc721TransferLogs = exports.parseErc20TransferLogs = exports.parseErc1155TransferSingleLogs = exports.decoder = exports.createViemClient = exports.roninWebsocketRpcUrls = exports.roninHttpRpcs = exports.polygonPosWebsocketRpcUrls = exports.polygonPosHttpRpcs = exports.optimismWebsocketRpcUrls = exports.optimismHttpRpcs = exports.moonriverWebsocketRpcUrls = exports.moonriverHttpRpcs = exports.moonbeamWebsocketRpcUrls = exports.moonbeamHttpRpcs = exports.metisWebsocketRpcUrls = exports.metisHttpRpcs = exports.mantleWebsocketRpcUrls = exports.mantleHttpRpcs = exports.lineaWebsocketRpcUrls = exports.lineaHttpRpcs = exports.getBlockOfTimestampByDefillama = exports.fantomWebsocketRpcUrls = exports.fantomHttpRpcs = exports.ethereumWebsocketRpcUrls = exports.ethereumHttpRpcs = void 0;
3
+ exports.createRoninChain = exports.createPolygonPosChainCustom = exports.createPolygonPosChain = exports.createOptimismChainCustom = exports.createOptimismChain = exports.createMoonriverChainCustom = exports.createMoonriverChain = exports.createMoonbeamChainCustom = exports.createMoonbeamChain = exports.createMetisChainCustom = exports.createMantleChainCustom = exports.createLineaChainCustom = exports.createLineaChain = exports.createFantomChainCustom = exports.createFantomChain = exports.createEthereumChainCustom = exports.createEthereumChain = exports.createBscChainCustom = exports.createBscChain = exports.createBaseChainCustom = exports.createBaseChain = exports.createAvalancheCChainCustom = exports.createAvalancheCChain = exports.createAstarChainCustom = exports.createAstarChain = exports.createArbitrumOneChainCustom = exports.createArbitrumOneChain = exports.bscWebsocketRpcUrls = exports.bscHttpRpcs = exports.baseWebsocketRpcUrls = exports.baseHttpRpcs = exports.avalancheCWebsocketRpcUrls = exports.avalancheCHttpRpcs = exports.astarWebsocketRpcUrls = exports.astarHttpRpcs = exports.arbitrumOneWebsocketRpcUrls = exports.arbitrumOneHttpRpcs = exports.evmAnalyzersSchema = exports.createAnalyzeByJsonRule = exports.analyzer = exports.analyzeTransfer = exports.analyzeSwap = exports.analyzeSeaport = exports.analyzeGasFee = exports.analyzeFail = exports.analyzeAxieMarketplace = exports.wethAbi = exports.erc721Abi = exports.erc20Abi = exports.erc1155Abi = void 0;
4
+ exports.toLowerHex = exports.parsedLogSchema = exports.isHex = exports.getTransactionFullCustom = exports.getTransactionFull = exports.getTransactionDetail = exports.getAccountsTransactionFullsCustom = exports.getAccountsTransactionFulls = exports.createRoninExplorer = exports.createEtherscan = exports.createBlockscout = exports.parseErc721TransferLogs = exports.parseErc20TransferLogs = exports.parseErc1155TransferSingleLogs = exports.decoder = exports.createViemClient = exports.roninWebsocketRpcUrls = exports.roninHttpRpcs = exports.polygonPosWebsocketRpcUrls = exports.polygonPosHttpRpcs = exports.optimismWebsocketRpcUrls = exports.optimismHttpRpcs = exports.moonriverWebsocketRpcUrls = exports.moonriverHttpRpcs = exports.moonbeamWebsocketRpcUrls = exports.moonbeamHttpRpcs = exports.metisWebsocketRpcUrls = exports.metisHttpRpcs = exports.mantleWebsocketRpcUrls = exports.mantleHttpRpcs = exports.lineaWebsocketRpcUrls = exports.lineaHttpRpcs = exports.getBlockOfTimestampByDefillama = exports.fantomWebsocketRpcUrls = exports.fantomHttpRpcs = exports.ethereumWebsocketRpcUrls = exports.ethereumHttpRpcs = exports.createRoninChainCustom = void 0;
5
5
  var abis_1 = require("./abis");
6
6
  Object.defineProperty(exports, "erc1155Abi", { enumerable: true, get: function () { return abis_1.erc1155Abi; } });
7
7
  Object.defineProperty(exports, "erc20Abi", { enumerable: true, get: function () { return abis_1.erc20Abi; } });
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "erc721Abi", { enumerable: true, get: function ()
9
9
  Object.defineProperty(exports, "wethAbi", { enumerable: true, get: function () { return abis_1.wethAbi; } });
10
10
  var analyzer_1 = require("./analyzer");
11
11
  Object.defineProperty(exports, "analyzeAxieMarketplace", { enumerable: true, get: function () { return analyzer_1.analyzeAxieMarketplace; } });
12
+ Object.defineProperty(exports, "analyzeFail", { enumerable: true, get: function () { return analyzer_1.analyzeFail; } });
12
13
  Object.defineProperty(exports, "analyzeGasFee", { enumerable: true, get: function () { return analyzer_1.analyzeGasFee; } });
13
14
  Object.defineProperty(exports, "analyzeSeaport", { enumerable: true, get: function () { return analyzer_1.analyzeSeaport; } });
14
15
  Object.defineProperty(exports, "analyzeSwap", { enumerable: true, get: function () { return analyzer_1.analyzeSwap; } });
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { checkTimeout } from '../utils';
2
2
  import { analyzeAxieMarketplace } from './axieMarketplace';
3
+ import { analyzeFail } from './fail';
3
4
  import { analyzeGasFee } from './gasFee';
4
5
  import { analyzeSeaport } from './seaport';
5
6
  import { analyzeSwap } from './swap';
@@ -18,6 +19,7 @@ export const analyze = async (parameters, config) => {
18
19
  }
19
20
  // [some]
20
21
  for (const analyze of [
22
+ analyzeFail,
21
23
  analyzeSwap,
22
24
  analyzeSeaport,
23
25
  analyzeAxieMarketplace,
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,UAAoC,EACpC,MAAe,EACa,EAAE;IAC9B,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExE,QAAQ;IACR,MAAM,iBAAiB,GAAmB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAoB,EAAE,CAAA;IAC9C,UAAU;IACV,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IACrD,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC9B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAChD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS;IACT,KAAK,MAAM,OAAO,IAAI;QACpB,WAAW;QACX,cAAc;QACd,sBAAsB;QACtB,eAAe;KAChB,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QACzC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1C,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;YAClD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAiC,EACP,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,GAAG,MAAM;IACT,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,UAAoC,EACpC,MAAe,EACa,EAAE;IAC9B,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExE,QAAQ;IACR,MAAM,iBAAiB,GAAmB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAoB,EAAE,CAAA;IAC9C,UAAU;IACV,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IACrD,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC9B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAChD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS;IACT,KAAK,MAAM,OAAO,IAAI;QACpB,WAAW;QACX,WAAW;QACX,cAAc;QACd,sBAAsB;QACtB,eAAe;KAChB,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QACzC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1C,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;YAClD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAiC,EACP,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,GAAG,MAAM;IACT,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { parseNormalActionToAccountActions } from '@0xtorch/core';
2
+ import { createEvmAddressId } from '../../utils';
3
+ import { createEvmActionSource } from '../../utils/create';
4
+ // [MAYBE] zkSyncEra は gasRefund の仕組みがあるので、最初の gas から refund された分を引いた値を使う
5
+ export const analyzeFail = ({ chain, transaction, accountAddresses, }) => {
6
+ if (transaction.status !== 'reverted') {
7
+ return Promise.resolve(undefined);
8
+ }
9
+ const actions = [
10
+ {
11
+ type: 'NormalAction',
12
+ action: 'fail-tx',
13
+ evidence: 'system-rule',
14
+ timestamp: Number(transaction.block.timestamp) * 1000,
15
+ comment: undefined,
16
+ app: transaction.app,
17
+ transfers: [],
18
+ },
19
+ ];
20
+ const accountIds = new Set(accountAddresses.map((address) => createEvmAddressId({ chainId: chain.id, address })));
21
+ const source = createEvmActionSource({
22
+ chainId: chain.id,
23
+ transactionHash: transaction.transactionHash,
24
+ });
25
+ const accountActions = parseNormalActionToAccountActions({
26
+ action: actions[0],
27
+ accountIds,
28
+ source,
29
+ // TODO 値を入れる
30
+ cexAccountIds: undefined,
31
+ });
32
+ return Promise.resolve({
33
+ actions,
34
+ accountActions,
35
+ });
36
+ };
37
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../analyzer/fail/analyze.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAgD,EACzE,KAAK,EACL,WAAW,EACX,gBAAgB,GACS,EAA0C,EAAE;IACrE,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,OAAO,GAA4B;QACvC;YACE,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI;YACrD,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,SAAS,EAAE,EAAE;SACd;KACF,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CACnD,CACF,CAAA;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,eAAe,EAAE,WAAW,CAAC,eAAe;KAC7C,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,iCAAiC,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClB,UAAU;QACV,MAAM;QACN,aAAa;QACb,aAAa,EAAE,SAAS;KACzB,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,OAAO;QACP,cAAc;KACf,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { analyzeFail } from './analyze';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../analyzer/fail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export { analyze } from './analyze';
2
2
  export { analyzer } from './analyzer';
3
3
  export { analyzeAxieMarketplace } from './axieMarketplace';
4
+ export { analyzeFail } from './fail';
4
5
  export { analyzeGasFee } from './gasFee';
5
6
  export { createAnalyzeByJsonRule, evmAnalyzersSchema } from './json';
6
7
  export { analyzeSeaport } from './seaport';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
package/_esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { erc1155Abi, erc20Abi, erc721Abi, wethAbi } from './abis';
2
- export { analyzeAxieMarketplace, analyzeGasFee, analyzeSeaport, analyzeSwap, analyzeTransfer, analyzer, createAnalyzeByJsonRule, evmAnalyzersSchema, } from './analyzer';
2
+ export { analyzeAxieMarketplace, analyzeFail, analyzeGasFee, analyzeSeaport, analyzeSwap, analyzeTransfer, analyzer, createAnalyzeByJsonRule, evmAnalyzersSchema, } from './analyzer';
3
3
  export { arbitrumOneHttpRpcs, arbitrumOneWebsocketRpcUrls, astarHttpRpcs, astarWebsocketRpcUrls, avalancheCHttpRpcs, avalancheCWebsocketRpcUrls, baseHttpRpcs, baseWebsocketRpcUrls, bscHttpRpcs, bscWebsocketRpcUrls, createArbitrumOneChain, createArbitrumOneChainCustom, createAstarChain, createAstarChainCustom, createAvalancheCChain, createAvalancheCChainCustom, createBaseChain, createBaseChainCustom, createBscChain, createBscChainCustom, createEthereumChain, createEthereumChainCustom, createFantomChain, createFantomChainCustom, createLineaChain, createLineaChainCustom, createMantleChainCustom, createMetisChainCustom, createMoonbeamChain, createMoonbeamChainCustom, createMoonriverChain, createMoonriverChainCustom, createOptimismChain, createOptimismChainCustom, createPolygonPosChain, createPolygonPosChainCustom, createRoninChain, createRoninChainCustom, ethereumHttpRpcs, ethereumWebsocketRpcUrls, fantomHttpRpcs, fantomWebsocketRpcUrls, getBlockOfTimestampByDefillama, lineaHttpRpcs, lineaWebsocketRpcUrls, mantleHttpRpcs, mantleWebsocketRpcUrls, metisHttpRpcs, metisWebsocketRpcUrls, moonbeamHttpRpcs, moonbeamWebsocketRpcUrls, moonriverHttpRpcs, moonriverWebsocketRpcUrls, optimismHttpRpcs, optimismWebsocketRpcUrls, polygonPosHttpRpcs, polygonPosWebsocketRpcUrls, roninHttpRpcs, roninWebsocketRpcUrls, } from './chains';
4
4
  export { createViemClient } from './clients';
5
5
  export { decoder, parseErc1155TransferSingleLogs, parseErc20TransferLogs, parseErc721TransferLogs, } from './decoder';
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GACtB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GACtB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EAGP,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE,eAAO,MAAM,OAAO;;;;;;;;8DAET,MAAM,KACd,QAAQ,iBAAiB,CAmC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,YAC1B,SAAS,aAAa,EAAE,KAChC,SAAS,aAAa,EAIpB,CAAA"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../analyzer/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EAGP,MAAM,eAAe,CAAA;AAQtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEnE,eAAO,MAAM,OAAO;;;;;;;;8DAET,MAAM,KACd,QAAQ,iBAAiB,CAoC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,YAC1B,SAAS,aAAa,EAAE,KAChC,SAAS,aAAa,EAIpB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { AnalyzeParameters, AnalyzeReturnType } from '../types';
2
+ export declare const analyzeFail: <Price extends {
3
+ cryptoCurrencyId: string;
4
+ fiatCurrencyId: string;
5
+ price: {
6
+ value: bigint;
7
+ decimals: number;
8
+ };
9
+ timestamp: number;
10
+ } | undefined>({ chain, transaction, accountAddresses, }: AnalyzeParameters<Price>) => Promise<AnalyzeReturnType | undefined>;
11
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../analyzer/fail/analyze.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGpE,eAAO,MAAM,WAAW;;;;;;;;uFAIM,QAAQ,iBAAiB,GAAG,SAAS,CAoClE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { analyzeFail } from './analyze';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../analyzer/fail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export { analyze } from './analyze';
2
2
  export { analyzer } from './analyzer';
3
3
  export { analyzeAxieMarketplace } from './axieMarketplace';
4
+ export { analyzeFail } from './fail';
4
5
  export { analyzeGasFee } from './gasFee';
5
6
  export { createAnalyzeByJsonRule, evmAnalyzersSchema } from './json';
6
7
  export { analyzeSeaport } from './seaport';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
package/_types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { erc1155Abi, erc20Abi, erc721Abi, wethAbi } from './abis';
2
- export { analyzeAxieMarketplace, analyzeGasFee, analyzeSeaport, analyzeSwap, analyzeTransfer, analyzer, createAnalyzeByJsonRule, evmAnalyzersSchema, } from './analyzer';
2
+ export { analyzeAxieMarketplace, analyzeFail, analyzeGasFee, analyzeSeaport, analyzeSwap, analyzeTransfer, analyzer, createAnalyzeByJsonRule, evmAnalyzersSchema, } from './analyzer';
3
3
  export type { AnalyzeParameters, AnalyzeReturnType, Analyzer } from './analyzer';
4
4
  export type { AppDataSource } from './apps';
5
5
  export { arbitrumOneHttpRpcs, arbitrumOneWebsocketRpcUrls, astarHttpRpcs, astarWebsocketRpcUrls, avalancheCHttpRpcs, avalancheCWebsocketRpcUrls, baseHttpRpcs, baseWebsocketRpcUrls, bscHttpRpcs, bscWebsocketRpcUrls, createArbitrumOneChain, createArbitrumOneChainCustom, createAstarChain, createAstarChainCustom, createAvalancheCChain, createAvalancheCChainCustom, createBaseChain, createBaseChainCustom, createBscChain, createBscChainCustom, createEthereumChain, createEthereumChainCustom, createFantomChain, createFantomChainCustom, createLineaChain, createLineaChainCustom, createMantleChainCustom, createMetisChainCustom, createMoonbeamChain, createMoonbeamChainCustom, createMoonriverChain, createMoonriverChainCustom, createOptimismChain, createOptimismChainCustom, createPolygonPosChain, createPolygonPosChainCustom, createRoninChain, createRoninChainCustom, ethereumHttpRpcs, ethereumWebsocketRpcUrls, fantomHttpRpcs, fantomWebsocketRpcUrls, getBlockOfTimestampByDefillama, lineaHttpRpcs, lineaWebsocketRpcUrls, mantleHttpRpcs, mantleWebsocketRpcUrls, metisHttpRpcs, metisWebsocketRpcUrls, moonbeamHttpRpcs, moonbeamWebsocketRpcUrls, moonriverHttpRpcs, moonriverWebsocketRpcUrls, optimismHttpRpcs, optimismWebsocketRpcUrls, polygonPosHttpRpcs, polygonPosWebsocketRpcUrls, roninHttpRpcs, roninWebsocketRpcUrls, } from './chains';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GACtB,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5D,YAAY,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,GAAG,EACH,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GACtB,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5D,YAAY,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,GAAG,EACH,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
@@ -6,6 +6,7 @@ import type {
6
6
  } from '@0xtorch/core'
7
7
  import { checkTimeout } from '../utils'
8
8
  import { analyzeAxieMarketplace } from './axieMarketplace'
9
+ import { analyzeFail } from './fail'
9
10
  import { analyzeGasFee } from './gasFee'
10
11
  import { analyzeSeaport } from './seaport'
11
12
  import { analyzeSwap } from './swap'
@@ -32,6 +33,7 @@ export const analyze = async <Price extends CryptoCurrencyPrice | undefined>(
32
33
 
33
34
  // [some]
34
35
  for (const analyze of [
36
+ analyzeFail,
35
37
  analyzeSwap,
36
38
  analyzeSeaport,
37
39
  analyzeAxieMarketplace,
@@ -0,0 +1,48 @@
1
+ import type { CryptoCurrencyPrice, NormalAction } from '@0xtorch/core'
2
+ import { parseNormalActionToAccountActions } from '@0xtorch/core'
3
+ import { createEvmAddressId } from '../../utils'
4
+ import { createEvmActionSource } from '../../utils/create'
5
+ import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
6
+
7
+ // [MAYBE] zkSyncEra は gasRefund の仕組みがあるので、最初の gas から refund された分を引いた値を使う
8
+ export const analyzeFail = <Price extends CryptoCurrencyPrice | undefined>({
9
+ chain,
10
+ transaction,
11
+ accountAddresses,
12
+ }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
13
+ if (transaction.status !== 'reverted') {
14
+ return Promise.resolve(undefined)
15
+ }
16
+
17
+ const actions: readonly NormalAction[] = [
18
+ {
19
+ type: 'NormalAction',
20
+ action: 'fail-tx',
21
+ evidence: 'system-rule',
22
+ timestamp: Number(transaction.block.timestamp) * 1000,
23
+ comment: undefined,
24
+ app: transaction.app,
25
+ transfers: [],
26
+ },
27
+ ]
28
+ const accountIds = new Set(
29
+ accountAddresses.map((address) =>
30
+ createEvmAddressId({ chainId: chain.id, address }),
31
+ ),
32
+ )
33
+ const source = createEvmActionSource({
34
+ chainId: chain.id,
35
+ transactionHash: transaction.transactionHash,
36
+ })
37
+ const accountActions = parseNormalActionToAccountActions({
38
+ action: actions[0],
39
+ accountIds,
40
+ source,
41
+ // TODO 値を入れる
42
+ cexAccountIds: undefined,
43
+ })
44
+ return Promise.resolve({
45
+ actions,
46
+ accountActions,
47
+ })
48
+ }
@@ -0,0 +1 @@
1
+ export { analyzeFail } from './analyze'
package/analyzer/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { analyze } from './analyze'
2
2
  export { analyzer } from './analyzer'
3
3
  export { analyzeAxieMarketplace } from './axieMarketplace'
4
+ export { analyzeFail } from './fail'
4
5
  export { analyzeGasFee } from './gasFee'
5
6
  export { createAnalyzeByJsonRule, evmAnalyzersSchema } from './json'
6
7
  export { analyzeSeaport } from './seaport'
package/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { erc1155Abi, erc20Abi, erc721Abi, wethAbi } from './abis'
2
2
  export {
3
3
  analyzeAxieMarketplace,
4
+ analyzeFail,
4
5
  analyzeGasFee,
5
6
  analyzeSeaport,
6
7
  analyzeSwap,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/evm",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "description": "Cryptorch EVM extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "@0xtorch/big-decimal": "^0.0.9",
41
- "@0xtorch/core": "^0.0.16",
41
+ "@0xtorch/core": "^0.0.17",
42
42
  "@supercharge/promise-pool": "^3.1.1",
43
43
  "viem": "^2.9.16",
44
44
  "zod": "^3.22.4"