@0xtorch/evm 0.0.73 → 0.0.75

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.
Files changed (242) hide show
  1. package/.DS_Store +0 -0
  2. package/_cjs/index.js +6 -2
  3. package/_cjs/index.js.map +1 -1
  4. package/_cjs/logic/analyzeTransaction/createActions/fail.js +2 -7
  5. package/_cjs/logic/analyzeTransaction/createActions/fail.js.map +1 -1
  6. package/_cjs/logic/analyzeTransaction/createActions/gas.js +4 -4
  7. package/_cjs/logic/analyzeTransaction/createActions/gas.js.map +1 -1
  8. package/_cjs/logic/analyzeTransaction/createActions/index.js +27 -4
  9. package/_cjs/logic/analyzeTransaction/createActions/index.js.map +1 -1
  10. package/_cjs/logic/analyzeTransaction/createActions/json/addressIn.js +37 -0
  11. package/_cjs/logic/analyzeTransaction/createActions/json/addressIn.js.map +1 -0
  12. package/_cjs/logic/analyzeTransaction/createActions/json/allValue.js +28 -0
  13. package/_cjs/logic/analyzeTransaction/createActions/json/allValue.js.map +1 -0
  14. package/_cjs/logic/analyzeTransaction/createActions/json/arrayIn.js +30 -0
  15. package/_cjs/logic/analyzeTransaction/createActions/json/arrayIn.js.map +1 -0
  16. package/_cjs/logic/analyzeTransaction/createActions/json/betweenBigInt.js +14 -0
  17. package/_cjs/logic/analyzeTransaction/createActions/json/betweenBigInt.js.map +1 -0
  18. package/_cjs/logic/analyzeTransaction/createActions/json/customTransferGenerator.js +132 -0
  19. package/_cjs/logic/analyzeTransaction/createActions/json/customTransferGenerator.js.map +1 -0
  20. package/_cjs/logic/analyzeTransaction/createActions/json/erc1155Pattern.js +76 -0
  21. package/_cjs/logic/analyzeTransaction/createActions/json/erc1155Pattern.js.map +1 -0
  22. package/_cjs/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.js +45 -0
  23. package/_cjs/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.js.map +1 -0
  24. package/_cjs/logic/analyzeTransaction/createActions/json/erc20Pattern.js +68 -0
  25. package/_cjs/logic/analyzeTransaction/createActions/json/erc20Pattern.js.map +1 -0
  26. package/_cjs/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.js +45 -0
  27. package/_cjs/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.js.map +1 -0
  28. package/_cjs/logic/analyzeTransaction/createActions/json/erc721Pattern.js +45 -0
  29. package/_cjs/logic/analyzeTransaction/createActions/json/erc721Pattern.js.map +1 -0
  30. package/_cjs/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.js +45 -0
  31. package/_cjs/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.js.map +1 -0
  32. package/_cjs/logic/analyzeTransaction/createActions/json/generateActions.js +179 -0
  33. package/_cjs/logic/analyzeTransaction/createActions/json/generateActions.js.map +1 -0
  34. package/_cjs/logic/analyzeTransaction/createActions/json/index.js +41 -0
  35. package/_cjs/logic/analyzeTransaction/createActions/json/index.js.map +1 -0
  36. package/_cjs/logic/analyzeTransaction/createActions/json/internalTransferGenerator.js +100 -0
  37. package/_cjs/logic/analyzeTransaction/createActions/json/internalTransferGenerator.js.map +1 -0
  38. package/_cjs/logic/analyzeTransaction/createActions/json/join.js +44 -0
  39. package/_cjs/logic/analyzeTransaction/createActions/json/join.js.map +1 -0
  40. package/_cjs/logic/analyzeTransaction/createActions/json/math.js +80 -0
  41. package/_cjs/logic/analyzeTransaction/createActions/json/math.js.map +1 -0
  42. package/_cjs/logic/analyzeTransaction/createActions/json/schema.js +385 -0
  43. package/_cjs/logic/analyzeTransaction/createActions/json/schema.js.map +1 -0
  44. package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js +253 -0
  45. package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -0
  46. package/_cjs/logic/analyzeTransaction/createActions/json/slice.js +14 -0
  47. package/_cjs/logic/analyzeTransaction/createActions/json/slice.js.map +1 -0
  48. package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js +128 -0
  49. package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -0
  50. package/_cjs/logic/analyzeTransaction/createActions/json/type.js +3 -0
  51. package/_cjs/logic/analyzeTransaction/createActions/json/type.js.map +1 -0
  52. package/_cjs/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.js +492 -0
  53. package/_cjs/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.js.map +1 -0
  54. package/_cjs/logic/analyzeTransaction/createActions/spam.js +2 -2
  55. package/_cjs/logic/analyzeTransaction/createActions/spam.js.map +1 -1
  56. package/_cjs/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js +1 -1
  57. package/_cjs/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js.map +1 -1
  58. package/_cjs/logic/analyzeTransaction/createActions/utils/createDirection.js +5 -5
  59. package/_cjs/logic/analyzeTransaction/createActions/utils/createDirection.js.map +1 -1
  60. package/_cjs/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js +82 -65
  61. package/_cjs/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js.map +1 -1
  62. package/_cjs/logic/analyzeTransaction/getDataFromDatasource.js +3 -5
  63. package/_cjs/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -1
  64. package/_cjs/logic/analyzeTransaction/index.js +4 -4
  65. package/_cjs/logic/analyzeTransaction/index.js.map +1 -1
  66. package/_esm/index.js +1 -0
  67. package/_esm/index.js.map +1 -1
  68. package/_esm/logic/analyzeTransaction/createActions/fail.js +2 -7
  69. package/_esm/logic/analyzeTransaction/createActions/fail.js.map +1 -1
  70. package/_esm/logic/analyzeTransaction/createActions/gas.js +5 -5
  71. package/_esm/logic/analyzeTransaction/createActions/gas.js.map +1 -1
  72. package/_esm/logic/analyzeTransaction/createActions/general.js +1 -1
  73. package/_esm/logic/analyzeTransaction/createActions/general.js.map +1 -1
  74. package/_esm/logic/analyzeTransaction/createActions/index.js +28 -6
  75. package/_esm/logic/analyzeTransaction/createActions/index.js.map +1 -1
  76. package/_esm/logic/analyzeTransaction/createActions/json/addressIn.js +33 -0
  77. package/_esm/logic/analyzeTransaction/createActions/json/addressIn.js.map +1 -0
  78. package/_esm/logic/analyzeTransaction/createActions/json/allValue.js +29 -0
  79. package/_esm/logic/analyzeTransaction/createActions/json/allValue.js.map +1 -0
  80. package/_esm/logic/analyzeTransaction/createActions/json/arrayIn.js +28 -0
  81. package/_esm/logic/analyzeTransaction/createActions/json/arrayIn.js.map +1 -0
  82. package/_esm/logic/analyzeTransaction/createActions/json/betweenBigInt.js +10 -0
  83. package/_esm/logic/analyzeTransaction/createActions/json/betweenBigInt.js.map +1 -0
  84. package/_esm/logic/analyzeTransaction/createActions/json/customTransferGenerator.js +128 -0
  85. package/_esm/logic/analyzeTransaction/createActions/json/customTransferGenerator.js.map +1 -0
  86. package/_esm/logic/analyzeTransaction/createActions/json/erc1155Pattern.js +77 -0
  87. package/_esm/logic/analyzeTransaction/createActions/json/erc1155Pattern.js.map +1 -0
  88. package/_esm/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.js +41 -0
  89. package/_esm/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.js.map +1 -0
  90. package/_esm/logic/analyzeTransaction/createActions/json/erc20Pattern.js +68 -0
  91. package/_esm/logic/analyzeTransaction/createActions/json/erc20Pattern.js.map +1 -0
  92. package/_esm/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.js +41 -0
  93. package/_esm/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.js.map +1 -0
  94. package/_esm/logic/analyzeTransaction/createActions/json/erc721Pattern.js +45 -0
  95. package/_esm/logic/analyzeTransaction/createActions/json/erc721Pattern.js.map +1 -0
  96. package/_esm/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.js +41 -0
  97. package/_esm/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.js.map +1 -0
  98. package/_esm/logic/analyzeTransaction/createActions/json/generateActions.js +177 -0
  99. package/_esm/logic/analyzeTransaction/createActions/json/generateActions.js.map +1 -0
  100. package/_esm/logic/analyzeTransaction/createActions/json/index.js +43 -0
  101. package/_esm/logic/analyzeTransaction/createActions/json/index.js.map +1 -0
  102. package/_esm/logic/analyzeTransaction/createActions/json/internalTransferGenerator.js +99 -0
  103. package/_esm/logic/analyzeTransaction/createActions/json/internalTransferGenerator.js.map +1 -0
  104. package/_esm/logic/analyzeTransaction/createActions/json/join.js +43 -0
  105. package/_esm/logic/analyzeTransaction/createActions/json/join.js.map +1 -0
  106. package/_esm/logic/analyzeTransaction/createActions/json/math.js +76 -0
  107. package/_esm/logic/analyzeTransaction/createActions/json/math.js.map +1 -0
  108. package/_esm/logic/analyzeTransaction/createActions/json/schema.js +389 -0
  109. package/_esm/logic/analyzeTransaction/createActions/json/schema.js.map +1 -0
  110. package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js +266 -0
  111. package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -0
  112. package/_esm/logic/analyzeTransaction/createActions/json/slice.js +10 -0
  113. package/_esm/logic/analyzeTransaction/createActions/json/slice.js.map +1 -0
  114. package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js +124 -0
  115. package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -0
  116. package/_esm/logic/analyzeTransaction/createActions/json/type.js +2 -0
  117. package/_esm/logic/analyzeTransaction/createActions/json/type.js.map +1 -0
  118. package/_esm/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.js +511 -0
  119. package/_esm/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.js.map +1 -0
  120. package/_esm/logic/analyzeTransaction/createActions/spam.js +3 -3
  121. package/_esm/logic/analyzeTransaction/createActions/spam.js.map +1 -1
  122. package/_esm/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js +1 -1
  123. package/_esm/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js.map +1 -1
  124. package/_esm/logic/analyzeTransaction/createActions/utils/createDirection.js +5 -5
  125. package/_esm/logic/analyzeTransaction/createActions/utils/createDirection.js.map +1 -1
  126. package/_esm/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js +82 -65
  127. package/_esm/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js.map +1 -1
  128. package/_esm/logic/analyzeTransaction/getDataFromDatasource.js +4 -6
  129. package/_esm/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -1
  130. package/_esm/logic/analyzeTransaction/index.js +4 -4
  131. package/_esm/logic/analyzeTransaction/index.js.map +1 -1
  132. package/_types/index.d.ts +2 -0
  133. package/_types/index.d.ts.map +1 -1
  134. package/_types/logic/analyzeTransaction/createActions/fail.d.ts +3 -2
  135. package/_types/logic/analyzeTransaction/createActions/fail.d.ts.map +1 -1
  136. package/_types/logic/analyzeTransaction/createActions/gas.d.ts +3 -2
  137. package/_types/logic/analyzeTransaction/createActions/gas.d.ts.map +1 -1
  138. package/_types/logic/analyzeTransaction/createActions/general.d.ts +4 -4
  139. package/_types/logic/analyzeTransaction/createActions/general.d.ts.map +1 -1
  140. package/_types/logic/analyzeTransaction/createActions/index.d.ts +5 -3
  141. package/_types/logic/analyzeTransaction/createActions/index.d.ts.map +1 -1
  142. package/_types/logic/analyzeTransaction/createActions/json/addressIn.d.ts +10 -0
  143. package/_types/logic/analyzeTransaction/createActions/json/addressIn.d.ts.map +1 -0
  144. package/_types/logic/analyzeTransaction/createActions/json/allValue.d.ts +9 -0
  145. package/_types/logic/analyzeTransaction/createActions/json/allValue.d.ts.map +1 -0
  146. package/_types/logic/analyzeTransaction/createActions/json/arrayIn.d.ts +10 -0
  147. package/_types/logic/analyzeTransaction/createActions/json/arrayIn.d.ts.map +1 -0
  148. package/_types/logic/analyzeTransaction/createActions/json/betweenBigInt.d.ts +7 -0
  149. package/_types/logic/analyzeTransaction/createActions/json/betweenBigInt.d.ts.map +1 -0
  150. package/_types/logic/analyzeTransaction/createActions/json/customTransferGenerator.d.ts +12 -0
  151. package/_types/logic/analyzeTransaction/createActions/json/customTransferGenerator.d.ts.map +1 -0
  152. package/_types/logic/analyzeTransaction/createActions/json/erc1155Pattern.d.ts +10 -0
  153. package/_types/logic/analyzeTransaction/createActions/json/erc1155Pattern.d.ts.map +1 -0
  154. package/_types/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.d.ts +10 -0
  155. package/_types/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.d.ts.map +1 -0
  156. package/_types/logic/analyzeTransaction/createActions/json/erc20Pattern.d.ts +10 -0
  157. package/_types/logic/analyzeTransaction/createActions/json/erc20Pattern.d.ts.map +1 -0
  158. package/_types/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.d.ts +10 -0
  159. package/_types/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.d.ts.map +1 -0
  160. package/_types/logic/analyzeTransaction/createActions/json/erc721Pattern.d.ts +10 -0
  161. package/_types/logic/analyzeTransaction/createActions/json/erc721Pattern.d.ts.map +1 -0
  162. package/_types/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.d.ts +10 -0
  163. package/_types/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.d.ts.map +1 -0
  164. package/_types/logic/analyzeTransaction/createActions/json/generateActions.d.ts +14 -0
  165. package/_types/logic/analyzeTransaction/createActions/json/generateActions.d.ts.map +1 -0
  166. package/_types/logic/analyzeTransaction/createActions/json/index.d.ts +16 -0
  167. package/_types/logic/analyzeTransaction/createActions/json/index.d.ts.map +1 -0
  168. package/_types/logic/analyzeTransaction/createActions/json/internalTransferGenerator.d.ts +12 -0
  169. package/_types/logic/analyzeTransaction/createActions/json/internalTransferGenerator.d.ts.map +1 -0
  170. package/_types/logic/analyzeTransaction/createActions/json/join.d.ts +9 -0
  171. package/_types/logic/analyzeTransaction/createActions/json/join.d.ts.map +1 -0
  172. package/_types/logic/analyzeTransaction/createActions/json/math.d.ts +9 -0
  173. package/_types/logic/analyzeTransaction/createActions/json/math.d.ts.map +1 -0
  174. package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts +658268 -0
  175. package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts.map +1 -0
  176. package/_types/logic/analyzeTransaction/createActions/json/simpleValue.d.ts +9 -0
  177. package/_types/logic/analyzeTransaction/createActions/json/simpleValue.d.ts.map +1 -0
  178. package/_types/logic/analyzeTransaction/createActions/json/slice.d.ts +9 -0
  179. package/_types/logic/analyzeTransaction/createActions/json/slice.d.ts.map +1 -0
  180. package/_types/logic/analyzeTransaction/createActions/json/transferGenerator.d.ts +15 -0
  181. package/_types/logic/analyzeTransaction/createActions/json/transferGenerator.d.ts.map +1 -0
  182. package/_types/logic/analyzeTransaction/createActions/json/type.d.ts +6 -0
  183. package/_types/logic/analyzeTransaction/createActions/json/type.d.ts.map +1 -0
  184. package/_types/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.d.ts +10 -0
  185. package/_types/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.d.ts.map +1 -0
  186. package/_types/logic/analyzeTransaction/createActions/spam.d.ts +7 -5
  187. package/_types/logic/analyzeTransaction/createActions/spam.d.ts.map +1 -1
  188. package/_types/logic/analyzeTransaction/createActions/utils/createDirection.d.ts +5 -4
  189. package/_types/logic/analyzeTransaction/createActions/utils/createDirection.d.ts.map +1 -1
  190. package/_types/logic/analyzeTransaction/createActions/utils/createTokenTransfers.d.ts +3 -2
  191. package/_types/logic/analyzeTransaction/createActions/utils/createTokenTransfers.d.ts.map +1 -1
  192. package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts +11 -10
  193. package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts.map +1 -1
  194. package/_types/logic/analyzeTransaction/index.d.ts +8 -7
  195. package/_types/logic/analyzeTransaction/index.d.ts.map +1 -1
  196. package/_types/types/analyzeDataSource.d.ts +2 -3
  197. package/_types/types/analyzeDataSource.d.ts.map +1 -1
  198. package/_types/types/log.d.ts +2 -2
  199. package/_types/types/transactionDecoded.d.ts +38 -38
  200. package/_types/types/transactionDecoded.d.ts.map +1 -1
  201. package/_types/types/transactionDetail.d.ts +36 -36
  202. package/_types/types/transactionIndex.d.ts +5 -5
  203. package/analyzer/.DS_Store +0 -0
  204. package/chain/.DS_Store +0 -0
  205. package/client/.DS_Store +0 -0
  206. package/explorer/.DS_Store +0 -0
  207. package/index.ts +10 -0
  208. package/logic/analyzeTransaction/createActions/fail.ts +4 -8
  209. package/logic/analyzeTransaction/createActions/gas.ts +7 -6
  210. package/logic/analyzeTransaction/createActions/general.ts +5 -5
  211. package/logic/analyzeTransaction/createActions/index.ts +37 -9
  212. package/logic/analyzeTransaction/createActions/json/addressIn.ts +57 -0
  213. package/logic/analyzeTransaction/createActions/json/allValue.ts +41 -0
  214. package/logic/analyzeTransaction/createActions/json/arrayIn.ts +51 -0
  215. package/logic/analyzeTransaction/createActions/json/betweenBigInt.ts +18 -0
  216. package/logic/analyzeTransaction/createActions/json/customTransferGenerator.ts +166 -0
  217. package/logic/analyzeTransaction/createActions/json/erc1155Pattern.ts +108 -0
  218. package/logic/analyzeTransaction/createActions/json/erc1155TransferGenerator.ts +53 -0
  219. package/logic/analyzeTransaction/createActions/json/erc20Pattern.ts +96 -0
  220. package/logic/analyzeTransaction/createActions/json/erc20TransferGenerator.ts +53 -0
  221. package/logic/analyzeTransaction/createActions/json/erc721Pattern.ts +74 -0
  222. package/logic/analyzeTransaction/createActions/json/erc721TransferGenerator.ts +53 -0
  223. package/logic/analyzeTransaction/createActions/json/generateActions.ts +248 -0
  224. package/logic/analyzeTransaction/createActions/json/index.ts +72 -0
  225. package/logic/analyzeTransaction/createActions/json/internalTransferGenerator.ts +141 -0
  226. package/logic/analyzeTransaction/createActions/json/join.ts +54 -0
  227. package/logic/analyzeTransaction/createActions/json/math.ts +96 -0
  228. package/logic/analyzeTransaction/createActions/json/schema.ts +554 -0
  229. package/logic/analyzeTransaction/createActions/json/simpleValue.ts +339 -0
  230. package/logic/analyzeTransaction/createActions/json/slice.ts +21 -0
  231. package/logic/analyzeTransaction/createActions/json/transferGenerator.ts +158 -0
  232. package/logic/analyzeTransaction/createActions/json/type.ts +8 -0
  233. package/logic/analyzeTransaction/createActions/json/verifyTxSatisfiesCondition.ts +731 -0
  234. package/logic/analyzeTransaction/createActions/spam.ts +9 -6
  235. package/logic/analyzeTransaction/createActions/tests/tx-1-0x5c1345e9b83106f657de5a20d75de3e9f56725697b4ef47cafd019c1fa944128.json +383 -0
  236. package/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.ts +1 -1
  237. package/logic/analyzeTransaction/createActions/utils/createDirection.ts +10 -8
  238. package/logic/analyzeTransaction/createActions/utils/createTokenTransfers.ts +96 -68
  239. package/logic/analyzeTransaction/getDataFromDatasource.ts +14 -28
  240. package/logic/analyzeTransaction/index.ts +11 -10
  241. package/package.json +2 -2
  242. package/types/analyzeDataSource.ts +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateActions.js","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/generateActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { checkIfActionsIsValid, } from '@0xtorch/core';
