@snovon/solast 0.2.0

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 (738) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +190 -0
  3. package/dist/api.d.ts +89 -0
  4. package/dist/api.js +33 -0
  5. package/dist/ast/resolve-return-names.d.ts +2 -0
  6. package/dist/ast/resolve-return-names.js +199 -0
  7. package/dist/ast/solc-walker.d.ts +17 -0
  8. package/dist/ast/solc-walker.js +497 -0
  9. package/dist/ast/storage-layout.d.ts +21 -0
  10. package/dist/ast/storage-layout.js +64 -0
  11. package/dist/cli.d.ts +65 -0
  12. package/dist/cli.js +755 -0
  13. package/dist/config.d.ts +9 -0
  14. package/dist/config.js +284 -0
  15. package/dist/dedup/files.d.ts +1 -0
  16. package/dist/dedup/files.js +74 -0
  17. package/dist/dedup/findings.d.ts +41 -0
  18. package/dist/dedup/findings.js +211 -0
  19. package/dist/detectors/_common/access-control.d.ts +204 -0
  20. package/dist/detectors/_common/access-control.js +377 -0
  21. package/dist/detectors/_common/ast.d.ts +139 -0
  22. package/dist/detectors/_common/ast.js +239 -0
  23. package/dist/detectors/_common/compiler-profile.d.ts +14 -0
  24. package/dist/detectors/_common/compiler-profile.js +66 -0
  25. package/dist/detectors/_common/dataflow.d.ts +75 -0
  26. package/dist/detectors/_common/dataflow.js +57 -0
  27. package/dist/detectors/_common/fhe.d.ts +7 -0
  28. package/dist/detectors/_common/fhe.js +40 -0
  29. package/dist/detectors/_common/integer-overflow-helpers.d.ts +58 -0
  30. package/dist/detectors/_common/integer-overflow-helpers.js +422 -0
  31. package/dist/detectors/_common/loop-call-stack.d.ts +9 -0
  32. package/dist/detectors/_common/loop-call-stack.js +132 -0
  33. package/dist/detectors/_common/oracle.d.ts +5 -0
  34. package/dist/detectors/_common/oracle.js +64 -0
  35. package/dist/detectors/_common/price-rate.d.ts +116 -0
  36. package/dist/detectors/_common/price-rate.js +446 -0
  37. package/dist/detectors/_common/source-text.d.ts +11 -0
  38. package/dist/detectors/_common/source-text.js +82 -0
  39. package/dist/detectors/_common/weighted-pool-invariant.d.ts +21 -0
  40. package/dist/detectors/_common/weighted-pool-invariant.js +105 -0
  41. package/dist/detectors/aave-v2-reentrancy.d.ts +7 -0
  42. package/dist/detectors/aave-v2-reentrancy.js +286 -0
  43. package/dist/detectors/access-control.d.ts +103 -0
  44. package/dist/detectors/access-control.js +983 -0
  45. package/dist/detectors/add-reentrancy-on-weth-contract.d.ts +7 -0
  46. package/dist/detectors/add-reentrancy-on-weth-contract.js +536 -0
  47. package/dist/detectors/ai-generated-randomness.d.ts +32 -0
  48. package/dist/detectors/ai-generated-randomness.js +239 -0
  49. package/dist/detectors/amm-spot-oracle-manipulation.d.ts +52 -0
  50. package/dist/detectors/amm-spot-oracle-manipulation.js +420 -0
  51. package/dist/detectors/analyzing-the-uniswap-v3-exploit.d.ts +26 -0
  52. package/dist/detectors/analyzing-the-uniswap-v3-exploit.js +279 -0
  53. package/dist/detectors/any-token-is-destroyed.d.ts +34 -0
  54. package/dist/detectors/any-token-is-destroyed.js +527 -0
  55. package/dist/detectors/anyswap-anytoken-permit-allowance-drain.d.ts +7 -0
  56. package/dist/detectors/anyswap-anytoken-permit-allowance-drain.js +524 -0
  57. package/dist/detectors/anyswap-insufficient-token-validation.d.ts +24 -0
  58. package/dist/detectors/anyswap-insufficient-token-validation.js +342 -0
  59. package/dist/detectors/approval-based-drain.d.ts +7 -0
  60. package/dist/detectors/approval-based-drain.js +772 -0
  61. package/dist/detectors/arbitrary-account-balance-transfer.d.ts +7 -0
  62. package/dist/detectors/arbitrary-account-balance-transfer.js +485 -0
  63. package/dist/detectors/arbitrary-address-spoofing-attack.d.ts +7 -0
  64. package/dist/detectors/arbitrary-address-spoofing-attack.js +444 -0
  65. package/dist/detectors/arbitrary-address-spoofing.d.ts +9 -0
  66. package/dist/detectors/arbitrary-address-spoofing.js +657 -0
  67. package/dist/detectors/arbitrary-call-error.d.ts +127 -0
  68. package/dist/detectors/arbitrary-call-error.js +1163 -0
  69. package/dist/detectors/arbitrary-call.d.ts +4 -0
  70. package/dist/detectors/arbitrary-call.js +11 -0
  71. package/dist/detectors/arbitrary-delegatecall-target.d.ts +35 -0
  72. package/dist/detectors/arbitrary-delegatecall-target.js +554 -0
  73. package/dist/detectors/arbitrary-recipient-no-access-control.d.ts +7 -0
  74. package/dist/detectors/arbitrary-recipient-no-access-control.js +638 -0
  75. package/dist/detectors/arbitrary-storage-proof-forgery.d.ts +35 -0
  76. package/dist/detectors/arbitrary-storage-proof-forgery.js +340 -0
  77. package/dist/detectors/arbitrary-transfer-from.d.ts +38 -0
  78. package/dist/detectors/arbitrary-transfer-from.js +339 -0
  79. package/dist/detectors/arbitrum-cross-chain-message-replay.d.ts +22 -0
  80. package/dist/detectors/arbitrum-cross-chain-message-replay.js +477 -0
  81. package/dist/detectors/avs-slashing-without-quorum-check.d.ts +50 -0
  82. package/dist/detectors/avs-slashing-without-quorum-check.js +386 -0
  83. package/dist/detectors/bad-debt-propagation.d.ts +13 -0
  84. package/dist/detectors/bad-debt-propagation.js +480 -0
  85. package/dist/detectors/bad-k-value-verification.d.ts +7 -0
  86. package/dist/detectors/bad-k-value-verification.js +512 -0
  87. package/dist/detectors/bad-randomness-zero-blockhash.d.ts +29 -0
  88. package/dist/detectors/bad-randomness-zero-blockhash.js +115 -0
  89. package/dist/detectors/balancer-flash-loan-manipulation.d.ts +33 -0
  90. package/dist/detectors/balancer-flash-loan-manipulation.js +178 -0
  91. package/dist/detectors/balancer-pause-guard.d.ts +33 -0
  92. package/dist/detectors/balancer-pause-guard.js +307 -0
  93. package/dist/detectors/balancer-weighted-pool-flash-loan.d.ts +42 -0
  94. package/dist/detectors/balancer-weighted-pool-flash-loan.js +275 -0
  95. package/dist/detectors/batch-transfer-overflow.d.ts +7 -0
  96. package/dist/detectors/batch-transfer-overflow.js +465 -0
  97. package/dist/detectors/beneficiary-validation.d.ts +7 -0
  98. package/dist/detectors/beneficiary-validation.js +696 -0
  99. package/dist/detectors/borrow-behalf-consent.d.ts +7 -0
  100. package/dist/detectors/borrow-behalf-consent.js +400 -0
  101. package/dist/detectors/break-continue-scope.d.ts +7 -0
  102. package/dist/detectors/break-continue-scope.js +194 -0
  103. package/dist/detectors/bridge-accounting-bypass.d.ts +65 -0
  104. package/dist/detectors/bridge-accounting-bypass.js +449 -0
  105. package/dist/detectors/bridge-business-logic-flaw-incorrect-acc.d.ts +43 -0
  106. package/dist/detectors/bridge-business-logic-flaw-incorrect-acc.js +394 -0
  107. package/dist/detectors/bridge-collateral-drain.d.ts +7 -0
  108. package/dist/detectors/bridge-collateral-drain.js +630 -0
  109. package/dist/detectors/bridge-forged-proof.d.ts +7 -0
  110. package/dist/detectors/bridge-forged-proof.js +754 -0
  111. package/dist/detectors/bridge-missing-message-nonce.d.ts +57 -0
  112. package/dist/detectors/bridge-missing-message-nonce.js +638 -0
  113. package/dist/detectors/bridge-swap-metapool-attack.d.ts +20 -0
  114. package/dist/detectors/bridge-swap-metapool-attack.js +230 -0
  115. package/dist/detectors/business-logic-flaw-flashloan-price-mani.d.ts +7 -0
  116. package/dist/detectors/business-logic-flaw-flashloan-price-mani.js +353 -0
  117. package/dist/detectors/business-logic-flaw-incorrect-recipient-balance.d.ts +7 -0
  118. package/dist/detectors/business-logic-flaw-incorrect-recipient-balance.js +403 -0
  119. package/dist/detectors/business-logic-flaw.d.ts +21 -0
  120. package/dist/detectors/business-logic-flaw.js +339 -0
  121. package/dist/detectors/business-logic.d.ts +17 -0
  122. package/dist/detectors/business-logic.js +22 -0
  123. package/dist/detectors/bypassed-insolvency-check.d.ts +30 -0
  124. package/dist/detectors/bypassed-insolvency-check.js +232 -0
  125. package/dist/detectors/bytecode-divergence-risk.d.ts +32 -0
  126. package/dist/detectors/bytecode-divergence-risk.js +150 -0
  127. package/dist/detectors/cache-array-length.d.ts +30 -0
  128. package/dist/detectors/cache-array-length.js +177 -0
  129. package/dist/detectors/cache-storage-reads.d.ts +46 -0
  130. package/dist/detectors/cache-storage-reads.js +323 -0
  131. package/dist/detectors/calldata-secret-access-control.d.ts +36 -0
  132. package/dist/detectors/calldata-secret-access-control.js +446 -0
  133. package/dist/detectors/capital-cross-contract-reentrancy.d.ts +34 -0
  134. package/dist/detectors/capital-cross-contract-reentrancy.js +481 -0
  135. package/dist/detectors/cartel-custom-approval-logic.d.ts +7 -0
  136. package/dist/detectors/cartel-custom-approval-logic.js +407 -0
  137. package/dist/detectors/ccip-receiver-missing-replay-guard.d.ts +22 -0
  138. package/dist/detectors/ccip-receiver-missing-replay-guard.js +413 -0
  139. package/dist/detectors/chain-coupling-risk.d.ts +8 -0
  140. package/dist/detectors/chain-coupling-risk.js +203 -0
  141. package/dist/detectors/chainlink-deprecated-function.d.ts +7 -0
  142. package/dist/detectors/chainlink-deprecated-function.js +205 -0
  143. package/dist/detectors/chainlink-tx-origin.d.ts +7 -0
  144. package/dist/detectors/chainlink-tx-origin.js +363 -0
  145. package/dist/detectors/check-effects-interactions.d.ts +39 -0
  146. package/dist/detectors/check-effects-interactions.js +783 -0
  147. package/dist/detectors/check-permit-missing-chainid.d.ts +27 -0
  148. package/dist/detectors/check-permit-missing-chainid.js +456 -0
  149. package/dist/detectors/classic-reentrancy.d.ts +93 -0
  150. package/dist/detectors/classic-reentrancy.js +645 -0
  151. package/dist/detectors/coinbase-morpho-wethloan-policy.d.ts +29 -0
  152. package/dist/detectors/coinbase-morpho-wethloan-policy.js +368 -0
  153. package/dist/detectors/compoundv2-inflation-attack.d.ts +7 -0
  154. package/dist/detectors/compoundv2-inflation-attack.js +675 -0
  155. package/dist/detectors/constructor-address-validation.d.ts +24 -0
  156. package/dist/detectors/constructor-address-validation.js +335 -0
  157. package/dist/detectors/constructor-interface-no-address-validation.d.ts +32 -0
  158. package/dist/detectors/constructor-interface-no-address-validation.js +283 -0
  159. package/dist/detectors/cross-chain-arbitrary-call.d.ts +7 -0
  160. package/dist/detectors/cross-chain-arbitrary-call.js +601 -0
  161. package/dist/detectors/cross-chain-input-validation.d.ts +31 -0
  162. package/dist/detectors/cross-chain-input-validation.js +347 -0
  163. package/dist/detectors/cross-chain-intent-replay.d.ts +38 -0
  164. package/dist/detectors/cross-chain-intent-replay.js +453 -0
  165. package/dist/detectors/cross-chain-intent-stale-resolution.d.ts +7 -0
  166. package/dist/detectors/cross-chain-intent-stale-resolution.js +463 -0
  167. package/dist/detectors/cross-chain-message-order-dependency.d.ts +8 -0
  168. package/dist/detectors/cross-chain-message-order-dependency.js +472 -0
  169. package/dist/detectors/cross-chain-message-replay.d.ts +8 -0
  170. package/dist/detectors/cross-chain-message-replay.js +568 -0
  171. package/dist/detectors/cross-chain-messaging.d.ts +7 -0
  172. package/dist/detectors/cross-chain-messaging.js +663 -0
  173. package/dist/detectors/cross-chain-msg-truncation.d.ts +7 -0
  174. package/dist/detectors/cross-chain-msg-truncation.js +453 -0
  175. package/dist/detectors/cross-chain-truncation.d.ts +7 -0
  176. package/dist/detectors/cross-chain-truncation.js +422 -0
  177. package/dist/detectors/cross-contract-integer-overflow.d.ts +76 -0
  178. package/dist/detectors/cross-contract-integer-overflow.js +554 -0
  179. package/dist/detectors/cross-contract-reentrancy-trusted-callee.d.ts +39 -0
  180. package/dist/detectors/cross-contract-reentrancy-trusted-callee.js +385 -0
  181. package/dist/detectors/cross-contract-reentrancy.d.ts +63 -0
  182. package/dist/detectors/cross-contract-reentrancy.js +631 -0
  183. package/dist/detectors/cross-function-reentrancy.d.ts +37 -0
  184. package/dist/detectors/cross-function-reentrancy.js +648 -0
  185. package/dist/detectors/cross-protocol-contagion.d.ts +20 -0
  186. package/dist/detectors/cross-protocol-contagion.js +445 -0
  187. package/dist/detectors/cross-protocol-oracle-collateral.d.ts +38 -0
  188. package/dist/detectors/cross-protocol-oracle-collateral.js +487 -0
  189. package/dist/detectors/cross-vm-reentrancy.d.ts +7 -0
  190. package/dist/detectors/cross-vm-reentrancy.js +484 -0
  191. package/dist/detectors/decimals-mismatch.d.ts +89 -0
  192. package/dist/detectors/decimals-mismatch.js +451 -0
  193. package/dist/detectors/deferred-state-update.d.ts +16 -0
  194. package/dist/detectors/deferred-state-update.js +35 -0
  195. package/dist/detectors/deflationary-token.d.ts +27 -0
  196. package/dist/detectors/deflationary-token.js +751 -0
  197. package/dist/detectors/delegate-transfer-unrestricted-caller.d.ts +44 -0
  198. package/dist/detectors/delegate-transfer-unrestricted-caller.js +410 -0
  199. package/dist/detectors/delegatecall-fallback-reentrancy-bypass.d.ts +14 -0
  200. package/dist/detectors/delegatecall-fallback-reentrancy-bypass.js +241 -0
  201. package/dist/detectors/delegatecall-in-loops.d.ts +7 -0
  202. package/dist/detectors/delegatecall-in-loops.js +129 -0
  203. package/dist/detectors/delegatecall-init-owner-mutator.d.ts +8 -0
  204. package/dist/detectors/delegatecall-init-owner-mutator.js +655 -0
  205. package/dist/detectors/delegatecall-init.d.ts +7 -0
  206. package/dist/detectors/delegatecall-init.js +769 -0
  207. package/dist/detectors/delegatecall-untrusted-implementation.d.ts +41 -0
  208. package/dist/detectors/delegatecall-untrusted-implementation.js +888 -0
  209. package/dist/detectors/delegated-authorization-bypass.d.ts +7 -0
  210. package/dist/detectors/delegated-authorization-bypass.js +370 -0
  211. package/dist/detectors/denial-of-service.d.ts +117 -0
  212. package/dist/detectors/denial-of-service.js +947 -0
  213. package/dist/detectors/division-before-multiplication.d.ts +7 -0
  214. package/dist/detectors/division-before-multiplication.js +303 -0
  215. package/dist/detectors/dn404-mirror-access-control.d.ts +26 -0
  216. package/dist/detectors/dn404-mirror-access-control.js +315 -0
  217. package/dist/detectors/doge-flashloan.d.ts +29 -0
  218. package/dist/detectors/doge-flashloan.js +329 -0
  219. package/dist/detectors/donate-inflation-exchangerate-roundin.d.ts +7 -0
  220. package/dist/detectors/donate-inflation-exchangerate-roundin.js +621 -0
  221. package/dist/detectors/donation-share-inflation.d.ts +24 -0
  222. package/dist/detectors/donation-share-inflation.js +466 -0
  223. package/dist/detectors/dont-let-eth-get-rekt.d.ts +84 -0
  224. package/dist/detectors/dont-let-eth-get-rekt.js +1151 -0
  225. package/dist/detectors/dos-unbounded-loop-external-call-revert.d.ts +37 -0
  226. package/dist/detectors/dos-unbounded-loop-external-call-revert.js +541 -0
  227. package/dist/detectors/eip1167-proxy-reentrancy.d.ts +7 -0
  228. package/dist/detectors/eip1167-proxy-reentrancy.js +508 -0
  229. package/dist/detectors/eip4626-vault-reentrancy.d.ts +32 -0
  230. package/dist/detectors/eip4626-vault-reentrancy.js +312 -0
  231. package/dist/detectors/eip5792-auth-replay.d.ts +45 -0
  232. package/dist/detectors/eip5792-auth-replay.js +519 -0
  233. package/dist/detectors/eip712-domain-separator.d.ts +42 -0
  234. package/dist/detectors/eip712-domain-separator.js +524 -0
  235. package/dist/detectors/eip712-signature-verification.d.ts +49 -0
  236. package/dist/detectors/eip712-signature-verification.js +689 -0
  237. package/dist/detectors/eip7702-auth-replay.d.ts +7 -0
  238. package/dist/detectors/eip7702-auth-replay.js +768 -0
  239. package/dist/detectors/eip7702-cross-chain-replay.d.ts +27 -0
  240. package/dist/detectors/eip7702-cross-chain-replay.js +307 -0
  241. package/dist/detectors/eip7702-delegated-eoa-approval-race.d.ts +39 -0
  242. package/dist/detectors/eip7702-delegated-eoa-approval-race.js +413 -0
  243. package/dist/detectors/eip7702-delegation-reentrancy.d.ts +21 -0
  244. package/dist/detectors/eip7702-delegation-reentrancy.js +705 -0
  245. package/dist/detectors/eip7702-delegation-risk.d.ts +7 -0
  246. package/dist/detectors/eip7702-delegation-risk.js +745 -0
  247. package/dist/detectors/eip7702-eoa-assumption.d.ts +57 -0
  248. package/dist/detectors/eip7702-eoa-assumption.js +461 -0
  249. package/dist/detectors/erc1155-batch-missing-per-id-approval.d.ts +23 -0
  250. package/dist/detectors/erc1155-batch-missing-per-id-approval.js +343 -0
  251. package/dist/detectors/erc1155-reentrancy.d.ts +31 -0
  252. package/dist/detectors/erc1155-reentrancy.js +217 -0
  253. package/dist/detectors/erc1271-stub-implementation.d.ts +21 -0
  254. package/dist/detectors/erc1271-stub-implementation.js +268 -0
  255. package/dist/detectors/erc20-safe-wrapper-return-unchecked.d.ts +43 -0
  256. package/dist/detectors/erc20-safe-wrapper-return-unchecked.js +368 -0
  257. package/dist/detectors/erc20-unchecked-non-standard-return.d.ts +55 -0
  258. package/dist/detectors/erc20-unchecked-non-standard-return.js +454 -0
  259. package/dist/detectors/erc2612-permit-frontrunning.d.ts +23 -0
  260. package/dist/detectors/erc2612-permit-frontrunning.js +246 -0
  261. package/dist/detectors/erc2771-context-spoofing.d.ts +41 -0
  262. package/dist/detectors/erc2771-context-spoofing.js +510 -0
  263. package/dist/detectors/erc4337-validation-storage-access.d.ts +35 -0
  264. package/dist/detectors/erc4337-validation-storage-access.js +232 -0
  265. package/dist/detectors/erc4626-totalassets-stub.d.ts +17 -0
  266. package/dist/detectors/erc4626-totalassets-stub.js +216 -0
  267. package/dist/detectors/erc6909-balance-overflow.d.ts +7 -0
  268. package/dist/detectors/erc6909-balance-overflow.js +688 -0
  269. package/dist/detectors/erc6909-operator-scope.d.ts +49 -0
  270. package/dist/detectors/erc6909-operator-scope.js +494 -0
  271. package/dist/detectors/erc721-unchecked-transfer.d.ts +38 -0
  272. package/dist/detectors/erc721-unchecked-transfer.js +364 -0
  273. package/dist/detectors/erc7579-module-install-without-threshold.d.ts +40 -0
  274. package/dist/detectors/erc7579-module-install-without-threshold.js +338 -0
  275. package/dist/detectors/erc7683-fill-validation.d.ts +53 -0
  276. package/dist/detectors/erc7683-fill-validation.js +758 -0
  277. package/dist/detectors/erc7683-intent-resolution.d.ts +7 -0
  278. package/dist/detectors/erc7683-intent-resolution.js +457 -0
  279. package/dist/detectors/erc777-callback-reentrancy.d.ts +8 -0
  280. package/dist/detectors/erc777-callback-reentrancy.js +439 -0
  281. package/dist/detectors/erc777-reentrancy.d.ts +7 -0
  282. package/dist/detectors/erc777-reentrancy.js +488 -0
  283. package/dist/detectors/erc777-tokens-to-send-reentrancy.d.ts +47 -0
  284. package/dist/detectors/erc777-tokens-to-send-reentrancy.js +674 -0
  285. package/dist/detectors/estuary-token-flaw.d.ts +16 -0
  286. package/dist/detectors/estuary-token-flaw.js +547 -0
  287. package/dist/detectors/euler-debt-token-manipulation.d.ts +32 -0
  288. package/dist/detectors/euler-debt-token-manipulation.js +347 -0
  289. package/dist/detectors/exploiting-a-vulnerability-in-curve-fina.d.ts +29 -0
  290. package/dist/detectors/exploiting-a-vulnerability-in-curve-fina.js +210 -0
  291. package/dist/detectors/fallback-delegatecall-reentrancy.d.ts +14 -0
  292. package/dist/detectors/fallback-delegatecall-reentrancy.js +236 -0
  293. package/dist/detectors/farm-business-logic-flaw-lack-of-access.d.ts +7 -0
  294. package/dist/detectors/farm-business-logic-flaw-lack-of-access.js +665 -0
  295. package/dist/detectors/fee-mechanism-exploitation.d.ts +20 -0
  296. package/dist/detectors/fee-mechanism-exploitation.js +400 -0
  297. package/dist/detectors/fee-on-transfer-balance-mismatch.d.ts +49 -0
  298. package/dist/detectors/fee-on-transfer-balance-mismatch.js +394 -0
  299. package/dist/detectors/fhe-encrypted-input-validation.d.ts +29 -0
  300. package/dist/detectors/fhe-encrypted-input-validation.js +210 -0
  301. package/dist/detectors/fhe-handle-leakage.d.ts +44 -0
  302. package/dist/detectors/fhe-handle-leakage.js +315 -0
  303. package/dist/detectors/fhe-oz-pattern-misuse.d.ts +26 -0
  304. package/dist/detectors/fhe-oz-pattern-misuse.js +311 -0
  305. package/dist/detectors/fhe-state-leakage.d.ts +8 -0
  306. package/dist/detectors/fhe-state-leakage.js +400 -0
  307. package/dist/detectors/fi-bridges.d.ts +33 -0
  308. package/dist/detectors/fi-bridges.js +428 -0
  309. package/dist/detectors/finance-access-control-price-oracle-man.d.ts +9 -0
  310. package/dist/detectors/finance-access-control-price-oracle-man.js +640 -0
  311. package/dist/detectors/finance-bridge-address0safetransferfrom.d.ts +8 -0
  312. package/dist/detectors/finance-bridge-address0safetransferfrom.js +574 -0
  313. package/dist/detectors/finance-business-logic-in-mint.d.ts +54 -0
  314. package/dist/detectors/finance-business-logic-in-mint.js +687 -0
  315. package/dist/detectors/finance-erc667-reentrancy.d.ts +7 -0
  316. package/dist/detectors/finance-erc667-reentrancy.js +509 -0
  317. package/dist/detectors/finance-flashloan-price-oracle-manipul.d.ts +7 -0
  318. package/dist/detectors/finance-flashloan-price-oracle-manipul.js +546 -0
  319. package/dist/detectors/finance-flashloan-reentrancy.d.ts +7 -0
  320. package/dist/detectors/finance-flashloan-reentrancy.js +547 -0
  321. package/dist/detectors/finance-swap-metapool-attack.d.ts +19 -0
  322. package/dist/detectors/finance-swap-metapool-attack.js +321 -0
  323. package/dist/detectors/flashloan-price-manipulation.d.ts +7 -0
  324. package/dist/detectors/flashloan-price-manipulation.js +950 -0
  325. package/dist/detectors/flashloan-reentrancy-rari.d.ts +28 -0
  326. package/dist/detectors/flashloan-reentrancy-rari.js +577 -0
  327. package/dist/detectors/flashloan-reentrancy.d.ts +7 -0
  328. package/dist/detectors/flashloan-reentrancy.js +383 -0
  329. package/dist/detectors/flashloan-token-migrate.d.ts +7 -0
  330. package/dist/detectors/flashloan-token-migrate.js +274 -0
  331. package/dist/detectors/force-fed-eth-state-corruption.d.ts +32 -0
  332. package/dist/detectors/force-fed-eth-state-corruption.js +293 -0
  333. package/dist/detectors/free-mint-bug.d.ts +41 -0
  334. package/dist/detectors/free-mint-bug.js +483 -0
  335. package/dist/detectors/front-running-orderbook-state-update.d.ts +37 -0
  336. package/dist/detectors/front-running-orderbook-state-update.js +471 -0
  337. package/dist/detectors/front-running-shared-collateral-write.d.ts +41 -0
  338. package/dist/detectors/front-running-shared-collateral-write.js +508 -0
  339. package/dist/detectors/fusion-v1-settlement-arbitrary-yul-calld.d.ts +30 -0
  340. package/dist/detectors/fusion-v1-settlement-arbitrary-yul-calld.js +354 -0
  341. package/dist/detectors/generalized-frontrunning.d.ts +7 -0
  342. package/dist/detectors/generalized-frontrunning.js +836 -0
  343. package/dist/detectors/governance-flash-loan.d.ts +62 -0
  344. package/dist/detectors/governance-flash-loan.js +452 -0
  345. package/dist/detectors/governance-flashloan-vote.d.ts +41 -0
  346. package/dist/detectors/governance-flashloan-vote.js +272 -0
  347. package/dist/detectors/halborn-security-report-aave-v3.d.ts +6 -0
  348. package/dist/detectors/halborn-security-report-aave-v3.js +357 -0
  349. package/dist/detectors/incorrect-access-control.d.ts +26 -0
  350. package/dist/detectors/incorrect-access-control.js +328 -0
  351. package/dist/detectors/incorrect-burn-accounting.d.ts +10 -0
  352. package/dist/detectors/incorrect-burn-accounting.js +387 -0
  353. package/dist/detectors/incorrect-dividends-calculation.d.ts +27 -0
  354. package/dist/detectors/incorrect-dividends-calculation.js +524 -0
  355. package/dist/detectors/incorrect-dividends.d.ts +27 -0
  356. package/dist/detectors/incorrect-dividends.js +485 -0
  357. package/dist/detectors/incorrect-input-validation.d.ts +23 -0
  358. package/dist/detectors/incorrect-input-validation.js +312 -0
  359. package/dist/detectors/incorrect-signature-verification.d.ts +26 -0
  360. package/dist/detectors/incorrect-signature-verification.js +530 -0
  361. package/dist/detectors/infinite-loop.d.ts +7 -0
  362. package/dist/detectors/infinite-loop.js +440 -0
  363. package/dist/detectors/infinite-number-of-loans.d.ts +13 -0
  364. package/dist/detectors/infinite-number-of-loans.js +565 -0
  365. package/dist/detectors/inheritance-override.d.ts +26 -0
  366. package/dist/detectors/inheritance-override.js +320 -0
  367. package/dist/detectors/initialization-access-control.d.ts +8 -0
  368. package/dist/detectors/initialization-access-control.js +659 -0
  369. package/dist/detectors/insecure-randomness.d.ts +73 -0
  370. package/dist/detectors/insecure-randomness.js +610 -0
  371. package/dist/detectors/insufficient-access-control-trusted-param.d.ts +39 -0
  372. package/dist/detectors/insufficient-access-control-trusted-param.js +356 -0
  373. package/dist/detectors/insufficient-dvn-threshold.d.ts +32 -0
  374. package/dist/detectors/insufficient-dvn-threshold.js +585 -0
  375. package/dist/detectors/integer-overflow-detector.d.ts +45 -0
  376. package/dist/detectors/integer-overflow-detector.js +284 -0
  377. package/dist/detectors/integer-overflow.d.ts +95 -0
  378. package/dist/detectors/integer-overflow.js +344 -0
  379. package/dist/detectors/integer-underflow.d.ts +7 -0
  380. package/dist/detectors/integer-underflow.js +422 -0
  381. package/dist/detectors/intent-settlement-balance-manipulation.d.ts +22 -0
  382. package/dist/detectors/intent-settlement-balance-manipulation.js +548 -0
  383. package/dist/detectors/l1-to-l2-message-reentrancy.d.ts +7 -0
  384. package/dist/detectors/l1-to-l2-message-reentrancy.js +545 -0
  385. package/dist/detectors/l2-withdrawal-validation.d.ts +8 -0
  386. package/dist/detectors/l2-withdrawal-validation.js +303 -0
  387. package/dist/detectors/lack-of-access-control.d.ts +7 -0
  388. package/dist/detectors/lack-of-access-control.js +425 -0
  389. package/dist/detectors/lack-of-calldata-validation.d.ts +16 -0
  390. package/dist/detectors/lack-of-calldata-validation.js +914 -0
  391. package/dist/detectors/lack-of-input-validation-reentrancy.d.ts +7 -0
  392. package/dist/detectors/lack-of-input-validation-reentrancy.js +637 -0
  393. package/dist/detectors/lack-of-slippage-control.d.ts +7 -0
  394. package/dist/detectors/lack-of-slippage-control.js +513 -0
  395. package/dist/detectors/lack-of-slippage-protection.d.ts +7 -0
  396. package/dist/detectors/lack-of-slippage-protection.js +474 -0
  397. package/dist/detectors/lack-of-validation-data.d.ts +23 -0
  398. package/dist/detectors/lack-of-validation-data.js +391 -0
  399. package/dist/detectors/lack-of-validation-pool.d.ts +7 -0
  400. package/dist/detectors/lack-of-validation-pool.js +492 -0
  401. package/dist/detectors/lack-of-validation-userdata.d.ts +7 -0
  402. package/dist/detectors/lack-of-validation-userdata.js +583 -0
  403. package/dist/detectors/lack-of-validation.d.ts +27 -0
  404. package/dist/detectors/lack-of-validation.js +609 -0
  405. package/dist/detectors/layerzero-dvn-quorum-missing.d.ts +22 -0
  406. package/dist/detectors/layerzero-dvn-quorum-missing.js +464 -0
  407. package/dist/detectors/layerzero-v2-unverified-origin.d.ts +40 -0
  408. package/dist/detectors/layerzero-v2-unverified-origin.js +368 -0
  409. package/dist/detectors/liquidation-accounting-desync.d.ts +14 -0
  410. package/dist/detectors/liquidation-accounting-desync.js +145 -0
  411. package/dist/detectors/liquidation-gain-manipulation.d.ts +42 -0
  412. package/dist/detectors/liquidation-gain-manipulation.js +606 -0
  413. package/dist/detectors/liquidation-price-rounding-advantage.d.ts +26 -0
  414. package/dist/detectors/liquidation-price-rounding-advantage.js +283 -0
  415. package/dist/detectors/liquidity-poisoning.d.ts +25 -0
  416. package/dist/detectors/liquidity-poisoning.js +339 -0
  417. package/dist/detectors/loans-malicious-proposal-price-oracle.d.ts +44 -0
  418. package/dist/detectors/loans-malicious-proposal-price-oracle.js +813 -0
  419. package/dist/detectors/logic-flaw.d.ts +186 -0
  420. package/dist/detectors/logic-flaw.js +3356 -0
  421. package/dist/detectors/manipulation-of-funds.d.ts +31 -0
  422. package/dist/detectors/manipulation-of-funds.js +304 -0
  423. package/dist/detectors/merkl-unsafe-claim-callback.d.ts +22 -0
  424. package/dist/detectors/merkl-unsafe-claim-callback.js +94 -0
  425. package/dist/detectors/mev-boost-timestamp.d.ts +7 -0
  426. package/dist/detectors/mev-boost-timestamp.js +318 -0
  427. package/dist/detectors/mev-merge-exploit.d.ts +29 -0
  428. package/dist/detectors/mev-merge-exploit.js +397 -0
  429. package/dist/detectors/mev-sandwich-vulnerability.d.ts +24 -0
  430. package/dist/detectors/mev-sandwich-vulnerability.js +648 -0
  431. package/dist/detectors/mev-slot-manipulation.d.ts +36 -0
  432. package/dist/detectors/mev-slot-manipulation.js +691 -0
  433. package/dist/detectors/mevbot-insufficient-validation.d.ts +48 -0
  434. package/dist/detectors/mevbot-insufficient-validation.js +574 -0
  435. package/dist/detectors/migration-rebalance-without-bound.d.ts +7 -0
  436. package/dist/detectors/migration-rebalance-without-bound.js +514 -0
  437. package/dist/detectors/mint-hardcoded-asset-parity.d.ts +31 -0
  438. package/dist/detectors/mint-hardcoded-asset-parity.js +356 -0
  439. package/dist/detectors/miscalculation-on-spendallowance.d.ts +7 -0
  440. package/dist/detectors/miscalculation-on-spendallowance.js +188 -0
  441. package/dist/detectors/misconfiguration.d.ts +27 -0
  442. package/dist/detectors/misconfiguration.js +410 -0
  443. package/dist/detectors/missing-access-control-caller-supplied-auth.d.ts +7 -0
  444. package/dist/detectors/missing-access-control-caller-supplied-auth.js +550 -0
  445. package/dist/detectors/missing-access-control-receiver-payout.d.ts +7 -0
  446. package/dist/detectors/missing-access-control-receiver-payout.js +460 -0
  447. package/dist/detectors/missing-access-control-role-or-transferfrom.d.ts +7 -0
  448. package/dist/detectors/missing-access-control-role-or-transferfrom.js +663 -0
  449. package/dist/detectors/missing-access-control.d.ts +19 -0
  450. package/dist/detectors/missing-access-control.js +781 -0
  451. package/dist/detectors/missing-sequencer-uptime-check.d.ts +30 -0
  452. package/dist/detectors/missing-sequencer-uptime-check.js +348 -0
  453. package/dist/detectors/missing-storage-gap.d.ts +19 -0
  454. package/dist/detectors/missing-storage-gap.js +193 -0
  455. package/dist/detectors/missing-swap-deadline-slippage.d.ts +31 -0
  456. package/dist/detectors/missing-swap-deadline-slippage.js +231 -0
  457. package/dist/detectors/missing-zk-proof-verification.d.ts +60 -0
  458. package/dist/detectors/missing-zk-proof-verification.js +547 -0
  459. package/dist/detectors/my-experience-with-yearn-finance.d.ts +7 -0
  460. package/dist/detectors/my-experience-with-yearn-finance.js +552 -0
  461. package/dist/detectors/network-bridge-ronin.d.ts +7 -0
  462. package/dist/detectors/network-bridge-ronin.js +408 -0
  463. package/dist/detectors/network-bridge.d.ts +7 -0
  464. package/dist/detectors/network-bridge.js +444 -0
  465. package/dist/detectors/network-underflow.d.ts +7 -0
  466. package/dist/detectors/network-underflow.js +517 -0
  467. package/dist/detectors/nft-denial-of-service.d.ts +7 -0
  468. package/dist/detectors/nft-denial-of-service.js +223 -0
  469. package/dist/detectors/nft-marketplace-order-reentrancy.d.ts +7 -0
  470. package/dist/detectors/nft-marketplace-order-reentrancy.js +427 -0
  471. package/dist/detectors/nft-token-standard-access-control.d.ts +7 -0
  472. package/dist/detectors/nft-token-standard-access-control.js +455 -0
  473. package/dist/detectors/oracle-manipulation-amm-spot-price.d.ts +42 -0
  474. package/dist/detectors/oracle-manipulation-amm-spot-price.js +321 -0
  475. package/dist/detectors/oracle-manipulation-liquidity-withdrawal.d.ts +27 -0
  476. package/dist/detectors/oracle-manipulation-liquidity-withdrawal.js +192 -0
  477. package/dist/detectors/oracle-manipulation.d.ts +90 -0
  478. package/dist/detectors/oracle-manipulation.js +1023 -0
  479. package/dist/detectors/oracle-vortex-manipulation.d.ts +30 -0
  480. package/dist/detectors/oracle-vortex-manipulation.js +473 -0
  481. package/dist/detectors/overpriced-asset-in-oracle.d.ts +41 -0
  482. package/dist/detectors/overpriced-asset-in-oracle.js +420 -0
  483. package/dist/detectors/oz-access-control-roles.d.ts +33 -0
  484. package/dist/detectors/oz-access-control-roles.js +359 -0
  485. package/dist/detectors/pair-manipulation-transfer-hook.d.ts +38 -0
  486. package/dist/detectors/pair-manipulation-transfer-hook.js +366 -0
  487. package/dist/detectors/parameter-access-control.d.ts +47 -0
  488. package/dist/detectors/parameter-access-control.js +511 -0
  489. package/dist/detectors/parameter-manipulation.d.ts +7 -0
  490. package/dist/detectors/parameter-manipulation.js +505 -0
  491. package/dist/detectors/parity-multisig-delegatecall.d.ts +7 -0
  492. package/dist/detectors/parity-multisig-delegatecall.js +707 -0
  493. package/dist/detectors/permissionless-claim-amm-spot-pricing.d.ts +7 -0
  494. package/dist/detectors/permissionless-claim-amm-spot-pricing.js +351 -0
  495. package/dist/detectors/permit-future-dated-deadline.d.ts +31 -0
  496. package/dist/detectors/permit-future-dated-deadline.js +339 -0
  497. package/dist/detectors/phishing-attack-bybit.d.ts +37 -0
  498. package/dist/detectors/phishing-attack-bybit.js +513 -0
  499. package/dist/detectors/post-insolvency-check.d.ts +7 -0
  500. package/dist/detectors/post-insolvency-check.js +277 -0
  501. package/dist/detectors/precision-loss-vulnerability.d.ts +7 -0
  502. package/dist/detectors/precision-loss-vulnerability.js +472 -0
  503. package/dist/detectors/precision-truncation.d.ts +8 -0
  504. package/dist/detectors/precision-truncation.js +425 -0
  505. package/dist/detectors/price-dependency-veth.d.ts +41 -0
  506. package/dist/detectors/price-dependency-veth.js +588 -0
  507. package/dist/detectors/price-feed-verification.d.ts +7 -0
  508. package/dist/detectors/price-feed-verification.js +557 -0
  509. package/dist/detectors/price-manipulation-reentrancy.d.ts +32 -0
  510. package/dist/detectors/price-manipulation-reentrancy.js +445 -0
  511. package/dist/detectors/price-manipulation-via-reentranc.d.ts +7 -0
  512. package/dist/detectors/price-manipulation-via-reentranc.js +569 -0
  513. package/dist/detectors/price-oracle-manipulation.d.ts +25 -0
  514. package/dist/detectors/price-oracle-manipulation.js +530 -0
  515. package/dist/detectors/project-instant-rewards-unlocked.d.ts +6 -0
  516. package/dist/detectors/project-instant-rewards-unlocked.js +462 -0
  517. package/dist/detectors/protocol-reentrancy.d.ts +7 -0
  518. package/dist/detectors/protocol-reentrancy.js +457 -0
  519. package/dist/detectors/proxy-init-race.d.ts +11 -0
  520. package/dist/detectors/proxy-init-race.js +634 -0
  521. package/dist/detectors/proxy-storage-slot-collision.d.ts +7 -0
  522. package/dist/detectors/proxy-storage-slot-collision.js +135 -0
  523. package/dist/detectors/public-internal-function.d.ts +39 -0
  524. package/dist/detectors/public-internal-function.js +233 -0
  525. package/dist/detectors/quote-silent-zero.d.ts +25 -0
  526. package/dist/detectors/quote-silent-zero.js +156 -0
  527. package/dist/detectors/readonly-reentrancy.d.ts +9 -0
  528. package/dist/detectors/readonly-reentrancy.js +108 -0
  529. package/dist/detectors/receipt-redemption-missing-validation.d.ts +31 -0
  530. package/dist/detectors/receipt-redemption-missing-validation.js +453 -0
  531. package/dist/detectors/reentrancy-balance.d.ts +36 -0
  532. package/dist/detectors/reentrancy-balance.js +577 -0
  533. package/dist/detectors/reentrancy-business-logic-game.d.ts +36 -0
  534. package/dist/detectors/reentrancy-business-logic-game.js +616 -0
  535. package/dist/detectors/reentrancy-on-sell-nft.d.ts +23 -0
  536. package/dist/detectors/reentrancy-on-sell-nft.js +510 -0
  537. package/dist/detectors/reflection-token-balance-desync.d.ts +28 -0
  538. package/dist/detectors/reflection-token-balance-desync.js +246 -0
  539. package/dist/detectors/registry-engine.d.ts +34 -0
  540. package/dist/detectors/registry-engine.js +388 -0
  541. package/dist/detectors/rollup-unvalidated-state-update.d.ts +35 -0
  542. package/dist/detectors/rollup-unvalidated-state-update.js +286 -0
  543. package/dist/detectors/s-horizon-bridge-private-key-compromis.d.ts +8 -0
  544. package/dist/detectors/s-horizon-bridge-private-key-compromis.js +615 -0
  545. package/dist/detectors/share-price-manipulation.d.ts +7 -0
  546. package/dist/detectors/share-price-manipulation.js +653 -0
  547. package/dist/detectors/signature-replay.d.ts +30 -0
  548. package/dist/detectors/signature-replay.js +367 -0
  549. package/dist/detectors/simpleswap-unverified-approval.d.ts +27 -0
  550. package/dist/detectors/simpleswap-unverified-approval.js +198 -0
  551. package/dist/detectors/single-spot-oracle-collateral-valuation.d.ts +22 -0
  552. package/dist/detectors/single-spot-oracle-collateral-valuation.js +419 -0
  553. package/dist/detectors/skim-token-balance.d.ts +7 -0
  554. package/dist/detectors/skim-token-balance.js +788 -0
  555. package/dist/detectors/sky-oft-governance-payload.d.ts +7 -0
  556. package/dist/detectors/sky-oft-governance-payload.js +515 -0
  557. package/dist/detectors/sky-oft-governance-truncation.d.ts +32 -0
  558. package/dist/detectors/sky-oft-governance-truncation.js +377 -0
  559. package/dist/detectors/solana-evm-bridge-truncation.d.ts +7 -0
  560. package/dist/detectors/solana-evm-bridge-truncation.js +638 -0
  561. package/dist/detectors/solhint-unchecked-low-level-call.d.ts +74 -0
  562. package/dist/detectors/solhint-unchecked-low-level-call.js +463 -0
  563. package/dist/detectors/stablecoin-pair-spot-oracle.d.ts +7 -0
  564. package/dist/detectors/stablecoin-pair-spot-oracle.js +364 -0
  565. package/dist/detectors/staked-rate-as-oracle.d.ts +44 -0
  566. package/dist/detectors/staked-rate-as-oracle.js +497 -0
  567. package/dist/detectors/stale-oracle.d.ts +63 -0
  568. package/dist/detectors/stale-oracle.js +649 -0
  569. package/dist/detectors/starkware-proof-validation-gap.d.ts +18 -0
  570. package/dist/detectors/starkware-proof-validation-gap.js +629 -0
  571. package/dist/detectors/steth-transfer-reentrancy.d.ts +8 -0
  572. package/dist/detectors/steth-transfer-reentrancy.js +317 -0
  573. package/dist/detectors/storage-collision-malicious-proposal.d.ts +27 -0
  574. package/dist/detectors/storage-collision-malicious-proposal.js +386 -0
  575. package/dist/detectors/timestamp-manipulation.d.ts +49 -0
  576. package/dist/detectors/timestamp-manipulation.js +383 -0
  577. package/dist/detectors/token-access-control.d.ts +7 -0
  578. package/dist/detectors/token-access-control.js +544 -0
  579. package/dist/detectors/token-incorrect-signature-verification.d.ts +23 -0
  580. package/dist/detectors/token-incorrect-signature-verification.js +434 -0
  581. package/dist/detectors/token-transfer-logic-flaw.d.ts +33 -0
  582. package/dist/detectors/token-transfer-logic-flaw.js +267 -0
  583. package/dist/detectors/transfer-double-debit-pool-recipient.d.ts +7 -0
  584. package/dist/detectors/transfer-double-debit-pool-recipient.js +542 -0
  585. package/dist/detectors/treasury-reentrancy.d.ts +7 -0
  586. package/dist/detectors/treasury-reentrancy.js +442 -0
  587. package/dist/detectors/tstore-poison.d.ts +32 -0
  588. package/dist/detectors/tstore-poison.js +417 -0
  589. package/dist/detectors/tstore-race-condition.d.ts +7 -0
  590. package/dist/detectors/tstore-race-condition.js +632 -0
  591. package/dist/detectors/types.d.ts +85 -0
  592. package/dist/detectors/types.js +20 -0
  593. package/dist/detectors/unauthorized-payer-transferfrom.d.ts +66 -0
  594. package/dist/detectors/unauthorized-payer-transferfrom.js +339 -0
  595. package/dist/detectors/unauthorized-transferfrom-shell.d.ts +7 -0
  596. package/dist/detectors/unauthorized-transferfrom-shell.js +504 -0
  597. package/dist/detectors/unauthorized-transferfrom.d.ts +16 -0
  598. package/dist/detectors/unauthorized-transferfrom.js +838 -0
  599. package/dist/detectors/unbound-zk-verifier-input.d.ts +7 -0
  600. package/dist/detectors/unbound-zk-verifier-input.js +445 -0
  601. package/dist/detectors/unbounded-share-price-collateral-oracle.d.ts +48 -0
  602. package/dist/detectors/unbounded-share-price-collateral-oracle.js +566 -0
  603. package/dist/detectors/uncapped-reward-emission.d.ts +7 -0
  604. package/dist/detectors/uncapped-reward-emission.js +493 -0
  605. package/dist/detectors/unchecked-call-forwarding.d.ts +31 -0
  606. package/dist/detectors/unchecked-call-forwarding.js +330 -0
  607. package/dist/detectors/unchecked-external-call-unconditional-state-mutation.d.ts +18 -0
  608. package/dist/detectors/unchecked-external-call-unconditional-state-mutation.js +311 -0
  609. package/dist/detectors/unchecked-external-call.d.ts +66 -0
  610. package/dist/detectors/unchecked-external-call.js +389 -0
  611. package/dist/detectors/unchecked-oft-return.d.ts +13 -0
  612. package/dist/detectors/unchecked-oft-return.js +118 -0
  613. package/dist/detectors/unguarded-governance-execution.d.ts +35 -0
  614. package/dist/detectors/unguarded-governance-execution.js +422 -0
  615. package/dist/detectors/unguarded-governance-executor.d.ts +35 -0
  616. package/dist/detectors/unguarded-governance-executor.js +349 -0
  617. package/dist/detectors/unindexed-event-address.d.ts +7 -0
  618. package/dist/detectors/unindexed-event-address.js +268 -0
  619. package/dist/detectors/uninitialized-implementation.d.ts +27 -0
  620. package/dist/detectors/uninitialized-implementation.js +333 -0
  621. package/dist/detectors/uninitialized-storage-pointer.d.ts +7 -0
  622. package/dist/detectors/uninitialized-storage-pointer.js +110 -0
  623. package/dist/detectors/uniswap-skim-token-balance-attack.d.ts +8 -0
  624. package/dist/detectors/uniswap-skim-token-balance-attack.js +331 -0
  625. package/dist/detectors/uniswap-v4-hook-state-manipulation.d.ts +7 -0
  626. package/dist/detectors/uniswap-v4-hook-state-manipulation.js +296 -0
  627. package/dist/detectors/unprotected-admin-or-fund-sink.d.ts +7 -0
  628. package/dist/detectors/unprotected-admin-or-fund-sink.js +643 -0
  629. package/dist/detectors/unprotected-dex-swap.d.ts +43 -0
  630. package/dist/detectors/unprotected-dex-swap.js +334 -0
  631. package/dist/detectors/unprotected-initializer.d.ts +7 -0
  632. package/dist/detectors/unprotected-initializer.js +707 -0
  633. package/dist/detectors/unprotected-pair-initializer.d.ts +22 -0
  634. package/dist/detectors/unprotected-pair-initializer.js +359 -0
  635. package/dist/detectors/unprotected-upgrade-function.d.ts +7 -0
  636. package/dist/detectors/unprotected-upgrade-function.js +180 -0
  637. package/dist/detectors/unreachable-code-0.8.28.d.ts +19 -0
  638. package/dist/detectors/unreachable-code-0.8.28.js +206 -0
  639. package/dist/detectors/unsafe-proxy-storage.d.ts +7 -0
  640. package/dist/detectors/unsafe-proxy-storage.js +436 -0
  641. package/dist/detectors/unsafe-transient-storage.d.ts +7 -0
  642. package/dist/detectors/unsafe-transient-storage.js +1052 -0
  643. package/dist/detectors/unsafe-tx-origin.d.ts +9 -0
  644. package/dist/detectors/unsafe-tx-origin.js +179 -0
  645. package/dist/detectors/unsigned-validity-window.d.ts +20 -0
  646. package/dist/detectors/unsigned-validity-window.js +220 -0
  647. package/dist/detectors/unvalidated-interface-address.d.ts +25 -0
  648. package/dist/detectors/unvalidated-interface-address.js +377 -0
  649. package/dist/detectors/uups-uninitialized-storage.d.ts +9 -0
  650. package/dist/detectors/uups-uninitialized-storage.js +366 -0
  651. package/dist/detectors/v2-error-k-value-attack.d.ts +33 -0
  652. package/dist/detectors/v2-error-k-value-attack.js +276 -0
  653. package/dist/detectors/v2-k-invariant-bypass.d.ts +33 -0
  654. package/dist/detectors/v2-k-invariant-bypass.js +283 -0
  655. package/dist/detectors/v4-hook-reentrancy.d.ts +9 -0
  656. package/dist/detectors/v4-hook-reentrancy.js +488 -0
  657. package/dist/detectors/vault-inflation-rounding.d.ts +23 -0
  658. package/dist/detectors/vault-inflation-rounding.js +477 -0
  659. package/dist/detectors/vault-share-price-manipulation.d.ts +7 -0
  660. package/dist/detectors/vault-share-price-manipulation.js +332 -0
  661. package/dist/detectors/vortex-interaction-guard.d.ts +45 -0
  662. package/dist/detectors/vortex-interaction-guard.js +275 -0
  663. package/dist/detectors/vortex-protocol-reentrancy-guard.d.ts +27 -0
  664. package/dist/detectors/vortex-protocol-reentrancy-guard.js +408 -0
  665. package/dist/detectors/vulnerable-price-dependency.d.ts +41 -0
  666. package/dist/detectors/vulnerable-price-dependency.js +473 -0
  667. package/dist/detectors/weak-random-mint.d.ts +37 -0
  668. package/dist/detectors/weak-random-mint.js +271 -0
  669. package/dist/detectors/withdraw-be-to-withdraw.d.ts +26 -0
  670. package/dist/detectors/withdraw-be-to-withdraw.js +329 -0
  671. package/dist/detectors/wrong-function-visibility.d.ts +29 -0
  672. package/dist/detectors/wrong-function-visibility.js +147 -0
  673. package/dist/detectors/wrong-price-calculation.d.ts +42 -0
  674. package/dist/detectors/wrong-price-calculation.js +387 -0
  675. package/dist/detectors/yearn-vault-v2-share-price-manipulation.d.ts +32 -0
  676. package/dist/detectors/yearn-vault-v2-share-price-manipulation.js +248 -0
  677. package/dist/detectors/zero-fee.d.ts +7 -0
  678. package/dist/detectors/zero-fee.js +596 -0
  679. package/dist/detectors/zetachain-gateway-hack-analysis.d.ts +7 -0
  680. package/dist/detectors/zetachain-gateway-hack-analysis.js +629 -0
  681. package/dist/detectors/zk-rollup-da-gap.d.ts +8 -0
  682. package/dist/detectors/zk-rollup-da-gap.js +322 -0
  683. package/dist/detectors/zksync-batch-validation.d.ts +8 -0
  684. package/dist/detectors/zksync-batch-validation.js +461 -0
  685. package/dist/detectors/zksync-era-rollup-state-update.d.ts +60 -0
  686. package/dist/detectors/zksync-era-rollup-state-update.js +360 -0
  687. package/dist/detectors/zksync-simulation-drift.d.ts +35 -0
  688. package/dist/detectors/zksync-simulation-drift.js +309 -0
  689. package/dist/exit-codes.d.ts +15 -0
  690. package/dist/exit-codes.js +18 -0
  691. package/dist/formatters/github-actions.d.ts +2 -0
  692. package/dist/formatters/github-actions.js +61 -0
  693. package/dist/formatters/sarif.d.ts +24 -0
  694. package/dist/formatters/sarif.js +670 -0
  695. package/dist/formatters/text.d.ts +14 -0
  696. package/dist/formatters/text.js +152 -0
  697. package/dist/fp-rates.json +70 -0
  698. package/dist/identity/diff-baseline.d.ts +16 -0
  699. package/dist/identity/diff-baseline.js +152 -0
  700. package/dist/identity/hashing.d.ts +39 -0
  701. package/dist/identity/hashing.js +96 -0
  702. package/dist/index.d.ts +174 -0
  703. package/dist/index.js +358 -0
  704. package/dist/parallel-scan.d.ts +66 -0
  705. package/dist/parallel-scan.js +227 -0
  706. package/dist/registry.d.ts +17 -0
  707. package/dist/registry.js +118 -0
  708. package/dist/rules/glob.d.ts +5 -0
  709. package/dist/rules/glob.js +76 -0
  710. package/dist/rules/suppressions.d.ts +23 -0
  711. package/dist/rules/suppressions.js +136 -0
  712. package/dist/rules/tiers.d.ts +23 -0
  713. package/dist/rules/tiers.js +341 -0
  714. package/dist/scan-worker.d.ts +1 -0
  715. package/dist/scan-worker.js +61 -0
  716. package/dist/scan.d.ts +24 -0
  717. package/dist/scan.js +558 -0
  718. package/dist/semantic/contracts.d.ts +10 -0
  719. package/dist/semantic/contracts.js +141 -0
  720. package/dist/semantic/diagnostics.d.ts +29 -0
  721. package/dist/semantic/diagnostics.js +25 -0
  722. package/dist/semantic/eog.d.ts +56 -0
  723. package/dist/semantic/eog.js +545 -0
  724. package/dist/semantic/imports.d.ts +88 -0
  725. package/dist/semantic/imports.js +246 -0
  726. package/dist/semantic/index.d.ts +2 -0
  727. package/dist/semantic/index.js +8 -0
  728. package/dist/semantic/inheritance.d.ts +33 -0
  729. package/dist/semantic/inheritance.js +137 -0
  730. package/dist/semantic/model.d.ts +95 -0
  731. package/dist/semantic/model.js +232 -0
  732. package/dist/semantic/taint-tracker.d.ts +49 -0
  733. package/dist/semantic/taint-tracker.js +410 -0
  734. package/dist/semantic/types.d.ts +119 -0
  735. package/dist/semantic/types.js +18 -0
  736. package/dist/severity.d.ts +10 -0
  737. package/dist/severity.js +78 -0
  738. package/package.json +52 -0