2
+ import { generateActions } from './generateActions';
3
+ import { verifyTxSatisfiesCondition } from './verifyTxSatisfiesCondition';
4
+ export const createActionsByJsonAnalyzer = ({ chain, transaction, relatedAddresses, accountIds, jsonAnalyzers, transfers, source, }) => {
5
+ // JSON 毎に処理
6
+ for (const { condition, generators } of jsonAnalyzers) {
7
+ // condition に合致するか確認
8
+ const verified = verifyTxSatisfiesCondition({
9
+ transaction,
10
+ relatedAddresses,
11
+ condition,
12
+ });
13
+ if (!verified) {
14
+ continue;
15
+ }
16
+ // generator 毎に action 生成
17
+ // action 生成中にエラーが発生した場合は catch して次の JSON Analyzer に進む
18
+ const actions = [];
19
+ try {
20
+ for (const generator of generators) {
21
+ actions.push(...generateActions({
22
+ chain,
23
+ transaction,
24
+ relatedAddresses,
25
+ source,
26
+ generator,
27
+ }));
28
+ }
29
+ }
30
+ catch (error) {
31
+ console.debug(error);
32
+ continue;
33
+ }
34
+ // validation して問題なければ action を返す
35
+ if (!checkIfActionsIsValid({ actions, accountIds, transfers })) {
36
+ continue;
37
+ }
38
+ return actions;
39
+ }
40
+ // 全ての処理で action が生成されない場合は undefined を返す
41
+ return undefined;
42
+ };
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,GACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAYzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,MAAM,GACgC,EAAiC,EAAE;IACzE,YAAY;IACZ,KAAK,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,aAAa,EAAE,CAAC;QACtD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC;YAC1C,WAAW;YACX,gBAAgB;YAChB,SAAS;SACV,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAQ;QACV,CAAC;QAED,yBAAyB;QACzB,sDAAsD;QACtD,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,CAAC;YACH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CACV,GAAG,eAAe,CAAC;oBACjB,KAAK;oBACL,WAAW;oBACX,gBAAgB;oBAChB,MAAM;oBACN,SAAS;iBACV,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,SAAQ;QACV,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC/D,SAAQ;QACV,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,yCAAyC;IACzC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,99 @@
1
+ import { createBigDecimal } from '@0xtorch/big-decimal';
2
+ import { createEvmAddressId } from '../../../../utils';
3
+ import { getAllValue } from './allValue';
4
+ import { checkValueIsArrayIn } from './arrayIn';
5
+ import { checkValueIsBetweenBigInt } from './betweenBigInt';
6
+ export const generateTransfersByInternalTransactions = ({ schema, chain, transaction, relatedAddresses, }) => {
7
+ const transfers = [];
8
+ let currentIndex = -1;
9
+ for (const internalTransaction of transaction.internalTransactions) {
10
+ const matched = checkInternalTransactionIsMatchPattern({
11
+ internalTransaction,
12
+ schema,
13
+ transaction,
14
+ relatedAddresses,
15
+ });
16
+ if (matched) {
17
+ currentIndex += 1;
18
+ if (schema.index === undefined || currentIndex === schema.index) {
19
+ transfers.push({
20
+ direction: schema.direction,
21
+ from: createEvmAddressId({
22
+ chainId: transaction.chainId,
23
+ address: internalTransaction.from,
24
+ }),
25
+ to: internalTransaction.to === undefined
26
+ ? undefined
27
+ : createEvmAddressId({
28
+ chainId: transaction.chainId,
29
+ address: internalTransaction.to,
30
+ }),
31
+ asset: chain.nativeToken.currency,
32
+ amount: createBigDecimal(internalTransaction.value, chain.nativeToken.decimals),
33
+ });
34
+ }
35
+ if (currentIndex === schema.index) {
36
+ return transfers;
37
+ }
38
+ }
39
+ }
40
+ if (schema.index === undefined) {
41
+ return transfers;
42
+ }
43
+ throw new Error('Matched internal transaction is not found');
44
+ };
45
+ const checkInternalTransactionIsMatchPattern = ({ internalTransaction, schema, transaction, relatedAddresses, }) => {
46
+ // from
47
+ if (schema.from !== undefined &&
48
+ !checkValueIsArrayIn({
49
+ value: internalTransaction.from,
50
+ schema: schema.from,
51
+ transaction,
52
+ relatedAddresses,
53
+ })) {
54
+ return false;
55
+ }
56
+ // to
57
+ if (schema.to !== undefined &&
58
+ !checkValueIsArrayIn({
59
+ value: internalTransaction.to ?? '',
60
+ schema: schema.to,
61
+ transaction,
62
+ relatedAddresses,
63
+ })) {
64
+ return false;
65
+ }
66
+ // value
67
+ if (schema.value !== undefined) {
68
+ if (typeof schema.value === 'string') {
69
+ if (internalTransaction.value.toString() !== schema.value) {
70
+ return false;
71
+ }
72
+ }
73
+ else {
74
+ switch (schema.value.type) {
75
+ case 'between': {
76
+ if (!checkValueIsBetweenBigInt({
77
+ value: internalTransaction.value,
78
+ schema: schema.value,
79
+ })) {
80
+ return false;
81
+ }
82
+ break;
83
+ }
84
+ default: {
85
+ const value = getAllValue({
86
+ schema: schema.value,
87
+ transaction,
88
+ relatedAddresses,
89
+ });
90
+ if (internalTransaction.value.toString() !== value) {
91
+ return false;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ return true;
98
+ };
99
+ //# sourceMappingURL=internalTransferGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalTransferGenerator.js","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/internalTransferGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AASvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAG3D,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,EACtD,MAAM,EACN,KAAK,EACL,WAAW,EACX,gBAAgB,GAMjB,EAAuB,EAAE;IACxB,MAAM,SAAS,GAAe,EAAE,CAAA;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAA;IACrB,KAAK,MAAM,mBAAmB,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,sCAAsC,CAAC;YACrD,mBAAmB;YACnB,MAAM;YACN,WAAW;YACX,gBAAgB;SACjB,CAAC,CAAA;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,IAAI,CAAC,CAAA;YACjB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChE,SAAS,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,IAAI,EAAE,kBAAkB,CAAC;wBACvB,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,OAAO,EAAE,mBAAmB,CAAC,IAAI;qBAClC,CAAC;oBACF,EAAE,EACA,mBAAmB,CAAC,EAAE,KAAK,SAAS;wBAClC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,kBAAkB,CAAC;4BACjB,OAAO,EAAE,WAAW,CAAC,OAAO;4BAC5B,OAAO,EAAE,mBAAmB,CAAC,EAAE;yBAChC,CAAC;oBACR,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ;oBACjC,MAAM,EAAE,gBAAgB,CACtB,mBAAmB,CAAC,KAAK,EACzB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAC3B;iBACF,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,sCAAsC,GAAG,CAAC,EAC9C,mBAAmB,EACnB,MAAM,EACN,WAAW,EACX,gBAAgB,GAMjB,EAAW,EAAE;IACZ,OAAO;IACP,IACE,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,CAAC,mBAAmB,CAAC;YACnB,KAAK,EAAE,mBAAmB,CAAC,IAAI;YAC/B,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW;YACX,gBAAgB;SACjB,CAAC,EACF,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK;IACL,IACE,MAAM,CAAC,EAAE,KAAK,SAAS;QACvB,CAAC,mBAAmB,CAAC;YACnB,KAAK,EAAE,mBAAmB,CAAC,EAAE,IAAI,EAAE;YACnC,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,WAAW;YACX,gBAAgB;SACjB,CAAC,EACF,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ;IACR,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IACE,CAAC,yBAAyB,CAAC;wBACzB,KAAK,EAAE,mBAAmB,CAAC,KAAK;wBAChC,MAAM,EAAE,MAAM,CAAC,KAAK;qBACrB,CAAC,EACF,CAAC;wBACD,OAAO,KAAK,CAAA;oBACd,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,KAAK,GAAG,WAAW,CAAC;wBACxB,MAAM,EAAE,MAAM,CAAC,KAAK;wBACpB,WAAW;wBACX,gBAAgB;qBACjB,CAAC,CAAA;oBACF,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE,CAAC;wBACnD,OAAO,KAAK,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { getMathValue } from './math';
2
+ import { getSimpleValue } from './simpleValue';
3
+ import { getSliceValue } from './slice';
4
+ export const getJoinValue = ({ schema, transaction, relatedAddresses, }) => {
5
+ let joinValue = '';
6
+ for (const value of schema.values) {
7
+ if (typeof value === 'string') {
8
+ joinValue += value;
9
+ continue;
10
+ }
11
+ switch (value.type) {
12
+ case 'math': {
13
+ // math value
14
+ joinValue += getMathValue({
15
+ schema: value,
16
+ transaction,
17
+ relatedAddresses,
18
+ }).toString();
19
+ break;
20
+ }
21
+ case 'slice': {
22
+ // slice value
23
+ joinValue += getSliceValue({
24
+ schema: value,
25
+ transaction,
26
+ relatedAddresses,
27
+ });
28
+ break;
29
+ }
30
+ default: {
31
+ // simple value
32
+ joinValue += getSimpleValue({
33
+ schema: value,
34
+ transaction,
35
+ relatedAddresses,
36
+ });
37
+ break;
38
+ }
39
+ }
40
+ }
41
+ return joinValue;
42
+ };
43
+ //# sourceMappingURL=join.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/join.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,WAAW,EACX,gBAAgB,GAKjB,EAAU,EAAE;IACX,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS,IAAI,KAAK,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,aAAa;gBACb,SAAS,IAAI,YAAY,CAAC;oBACxB,MAAM,EAAE,KAAK;oBACb,WAAW;oBACX,gBAAgB;iBACjB,CAAC,CAAC,QAAQ,EAAE,CAAA;gBACb,MAAK;YACP,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,cAAc;gBACd,SAAS,IAAI,aAAa,CAAC;oBACzB,MAAM,EAAE,KAAK;oBACb,WAAW;oBACX,gBAAgB;iBACjB,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,eAAe;gBACf,SAAS,IAAI,cAAc,CAAC;oBAC1B,MAAM,EAAE,KAAK;oBACb,WAAW;oBACX,gBAAgB;iBACjB,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { getSimpleValue } from './simpleValue';
2
+ export const getMathValue = ({ schema, transaction, relatedAddresses, }) => {
3
+ const firstValue = schema.values[0];
4
+ let current = BigInt(getSimpleValue({ schema: firstValue, transaction, relatedAddresses }));
5
+ let operator;
6
+ let args = [];
7
+ for (const value of schema.values.slice(1)) {
8
+ if (value === '+') {
9
+ if (operator !== undefined) {
10
+ current = calculate(operator, current, args);
11
+ args = [];
12
+ }
13
+ operator = '+';
14
+ continue;
15
+ }
16
+ if (value === '-') {
17
+ if (operator !== undefined) {
18
+ current = calculate(operator, current, args);
19
+ args = [];
20
+ }
21
+ operator = '-';
22
+ continue;
23
+ }
24
+ if (value === '*') {
25
+ if (operator !== undefined) {
26
+ current = calculate(operator, current, args);
27
+ args = [];
28
+ }
29
+ operator = '*';
30
+ continue;
31
+ }
32
+ if (value === '/') {
33
+ if (operator !== undefined) {
34
+ current = calculate(operator, current, args);
35
+ args = [];
36
+ }
37
+ operator = '/';
38
+ continue;
39
+ }
40
+ args.push(BigInt(getSimpleValue({ schema: value, transaction, relatedAddresses })));
41
+ }
42
+ if (operator !== undefined) {
43
+ current = calculate(operator, current, args);
44
+ }
45
+ return current;
46
+ };
47
+ const calculate = (operator, current, args) => {
48
+ let newValue = current;
49
+ switch (operator) {
50
+ case '+': {
51
+ for (const arg of args) {
52
+ newValue += arg;
53
+ }
54
+ return newValue;
55
+ }
56
+ case '-': {
57
+ for (const arg of args) {
58
+ newValue -= arg;
59
+ }
60
+ return newValue;
61
+ }
62
+ case '*': {
63
+ for (const arg of args) {
64
+ newValue *= arg;
65
+ }
66
+ return newValue;
67
+ }
68
+ case '/': {
69
+ for (const arg of args) {
70
+ newValue /= arg;
71
+ }
72
+ return newValue;
73
+ }
74
+ }
75
+ };
76
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,389 @@
1
+ import { actionCrossTypeUnionSchema, actionTypeUnionSchema, } from '@0xtorch/core';
2
+ import { z } from 'zod';
3
+ const addressSchema = z.string().regex(/^0x[\da-f]{40}$/);
4
+ const logSignatureSchema = z.string().regex(/^0x[\da-f]{64}$/);
5
+ const bigIntTextSchema = z
6
+ .string()
7
+ .regex(/^\d+$/)
8
+ .transform((v) => BigInt(v));
9
+ export const betweenBigIntSchema = z.object({
10
+ type: z.literal('between'),
11
+ min: bigIntTextSchema.optional(),
12
+ max: bigIntTextSchema.optional(),
13
+ });
14
+ const indexSchema = z.number().int().nonnegative();
15
+ export const addressInSchema = z.object({
16
+ type: z.literal('address-in'),
17
+ not: z.boolean().optional(),
18
+ values: z
19
+ .array(z.union([
20
+ z.literal('related'),
21
+ z.literal('from'),
22
+ z.literal('to'),
23
+ addressSchema,
24
+ ]))
25
+ .min(1),
26
+ });
27
+ const fromValueSchema = z.object({
28
+ type: z.literal('from'),
29
+ });
30
+ const toValueSchema = z.object({
31
+ type: z.literal('to'),
32
+ });
33
+ const valueValueSchema = z.object({
34
+ type: z.literal('value'),
35
+ });
36
+ const functionValueSchema = z.object({
37
+ type: z.literal('function'),
38
+ index: indexSchema,
39
+ });
40
+ const logValueSchema = z.object({
41
+ type: z.literal('log'),
42
+ address: addressInSchema.optional(),
43
+ signature: logSignatureSchema.optional(),
44
+ indexedCount: indexSchema.optional(),
45
+ args: z
46
+ .array(z.object({
47
+ index: indexSchema,
48
+ value: z.union([addressInSchema, z.string()]),
49
+ }))
50
+ .min(1)
51
+ .optional(),
52
+ index: indexSchema,
53
+ value: z.union([z.literal('address'), indexSchema]),
54
+ });
55
+ const erc20ValueSchema = z.object({
56
+ type: z.literal('erc20'),
57
+ address: addressInSchema.optional(),
58
+ from: addressInSchema.optional(),
59
+ to: addressInSchema.optional(),
60
+ amount: betweenBigIntSchema.optional(),
61
+ index: indexSchema,
62
+ value: z.union([
63
+ z.literal('address'),
64
+ z.literal('from'),
65
+ z.literal('to'),
66
+ z.literal('amount'),
67
+ z.literal('amount-decimal'),
68
+ z.literal('currency-id'),
69
+ z.literal('currency-name'),
70
+ z.literal('currency-symbol'),
71
+ ]),
72
+ });
73
+ const erc721ValueSchema = z.object({
74
+ type: z.literal('erc721'),
75
+ address: addressInSchema.optional(),
76
+ from: addressInSchema.optional(),
77
+ to: addressInSchema.optional(),
78
+ id: bigIntTextSchema.optional(),
79
+ index: indexSchema,
80
+ value: z.union([
81
+ z.literal('address'),
82
+ z.literal('from'),
83
+ z.literal('to'),
84
+ z.literal('id'),
85
+ z.literal('nft-id'),
86
+ z.literal('nft-name'),
87
+ ]),
88
+ });
89
+ const erc1155ValueSchema = z.object({
90
+ type: z.literal('erc1155'),
91
+ address: addressInSchema.optional(),
92
+ from: addressInSchema.optional(),
93
+ to: addressInSchema.optional(),
94
+ id: bigIntTextSchema.optional(),
95
+ amount: betweenBigIntSchema.optional(),
96
+ index: indexSchema,
97
+ value: z.union([
98
+ z.literal('address'),
99
+ z.literal('from'),
100
+ z.literal('to'),
101
+ z.literal('id'),
102
+ z.literal('amount'),
103
+ z.literal('nft-id'),
104
+ z.literal('nft-name'),
105
+ ]),
106
+ });
107
+ export const simpleValueSchema = z.union([
108
+ z.string(),
109
+ fromValueSchema,
110
+ toValueSchema,
111
+ valueValueSchema,
112
+ functionValueSchema,
113
+ logValueSchema,
114
+ erc20ValueSchema,
115
+ erc721ValueSchema,
116
+ erc1155ValueSchema,
117
+ ]);
118
+ export const mathValueSchema = z.object({
119
+ type: z.literal('math'),
120
+ values: z
121
+ .array(z.union([
122
+ z.literal('+'),
123
+ z.literal('-'),
124
+ z.literal('*'),
125
+ z.literal('/'),
126
+ simpleValueSchema,
127
+ ]))
128
+ .min(3),
129
+ });
130
+ export const sliceValueSchema = z.object({
131
+ type: z.literal('slice'),
132
+ value: simpleValueSchema,
133
+ start: z.number().int().optional(),
134
+ end: z.number().int().optional(),
135
+ });
136
+ export const joinValueSchema = z.object({
137
+ type: z.literal('join'),
138
+ values: z
139
+ .array(z.union([mathValueSchema, sliceValueSchema, simpleValueSchema]))
140
+ .min(1),
141
+ });
142
+ export const allValueSchema = z.union([
143
+ simpleValueSchema,
144
+ mathValueSchema,
145
+ sliceValueSchema,
146
+ joinValueSchema,
147
+ ]);
148
+ export const arrayInSchema = z.object({
149
+ type: z.literal('array-in'),
150
+ not: z.boolean().optional(),
151
+ values: z.array(z.union([z.literal('related'), allValueSchema])).min(1),
152
+ });
153
+ const logPatternSchema = z.object({
154
+ address: arrayInSchema.optional(),
155
+ signature: logSignatureSchema,
156
+ indexedCount: indexSchema,
157
+ args: z
158
+ .array(z.object({
159
+ index: indexSchema,
160
+ value: z.union([arrayInSchema, allValueSchema, betweenBigIntSchema]),
161
+ }))
162
+ .min(1)
163
+ .optional(),
164
+ });
165
+ export const exactLogsConditionSchema = z.object({
166
+ type: z.literal('exact'),
167
+ patterns: z.array(logPatternSchema),
168
+ });
169
+ export const someLogsConditionSchema = z.object({
170
+ type: z.literal('some'),
171
+ patterns: z.array(logPatternSchema.extend({
172
+ count: betweenBigIntSchema,
173
+ })),
174
+ });
175
+ export const erc20TransferPatternSchema = z.object({
176
+ address: arrayInSchema.optional(),
177
+ from: arrayInSchema.optional(),
178
+ to: arrayInSchema.optional(),
179
+ amount: z.union([allValueSchema, betweenBigIntSchema]).optional(),
180
+ });
181
+ export const exactErc20TransfersConditionSchema = z.object({
182
+ type: z.literal('exact'),
183
+ patterns: z.array(erc20TransferPatternSchema),
184
+ });
185
+ export const someErc20TransfersConditionSchema = z.object({
186
+ type: z.literal('some'),
187
+ patterns: z.array(erc20TransferPatternSchema.extend({
188
+ count: betweenBigIntSchema,
189
+ })),
190
+ });
191
+ export const erc721TransferPatternSchema = z.object({
192
+ address: arrayInSchema.optional(),
193
+ from: arrayInSchema.optional(),
194
+ to: arrayInSchema.optional(),
195
+ id: allValueSchema.optional(),
196
+ });
197
+ export const exactErc721TransfersConditionSchema = z.object({
198
+ type: z.literal('exact'),
199
+ patterns: z.array(erc721TransferPatternSchema),
200
+ });
201
+ export const someErc721TransfersConditionSchema = z.object({
202
+ type: z.literal('some'),
203
+ patterns: z.array(erc721TransferPatternSchema.extend({
204
+ count: betweenBigIntSchema,
205
+ })),
206
+ });
207
+ export const erc1155TransferPatternSchema = z.object({
208
+ address: arrayInSchema.optional(),
209
+ from: arrayInSchema.optional(),
210
+ to: arrayInSchema.optional(),
211
+ id: allValueSchema.optional(),
212
+ amount: z.union([allValueSchema, betweenBigIntSchema]).optional(),
213
+ });
214
+ export const exactErc1155TransfersConditionSchema = z.object({
215
+ type: z.literal('exact'),
216
+ patterns: z.array(erc1155TransferPatternSchema),
217
+ });
218
+ export const someErc1155TransfersConditionSchema = z.object({
219
+ type: z.literal('some'),
220
+ patterns: z.array(erc1155TransferPatternSchema.extend({
221
+ count: betweenBigIntSchema,
222
+ })),
223
+ });
224
+ const functionArgConditionSchema = z.object({
225
+ index: indexSchema,
226
+ value: z.union([arrayInSchema, allValueSchema, betweenBigIntSchema]),
227
+ });
228
+ const functionConditionSchema = z.object({
229
+ id: z.string().regex(/^0x[\da-f]{8}$/),
230
+ interface: z.string().optional(),
231
+ args: z.array(functionArgConditionSchema).min(1).optional(),
232
+ });
233
+ export const conditionSchema = z.object({
234
+ related: arrayInSchema.optional(),
235
+ chainId: z.array(z.number().int().positive()).min(1).optional(),
236
+ from: arrayInSchema.optional(),
237
+ to: arrayInSchema.optional(),
238
+ value: betweenBigIntSchema.optional(),
239
+ function: functionConditionSchema,
240
+ logs: z.union([exactLogsConditionSchema, someLogsConditionSchema]).optional(),
241
+ erc20Transfers: z
242
+ .union([
243
+ exactErc20TransfersConditionSchema,
244
+ someErc20TransfersConditionSchema,
245
+ ])
246
+ .optional(),
247
+ erc721Transfers: z
248
+ .union([
249
+ exactErc721TransfersConditionSchema,
250
+ someErc721TransfersConditionSchema,
251
+ ])
252
+ .optional(),
253
+ erc1155Transfers: z
254
+ .union([
255
+ exactErc1155TransfersConditionSchema,
256
+ someErc1155TransfersConditionSchema,
257
+ ])
258
+ .optional(),
259
+ });
260
+ const transferDirectionSchema = z.union([
261
+ z.literal('in'),
262
+ z.literal('out'),
263
+ z.literal('none'),
264
+ ]);
265
+ export const erc20TransferGeneratorSchema = erc20TransferPatternSchema.extend({
266
+ type: z.literal('erc20'),
267
+ direction: transferDirectionSchema,
268
+ index: indexSchema.optional(),
269
+ });
270
+ export const erc721TransferGeneratorSchema = erc721TransferPatternSchema.extend({
271
+ type: z.literal('erc721'),
272
+ direction: transferDirectionSchema,
273
+ index: indexSchema.optional(),
274
+ });
275
+ export const erc1155TransferGeneratorSchema = erc1155TransferPatternSchema.extend({
276
+ type: z.literal('erc1155'),
277
+ direction: transferDirectionSchema,
278
+ index: indexSchema.optional(),
279
+ });
280
+ export const internalTransferGeneratorSchema = z.object({
281
+ type: z.literal('internal'),
282
+ direction: transferDirectionSchema,
283
+ from: arrayInSchema.optional(),
284
+ to: arrayInSchema.optional(),
285
+ value: z.union([allValueSchema, betweenBigIntSchema]).optional(),
286
+ index: indexSchema.optional(),
287
+ });
288
+ const customTransferErc20AssetSchema = erc20TransferPatternSchema.extend({
289
+ type: z.literal('erc20'),
290
+ index: indexSchema,
291
+ });
292
+ const customTransferErc721AssetSchema = erc721TransferPatternSchema.extend({
293
+ type: z.literal('erc721'),
294
+ index: indexSchema,
295
+ });
296
+ const customTransferErc1155AssetSchema = erc1155TransferPatternSchema.extend({
297
+ type: z.literal('erc1155'),
298
+ index: indexSchema,
299
+ });
300
+ const customTransferAssetSchema = z.union([
301
+ z.object({
302
+ type: z.literal('native'),
303
+ }),
304
+ customTransferErc20AssetSchema,
305
+ customTransferErc721AssetSchema,
306
+ customTransferErc1155AssetSchema,
307
+ ]);
308
+ export const customTransferGeneratorSchema = z.object({
309
+ type: z.literal('custom'),
310
+ direction: transferDirectionSchema,
311
+ from: allValueSchema.optional(),
312
+ to: allValueSchema.optional(),
313
+ asset: customTransferAssetSchema,
314
+ amount: allValueSchema,
315
+ });
316
+ const valueTransferGeneratorSchema = z.object({
317
+ type: z.literal('value'),
318
+ direction: transferDirectionSchema,
319
+ from: arrayInSchema.optional(),
320
+ to: arrayInSchema.optional(),
321
+ value: z.union([allValueSchema, betweenBigIntSchema]).optional(),
322
+ });
323
+ const targetTransferGeneratorSchema = z.object({
324
+ type: z.literal('target'),
325
+ direction: transferDirectionSchema,
326
+ });
327
+ export const transferGeneratorSchema = z.union([
328
+ // value を指定して自動生成
329
+ valueTransferGeneratorSchema,
330
+ // internal transaction を指定して自動生成
331
+ internalTransferGeneratorSchema,
332
+ // erc20 transfer を指定して自動生成
333
+ erc20TransferGeneratorSchema,
334
+ // erc721 transfer を指定して自動生成
335
+ erc721TransferGeneratorSchema,
336
+ // erc1155 transfer を指定して自動生成
337
+ erc1155TransferGeneratorSchema,
338
+ // target で抽出した transfer 毎に自動生成
339
+ targetTransferGeneratorSchema,
340
+ // 各 parameter を個別指定して生成
341
+ customTransferGeneratorSchema,
342
+ ]);
343
+ const targetErc20GeneratorSchema = erc20TransferPatternSchema.extend({
344
+ type: z.literal('erc20'),
345
+ });
346
+ const targetErc721GeneratorSchema = erc721TransferPatternSchema.extend({
347
+ type: z.literal('erc721'),
348
+ });
349
+ const targetErc1155GeneratorSchema = erc1155TransferPatternSchema.extend({
350
+ type: z.literal('erc1155'),
351
+ });
352
+ const targetGeneratorSchema = z.union([
353
+ targetErc20GeneratorSchema,
354
+ targetErc721GeneratorSchema,
355
+ targetErc1155GeneratorSchema,
356
+ ]);
357
+ const valueTargetErc721GeneratorSchema = erc721TransferPatternSchema.extend({
358
+ type: z.literal('erc721'),
359
+ index: indexSchema,
360
+ });
361
+ const valueTargetErc1155GeneratorSchema = erc1155TransferPatternSchema.extend({
362
+ type: z.literal('erc1155'),
363
+ index: indexSchema,
364
+ });
365
+ const valueTargetGeneratorSchema = z.union([
366
+ valueTargetErc721GeneratorSchema,
367
+ valueTargetErc1155GeneratorSchema,
368
+ ]);
369
+ export const generatorSchema = z.object({
370
+ target: targetGeneratorSchema.optional(),
371
+ type: actionTypeUnionSchema,
372
+ comment: allValueSchema.optional(),
373
+ crossId: allValueSchema.optional(),
374
+ crossType: actionCrossTypeUnionSchema.optional(),
375
+ loanId: allValueSchema.optional(),
376
+ valueTarget: valueTargetGeneratorSchema.optional(),
377
+ transfers: z.array(transferGeneratorSchema),
378
+ });
379
+ const exampleSchema = z.object({
380
+ chainId: z.number().int().positive(),
381
+ hash: z.string().regex(/^0x[\da-f]{64}$/),
382
+ addresses: z.array(addressSchema),
383
+ });
384
+ export const analyzerSchema = z.object({
385
+ example: exampleSchema.optional(),
386
+ condition: conditionSchema,
387
+ generators: z.array(generatorSchema).min(1),
388
+ });
389
+ //# sourceMappingURL=schema.js.map