@@ -0,0 +1,174 @@
1
+ /**
2
+ * SolAST public API surface — pure re-export shim.
3
+ *
4
+ * Library consumers `import { scan, ScanResult, ... } from 'solast'`
5
+ * and the CLI in `src/cli.ts` is a thin wrapper over this entry point.
6
+ * Implementation lives in:
7
+ *
8
+ * - `src/api.ts` — `ScanResult`, `ScanOptions`, `scan()`
9
+ * - `src/scan.ts` — `scanFiles`, `scanAst`, `discoverFiles`
10
+ * - `src/registry.ts` — `createDefaultDetectorRegistry()`
11
+ * - `src/identity/hashing.ts` — `computeContractHash` / `computeFindingId` / `computeSnippetHash`
12
+ * - `src/detectors/` — every detector class
13
+ *
14
+ * The detector files importing from `'../index'` continue to see
15
+ * `ScanResult` and the helper exports here. External re-exports of
16
+ * detector classes for downstream consumers are also collected below
17
+ * so `import { DetectorClass } from 'solast'` keeps working.
18
+ *
19
+
20
+ */
21
+ export { type ScanResult, type ScanOptions, scan } from './api';
22
+ export { scanFiles, scanAst, discoverFiles } from './scan';
23
+ export { createDefaultDetectorRegistry } from './registry';
24
+ export { computeContractHash, computeFindingId, computeSnippetHash } from './identity/hashing';
25
+ export { resolveReturnNames, type ReturnName } from './ast/resolve-return-names';
26
+ export { resolveStorageLayoutAccess, type StorageAccessResolution, type StorageLayoutEntry, type StorageLayoutInput, type StorageLayoutType, } from './ast/storage-layout';
27
+ export { pragmaAllowsPre080, ARITH_OPERATORS, COMPOUND_ARITH_OPERATORS, COMPOUND_TO_BARE_ARITH, ARITH_DIRECTION, isArithmeticBinaryOp, classifyTypeName, isConstantExpr, expressionSignature, unwrapTuple, collectGuardSignatures, isRequireFunctionCall, type Signedness, type IsUnsignedFn, } from './detectors/_common/integer-overflow-helpers';
28
+ export { DetectorRegistry } from './detectors/registry-engine';
29
+ export { type Detector, type DetectorAstKind } from './detectors/types';
30
+ export { ruleTiers } from './rules/tiers';
31
+ export { TaintTracker, type TaintQueryOptions, type TaintSourcePredicate } from './semantic/taint-tracker';
32
+ export { ReentrancyDetector } from './detectors/classic-reentrancy';
33
+ export { IntegerOverflowDetector } from './detectors/integer-overflow';
34
+ export { CrossContractIntegerOverflowDetector } from './detectors/cross-contract-integer-overflow';
35
+ export { AccessControlDetector } from './detectors/access-control';
36
+ export { OzAccessControlRolesDetector } from './detectors/oz-access-control-roles';
37
+ export { BalancerWeightedPoolFlashLoanDetector } from './detectors/balancer-weighted-pool-flash-loan';
38
+ export { BalancerFlashLoanManipulationDetector } from './detectors/balancer-flash-loan-manipulation';
39
+ export { BalancerPauseGuardDetector } from './detectors/balancer-pause-guard';
40
+ export { BytecodeDivergenceRiskDetector } from './detectors/bytecode-divergence-risk';
41
+ export { BusinessLogicFlawDetector } from './detectors/business-logic-flaw';
42
+ export { BusinessLogicFlawIncorrectRecipientBalanceDetector } from './detectors/business-logic-flaw-incorrect-recipient-balance';
43
+ export { CrossProtocolContagionDetector, type CrossProtocolContagionConfig, type CrossProtocolMapping, type CrossProtocolRole, } from './detectors/cross-protocol-contagion';
44
+ export { CrossChainMessagingLoopholeDetector } from './detectors/cross-chain-messaging';
45
+ export { CrossChainTruncationDetector } from './detectors/cross-chain-truncation';
46
+ export { ArbitrumCrossChainMessageReplayDetector } from './detectors/arbitrum-cross-chain-message-replay';
47
+ export { CcipReceiverMissingReplayGuardDetector } from './detectors/ccip-receiver-missing-replay-guard';
48
+ export { CrossContractReentrancyTrustedCalleeDetector } from './detectors/cross-contract-reentrancy-trusted-callee';
49
+ export { CrossChainMessageOrderDependencyDetector } from './detectors/cross-chain-message-order-dependency';
50
+ export { CrossChainMsgTruncationDetector } from './detectors/cross-chain-msg-truncation';
51
+ export { OracleManipulationAmmSpotPriceDetector } from './detectors/oracle-manipulation-amm-spot-price';
52
+ export { OracleManipulationLiquidityWithdrawalDetector } from './detectors/oracle-manipulation-liquidity-withdrawal';
53
+ export { SolanaEvmBridgeTruncationDetector } from './detectors/solana-evm-bridge-truncation';
54
+ export { CrossChainArbitraryCallDetector } from './detectors/cross-chain-arbitrary-call';
55
+ export { FusionV1SettlementArbitraryYulCalldDetector } from './detectors/fusion-v1-settlement-arbitrary-yul-calld';
56
+ export { CrossVmReentrancyDetector } from './detectors/cross-vm-reentrancy';
57
+ export { ChainCouplingRiskDetector } from './detectors/chain-coupling-risk';
58
+ export { BridgeAccountingBypassDetector } from './detectors/bridge-accounting-bypass';
59
+ export { ArbitraryStorageProofForgeryDetector } from './detectors/arbitrary-storage-proof-forgery';
60
+ export { BridgeBusinessLogicFlawIncorrectAccDetector } from './detectors/bridge-business-logic-flaw-incorrect-acc';
61
+ export { UncheckedCallForwardingDetector } from './detectors/unchecked-call-forwarding';
62
+ export { DeferredStateUpdateDetector } from './detectors/deferred-state-update';
63
+ export { UncheckedExternalCallDetector } from './detectors/unchecked-external-call';
64
+ export { UncheckedExternalCallUnconditionalStateMutationDetector } from './detectors/unchecked-external-call-unconditional-state-mutation';
65
+ export { Dn404MirrorAccessControlDetector } from './detectors/dn404-mirror-access-control';
66
+ export { SkyOftGovernancePayloadDetector } from './detectors/sky-oft-governance-payload';
67
+ export { SkyOftGovernanceTruncationDetector } from './detectors/sky-oft-governance-truncation';
68
+ export { UncheckedOftReturnDetector } from './detectors/unchecked-oft-return';
69
+ export { Erc4626TotalassetsStubDetector } from './detectors/erc4626-totalassets-stub';
70
+ export { Eip4626VaultReentrancyDetector } from './detectors/eip4626-vault-reentrancy';
71
+ export { Erc20UncheckedNonStandardReturnDetector } from './detectors/erc20-unchecked-non-standard-return';
72
+ export { Erc7579ModuleInstallWithoutThresholdDetector } from './detectors/erc7579-module-install-without-threshold';
73
+ export { FeeOnTransferBalanceMismatchDetector } from './detectors/fee-on-transfer-balance-mismatch';
74
+ export { FeeMechanismExploitationDetector } from './detectors/fee-mechanism-exploitation';
75
+ export { PairManipulationTransferHookDetector } from './detectors/pair-manipulation-transfer-hook';
76
+ export { CacheArrayLengthDetector } from './detectors/cache-array-length';
77
+ export { DosUnboundedLoopExternalCallRevertDetector } from './detectors/dos-unbounded-loop-external-call-revert';
78
+ export { FreeMintBugDetector } from './detectors/free-mint-bug';
79
+ export { IncorrectAccessControlDetector } from './detectors/incorrect-access-control';
80
+ export { IncorrectInputValidationDetector } from './detectors/incorrect-input-validation';
81
+ export { Erc2771ContextSpoofingDetector } from './detectors/erc2771-context-spoofing';
82
+ export { Erc1271StubImplementationDetector } from './detectors/erc1271-stub-implementation';
83
+ export { LayerZeroV2UnverifiedOriginDetector } from './detectors/layerzero-v2-unverified-origin';
84
+ export { InsufficientDvnThresholdDetector } from './detectors/insufficient-dvn-threshold';
85
+ export { LayerZeroDvnQuorumMissingDetector } from './detectors/layerzero-dvn-quorum-missing';
86
+ export { BadDebtPropagationDetector } from './detectors/bad-debt-propagation';
87
+ export { BypassedInsolvencyCheckDetector } from './detectors/bypassed-insolvency-check';
88
+ export { InfiniteNumberOfLoansDetector } from './detectors/infinite-number-of-loans';
89
+ export { AnyswapInsufficientTokenValidationDetector } from './detectors/anyswap-insufficient-token-validation';
90
+ export { AnyswapAnytokenPermitAllowanceDrainDetector } from './detectors/anyswap-anytoken-permit-allowance-drain';
91
+ export { AnalyzingTheUniswapV3ExploitDetector } from './detectors/analyzing-the-uniswap-v3-exploit';
92
+ export { UnsignedValidityWindowDetector } from './detectors/unsigned-validity-window';
93
+ export { L1ToL2MessageReentrancyDetector } from './detectors/l1-to-l2-message-reentrancy';
94
+ export { L2WithdrawalValidationDetector } from './detectors/l2-withdrawal-validation';
95
+ export { RollupUnvalidatedStateUpdateDetector } from './detectors/rollup-unvalidated-state-update';
96
+ export { ZkSyncSimulationDriftDetector } from './detectors/zksync-simulation-drift';
97
+ export { MissingSequencerUptimeCheckDetector } from './detectors/missing-sequencer-uptime-check';
98
+ export { StorageCollisionMaliciousProposalDetector } from './detectors/storage-collision-malicious-proposal';
99
+ export { UnguardedGovernanceExecutionDetector } from './detectors/unguarded-governance-execution';
100
+ export { GovernanceFlashLoanDetector } from './detectors/governance-flash-loan';
101
+ export { GovernanceFlashloanVoteDetector } from './detectors/governance-flashloan-vote';
102
+ export { NetworkUnderflowDetector } from './detectors/network-underflow';
103
+ export { UnboundedSharePriceCollateralOracleDetector } from './detectors/unbounded-share-price-collateral-oracle';
104
+ export { VaultInflationRoundingDetector } from './detectors/vault-inflation-rounding';
105
+ export { LiquidationGainManipulationDetector } from './detectors/liquidation-gain-manipulation';
106
+ export { DonationShareInflationDetector } from './detectors/donation-share-inflation';
107
+ export { MisconfigurationDetector } from './detectors/misconfiguration';
108
+ export { SingleSpotOracleCollateralValuationDetector } from './detectors/single-spot-oracle-collateral-valuation';
109
+ export { FallbackDelegatecallReentrancyDetector } from './detectors/fallback-delegatecall-reentrancy';
110
+ export { DelegatecallFallbackReentrancyBypassDetector } from "./detectors/delegatecall-fallback-reentrancy-bypass";
111
+ export { DelegatecallUntrustedImplementationDetector } from './detectors/delegatecall-untrusted-implementation';
112
+ export { LiquidityPoisoningDetector } from './detectors/liquidity-poisoning';
113
+ export { GeneralizedFrontrunningDetector } from './detectors/generalized-frontrunning';
114
+ export { FrontRunningSharedCollateralWriteDetector } from './detectors/front-running-shared-collateral-write';
115
+ export { MissingSwapDeadlineSlippageDetector } from './detectors/missing-swap-deadline-slippage';
116
+ export { UnprotectedDexSwapDetector } from './detectors/unprotected-dex-swap';
117
+ export { DogeFlashloanDetector } from './detectors/doge-flashloan';
118
+ export { PriceDependencyVethDetector } from './detectors/price-dependency-veth';
119
+ export { VulnerablePriceDependencyDetector } from './detectors/vulnerable-price-dependency';
120
+ export { PriceOracleManipulationDetector } from './detectors/price-oracle-manipulation';
121
+ export { InsecureRandomnessDetector } from './detectors/insecure-randomness';
122
+ export { PriceManipulationReentrancyDetector } from './detectors/price-manipulation-reentrancy';
123
+ export { MevSlotManipulationDetector } from './detectors/mev-slot-manipulation';
124
+ export { MevbotInsufficientValidationDetector } from './detectors/mevbot-insufficient-validation';
125
+ export { Erc777TokensToSendReentrancyDetector } from './detectors/erc777-tokens-to-send-reentrancy';
126
+ export { UninitializedImplementationDetector } from './detectors/uninitialized-implementation';
127
+ export { MissingStorageGapDetector } from './detectors/missing-storage-gap';
128
+ export { UnprotectedPairInitializerDetector } from './detectors/unprotected-pair-initializer';
129
+ export { Erc2612PermitFrontrunningDetector } from './detectors/erc2612-permit-frontrunning';
130
+ export { PermitFutureDatedDeadlineDetector } from './detectors/permit-future-dated-deadline';
131
+ export { CheckPermitMissingChainIdDetector } from './detectors/check-permit-missing-chainid';
132
+ export { IncorrectSignatureVerificationDetector } from './detectors/incorrect-signature-verification';
133
+ export { TokenIncorrectSignatureVerificationDetector } from './detectors/token-incorrect-signature-verification';
134
+ export { FheEncryptedInputValidationDetector } from './detectors/fhe-encrypted-input-validation';
135
+ export { ConstructorInterfaceNoAddressValidationDetector } from './detectors/constructor-interface-no-address-validation';
136
+ export { ExploitingAVulnerabilityInCurveFinaDetector } from './detectors/exploiting-a-vulnerability-in-curve-fina';
137
+ export { FheHandleLeakageDetector } from './detectors/fhe-handle-leakage';
138
+ export { FheOzPatternMisuseDetector } from './detectors/fhe-oz-pattern-misuse';
139
+ export { Eip712DomainSeparatorDetector } from './detectors/eip712-domain-separator';
140
+ export { Eip712SignatureVerificationDetector } from './detectors/eip712-signature-verification';
141
+ export { UnvalidatedInterfaceAddressDetector } from './detectors/unvalidated-interface-address';
142
+ export { LackOfValidationDetector } from './detectors/lack-of-validation';
143
+ export { TokenTransferLogicFlawDetector } from './detectors/token-transfer-logic-flaw';
144
+ export { PublicInternalFunctionDetector } from './detectors/public-internal-function';
145
+ export { WrongFunctionVisibilityDetector } from './detectors/wrong-function-visibility';
146
+ export { EIP7702CrossChainReplayDetector } from './detectors/eip7702-cross-chain-replay';
147
+ export { EIP7702DelegatedEoaApprovalRaceDetector } from './detectors/eip7702-delegated-eoa-approval-race';
148
+ export { FarmBusinessLogicFlawLackOfAccessDetector } from './detectors/farm-business-logic-flaw-lack-of-access';
149
+ export { ManipulationOfFundsDetector } from './detectors/manipulation-of-funds';
150
+ export { ArbitraryCallDetector } from './detectors/arbitrary-call';
151
+ export { ParameterAccessControlDetector } from './detectors/parameter-access-control';
152
+ export { ArbitraryDelegatecallTargetDetector } from './detectors/arbitrary-delegatecall-target';
153
+ export { DelegateTransferUnrestrictedCallerDetector } from './detectors/delegate-transfer-unrestricted-caller';
154
+ export { CalldataSecretAccessControlDetector } from './detectors/calldata-secret-access-control';
155
+ export { V2ErrorKValueAttackDetector } from './detectors/v2-error-k-value-attack';
156
+ export { PhishingAttackBybitDetector } from './detectors/phishing-attack-bybit';
157
+ export { Erc1155BatchMissingPerIdApprovalDetector } from './detectors/erc1155-batch-missing-per-id-approval';
158
+ export { Erc6909OperatorScopeDetector } from './detectors/erc6909-operator-scope';
159
+ export { Erc721UncheckedTransferDetector } from './detectors/erc721-unchecked-transfer';
160
+ export { ReentrancyOnSellNftDetector } from './detectors/reentrancy-on-sell-nft';
161
+ export { DenialOfServiceDetector } from './detectors/denial-of-service';
162
+ export { VortexProtocolReentrancyGuardDetector } from './detectors/vortex-protocol-reentrancy-guard';
163
+ export { InheritanceOverrideDetector } from './detectors/inheritance-override';
164
+ export { SolhintUncheckedLowLevelCallDetector } from './detectors/solhint-unchecked-low-level-call';
165
+ export { CrossChainInputValidationDetector } from './detectors/cross-chain-input-validation';
166
+ export { LackOfValidationDataDetector } from './detectors/lack-of-validation-data';
167
+ export { CacheStorageReadsDetector } from './detectors/cache-storage-reads';
168
+ export { ConstructorAddressValidationDetector } from './detectors/constructor-address-validation';
169
+ export { ZksyncEraRollupStateUpdateDetector } from './detectors/zksync-era-rollup-state-update';
170
+ export { MintHardcodedAssetParityDetector } from './detectors/mint-hardcoded-asset-parity';
171
+ export { ForceFedEthStateCorruptionDetector } from './detectors/force-fed-eth-state-corruption';
172
+ export { Erc4337ValidationStorageAccessDetector } from './detectors/erc4337-validation-storage-access';
173
+ export { V2KInvariantBypassDetector } from './detectors/v2-k-invariant-bypass';
174
+ export { AvsSlashingWithoutQuorumCheckDetector } from './detectors/avs-slashing-without-quorum-check';
package/dist/index.js ADDED
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ /**
3
+ * SolAST public API surface — pure re-export shim.
4
+ *
5
+ * Library consumers `import { scan, ScanResult, ... } from 'solast'`
6
+ * and the CLI in `src/cli.ts` is a thin wrapper over this entry point.
7
+ * Implementation lives in:
8
+ *
9
+ * - `src/api.ts` — `ScanResult`, `ScanOptions`, `scan()`
10
+ * - `src/scan.ts` — `scanFiles`, `scanAst`, `discoverFiles`
11
+ * - `src/registry.ts` — `createDefaultDetectorRegistry()`
12
+ * - `src/identity/hashing.ts` — `computeContractHash` / `computeFindingId` / `computeSnippetHash`
13
+ * - `src/detectors/` — every detector class
14
+ *
15
+ * The detector files importing from `'../index'` continue to see
16
+ * `ScanResult` and the helper exports here. External re-exports of
17
+ * detector classes for downstream consumers are also collected below
18
+ * so `import { DetectorClass } from 'solast'` keeps working.
19
+ *
20
+
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.CrossVmReentrancyDetector = exports.FusionV1SettlementArbitraryYulCalldDetector = exports.CrossChainArbitraryCallDetector = exports.SolanaEvmBridgeTruncationDetector = exports.OracleManipulationLiquidityWithdrawalDetector = exports.OracleManipulationAmmSpotPriceDetector = exports.CrossChainMsgTruncationDetector = exports.CrossChainMessageOrderDependencyDetector = exports.CrossContractReentrancyTrustedCalleeDetector = exports.CcipReceiverMissingReplayGuardDetector = exports.ArbitrumCrossChainMessageReplayDetector = exports.CrossChainTruncationDetector = exports.CrossChainMessagingLoopholeDetector = exports.CrossProtocolContagionDetector = exports.BusinessLogicFlawIncorrectRecipientBalanceDetector = exports.BusinessLogicFlawDetector = exports.BytecodeDivergenceRiskDetector = exports.BalancerPauseGuardDetector = exports.BalancerFlashLoanManipulationDetector = exports.BalancerWeightedPoolFlashLoanDetector = exports.OzAccessControlRolesDetector = exports.AccessControlDetector = exports.CrossContractIntegerOverflowDetector = exports.IntegerOverflowDetector = exports.ReentrancyDetector = exports.TaintTracker = exports.ruleTiers = exports.DetectorRegistry = exports.isRequireFunctionCall = exports.collectGuardSignatures = exports.unwrapTuple = exports.expressionSignature = exports.isConstantExpr = exports.classifyTypeName = exports.isArithmeticBinaryOp = exports.ARITH_DIRECTION = exports.COMPOUND_TO_BARE_ARITH = exports.COMPOUND_ARITH_OPERATORS = exports.ARITH_OPERATORS = exports.pragmaAllowsPre080 = exports.resolveStorageLayoutAccess = exports.resolveReturnNames = exports.computeSnippetHash = exports.computeFindingId = exports.computeContractHash = exports.createDefaultDetectorRegistry = exports.discoverFiles = exports.scanAst = exports.scanFiles = exports.scan = void 0;
24
+ exports.DonationShareInflationDetector = exports.LiquidationGainManipulationDetector = exports.VaultInflationRoundingDetector = exports.UnboundedSharePriceCollateralOracleDetector = exports.NetworkUnderflowDetector = exports.GovernanceFlashloanVoteDetector = exports.GovernanceFlashLoanDetector = exports.UnguardedGovernanceExecutionDetector = exports.StorageCollisionMaliciousProposalDetector = exports.MissingSequencerUptimeCheckDetector = exports.ZkSyncSimulationDriftDetector = exports.RollupUnvalidatedStateUpdateDetector = exports.L2WithdrawalValidationDetector = exports.L1ToL2MessageReentrancyDetector = exports.UnsignedValidityWindowDetector = exports.AnalyzingTheUniswapV3ExploitDetector = exports.AnyswapAnytokenPermitAllowanceDrainDetector = exports.AnyswapInsufficientTokenValidationDetector = exports.InfiniteNumberOfLoansDetector = exports.BypassedInsolvencyCheckDetector = exports.BadDebtPropagationDetector = exports.LayerZeroDvnQuorumMissingDetector = exports.InsufficientDvnThresholdDetector = exports.LayerZeroV2UnverifiedOriginDetector = exports.Erc1271StubImplementationDetector = exports.Erc2771ContextSpoofingDetector = exports.IncorrectInputValidationDetector = exports.IncorrectAccessControlDetector = exports.FreeMintBugDetector = exports.DosUnboundedLoopExternalCallRevertDetector = exports.CacheArrayLengthDetector = exports.PairManipulationTransferHookDetector = exports.FeeMechanismExploitationDetector = exports.FeeOnTransferBalanceMismatchDetector = exports.Erc7579ModuleInstallWithoutThresholdDetector = exports.Erc20UncheckedNonStandardReturnDetector = exports.Eip4626VaultReentrancyDetector = exports.Erc4626TotalassetsStubDetector = exports.UncheckedOftReturnDetector = exports.SkyOftGovernanceTruncationDetector = exports.SkyOftGovernancePayloadDetector = exports.Dn404MirrorAccessControlDetector = exports.UncheckedExternalCallUnconditionalStateMutationDetector = exports.UncheckedExternalCallDetector = exports.DeferredStateUpdateDetector = exports.UncheckedCallForwardingDetector = exports.BridgeBusinessLogicFlawIncorrectAccDetector = exports.ArbitraryStorageProofForgeryDetector = exports.BridgeAccountingBypassDetector = exports.ChainCouplingRiskDetector = void 0;
25
+ exports.PhishingAttackBybitDetector = exports.V2ErrorKValueAttackDetector = exports.CalldataSecretAccessControlDetector = exports.DelegateTransferUnrestrictedCallerDetector = exports.ArbitraryDelegatecallTargetDetector = exports.ParameterAccessControlDetector = exports.ArbitraryCallDetector = exports.ManipulationOfFundsDetector = exports.FarmBusinessLogicFlawLackOfAccessDetector = exports.EIP7702DelegatedEoaApprovalRaceDetector = exports.EIP7702CrossChainReplayDetector = exports.WrongFunctionVisibilityDetector = exports.PublicInternalFunctionDetector = exports.TokenTransferLogicFlawDetector = exports.LackOfValidationDetector = exports.UnvalidatedInterfaceAddressDetector = exports.Eip712SignatureVerificationDetector = exports.Eip712DomainSeparatorDetector = exports.FheOzPatternMisuseDetector = exports.FheHandleLeakageDetector = exports.ExploitingAVulnerabilityInCurveFinaDetector = exports.ConstructorInterfaceNoAddressValidationDetector = exports.FheEncryptedInputValidationDetector = exports.TokenIncorrectSignatureVerificationDetector = exports.IncorrectSignatureVerificationDetector = exports.CheckPermitMissingChainIdDetector = exports.PermitFutureDatedDeadlineDetector = exports.Erc2612PermitFrontrunningDetector = exports.UnprotectedPairInitializerDetector = exports.MissingStorageGapDetector = exports.UninitializedImplementationDetector = exports.Erc777TokensToSendReentrancyDetector = exports.MevbotInsufficientValidationDetector = exports.MevSlotManipulationDetector = exports.PriceManipulationReentrancyDetector = exports.InsecureRandomnessDetector = exports.PriceOracleManipulationDetector = exports.VulnerablePriceDependencyDetector = exports.PriceDependencyVethDetector = exports.DogeFlashloanDetector = exports.UnprotectedDexSwapDetector = exports.MissingSwapDeadlineSlippageDetector = exports.FrontRunningSharedCollateralWriteDetector = exports.GeneralizedFrontrunningDetector = exports.LiquidityPoisoningDetector = exports.DelegatecallUntrustedImplementationDetector = exports.DelegatecallFallbackReentrancyBypassDetector = exports.FallbackDelegatecallReentrancyDetector = exports.SingleSpotOracleCollateralValuationDetector = exports.MisconfigurationDetector = void 0;
26
+ exports.AvsSlashingWithoutQuorumCheckDetector = exports.V2KInvariantBypassDetector = exports.Erc4337ValidationStorageAccessDetector = exports.ForceFedEthStateCorruptionDetector = exports.MintHardcodedAssetParityDetector = exports.ZksyncEraRollupStateUpdateDetector = exports.ConstructorAddressValidationDetector = exports.CacheStorageReadsDetector = exports.LackOfValidationDataDetector = exports.CrossChainInputValidationDetector = exports.SolhintUncheckedLowLevelCallDetector = exports.InheritanceOverrideDetector = exports.VortexProtocolReentrancyGuardDetector = exports.DenialOfServiceDetector = exports.ReentrancyOnSellNftDetector = exports.Erc721UncheckedTransferDetector = exports.Erc6909OperatorScopeDetector = exports.Erc1155BatchMissingPerIdApprovalDetector = void 0;
27
+ // Public API: types + scan().
28
+ var api_1 = require("./api");
29
+ Object.defineProperty(exports, "scan", { enumerable: true, get: function () { return api_1.scan; } });
30
+ // Scan orchestration.
31
+ var scan_1 = require("./scan");
32
+ Object.defineProperty(exports, "scanFiles", { enumerable: true, get: function () { return scan_1.scanFiles; } });
33
+ Object.defineProperty(exports, "scanAst", { enumerable: true, get: function () { return scan_1.scanAst; } });
34
+ Object.defineProperty(exports, "discoverFiles", { enumerable: true, get: function () { return scan_1.discoverFiles; } });
35
+ // Default registry.
36
+ var registry_1 = require("./registry");
37
+ Object.defineProperty(exports, "createDefaultDetectorRegistry", { enumerable: true, get: function () { return registry_1.createDefaultDetectorRegistry; } });
38
+ // Hashing primitives.
39
+ var hashing_1 = require("./identity/hashing");
40
+ Object.defineProperty(exports, "computeContractHash", { enumerable: true, get: function () { return hashing_1.computeContractHash; } });
41
+ Object.defineProperty(exports, "computeFindingId", { enumerable: true, get: function () { return hashing_1.computeFindingId; } });
42
+ Object.defineProperty(exports, "computeSnippetHash", { enumerable: true, get: function () { return hashing_1.computeSnippetHash; } });
43
+ var resolve_return_names_1 = require("./ast/resolve-return-names");
44
+ Object.defineProperty(exports, "resolveReturnNames", { enumerable: true, get: function () { return resolve_return_names_1.resolveReturnNames; } });
45
+ var storage_layout_1 = require("./ast/storage-layout");
46
+ Object.defineProperty(exports, "resolveStorageLayoutAccess", { enumerable: true, get: function () { return storage_layout_1.resolveStorageLayoutAccess; } });
47
+ // Integer-overflow detector helpers (used by external detectors via
48
+ // `../index`).
49
+ var integer_overflow_helpers_1 = require("./detectors/_common/integer-overflow-helpers");
50
+ Object.defineProperty(exports, "pragmaAllowsPre080", { enumerable: true, get: function () { return integer_overflow_helpers_1.pragmaAllowsPre080; } });
51
+ Object.defineProperty(exports, "ARITH_OPERATORS", { enumerable: true, get: function () { return integer_overflow_helpers_1.ARITH_OPERATORS; } });
52
+ Object.defineProperty(exports, "COMPOUND_ARITH_OPERATORS", { enumerable: true, get: function () { return integer_overflow_helpers_1.COMPOUND_ARITH_OPERATORS; } });
53
+ Object.defineProperty(exports, "COMPOUND_TO_BARE_ARITH", { enumerable: true, get: function () { return integer_overflow_helpers_1.COMPOUND_TO_BARE_ARITH; } });
54
+ Object.defineProperty(exports, "ARITH_DIRECTION", { enumerable: true, get: function () { return integer_overflow_helpers_1.ARITH_DIRECTION; } });
55
+ Object.defineProperty(exports, "isArithmeticBinaryOp", { enumerable: true, get: function () { return integer_overflow_helpers_1.isArithmeticBinaryOp; } });
56
+ Object.defineProperty(exports, "classifyTypeName", { enumerable: true, get: function () { return integer_overflow_helpers_1.classifyTypeName; } });
57
+ Object.defineProperty(exports, "isConstantExpr", { enumerable: true, get: function () { return integer_overflow_helpers_1.isConstantExpr; } });
58
+ Object.defineProperty(exports, "expressionSignature", { enumerable: true, get: function () { return integer_overflow_helpers_1.expressionSignature; } });
59
+ Object.defineProperty(exports, "unwrapTuple", { enumerable: true, get: function () { return integer_overflow_helpers_1.unwrapTuple; } });
60
+ Object.defineProperty(exports, "collectGuardSignatures", { enumerable: true, get: function () { return integer_overflow_helpers_1.collectGuardSignatures; } });
61
+ Object.defineProperty(exports, "isRequireFunctionCall", { enumerable: true, get: function () { return integer_overflow_helpers_1.isRequireFunctionCall; } });
62
+ // Shared registry / detector contract.
63
+ var registry_engine_1 = require("./detectors/registry-engine");
64
+ Object.defineProperty(exports, "DetectorRegistry", { enumerable: true, get: function () { return registry_engine_1.DetectorRegistry; } });
65
+ var tiers_1 = require("./rules/tiers");
66
+ Object.defineProperty(exports, "ruleTiers", { enumerable: true, get: function () { return tiers_1.ruleTiers; } });
67
+ var taint_tracker_1 = require("./semantic/taint-tracker");
68
+ Object.defineProperty(exports, "TaintTracker", { enumerable: true, get: function () { return taint_tracker_1.TaintTracker; } });
69
+ // Detector classes — public re-exports for downstream consumers.
70
+ // These mirror the surface that existed before the split. Adding a
71
+ // new detector here also requires registering it in `src/registry.ts`.
72
+ var classic_reentrancy_1 = require("./detectors/classic-reentrancy");
73
+ Object.defineProperty(exports, "ReentrancyDetector", { enumerable: true, get: function () { return classic_reentrancy_1.ReentrancyDetector; } });
74
+ var integer_overflow_1 = require("./detectors/integer-overflow");
75
+ Object.defineProperty(exports, "IntegerOverflowDetector", { enumerable: true, get: function () { return integer_overflow_1.IntegerOverflowDetector; } });
76
+ var cross_contract_integer_overflow_1 = require("./detectors/cross-contract-integer-overflow");
77
+ Object.defineProperty(exports, "CrossContractIntegerOverflowDetector", { enumerable: true, get: function () { return cross_contract_integer_overflow_1.CrossContractIntegerOverflowDetector; } });
78
+ var access_control_1 = require("./detectors/access-control");
79
+ Object.defineProperty(exports, "AccessControlDetector", { enumerable: true, get: function () { return access_control_1.AccessControlDetector; } });
80
+ var oz_access_control_roles_1 = require("./detectors/oz-access-control-roles");
81
+ Object.defineProperty(exports, "OzAccessControlRolesDetector", { enumerable: true, get: function () { return oz_access_control_roles_1.OzAccessControlRolesDetector; } });
82
+ var balancer_weighted_pool_flash_loan_1 = require("./detectors/balancer-weighted-pool-flash-loan");
83
+ Object.defineProperty(exports, "BalancerWeightedPoolFlashLoanDetector", { enumerable: true, get: function () { return balancer_weighted_pool_flash_loan_1.BalancerWeightedPoolFlashLoanDetector; } });
84
+ var balancer_flash_loan_manipulation_1 = require("./detectors/balancer-flash-loan-manipulation");
85
+ Object.defineProperty(exports, "BalancerFlashLoanManipulationDetector", { enumerable: true, get: function () { return balancer_flash_loan_manipulation_1.BalancerFlashLoanManipulationDetector; } });
86
+ var balancer_pause_guard_1 = require("./detectors/balancer-pause-guard");
87
+ Object.defineProperty(exports, "BalancerPauseGuardDetector", { enumerable: true, get: function () { return balancer_pause_guard_1.BalancerPauseGuardDetector; } });
88
+ var bytecode_divergence_risk_1 = require("./detectors/bytecode-divergence-risk");
89
+ Object.defineProperty(exports, "BytecodeDivergenceRiskDetector", { enumerable: true, get: function () { return bytecode_divergence_risk_1.BytecodeDivergenceRiskDetector; } });
90
+ var business_logic_flaw_1 = require("./detectors/business-logic-flaw");
91
+ Object.defineProperty(exports, "BusinessLogicFlawDetector", { enumerable: true, get: function () { return business_logic_flaw_1.BusinessLogicFlawDetector; } });
92
+ var business_logic_flaw_incorrect_recipient_balance_1 = require("./detectors/business-logic-flaw-incorrect-recipient-balance");
93
+ Object.defineProperty(exports, "BusinessLogicFlawIncorrectRecipientBalanceDetector", { enumerable: true, get: function () { return business_logic_flaw_incorrect_recipient_balance_1.BusinessLogicFlawIncorrectRecipientBalanceDetector; } });
94
+ var cross_protocol_contagion_1 = require("./detectors/cross-protocol-contagion");
95
+ Object.defineProperty(exports, "CrossProtocolContagionDetector", { enumerable: true, get: function () { return cross_protocol_contagion_1.CrossProtocolContagionDetector; } });
96
+ var cross_chain_messaging_1 = require("./detectors/cross-chain-messaging");
97
+ Object.defineProperty(exports, "CrossChainMessagingLoopholeDetector", { enumerable: true, get: function () { return cross_chain_messaging_1.CrossChainMessagingLoopholeDetector; } });
98
+ var cross_chain_truncation_1 = require("./detectors/cross-chain-truncation");
99
+ Object.defineProperty(exports, "CrossChainTruncationDetector", { enumerable: true, get: function () { return cross_chain_truncation_1.CrossChainTruncationDetector; } });
100
+ var arbitrum_cross_chain_message_replay_1 = require("./detectors/arbitrum-cross-chain-message-replay");
101
+ Object.defineProperty(exports, "ArbitrumCrossChainMessageReplayDetector", { enumerable: true, get: function () { return arbitrum_cross_chain_message_replay_1.ArbitrumCrossChainMessageReplayDetector; } });
102
+ var ccip_receiver_missing_replay_guard_1 = require("./detectors/ccip-receiver-missing-replay-guard");
103
+ Object.defineProperty(exports, "CcipReceiverMissingReplayGuardDetector", { enumerable: true, get: function () { return ccip_receiver_missing_replay_guard_1.CcipReceiverMissingReplayGuardDetector; } });
104
+ var cross_contract_reentrancy_trusted_callee_1 = require("./detectors/cross-contract-reentrancy-trusted-callee");
105
+ Object.defineProperty(exports, "CrossContractReentrancyTrustedCalleeDetector", { enumerable: true, get: function () { return cross_contract_reentrancy_trusted_callee_1.CrossContractReentrancyTrustedCalleeDetector; } });
106
+ var cross_chain_message_order_dependency_1 = require("./detectors/cross-chain-message-order-dependency");
107
+ Object.defineProperty(exports, "CrossChainMessageOrderDependencyDetector", { enumerable: true, get: function () { return cross_chain_message_order_dependency_1.CrossChainMessageOrderDependencyDetector; } });
108
+ var cross_chain_msg_truncation_1 = require("./detectors/cross-chain-msg-truncation");
109
+ Object.defineProperty(exports, "CrossChainMsgTruncationDetector", { enumerable: true, get: function () { return cross_chain_msg_truncation_1.CrossChainMsgTruncationDetector; } });
110
+ var oracle_manipulation_amm_spot_price_1 = require("./detectors/oracle-manipulation-amm-spot-price");
111
+ Object.defineProperty(exports, "OracleManipulationAmmSpotPriceDetector", { enumerable: true, get: function () { return oracle_manipulation_amm_spot_price_1.OracleManipulationAmmSpotPriceDetector; } });
112
+ var oracle_manipulation_liquidity_withdrawal_1 = require("./detectors/oracle-manipulation-liquidity-withdrawal");
113
+ Object.defineProperty(exports, "OracleManipulationLiquidityWithdrawalDetector", { enumerable: true, get: function () { return oracle_manipulation_liquidity_withdrawal_1.OracleManipulationLiquidityWithdrawalDetector; } });
114
+ var solana_evm_bridge_truncation_1 = require("./detectors/solana-evm-bridge-truncation");
115
+ Object.defineProperty(exports, "SolanaEvmBridgeTruncationDetector", { enumerable: true, get: function () { return solana_evm_bridge_truncation_1.SolanaEvmBridgeTruncationDetector; } });
116
+ var cross_chain_arbitrary_call_1 = require("./detectors/cross-chain-arbitrary-call");
117
+ Object.defineProperty(exports, "CrossChainArbitraryCallDetector", { enumerable: true, get: function () { return cross_chain_arbitrary_call_1.CrossChainArbitraryCallDetector; } });
118
+ var fusion_v1_settlement_arbitrary_yul_calld_1 = require("./detectors/fusion-v1-settlement-arbitrary-yul-calld");
119
+ Object.defineProperty(exports, "FusionV1SettlementArbitraryYulCalldDetector", { enumerable: true, get: function () { return fusion_v1_settlement_arbitrary_yul_calld_1.FusionV1SettlementArbitraryYulCalldDetector; } });
120
+ var cross_vm_reentrancy_1 = require("./detectors/cross-vm-reentrancy");
121
+ Object.defineProperty(exports, "CrossVmReentrancyDetector", { enumerable: true, get: function () { return cross_vm_reentrancy_1.CrossVmReentrancyDetector; } });
122
+ var chain_coupling_risk_1 = require("./detectors/chain-coupling-risk");
123
+ Object.defineProperty(exports, "ChainCouplingRiskDetector", { enumerable: true, get: function () { return chain_coupling_risk_1.ChainCouplingRiskDetector; } });
124
+ var bridge_accounting_bypass_1 = require("./detectors/bridge-accounting-bypass");
125
+ Object.defineProperty(exports, "BridgeAccountingBypassDetector", { enumerable: true, get: function () { return bridge_accounting_bypass_1.BridgeAccountingBypassDetector; } });
126
+ var arbitrary_storage_proof_forgery_1 = require("./detectors/arbitrary-storage-proof-forgery");
127
+ Object.defineProperty(exports, "ArbitraryStorageProofForgeryDetector", { enumerable: true, get: function () { return arbitrary_storage_proof_forgery_1.ArbitraryStorageProofForgeryDetector; } });
128
+ var bridge_business_logic_flaw_incorrect_acc_1 = require("./detectors/bridge-business-logic-flaw-incorrect-acc");
129
+ Object.defineProperty(exports, "BridgeBusinessLogicFlawIncorrectAccDetector", { enumerable: true, get: function () { return bridge_business_logic_flaw_incorrect_acc_1.BridgeBusinessLogicFlawIncorrectAccDetector; } });
130
+ var unchecked_call_forwarding_1 = require("./detectors/unchecked-call-forwarding");
131
+ Object.defineProperty(exports, "UncheckedCallForwardingDetector", { enumerable: true, get: function () { return unchecked_call_forwarding_1.UncheckedCallForwardingDetector; } });
132
+ var deferred_state_update_1 = require("./detectors/deferred-state-update");
133
+ Object.defineProperty(exports, "DeferredStateUpdateDetector", { enumerable: true, get: function () { return deferred_state_update_1.DeferredStateUpdateDetector; } });
134
+ var unchecked_external_call_1 = require("./detectors/unchecked-external-call");
135
+ Object.defineProperty(exports, "UncheckedExternalCallDetector", { enumerable: true, get: function () { return unchecked_external_call_1.UncheckedExternalCallDetector; } });
136
+ var unchecked_external_call_unconditional_state_mutation_1 = require("./detectors/unchecked-external-call-unconditional-state-mutation");
137
+ Object.defineProperty(exports, "UncheckedExternalCallUnconditionalStateMutationDetector", { enumerable: true, get: function () { return unchecked_external_call_unconditional_state_mutation_1.UncheckedExternalCallUnconditionalStateMutationDetector; } });
138
+ var dn404_mirror_access_control_1 = require("./detectors/dn404-mirror-access-control");
139
+ Object.defineProperty(exports, "Dn404MirrorAccessControlDetector", { enumerable: true, get: function () { return dn404_mirror_access_control_1.Dn404MirrorAccessControlDetector; } });
140
+ var sky_oft_governance_payload_1 = require("./detectors/sky-oft-governance-payload");
141
+ Object.defineProperty(exports, "SkyOftGovernancePayloadDetector", { enumerable: true, get: function () { return sky_oft_governance_payload_1.SkyOftGovernancePayloadDetector; } });
142
+ var sky_oft_governance_truncation_1 = require("./detectors/sky-oft-governance-truncation");
143
+ Object.defineProperty(exports, "SkyOftGovernanceTruncationDetector", { enumerable: true, get: function () { return sky_oft_governance_truncation_1.SkyOftGovernanceTruncationDetector; } });
144
+ var unchecked_oft_return_1 = require("./detectors/unchecked-oft-return");
145
+ Object.defineProperty(exports, "UncheckedOftReturnDetector", { enumerable: true, get: function () { return unchecked_oft_return_1.UncheckedOftReturnDetector; } });
146
+ var erc4626_totalassets_stub_1 = require("./detectors/erc4626-totalassets-stub");
147
+ Object.defineProperty(exports, "Erc4626TotalassetsStubDetector", { enumerable: true, get: function () { return erc4626_totalassets_stub_1.Erc4626TotalassetsStubDetector; } });
148
+ var eip4626_vault_reentrancy_1 = require("./detectors/eip4626-vault-reentrancy");
149
+ Object.defineProperty(exports, "Eip4626VaultReentrancyDetector", { enumerable: true, get: function () { return eip4626_vault_reentrancy_1.Eip4626VaultReentrancyDetector; } });
150
+ var erc20_unchecked_non_standard_return_1 = require("./detectors/erc20-unchecked-non-standard-return");
151
+ Object.defineProperty(exports, "Erc20UncheckedNonStandardReturnDetector", { enumerable: true, get: function () { return erc20_unchecked_non_standard_return_1.Erc20UncheckedNonStandardReturnDetector; } });
152
+ var erc7579_module_install_without_threshold_1 = require("./detectors/erc7579-module-install-without-threshold");
153
+ Object.defineProperty(exports, "Erc7579ModuleInstallWithoutThresholdDetector", { enumerable: true, get: function () { return erc7579_module_install_without_threshold_1.Erc7579ModuleInstallWithoutThresholdDetector; } });
154
+ var fee_on_transfer_balance_mismatch_1 = require("./detectors/fee-on-transfer-balance-mismatch");
155
+ Object.defineProperty(exports, "FeeOnTransferBalanceMismatchDetector", { enumerable: true, get: function () { return fee_on_transfer_balance_mismatch_1.FeeOnTransferBalanceMismatchDetector; } });
156
+ var fee_mechanism_exploitation_1 = require("./detectors/fee-mechanism-exploitation");
157
+ Object.defineProperty(exports, "FeeMechanismExploitationDetector", { enumerable: true, get: function () { return fee_mechanism_exploitation_1.FeeMechanismExploitationDetector; } });
158
+ var pair_manipulation_transfer_hook_1 = require("./detectors/pair-manipulation-transfer-hook");
159
+ Object.defineProperty(exports, "PairManipulationTransferHookDetector", { enumerable: true, get: function () { return pair_manipulation_transfer_hook_1.PairManipulationTransferHookDetector; } });
160
+ var cache_array_length_1 = require("./detectors/cache-array-length");
161
+ Object.defineProperty(exports, "CacheArrayLengthDetector", { enumerable: true, get: function () { return cache_array_length_1.CacheArrayLengthDetector; } });
162
+ var dos_unbounded_loop_external_call_revert_1 = require("./detectors/dos-unbounded-loop-external-call-revert");
163
+ Object.defineProperty(exports, "DosUnboundedLoopExternalCallRevertDetector", { enumerable: true, get: function () { return dos_unbounded_loop_external_call_revert_1.DosUnboundedLoopExternalCallRevertDetector; } });
164
+ var free_mint_bug_1 = require("./detectors/free-mint-bug");
165
+ Object.defineProperty(exports, "FreeMintBugDetector", { enumerable: true, get: function () { return free_mint_bug_1.FreeMintBugDetector; } });
166
+ var incorrect_access_control_1 = require("./detectors/incorrect-access-control");
167
+ Object.defineProperty(exports, "IncorrectAccessControlDetector", { enumerable: true, get: function () { return incorrect_access_control_1.IncorrectAccessControlDetector; } });
168
+ var incorrect_input_validation_1 = require("./detectors/incorrect-input-validation");
169
+ Object.defineProperty(exports, "IncorrectInputValidationDetector", { enumerable: true, get: function () { return incorrect_input_validation_1.IncorrectInputValidationDetector; } });
170
+ var erc2771_context_spoofing_1 = require("./detectors/erc2771-context-spoofing");
171
+ Object.defineProperty(exports, "Erc2771ContextSpoofingDetector", { enumerable: true, get: function () { return erc2771_context_spoofing_1.Erc2771ContextSpoofingDetector; } });
172
+ var erc1271_stub_implementation_1 = require("./detectors/erc1271-stub-implementation");
173
+ Object.defineProperty(exports, "Erc1271StubImplementationDetector", { enumerable: true, get: function () { return erc1271_stub_implementation_1.Erc1271StubImplementationDetector; } });
174
+ var layerzero_v2_unverified_origin_1 = require("./detectors/layerzero-v2-unverified-origin");
175
+ Object.defineProperty(exports, "LayerZeroV2UnverifiedOriginDetector", { enumerable: true, get: function () { return layerzero_v2_unverified_origin_1.LayerZeroV2UnverifiedOriginDetector; } });
176
+ var insufficient_dvn_threshold_1 = require("./detectors/insufficient-dvn-threshold");
177
+ Object.defineProperty(exports, "InsufficientDvnThresholdDetector", { enumerable: true, get: function () { return insufficient_dvn_threshold_1.InsufficientDvnThresholdDetector; } });
178
+ var layerzero_dvn_quorum_missing_1 = require("./detectors/layerzero-dvn-quorum-missing");
179
+ Object.defineProperty(exports, "LayerZeroDvnQuorumMissingDetector", { enumerable: true, get: function () { return layerzero_dvn_quorum_missing_1.LayerZeroDvnQuorumMissingDetector; } });
180
+ var bad_debt_propagation_1 = require("./detectors/bad-debt-propagation");
181
+ Object.defineProperty(exports, "BadDebtPropagationDetector", { enumerable: true, get: function () { return bad_debt_propagation_1.BadDebtPropagationDetector; } });
182
+ var bypassed_insolvency_check_1 = require("./detectors/bypassed-insolvency-check");
183
+ Object.defineProperty(exports, "BypassedInsolvencyCheckDetector", { enumerable: true, get: function () { return bypassed_insolvency_check_1.BypassedInsolvencyCheckDetector; } });
184
+ var infinite_number_of_loans_1 = require("./detectors/infinite-number-of-loans");
185
+ Object.defineProperty(exports, "InfiniteNumberOfLoansDetector", { enumerable: true, get: function () { return infinite_number_of_loans_1.InfiniteNumberOfLoansDetector; } });
186
+ var anyswap_insufficient_token_validation_1 = require("./detectors/anyswap-insufficient-token-validation");
187
+ Object.defineProperty(exports, "AnyswapInsufficientTokenValidationDetector", { enumerable: true, get: function () { return anyswap_insufficient_token_validation_1.AnyswapInsufficientTokenValidationDetector; } });
188
+ var anyswap_anytoken_permit_allowance_drain_1 = require("./detectors/anyswap-anytoken-permit-allowance-drain");
189
+ Object.defineProperty(exports, "AnyswapAnytokenPermitAllowanceDrainDetector", { enumerable: true, get: function () { return anyswap_anytoken_permit_allowance_drain_1.AnyswapAnytokenPermitAllowanceDrainDetector; } });
190
+ var analyzing_the_uniswap_v3_exploit_1 = require("./detectors/analyzing-the-uniswap-v3-exploit");
191
+ Object.defineProperty(exports, "AnalyzingTheUniswapV3ExploitDetector", { enumerable: true, get: function () { return analyzing_the_uniswap_v3_exploit_1.AnalyzingTheUniswapV3ExploitDetector; } });
192
+ var unsigned_validity_window_1 = require("./detectors/unsigned-validity-window");
193
+ Object.defineProperty(exports, "UnsignedValidityWindowDetector", { enumerable: true, get: function () { return unsigned_validity_window_1.UnsignedValidityWindowDetector; } });
194
+ var l1_to_l2_message_reentrancy_1 = require("./detectors/l1-to-l2-message-reentrancy");
195
+ Object.defineProperty(exports, "L1ToL2MessageReentrancyDetector", { enumerable: true, get: function () { return l1_to_l2_message_reentrancy_1.L1ToL2MessageReentrancyDetector; } });
196
+ var l2_withdrawal_validation_1 = require("./detectors/l2-withdrawal-validation");
197
+ Object.defineProperty(exports, "L2WithdrawalValidationDetector", { enumerable: true, get: function () { return l2_withdrawal_validation_1.L2WithdrawalValidationDetector; } });
198
+ var rollup_unvalidated_state_update_1 = require("./detectors/rollup-unvalidated-state-update");
199
+ Object.defineProperty(exports, "RollupUnvalidatedStateUpdateDetector", { enumerable: true, get: function () { return rollup_unvalidated_state_update_1.RollupUnvalidatedStateUpdateDetector; } });
200
+ var zksync_simulation_drift_1 = require("./detectors/zksync-simulation-drift");
201
+ Object.defineProperty(exports, "ZkSyncSimulationDriftDetector", { enumerable: true, get: function () { return zksync_simulation_drift_1.ZkSyncSimulationDriftDetector; } });
202
+ var missing_sequencer_uptime_check_1 = require("./detectors/missing-sequencer-uptime-check");
203
+ Object.defineProperty(exports, "MissingSequencerUptimeCheckDetector", { enumerable: true, get: function () { return missing_sequencer_uptime_check_1.MissingSequencerUptimeCheckDetector; } });
204
+ var storage_collision_malicious_proposal_1 = require("./detectors/storage-collision-malicious-proposal");
205
+ Object.defineProperty(exports, "StorageCollisionMaliciousProposalDetector", { enumerable: true, get: function () { return storage_collision_malicious_proposal_1.StorageCollisionMaliciousProposalDetector; } });
206
+ var unguarded_governance_execution_1 = require("./detectors/unguarded-governance-execution");
207
+ Object.defineProperty(exports, "UnguardedGovernanceExecutionDetector", { enumerable: true, get: function () { return unguarded_governance_execution_1.UnguardedGovernanceExecutionDetector; } });
208
+ var governance_flash_loan_1 = require("./detectors/governance-flash-loan");
209
+ Object.defineProperty(exports, "GovernanceFlashLoanDetector", { enumerable: true, get: function () { return governance_flash_loan_1.GovernanceFlashLoanDetector; } });
210
+ var governance_flashloan_vote_1 = require("./detectors/governance-flashloan-vote");
211
+ Object.defineProperty(exports, "GovernanceFlashloanVoteDetector", { enumerable: true, get: function () { return governance_flashloan_vote_1.GovernanceFlashloanVoteDetector; } });
212
+ var network_underflow_1 = require("./detectors/network-underflow");
213
+ Object.defineProperty(exports, "NetworkUnderflowDetector", { enumerable: true, get: function () { return network_underflow_1.NetworkUnderflowDetector; } });
214
+ var unbounded_share_price_collateral_oracle_1 = require("./detectors/unbounded-share-price-collateral-oracle");
215
+ Object.defineProperty(exports, "UnboundedSharePriceCollateralOracleDetector", { enumerable: true, get: function () { return unbounded_share_price_collateral_oracle_1.UnboundedSharePriceCollateralOracleDetector; } });
216
+ var vault_inflation_rounding_1 = require("./detectors/vault-inflation-rounding");
217
+ Object.defineProperty(exports, "VaultInflationRoundingDetector", { enumerable: true, get: function () { return vault_inflation_rounding_1.VaultInflationRoundingDetector; } });
218
+ var liquidation_gain_manipulation_1 = require("./detectors/liquidation-gain-manipulation");
219
+ Object.defineProperty(exports, "LiquidationGainManipulationDetector", { enumerable: true, get: function () { return liquidation_gain_manipulation_1.LiquidationGainManipulationDetector; } });
220
+ var donation_share_inflation_1 = require("./detectors/donation-share-inflation");
221
+ Object.defineProperty(exports, "DonationShareInflationDetector", { enumerable: true, get: function () { return donation_share_inflation_1.DonationShareInflationDetector; } });
222
+ var misconfiguration_1 = require("./detectors/misconfiguration");
223
+ Object.defineProperty(exports, "MisconfigurationDetector", { enumerable: true, get: function () { return misconfiguration_1.MisconfigurationDetector; } });
224
+ var single_spot_oracle_collateral_valuation_1 = require("./detectors/single-spot-oracle-collateral-valuation");
225
+ Object.defineProperty(exports, "SingleSpotOracleCollateralValuationDetector", { enumerable: true, get: function () { return single_spot_oracle_collateral_valuation_1.SingleSpotOracleCollateralValuationDetector; } });
226
+ var fallback_delegatecall_reentrancy_1 = require("./detectors/fallback-delegatecall-reentrancy");
227
+ Object.defineProperty(exports, "FallbackDelegatecallReentrancyDetector", { enumerable: true, get: function () { return fallback_delegatecall_reentrancy_1.FallbackDelegatecallReentrancyDetector; } });
228
+ var delegatecall_fallback_reentrancy_bypass_1 = require("./detectors/delegatecall-fallback-reentrancy-bypass");
229
+ Object.defineProperty(exports, "DelegatecallFallbackReentrancyBypassDetector", { enumerable: true, get: function () { return delegatecall_fallback_reentrancy_bypass_1.DelegatecallFallbackReentrancyBypassDetector; } });
230
+ var delegatecall_untrusted_implementation_1 = require("./detectors/delegatecall-untrusted-implementation");
231
+ Object.defineProperty(exports, "DelegatecallUntrustedImplementationDetector", { enumerable: true, get: function () { return delegatecall_untrusted_implementation_1.DelegatecallUntrustedImplementationDetector; } });
232
+ var liquidity_poisoning_1 = require("./detectors/liquidity-poisoning");
233
+ Object.defineProperty(exports, "LiquidityPoisoningDetector", { enumerable: true, get: function () { return liquidity_poisoning_1.LiquidityPoisoningDetector; } });
234
+ var generalized_frontrunning_1 = require("./detectors/generalized-frontrunning");
235
+ Object.defineProperty(exports, "GeneralizedFrontrunningDetector", { enumerable: true, get: function () { return generalized_frontrunning_1.GeneralizedFrontrunningDetector; } });
236
+ var front_running_shared_collateral_write_1 = require("./detectors/front-running-shared-collateral-write");
237
+ Object.defineProperty(exports, "FrontRunningSharedCollateralWriteDetector", { enumerable: true, get: function () { return front_running_shared_collateral_write_1.FrontRunningSharedCollateralWriteDetector; } });
238
+ var missing_swap_deadline_slippage_1 = require("./detectors/missing-swap-deadline-slippage");
239
+ Object.defineProperty(exports, "MissingSwapDeadlineSlippageDetector", { enumerable: true, get: function () { return missing_swap_deadline_slippage_1.MissingSwapDeadlineSlippageDetector; } });
240
+ var unprotected_dex_swap_1 = require("./detectors/unprotected-dex-swap");
241
+ Object.defineProperty(exports, "UnprotectedDexSwapDetector", { enumerable: true, get: function () { return unprotected_dex_swap_1.UnprotectedDexSwapDetector; } });
242
+ var doge_flashloan_1 = require("./detectors/doge-flashloan");
243
+ Object.defineProperty(exports, "DogeFlashloanDetector", { enumerable: true, get: function () { return doge_flashloan_1.DogeFlashloanDetector; } });
244
+ var price_dependency_veth_1 = require("./detectors/price-dependency-veth");
245
+ Object.defineProperty(exports, "PriceDependencyVethDetector", { enumerable: true, get: function () { return price_dependency_veth_1.PriceDependencyVethDetector; } });
246
+ var vulnerable_price_dependency_1 = require("./detectors/vulnerable-price-dependency");
247
+ Object.defineProperty(exports, "VulnerablePriceDependencyDetector", { enumerable: true, get: function () { return vulnerable_price_dependency_1.VulnerablePriceDependencyDetector; } });
248
+ var price_oracle_manipulation_1 = require("./detectors/price-oracle-manipulation");
249
+ Object.defineProperty(exports, "PriceOracleManipulationDetector", { enumerable: true, get: function () { return price_oracle_manipulation_1.PriceOracleManipulationDetector; } });
250
+ var insecure_randomness_1 = require("./detectors/insecure-randomness");
251
+ Object.defineProperty(exports, "InsecureRandomnessDetector", { enumerable: true, get: function () { return insecure_randomness_1.InsecureRandomnessDetector; } });
252
+ var price_manipulation_reentrancy_1 = require("./detectors/price-manipulation-reentrancy");
253
+ Object.defineProperty(exports, "PriceManipulationReentrancyDetector", { enumerable: true, get: function () { return price_manipulation_reentrancy_1.PriceManipulationReentrancyDetector; } });
254
+ var mev_slot_manipulation_1 = require("./detectors/mev-slot-manipulation");
255
+ Object.defineProperty(exports, "MevSlotManipulationDetector", { enumerable: true, get: function () { return mev_slot_manipulation_1.MevSlotManipulationDetector; } });
256
+ var mevbot_insufficient_validation_1 = require("./detectors/mevbot-insufficient-validation");
257
+ Object.defineProperty(exports, "MevbotInsufficientValidationDetector", { enumerable: true, get: function () { return mevbot_insufficient_validation_1.MevbotInsufficientValidationDetector; } });
258
+ var erc777_tokens_to_send_reentrancy_1 = require("./detectors/erc777-tokens-to-send-reentrancy");
259
+ Object.defineProperty(exports, "Erc777TokensToSendReentrancyDetector", { enumerable: true, get: function () { return erc777_tokens_to_send_reentrancy_1.Erc777TokensToSendReentrancyDetector; } });
260
+ var uninitialized_implementation_1 = require("./detectors/uninitialized-implementation");
261
+ Object.defineProperty(exports, "UninitializedImplementationDetector", { enumerable: true, get: function () { return uninitialized_implementation_1.UninitializedImplementationDetector; } });
262
+ var missing_storage_gap_1 = require("./detectors/missing-storage-gap");
263
+ Object.defineProperty(exports, "MissingStorageGapDetector", { enumerable: true, get: function () { return missing_storage_gap_1.MissingStorageGapDetector; } });
264
+ var unprotected_pair_initializer_1 = require("./detectors/unprotected-pair-initializer");
265
+ Object.defineProperty(exports, "UnprotectedPairInitializerDetector", { enumerable: true, get: function () { return unprotected_pair_initializer_1.UnprotectedPairInitializerDetector; } });
266
+ var erc2612_permit_frontrunning_1 = require("./detectors/erc2612-permit-frontrunning");
267
+ Object.defineProperty(exports, "Erc2612PermitFrontrunningDetector", { enumerable: true, get: function () { return erc2612_permit_frontrunning_1.Erc2612PermitFrontrunningDetector; } });
268
+ var permit_future_dated_deadline_1 = require("./detectors/permit-future-dated-deadline");
269
+ Object.defineProperty(exports, "PermitFutureDatedDeadlineDetector", { enumerable: true, get: function () { return permit_future_dated_deadline_1.PermitFutureDatedDeadlineDetector; } });
270
+ var check_permit_missing_chainid_1 = require("./detectors/check-permit-missing-chainid");
271
+ Object.defineProperty(exports, "CheckPermitMissingChainIdDetector", { enumerable: true, get: function () { return check_permit_missing_chainid_1.CheckPermitMissingChainIdDetector; } });
272
+ var incorrect_signature_verification_1 = require("./detectors/incorrect-signature-verification");
273
+ Object.defineProperty(exports, "IncorrectSignatureVerificationDetector", { enumerable: true, get: function () { return incorrect_signature_verification_1.IncorrectSignatureVerificationDetector; } });
274
+ var token_incorrect_signature_verification_1 = require("./detectors/token-incorrect-signature-verification");
275
+ Object.defineProperty(exports, "TokenIncorrectSignatureVerificationDetector", { enumerable: true, get: function () { return token_incorrect_signature_verification_1.TokenIncorrectSignatureVerificationDetector; } });
276
+ var fhe_encrypted_input_validation_1 = require("./detectors/fhe-encrypted-input-validation");
277
+ Object.defineProperty(exports, "FheEncryptedInputValidationDetector", { enumerable: true, get: function () { return fhe_encrypted_input_validation_1.FheEncryptedInputValidationDetector; } });
278
+ var constructor_interface_no_address_validation_1 = require("./detectors/constructor-interface-no-address-validation");
279
+ Object.defineProperty(exports, "ConstructorInterfaceNoAddressValidationDetector", { enumerable: true, get: function () { return constructor_interface_no_address_validation_1.ConstructorInterfaceNoAddressValidationDetector; } });
280
+ var exploiting_a_vulnerability_in_curve_fina_1 = require("./detectors/exploiting-a-vulnerability-in-curve-fina");
281
+ Object.defineProperty(exports, "ExploitingAVulnerabilityInCurveFinaDetector", { enumerable: true, get: function () { return exploiting_a_vulnerability_in_curve_fina_1.ExploitingAVulnerabilityInCurveFinaDetector; } });
282
+ var fhe_handle_leakage_1 = require("./detectors/fhe-handle-leakage");
283
+ Object.defineProperty(exports, "FheHandleLeakageDetector", { enumerable: true, get: function () { return fhe_handle_leakage_1.FheHandleLeakageDetector; } });
284
+ var fhe_oz_pattern_misuse_1 = require("./detectors/fhe-oz-pattern-misuse");
285
+ Object.defineProperty(exports, "FheOzPatternMisuseDetector", { enumerable: true, get: function () { return fhe_oz_pattern_misuse_1.FheOzPatternMisuseDetector; } });
286
+ var eip712_domain_separator_1 = require("./detectors/eip712-domain-separator");
287
+ Object.defineProperty(exports, "Eip712DomainSeparatorDetector", { enumerable: true, get: function () { return eip712_domain_separator_1.Eip712DomainSeparatorDetector; } });
288
+ var eip712_signature_verification_1 = require("./detectors/eip712-signature-verification");
289
+ Object.defineProperty(exports, "Eip712SignatureVerificationDetector", { enumerable: true, get: function () { return eip712_signature_verification_1.Eip712SignatureVerificationDetector; } });
290
+ var unvalidated_interface_address_1 = require("./detectors/unvalidated-interface-address");
291
+ Object.defineProperty(exports, "UnvalidatedInterfaceAddressDetector", { enumerable: true, get: function () { return unvalidated_interface_address_1.UnvalidatedInterfaceAddressDetector; } });
292
+ var lack_of_validation_1 = require("./detectors/lack-of-validation");
293
+ Object.defineProperty(exports, "LackOfValidationDetector", { enumerable: true, get: function () { return lack_of_validation_1.LackOfValidationDetector; } });
294
+ var token_transfer_logic_flaw_1 = require("./detectors/token-transfer-logic-flaw");
295
+ Object.defineProperty(exports, "TokenTransferLogicFlawDetector", { enumerable: true, get: function () { return token_transfer_logic_flaw_1.TokenTransferLogicFlawDetector; } });
296
+ var public_internal_function_1 = require("./detectors/public-internal-function");
297
+ Object.defineProperty(exports, "PublicInternalFunctionDetector", { enumerable: true, get: function () { return public_internal_function_1.PublicInternalFunctionDetector; } });
298
+ var wrong_function_visibility_1 = require("./detectors/wrong-function-visibility");
299
+ Object.defineProperty(exports, "WrongFunctionVisibilityDetector", { enumerable: true, get: function () { return wrong_function_visibility_1.WrongFunctionVisibilityDetector; } });
300
+ var eip7702_cross_chain_replay_1 = require("./detectors/eip7702-cross-chain-replay");
301
+ Object.defineProperty(exports, "EIP7702CrossChainReplayDetector", { enumerable: true, get: function () { return eip7702_cross_chain_replay_1.EIP7702CrossChainReplayDetector; } });
302
+ var eip7702_delegated_eoa_approval_race_1 = require("./detectors/eip7702-delegated-eoa-approval-race");
303
+ Object.defineProperty(exports, "EIP7702DelegatedEoaApprovalRaceDetector", { enumerable: true, get: function () { return eip7702_delegated_eoa_approval_race_1.EIP7702DelegatedEoaApprovalRaceDetector; } });
304
+ var farm_business_logic_flaw_lack_of_access_1 = require("./detectors/farm-business-logic-flaw-lack-of-access");
305
+ Object.defineProperty(exports, "FarmBusinessLogicFlawLackOfAccessDetector", { enumerable: true, get: function () { return farm_business_logic_flaw_lack_of_access_1.FarmBusinessLogicFlawLackOfAccessDetector; } });
306
+ var manipulation_of_funds_1 = require("./detectors/manipulation-of-funds");
307
+ Object.defineProperty(exports, "ManipulationOfFundsDetector", { enumerable: true, get: function () { return manipulation_of_funds_1.ManipulationOfFundsDetector; } });
308
+ var arbitrary_call_1 = require("./detectors/arbitrary-call");
309
+ Object.defineProperty(exports, "ArbitraryCallDetector", { enumerable: true, get: function () { return arbitrary_call_1.ArbitraryCallDetector; } });
310
+ var parameter_access_control_1 = require("./detectors/parameter-access-control");
311
+ Object.defineProperty(exports, "ParameterAccessControlDetector", { enumerable: true, get: function () { return parameter_access_control_1.ParameterAccessControlDetector; } });
312
+ var arbitrary_delegatecall_target_1 = require("./detectors/arbitrary-delegatecall-target");
313
+ Object.defineProperty(exports, "ArbitraryDelegatecallTargetDetector", { enumerable: true, get: function () { return arbitrary_delegatecall_target_1.ArbitraryDelegatecallTargetDetector; } });
314
+ var delegate_transfer_unrestricted_caller_1 = require("./detectors/delegate-transfer-unrestricted-caller");
315
+ Object.defineProperty(exports, "DelegateTransferUnrestrictedCallerDetector", { enumerable: true, get: function () { return delegate_transfer_unrestricted_caller_1.DelegateTransferUnrestrictedCallerDetector; } });
316
+ var calldata_secret_access_control_1 = require("./detectors/calldata-secret-access-control");
317
+ Object.defineProperty(exports, "CalldataSecretAccessControlDetector", { enumerable: true, get: function () { return calldata_secret_access_control_1.CalldataSecretAccessControlDetector; } });
318
+ var v2_error_k_value_attack_1 = require("./detectors/v2-error-k-value-attack");
319
+ Object.defineProperty(exports, "V2ErrorKValueAttackDetector", { enumerable: true, get: function () { return v2_error_k_value_attack_1.V2ErrorKValueAttackDetector; } });
320
+ var phishing_attack_bybit_1 = require("./detectors/phishing-attack-bybit");
321
+ Object.defineProperty(exports, "PhishingAttackBybitDetector", { enumerable: true, get: function () { return phishing_attack_bybit_1.PhishingAttackBybitDetector; } });
322
+ var erc1155_batch_missing_per_id_approval_1 = require("./detectors/erc1155-batch-missing-per-id-approval");
323
+ Object.defineProperty(exports, "Erc1155BatchMissingPerIdApprovalDetector", { enumerable: true, get: function () { return erc1155_batch_missing_per_id_approval_1.Erc1155BatchMissingPerIdApprovalDetector; } });
324
+ var erc6909_operator_scope_1 = require("./detectors/erc6909-operator-scope");
325
+ Object.defineProperty(exports, "Erc6909OperatorScopeDetector", { enumerable: true, get: function () { return erc6909_operator_scope_1.Erc6909OperatorScopeDetector; } });
326
+ var erc721_unchecked_transfer_1 = require("./detectors/erc721-unchecked-transfer");
327
+ Object.defineProperty(exports, "Erc721UncheckedTransferDetector", { enumerable: true, get: function () { return erc721_unchecked_transfer_1.Erc721UncheckedTransferDetector; } });
328
+ var reentrancy_on_sell_nft_1 = require("./detectors/reentrancy-on-sell-nft");
329
+ Object.defineProperty(exports, "ReentrancyOnSellNftDetector", { enumerable: true, get: function () { return reentrancy_on_sell_nft_1.ReentrancyOnSellNftDetector; } });
330
+ var denial_of_service_1 = require("./detectors/denial-of-service");
331
+ Object.defineProperty(exports, "DenialOfServiceDetector", { enumerable: true, get: function () { return denial_of_service_1.DenialOfServiceDetector; } });
332
+ var vortex_protocol_reentrancy_guard_1 = require("./detectors/vortex-protocol-reentrancy-guard");
333
+ Object.defineProperty(exports, "VortexProtocolReentrancyGuardDetector", { enumerable: true, get: function () { return vortex_protocol_reentrancy_guard_1.VortexProtocolReentrancyGuardDetector; } });
334
+ var inheritance_override_1 = require("./detectors/inheritance-override");
335
+ Object.defineProperty(exports, "InheritanceOverrideDetector", { enumerable: true, get: function () { return inheritance_override_1.InheritanceOverrideDetector; } });
336
+ var solhint_unchecked_low_level_call_1 = require("./detectors/solhint-unchecked-low-level-call");
337
+ Object.defineProperty(exports, "SolhintUncheckedLowLevelCallDetector", { enumerable: true, get: function () { return solhint_unchecked_low_level_call_1.SolhintUncheckedLowLevelCallDetector; } });
338
+ var cross_chain_input_validation_1 = require("./detectors/cross-chain-input-validation");
339
+ Object.defineProperty(exports, "CrossChainInputValidationDetector", { enumerable: true, get: function () { return cross_chain_input_validation_1.CrossChainInputValidationDetector; } });
340
+ var lack_of_validation_data_1 = require("./detectors/lack-of-validation-data");
341
+ Object.defineProperty(exports, "LackOfValidationDataDetector", { enumerable: true, get: function () { return lack_of_validation_data_1.LackOfValidationDataDetector; } });
342
+ var cache_storage_reads_1 = require("./detectors/cache-storage-reads");
343
+ Object.defineProperty(exports, "CacheStorageReadsDetector", { enumerable: true, get: function () { return cache_storage_reads_1.CacheStorageReadsDetector; } });
344
+ var constructor_address_validation_1 = require("./detectors/constructor-address-validation");
345
+ Object.defineProperty(exports, "ConstructorAddressValidationDetector", { enumerable: true, get: function () { return constructor_address_validation_1.ConstructorAddressValidationDetector; } });
346
+ var zksync_era_rollup_state_update_1 = require("./detectors/zksync-era-rollup-state-update");
347
+ Object.defineProperty(exports, "ZksyncEraRollupStateUpdateDetector", { enumerable: true, get: function () { return zksync_era_rollup_state_update_1.ZksyncEraRollupStateUpdateDetector; } });
348
+ var mint_hardcoded_asset_parity_1 = require("./detectors/mint-hardcoded-asset-parity");
349
+ Object.defineProperty(exports, "MintHardcodedAssetParityDetector", { enumerable: true, get: function () { return mint_hardcoded_asset_parity_1.MintHardcodedAssetParityDetector; } });
350
+ var force_fed_eth_state_corruption_1 = require("./detectors/force-fed-eth-state-corruption");
351
+ Object.defineProperty(exports, "ForceFedEthStateCorruptionDetector", { enumerable: true, get: function () { return force_fed_eth_state_corruption_1.ForceFedEthStateCorruptionDetector; } });
352
+ var erc4337_validation_storage_access_1 = require("./detectors/erc4337-validation-storage-access");
353
+ Object.defineProperty(exports, "Erc4337ValidationStorageAccessDetector", { enumerable: true, get: function () { return erc4337_validation_storage_access_1.Erc4337ValidationStorageAccessDetector; } });
354
+ var v2_k_invariant_bypass_1 = require("./detectors/v2-k-invariant-bypass");
355
+ Object.defineProperty(exports, "V2KInvariantBypassDetector", { enumerable: true, get: function () { return v2_k_invariant_bypass_1.V2KInvariantBypassDetector; } });
356
+ var avs_slashing_without_quorum_check_1 = require("./detectors/avs-slashing-without-quorum-check");
357
+ Object.defineProperty(exports, "AvsSlashingWithoutQuorumCheckDetector", { enumerable: true, get: function () { return avs_slashing_without_quorum_check_1.AvsSlashingWithoutQuorumCheckDetector; } });
358
+ //# sourceMappingURL=index.js.map