dequanto 0.2.37 → 0.2.40

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 (484) hide show
  1. package/hardhat.config.js +10 -1
  2. package/lib/cjs/abi/$abiCoder.js +1 -1
  3. package/lib/cjs/abi/$abiCoder.js.map +1 -1
  4. package/lib/cjs/abi/Logger.js +1 -1
  5. package/lib/cjs/abi/abi-coder-packed.js +3 -3
  6. package/lib/cjs/abi/abi-coder.js +16 -16
  7. package/lib/cjs/abi/coders/abstract-coder.js +31 -31
  8. package/lib/cjs/abi/coders/abstract-coder.js.map +1 -1
  9. package/lib/cjs/abi/fragments.js +90 -90
  10. package/lib/cjs/abi/fragments.js.map +1 -1
  11. package/lib/cjs/blocks/BlockDateResolver.js +9 -9
  12. package/lib/cjs/blocks/BlockDateResolver.js.map +1 -1
  13. package/lib/cjs/class/PackedRanges.js +46 -46
  14. package/lib/cjs/class/PackedRanges.js.map +1 -1
  15. package/lib/cjs/clients/ClientEventsStream.js +1 -1
  16. package/lib/cjs/clients/ClientEventsStream.js.map +1 -1
  17. package/lib/cjs/clients/ClientPool.js +23 -23
  18. package/lib/cjs/clients/ClientPool.js.map +1 -1
  19. package/lib/cjs/clients/WalletClient.js +3 -3
  20. package/lib/cjs/clients/WalletClient.js.map +1 -1
  21. package/lib/cjs/clients/Web3Client.js +14 -14
  22. package/lib/cjs/clients/Web3Client.js.map +1 -1
  23. package/lib/cjs/clients/Web3ClientFactory.js +1 -1
  24. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  25. package/lib/cjs/clients/compatibility/Web3.js +2 -2
  26. package/lib/cjs/clients/compatibility/Web3.js.map +1 -1
  27. package/lib/cjs/clients/handlers/RateLimitGuard.js +16 -16
  28. package/lib/cjs/clients/handlers/RateLimitGuard.js.map +1 -1
  29. package/lib/cjs/clients/model/PromiEventWrap.js +1 -1
  30. package/lib/cjs/clients/model/PromiEventWrap.js.map +1 -1
  31. package/lib/cjs/clients/utils/$web3Abi.js +2 -2
  32. package/lib/cjs/clients/utils/$web3Abi.js.map +1 -1
  33. package/lib/cjs/clients/utils/ClientErrorUtil.js +4 -0
  34. package/lib/cjs/clients/utils/ClientErrorUtil.js.map +1 -1
  35. package/lib/cjs/config/Config.js.map +1 -1
  36. package/lib/cjs/contracts/Contract.js +1 -1
  37. package/lib/cjs/contracts/Contract.js.map +1 -1
  38. package/lib/cjs/contracts/ContractAbiProvider.js +6 -6
  39. package/lib/cjs/contracts/ContractAbiProvider.js.map +1 -1
  40. package/lib/cjs/contracts/ContractBase.js +10 -10
  41. package/lib/cjs/contracts/ContractBase.js.map +1 -1
  42. package/lib/cjs/contracts/ContractProvider.js +1 -1
  43. package/lib/cjs/contracts/ContractProvider.js.map +1 -1
  44. package/lib/cjs/contracts/ContractReader.js +5 -5
  45. package/lib/cjs/contracts/ContractReader.js.map +1 -1
  46. package/lib/cjs/contracts/ContractWriter.js +4 -4
  47. package/lib/cjs/contracts/ContractWriter.js.map +1 -1
  48. package/lib/cjs/contracts/deploy/ContractDeployer.js +4 -4
  49. package/lib/cjs/contracts/deploy/ContractDeployer.js.map +1 -1
  50. package/lib/cjs/contracts/deploy/Deployments.js +68 -26
  51. package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
  52. package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js +13 -13
  53. package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
  54. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js +58 -25
  55. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  56. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +15 -14
  57. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  58. package/lib/cjs/contracts/utils/AbiDeserializer.js +4 -4
  59. package/lib/cjs/contracts/utils/AbiDeserializer.js.map +1 -1
  60. package/lib/cjs/contracts/utils/ContractBaseUtils.js +3 -3
  61. package/lib/cjs/contracts/utils/ContractBaseUtils.js.map +1 -1
  62. package/lib/cjs/evm/OpcodesWalker.js +1 -1
  63. package/lib/cjs/evm/OpcodesWalker.js.map +1 -1
  64. package/lib/cjs/explorer/BlockchainExplorer.js +1 -1
  65. package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
  66. package/lib/cjs/explorer/BlockchainExplorerFactory.js +1 -1
  67. package/lib/cjs/explorer/BlockchainExplorerStorage.js +12 -12
  68. package/lib/cjs/explorer/BlockchainExplorerStorage.js.map +1 -1
  69. package/lib/cjs/explorer/Evmscan.js +1 -1
  70. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +7 -7
  71. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  72. package/lib/cjs/flashbots/FlashbotWeb3Client.js +1 -1
  73. package/lib/cjs/flashbots/FlashbotWeb3Client.js.map +1 -1
  74. package/lib/cjs/gen/Generator.js +15 -0
  75. package/lib/cjs/gen/Generator.js.map +1 -1
  76. package/lib/cjs/hardhat/HardhatProvider.js +7 -7
  77. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  78. package/lib/cjs/indexer/BlocksTxIndexer.js +2 -2
  79. package/lib/cjs/indexer/BlocksTxIndexer.js.map +1 -1
  80. package/lib/cjs/indexer/EventsIndexer.js +11 -11
  81. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  82. package/lib/cjs/indexer/PendingTxIndexer.js +2 -2
  83. package/lib/cjs/indexer/PendingTxIndexer.js.map +1 -1
  84. package/lib/cjs/indexer/handlers/BlocksWalker.js +9 -9
  85. package/lib/cjs/indexer/handlers/BlocksWalker.js.map +1 -1
  86. package/lib/cjs/indexer/handlers/TxQueueLoader.js +1 -1
  87. package/lib/cjs/indexer/storage/FsEventsIndexerStore.js +3 -3
  88. package/lib/cjs/indexer/storage/FsEventsIndexerStore.js.map +1 -1
  89. package/lib/cjs/indexer/storage/FsEventsStoreUtils.js +1 -1
  90. package/lib/cjs/indexer/storage/FsEventsStoreUtils.js.map +1 -1
  91. package/lib/cjs/json/JsonArrayMultiStore.js +1 -1
  92. package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
  93. package/lib/cjs/json/JsonStoreFs.js +1 -1
  94. package/lib/cjs/json/JsonStoreFs.js.map +1 -1
  95. package/lib/cjs/rpc/$rpc.js +2 -2
  96. package/lib/cjs/rpc/$rpc.js.map +1 -1
  97. package/lib/cjs/rpc/Rpc.js +2 -2
  98. package/lib/cjs/rpc/RpcBase.js +2 -2
  99. package/lib/cjs/rpc/RpcBase.js.map +1 -1
  100. package/lib/cjs/rpc/RpcContract.js +4 -3
  101. package/lib/cjs/rpc/RpcContract.js.map +1 -1
  102. package/lib/cjs/rpc/RpcSubscription.js +1 -1
  103. package/lib/cjs/rpc/RpcSubscription.js.map +1 -1
  104. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js +4 -4
  105. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  106. package/lib/cjs/rpc/transports/compatibility/Web3Transport.js +1 -1
  107. package/lib/cjs/rpc/transports/compatibility/Web3Transport.js.map +1 -1
  108. package/lib/cjs/services/TimelockService/TimelockService.js +2 -2
  109. package/lib/cjs/services/TimelockService/TimelockServiceFallbackSafe.js +2 -2
  110. package/lib/cjs/solidity/SlotsDump.js +1 -1
  111. package/lib/cjs/solidity/SlotsDump.js.map +1 -1
  112. package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js +3 -3
  113. package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
  114. package/lib/cjs/solidity/SlotsParser/SourceFile.js +3 -3
  115. package/lib/cjs/solidity/SlotsParser/SourceFile.js.map +1 -1
  116. package/lib/cjs/solidity/SolidityParser.js +1 -1
  117. package/lib/cjs/solidity/SolidityParser.js.map +1 -1
  118. package/lib/cjs/solidity/SourceCodeProvider.js +1 -1
  119. package/lib/cjs/solidity/SourceCodeProvider.js.map +1 -1
  120. package/lib/cjs/solidity/storage/Accessor.js +1 -1
  121. package/lib/cjs/solidity/storage/Accessor.js.map +1 -1
  122. package/lib/cjs/solidity/storage/SlotFixedArray.js +1 -1
  123. package/lib/cjs/solidity/storage/SlotFixedArray.js.map +1 -1
  124. package/lib/cjs/solidity/storage/SlotsStorageTransport.js +3 -3
  125. package/lib/cjs/solidity/storage/SlotsStorageTransport.js.map +1 -1
  126. package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js +1 -1
  127. package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
  128. package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js +1 -1
  129. package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
  130. package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js +1 -1
  131. package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
  132. package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js +1 -1
  133. package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
  134. package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js +1 -1
  135. package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
  136. package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js +4 -4
  137. package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
  138. package/lib/cjs/tokens/TokenDataProvider.js +2 -2
  139. package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
  140. package/lib/cjs/tokens/TokenExchangeService.js +1 -1
  141. package/lib/cjs/tokens/TokenExchangeService.js.map +1 -1
  142. package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js +2 -2
  143. package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
  144. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +2 -2
  145. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  146. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js +2 -2
  147. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  148. package/lib/cjs/tokens/TokenTransferService.js +2 -2
  149. package/lib/cjs/tokens/TokenTransferService.js.map +1 -1
  150. package/lib/cjs/tokens/TokensService.js +1 -1
  151. package/lib/cjs/tokens/TokensService.js.map +1 -1
  152. package/lib/cjs/txs/TxNonceManager.js +1 -1
  153. package/lib/cjs/txs/TxWriter.js +9 -0
  154. package/lib/cjs/txs/TxWriter.js.map +1 -1
  155. package/lib/cjs/txs/conditional/GasWatcherTx.js +1 -1
  156. package/lib/cjs/txs/conditional/GasWatcherTx.js.map +1 -1
  157. package/lib/cjs/txs/receipt/TxLogParser.js +1 -1
  158. package/lib/cjs/utils/$crypto.js +1 -1
  159. package/lib/cjs/utils/$crypto.js.map +1 -1
  160. package/lib/cjs/utils/$date.js +1 -1
  161. package/lib/cjs/utils/$date.js.map +1 -1
  162. package/lib/cjs/utils/$hex.js +1 -1
  163. package/lib/cjs/utils/$logger.js +1 -1
  164. package/lib/cjs/utils/$logger.js.map +1 -1
  165. package/lib/cjs/utils/$machine.js +2 -2
  166. package/lib/cjs/utils/$machine.js.map +1 -1
  167. package/lib/cjs/utils/$traces.js +1 -1
  168. package/lib/cjs/utils/$traces.js.map +1 -1
  169. package/lib/esm/abi/$abiCoder.js.map +1 -1
  170. package/lib/esm/abi/$abiCoder.mjs +1 -1
  171. package/lib/esm/abi/Logger.mjs +1 -1
  172. package/lib/esm/abi/abi-coder-packed.mjs +3 -3
  173. package/lib/esm/abi/abi-coder.mjs +16 -16
  174. package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
  175. package/lib/esm/abi/coders/abstract-coder.mjs +31 -31
  176. package/lib/esm/abi/fragments.js.map +1 -1
  177. package/lib/esm/abi/fragments.mjs +90 -90
  178. package/lib/esm/blocks/BlockDateResolver.js.map +1 -1
  179. package/lib/esm/blocks/BlockDateResolver.mjs +9 -9
  180. package/lib/esm/class/PackedRanges.js.map +1 -1
  181. package/lib/esm/class/PackedRanges.mjs +46 -46
  182. package/lib/esm/clients/ClientEventsStream.js.map +1 -1
  183. package/lib/esm/clients/ClientEventsStream.mjs +1 -1
  184. package/lib/esm/clients/ClientPool.js.map +1 -1
  185. package/lib/esm/clients/ClientPool.mjs +23 -23
  186. package/lib/esm/clients/WalletClient.js.map +1 -1
  187. package/lib/esm/clients/WalletClient.mjs +3 -3
  188. package/lib/esm/clients/Web3Client.js.map +1 -1
  189. package/lib/esm/clients/Web3Client.mjs +14 -14
  190. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  191. package/lib/esm/clients/Web3ClientFactory.mjs +1 -1
  192. package/lib/esm/clients/compatibility/Web3.js.map +1 -1
  193. package/lib/esm/clients/compatibility/Web3.mjs +2 -2
  194. package/lib/esm/clients/handlers/RateLimitGuard.js.map +1 -1
  195. package/lib/esm/clients/handlers/RateLimitGuard.mjs +16 -16
  196. package/lib/esm/clients/model/PromiEventWrap.js.map +1 -1
  197. package/lib/esm/clients/model/PromiEventWrap.mjs +1 -1
  198. package/lib/esm/clients/utils/$web3Abi.js.map +1 -1
  199. package/lib/esm/clients/utils/$web3Abi.mjs +2 -2
  200. package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
  201. package/lib/esm/clients/utils/ClientErrorUtil.mjs +4 -0
  202. package/lib/esm/config/Config.js.map +1 -1
  203. package/lib/esm/contracts/Contract.js.map +1 -1
  204. package/lib/esm/contracts/Contract.mjs +1 -1
  205. package/lib/esm/contracts/ContractAbiProvider.js.map +1 -1
  206. package/lib/esm/contracts/ContractAbiProvider.mjs +6 -6
  207. package/lib/esm/contracts/ContractBase.js.map +1 -1
  208. package/lib/esm/contracts/ContractBase.mjs +10 -10
  209. package/lib/esm/contracts/ContractProvider.js.map +1 -1
  210. package/lib/esm/contracts/ContractProvider.mjs +1 -1
  211. package/lib/esm/contracts/ContractReader.js.map +1 -1
  212. package/lib/esm/contracts/ContractReader.mjs +5 -5
  213. package/lib/esm/contracts/ContractWriter.js.map +1 -1
  214. package/lib/esm/contracts/ContractWriter.mjs +4 -4
  215. package/lib/esm/contracts/deploy/ContractDeployer.js.map +1 -1
  216. package/lib/esm/contracts/deploy/ContractDeployer.mjs +4 -4
  217. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  218. package/lib/esm/contracts/deploy/Deployments.mjs +68 -26
  219. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
  220. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.mjs +13 -13
  221. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  222. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +58 -25
  223. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  224. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +15 -14
  225. package/lib/esm/contracts/utils/AbiDeserializer.js.map +1 -1
  226. package/lib/esm/contracts/utils/AbiDeserializer.mjs +4 -4
  227. package/lib/esm/contracts/utils/ContractBaseUtils.js.map +1 -1
  228. package/lib/esm/contracts/utils/ContractBaseUtils.mjs +3 -3
  229. package/lib/esm/evm/OpcodesWalker.js.map +1 -1
  230. package/lib/esm/evm/OpcodesWalker.mjs +1 -1
  231. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
  232. package/lib/esm/explorer/BlockchainExplorer.mjs +1 -1
  233. package/lib/esm/explorer/BlockchainExplorerFactory.mjs +1 -1
  234. package/lib/esm/explorer/BlockchainExplorerStorage.js.map +1 -1
  235. package/lib/esm/explorer/BlockchainExplorerStorage.mjs +12 -12
  236. package/lib/esm/explorer/Evmscan.mjs +1 -1
  237. package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  238. package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +7 -7
  239. package/lib/esm/flashbots/FlashbotWeb3Client.js.map +1 -1
  240. package/lib/esm/flashbots/FlashbotWeb3Client.mjs +1 -1
  241. package/lib/esm/gen/Generator.js.map +1 -1
  242. package/lib/esm/gen/Generator.mjs +15 -0
  243. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  244. package/lib/esm/hardhat/HardhatProvider.mjs +7 -7
  245. package/lib/esm/indexer/BlocksTxIndexer.js.map +1 -1
  246. package/lib/esm/indexer/BlocksTxIndexer.mjs +2 -2
  247. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  248. package/lib/esm/indexer/EventsIndexer.mjs +11 -11
  249. package/lib/esm/indexer/PendingTxIndexer.js.map +1 -1
  250. package/lib/esm/indexer/PendingTxIndexer.mjs +2 -2
  251. package/lib/esm/indexer/handlers/BlocksWalker.js.map +1 -1
  252. package/lib/esm/indexer/handlers/BlocksWalker.mjs +9 -9
  253. package/lib/esm/indexer/handlers/TxQueueLoader.mjs +1 -1
  254. package/lib/esm/indexer/storage/FsEventsIndexerStore.js.map +1 -1
  255. package/lib/esm/indexer/storage/FsEventsIndexerStore.mjs +3 -3
  256. package/lib/esm/indexer/storage/FsEventsStoreUtils.js.map +1 -1
  257. package/lib/esm/indexer/storage/FsEventsStoreUtils.mjs +1 -1
  258. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  259. package/lib/esm/json/JsonArrayMultiStore.mjs +1 -1
  260. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  261. package/lib/esm/json/JsonStoreFs.mjs +1 -1
  262. package/lib/esm/rpc/$rpc.js.map +1 -1
  263. package/lib/esm/rpc/$rpc.mjs +2 -2
  264. package/lib/esm/rpc/Rpc.mjs +2 -2
  265. package/lib/esm/rpc/RpcBase.js.map +1 -1
  266. package/lib/esm/rpc/RpcBase.mjs +2 -2
  267. package/lib/esm/rpc/RpcContract.js.map +1 -1
  268. package/lib/esm/rpc/RpcContract.mjs +4 -3
  269. package/lib/esm/rpc/RpcSubscription.js.map +1 -1
  270. package/lib/esm/rpc/RpcSubscription.mjs +1 -1
  271. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  272. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +4 -4
  273. package/lib/esm/rpc/transports/compatibility/Web3Transport.js.map +1 -1
  274. package/lib/esm/rpc/transports/compatibility/Web3Transport.mjs +1 -1
  275. package/lib/esm/services/TimelockService/TimelockService.mjs +2 -2
  276. package/lib/esm/services/TimelockService/TimelockServiceFallbackSafe.mjs +2 -2
  277. package/lib/esm/solidity/SlotsDump.js.map +1 -1
  278. package/lib/esm/solidity/SlotsDump.mjs +1 -1
  279. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
  280. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.mjs +3 -3
  281. package/lib/esm/solidity/SlotsParser/SourceFile.js.map +1 -1
  282. package/lib/esm/solidity/SlotsParser/SourceFile.mjs +3 -3
  283. package/lib/esm/solidity/SolidityParser.js.map +1 -1
  284. package/lib/esm/solidity/SolidityParser.mjs +1 -1
  285. package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
  286. package/lib/esm/solidity/SourceCodeProvider.mjs +1 -1
  287. package/lib/esm/solidity/storage/Accessor.js.map +1 -1
  288. package/lib/esm/solidity/storage/Accessor.mjs +1 -1
  289. package/lib/esm/solidity/storage/SlotFixedArray.js.map +1 -1
  290. package/lib/esm/solidity/storage/SlotFixedArray.mjs +1 -1
  291. package/lib/esm/solidity/storage/SlotsStorageTransport.js.map +1 -1
  292. package/lib/esm/solidity/storage/SlotsStorageTransport.mjs +3 -3
  293. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
  294. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.mjs +1 -1
  295. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
  296. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.mjs +1 -1
  297. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
  298. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.mjs +1 -1
  299. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
  300. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.mjs +1 -1
  301. package/lib/esm/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
  302. package/lib/esm/solidity/storage/handlers/SlotValueHandler.mjs +1 -1
  303. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
  304. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.mjs +4 -4
  305. package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
  306. package/lib/esm/tokens/TokenDataProvider.mjs +2 -2
  307. package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
  308. package/lib/esm/tokens/TokenExchangeService.mjs +1 -1
  309. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
  310. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
  311. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  312. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +2 -2
  313. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  314. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +2 -2
  315. package/lib/esm/tokens/TokenTransferService.js.map +1 -1
  316. package/lib/esm/tokens/TokenTransferService.mjs +2 -2
  317. package/lib/esm/tokens/TokensService.js.map +1 -1
  318. package/lib/esm/tokens/TokensService.mjs +1 -1
  319. package/lib/esm/txs/TxNonceManager.mjs +1 -1
  320. package/lib/esm/txs/TxWriter.js.map +1 -1
  321. package/lib/esm/txs/TxWriter.mjs +9 -0
  322. package/lib/esm/txs/conditional/GasWatcherTx.js.map +1 -1
  323. package/lib/esm/txs/conditional/GasWatcherTx.mjs +1 -1
  324. package/lib/esm/txs/receipt/TxLogParser.mjs +1 -1
  325. package/lib/esm/utils/$crypto.js.map +1 -1
  326. package/lib/esm/utils/$crypto.mjs +1 -1
  327. package/lib/esm/utils/$date.js.map +1 -1
  328. package/lib/esm/utils/$date.mjs +1 -1
  329. package/lib/esm/utils/$hex.mjs +1 -1
  330. package/lib/esm/utils/$logger.js.map +1 -1
  331. package/lib/esm/utils/$logger.mjs +1 -1
  332. package/lib/esm/utils/$machine.js.map +1 -1
  333. package/lib/esm/utils/$machine.mjs +2 -2
  334. package/lib/esm/utils/$traces.js.map +1 -1
  335. package/lib/esm/utils/$traces.mjs +1 -1
  336. package/lib/types/abi/abi-coder-packed.d.ts +1 -1
  337. package/lib/types/abi/abi-coder.d.ts +13 -13
  338. package/lib/types/abi/coders/abstract-coder.d.ts +14 -14
  339. package/lib/types/abi/fragments.d.ts +95 -95
  340. package/lib/types/blocks/BlockDateResolver.d.ts +7 -7
  341. package/lib/types/class/PackedRanges.d.ts +44 -44
  342. package/lib/types/clients/ClientPool.d.ts +10 -10
  343. package/lib/types/clients/WalletClient.d.ts +2 -2
  344. package/lib/types/clients/Web3Client.d.ts +6 -6
  345. package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
  346. package/lib/types/clients/handlers/RateLimitGuard.d.ts +5 -5
  347. package/lib/types/clients/model/PromiEventWrap.d.ts +1 -1
  348. package/lib/types/clients/utils/$web3Abi.d.ts +1 -1
  349. package/lib/types/clients/utils/ClientErrorUtil.d.ts +1 -0
  350. package/lib/types/config/Config.d.ts +3 -2
  351. package/lib/types/contracts/ContractBase.d.ts +4 -4
  352. package/lib/types/contracts/ContractReader.d.ts +2 -2
  353. package/lib/types/contracts/ContractWriter.d.ts +3 -3
  354. package/lib/types/contracts/deploy/Deployments.d.ts +20 -15
  355. package/lib/types/contracts/deploy/proxy/ProxyDeployment.d.ts +2 -0
  356. package/lib/types/contracts/deploy/storage/DeploymentsStorage.d.ts +2 -0
  357. package/lib/types/explorer/BlockchainExplorerFactory.d.ts +1 -1
  358. package/lib/types/explorer/Evmscan.d.ts +1 -1
  359. package/lib/types/gen/Generator.d.ts +8 -0
  360. package/lib/types/indexer/BlocksTxIndexer.d.ts +4 -4
  361. package/lib/types/indexer/EventsIndexer.d.ts +4 -4
  362. package/lib/types/indexer/PendingTxIndexer.d.ts +1 -1
  363. package/lib/types/indexer/handlers/BlocksWalker.d.ts +2 -2
  364. package/lib/types/indexer/storage/FsEventsIndexerStore.d.ts +4 -4
  365. package/lib/types/ns/providers/INsProvider.d.ts +1 -1
  366. package/lib/types/rpc/Rpc.d.ts +2 -2
  367. package/lib/types/services/TimelockService/ITimelockService.d.ts +2 -2
  368. package/lib/types/services/TimelockService/TimelockService.d.ts +2 -2
  369. package/lib/types/services/TimelockService/TimelockServiceFallbackSafe.d.ts +2 -2
  370. package/lib/types/solidity/SlotsParser/SourceFile.d.ts +1 -1
  371. package/lib/types/solidity/storage/SlotFixedArray.d.ts +1 -1
  372. package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
  373. package/lib/types/tokens/TokensService.d.ts +1 -1
  374. package/lib/types/txs/ITxBuilderOptions.d.ts +1 -1
  375. package/lib/types/txs/TxNonceManager.d.ts +1 -1
  376. package/lib/types/txs/TxWriter.d.ts +4 -4
  377. package/lib/types/txs/receipt/TxLogParser.d.ts +1 -1
  378. package/lib/types/utils/$date.d.ts +1 -1
  379. package/lib/types/utils/$hex.d.ts +1 -1
  380. package/package.json +1 -1
  381. package/readme.md +105 -83
  382. package/src/abi/$abiCoder.ts +1 -1
  383. package/src/abi/Logger.ts +1 -1
  384. package/src/abi/abi-coder-packed.ts +3 -3
  385. package/src/abi/abi-coder.ts +16 -16
  386. package/src/abi/coders/abstract-coder.ts +36 -36
  387. package/src/abi/fragments.ts +137 -137
  388. package/src/blocks/BlockDateResolver.ts +9 -9
  389. package/src/bridges/hop/HopBridge.ts +1 -1
  390. package/src/class/PackedRanges.ts +46 -46
  391. package/src/clients/ClientEventsStream.ts +1 -1
  392. package/src/clients/ClientPool.ts +38 -38
  393. package/src/clients/WalletClient.ts +3 -3
  394. package/src/clients/Web3BatchRequests.ts +3 -3
  395. package/src/clients/Web3Client.ts +21 -21
  396. package/src/clients/Web3ClientFactory.ts +1 -1
  397. package/src/clients/compatibility/Web3.ts +2 -2
  398. package/src/clients/handlers/RateLimitGuard.ts +16 -16
  399. package/src/clients/interfaces/IWeb3Client.ts +2 -2
  400. package/src/clients/model/PromiEventWrap.ts +1 -1
  401. package/src/clients/utils/$web3Abi.ts +2 -2
  402. package/src/clients/utils/ClientErrorUtil.ts +4 -0
  403. package/src/config/Config.ts +4 -3
  404. package/src/contracts/Contract.ts +1 -1
  405. package/src/contracts/ContractAbiProvider.ts +6 -6
  406. package/src/contracts/ContractBase.ts +14 -14
  407. package/src/contracts/ContractProvider.ts +1 -1
  408. package/src/contracts/ContractReader.ts +7 -7
  409. package/src/contracts/ContractWriter.ts +4 -4
  410. package/src/contracts/deploy/ContractDeployer.ts +4 -4
  411. package/src/contracts/deploy/ContractDeployment.ts +1 -1
  412. package/src/contracts/deploy/Deployments.ts +110 -53
  413. package/src/contracts/deploy/proxy/$proxyDeploy.ts +14 -14
  414. package/src/contracts/deploy/proxy/ProxyDeployment.ts +82 -37
  415. package/src/contracts/deploy/storage/DeploymentsStorage.ts +21 -18
  416. package/src/contracts/utils/AbiDeserializer.ts +4 -4
  417. package/src/contracts/utils/ContractBaseUtils.ts +3 -3
  418. package/src/erc4337/models/UserOperation.ts +2 -2
  419. package/src/evm/OpcodesWalker.ts +1 -1
  420. package/src/explorer/BlockchainExplorer.ts +1 -1
  421. package/src/explorer/BlockchainExplorerFactory.ts +1 -1
  422. package/src/explorer/BlockchainExplorerStorage.ts +12 -12
  423. package/src/explorer/Evmscan.ts +1 -1
  424. package/src/explorer/verifiers/FsHtmlVerifier.ts +7 -7
  425. package/src/flashbots/FlashbotWeb3Client.ts +1 -1
  426. package/src/gen/Generator.ts +17 -0
  427. package/src/hardhat/HardhatProvider.ts +7 -7
  428. package/src/indexer/BlocksTxIndexer.ts +6 -6
  429. package/src/indexer/EventsIndexer.ts +20 -20
  430. package/src/indexer/PendingTxIndexer.ts +3 -3
  431. package/src/indexer/handlers/BlocksWalker.ts +9 -9
  432. package/src/indexer/handlers/TxQueueLoader.ts +1 -1
  433. package/src/indexer/storage/FsEventsIndexerStore.ts +9 -9
  434. package/src/indexer/storage/FsEventsMetaStore.ts +1 -1
  435. package/src/indexer/storage/FsEventsStoreUtils.ts +1 -1
  436. package/src/json/JsonArrayMultiStore.ts +1 -1
  437. package/src/json/JsonStoreFs.ts +1 -1
  438. package/src/ns/providers/INsProvider.ts +1 -1
  439. package/src/rpc/$rpc.ts +2 -2
  440. package/src/rpc/Rpc.ts +2 -2
  441. package/src/rpc/RpcBase.ts +2 -2
  442. package/src/rpc/RpcContract.ts +6 -6
  443. package/src/rpc/RpcSubscription.ts +1 -1
  444. package/src/rpc/transports/compatibility/EIP1193Transport.ts +4 -4
  445. package/src/rpc/transports/compatibility/Web3Transport.ts +1 -1
  446. package/src/services/TimelockService/ITimelockService.ts +2 -2
  447. package/src/services/TimelockService/TimelockService.ts +2 -2
  448. package/src/services/TimelockService/TimelockServiceFallbackSafe.ts +2 -2
  449. package/src/solidity/SlotsDump.ts +1 -1
  450. package/src/solidity/SlotsParser/MappingSettersResolver.ts +3 -3
  451. package/src/solidity/SlotsParser/SourceFile.ts +3 -3
  452. package/src/solidity/SolidityParser.ts +1 -1
  453. package/src/solidity/SourceCodeProvider.ts +1 -1
  454. package/src/solidity/storage/Accessor.spec.ts +1 -1
  455. package/src/solidity/storage/Accessor.ts +1 -1
  456. package/src/solidity/storage/SlotDynamicArray.ts +1 -1
  457. package/src/solidity/storage/SlotFixedArray.ts +1 -1
  458. package/src/solidity/storage/SlotsStorageTransport.ts +3 -3
  459. package/src/solidity/storage/handlers/SlotBytesHandler.ts +1 -1
  460. package/src/solidity/storage/handlers/SlotDynamicArrayHandler.ts +1 -1
  461. package/src/solidity/storage/handlers/SlotFixedArrayHandler.ts +1 -1
  462. package/src/solidity/storage/handlers/SlotValueConstantHandler.ts +1 -1
  463. package/src/solidity/storage/handlers/SlotValueHandler.ts +1 -1
  464. package/src/solidity/storage/handlers/SlotValueImmutableHandler.ts +4 -4
  465. package/src/tokens/TokenDataProvider.ts +2 -2
  466. package/src/tokens/TokenExchangeService.ts +1 -1
  467. package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +2 -2
  468. package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
  469. package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +2 -2
  470. package/src/tokens/TokenTransferService.ts +2 -2
  471. package/src/tokens/TokensService.ts +1 -1
  472. package/src/txs/ITxBuilderOptions.ts +1 -1
  473. package/src/txs/TxNonceManager.ts +1 -1
  474. package/src/txs/TxWriter.ts +15 -4
  475. package/src/txs/agents/BatchAgent.ts +1 -1
  476. package/src/txs/conditional/GasWatcherTx.ts +1 -1
  477. package/src/txs/receipt/TxLogParser.ts +1 -1
  478. package/src/utils/$crypto.ts +1 -1
  479. package/src/utils/$date.ts +1 -1
  480. package/src/utils/$hex.ts +1 -1
  481. package/src/utils/$logger.ts +1 -1
  482. package/src/utils/$machine.ts +2 -2
  483. package/src/utils/$traces.ts +1 -1
  484. package/src/wallets/EIP6963ProviderFactory.ts +4 -4
@@ -176,25 +176,25 @@ export class FsHtmlVerifier implements IVerifier {
176
176
  return `verified`;
177
177
  }
178
178
  getTransactions(address: `0x${string}`, params?: { fromBlockNumber?: number; page?: number; size?: number; }): Promise<TEth.DataLike<TEth.Tx>[]> {
179
- throw new Error('Method not implemented.');
179
+ throw new Error('Method not implemented');
180
180
  }
181
181
  getTransactionsAll(address: `0x${string}`): Promise<TEth.DataLike<TEth.Tx>[]> {
182
- throw new Error('Method not implemented.');
182
+ throw new Error('Method not implemented');
183
183
  }
184
184
  getInternalTransactions(address: `0x${string}`, params?: { fromBlockNumber?: number; page?: number; size?: number; }): Promise<TEth.DataLike<TEth.Tx>[]> {
185
- throw new Error('Method not implemented.');
185
+ throw new Error('Method not implemented');
186
186
  }
187
187
  getInternalTransactionsAll(address: `0x${string}`): Promise<TEth.DataLike<TEth.Tx>[]> {
188
- throw new Error('Method not implemented.');
188
+ throw new Error('Method not implemented');
189
189
  }
190
190
  getErc20Transfers(address: `0x${string}`, fromBlockNumber?: number): Promise<IBlockchainTransferEvent[]> {
191
- throw new Error('Method not implemented.');
191
+ throw new Error('Method not implemented');
192
192
  }
193
193
  getErc20TransfersAll(address: `0x${string}`, fromBlockNumber?: number): Promise<IBlockchainTransferEvent[]> {
194
- throw new Error('Method not implemented.');
194
+ throw new Error('Method not implemented');
195
195
  }
196
196
  registerAbi(abis: { name: any; address: any; abi: any; }[]) {
197
- throw new Error('Method not implemented.');
197
+ throw new Error('Method not implemented');
198
198
  }
199
199
 
200
200
  private extractHostKey (config: TExplorer) {
@@ -18,7 +18,7 @@ export class FlashbotWeb3Client extends Web3Client {
18
18
  constructor (opts) {
19
19
  super(opts);
20
20
 
21
- throw new Error('Not Implemented. Use generic Web3Clients and submit transactions via FlashbotsProvider ');
21
+ throw new Error('Not implemented. Use generic Web3Clients and submit transactions via FlashbotsProvider');
22
22
  }
23
23
 
24
24
  }
@@ -108,6 +108,23 @@ export class Generator {
108
108
  return generator.generate();
109
109
  }
110
110
 
111
+ static async generateFromJson (artifact: string) {
112
+ $require.True(await File.existsAsync(artifact), `${artifact} does not exist`);
113
+ let name = /(?<contractName>[^\\/]+).json$/.exec(artifact)?.groups?.contractName;
114
+ $require.notEmpty(name, `Contract name not resolved from the path ${artifact}`);
115
+
116
+ let generator = new Generator({
117
+ platform: 'hardhat',
118
+ name: name,
119
+ source: {
120
+ path: artifact
121
+ },
122
+ output: './0xc/hardhat/',
123
+ saveSources: false,
124
+ });
125
+ return generator.generate();
126
+ }
127
+
111
128
  /**
112
129
  * @deprecated Was possible to generate the Contract Class based on the meta information header in TS file
113
130
  */
@@ -51,7 +51,7 @@ export class HardhatProvider {
51
51
  if (network == 'localhost') {
52
52
  opts.endpoints = [
53
53
  { url: 'http://127.0.0.1:8545' },
54
- // Use `manual`, will be used for subscriptions only, otherwise BatchRequests will fail, as not implemented yet
54
+ // Use `manual` for subscriptions only, otherwise BatchRequests will fail, as they are not implemented yet
55
55
  // https://github.com/NomicFoundation/hardhat/issues/1324
56
56
  { url: 'ws://127.0.0.1:8545' },
57
57
  ];
@@ -72,7 +72,7 @@ export class HardhatProvider {
72
72
  let platformClient = await Web3ClientFactory.get(platform);
73
73
  url = await platformClient.getNodeURL({ ws: false });
74
74
 
75
- // Hardhat looks like supports only HTTPs? nodes to fork from
75
+ // Hardhat seems to support only HTTPS nodes as fork sources
76
76
  $require.True(/^(http)/.test(url), `Requires the HTTP path of a node to fork: ${url}`);
77
77
 
78
78
  // Removed: use default Hardhat's behavior
@@ -301,7 +301,7 @@ export class HardhatProvider {
301
301
 
302
302
  dir = $path.normalize(dir);
303
303
  if (await Directory.existsAsync(dir) === false) {
304
- throw new Error(`Directory "${dir}" does not exist.`);
304
+ throw new Error(`Directory "${dir}" does not exist`);
305
305
  }
306
306
  const paths = {
307
307
  sources: dir,
@@ -420,7 +420,7 @@ export class HardhatProvider {
420
420
 
421
421
  private async createTmpFile(solidityCode: string, options: Parameters<HardhatProvider['deploySol']>[1] = {}) {
422
422
 
423
- // Ensure the code includes the necessary pragmas and license header.
423
+ // Ensure the code includes the necessary pragmas and license header
424
424
  if (solidityCode.includes('pragma solidity') === false) {
425
425
  solidityCode = `pragma solidity ^0.8.0;\n${solidityCode}`;
426
426
  }
@@ -507,7 +507,7 @@ export class HardhatProvider {
507
507
  if (rgx_CONTRACT_NAME.test(content) === false) {
508
508
  return null;
509
509
  }
510
- throw new Error(`No JSONs found in ${outputDir} for ${solContractPath}`);
510
+ throw new Error(`No JSON files were found in ${outputDir} for ${solContractPath}`);
511
511
  }
512
512
 
513
513
  if (options.contractName != null) {
@@ -525,12 +525,12 @@ export class HardhatProvider {
525
525
  }
526
526
  }
527
527
  if (filename == null) {
528
- throw new Error(`Filename not extracted from ${solContractPath}`);
528
+ throw new Error(`Filename was not extracted from ${solContractPath}`);
529
529
  }
530
530
  let files = await Directory.readFilesAsync(outputDir);
531
531
  let jsons = files.filter(x => /(?<!dbg)\.json$/.test(x.uri.file));
532
532
  if (jsons.length === 0) {
533
- throw new Error(`No JSONs output found in "${outputDir}/"`);
533
+ throw new Error(`No JSON output was found in "${outputDir}/"`);
534
534
  }
535
535
  if (jsons.length === 1) {
536
536
  // Only one JSON artifact found, assume it's the main contract
@@ -8,16 +8,16 @@ import { TEth } from '@dequanto/models/TEth';
8
8
 
9
9
 
10
10
  export interface IBlocksTxIndexerOptions {
11
- /** Name of the indexer */
11
+ /** Indexer name */
12
12
  name?: string
13
13
 
14
- /** Save indexer progress (visited blocks) to a file */
14
+ /** Saves indexer progress (visited blocks) to a file */
15
15
  persistence?: boolean
16
16
 
17
- /** Load transactions from the block and provide them to the visitor method */
17
+ /** Loads transactions from the block and provides them to the visitor method */
18
18
  loadTransactions?: boolean
19
19
 
20
- /** Load receipts from the block and provide them to the visitor method */
20
+ /** Loads receipts from the block and provides them to the visitor method */
21
21
  loadReceipts?: boolean
22
22
 
23
23
  client?: Web3Client
@@ -86,12 +86,12 @@ export class BlocksTxIndexer {
86
86
  return;
87
87
  }
88
88
  if (blockHeader.transactions?.length === 0) {
89
- // hardhat emits empty blocks
89
+ // Hardhat emits empty blocks
90
90
  return;
91
91
  }
92
92
  this.walker.processUntil(blockHeader.number + 1);
93
93
  });
94
- // Reload the blocknumber, to ensure we didn't missed the block between walker starting and subscription
94
+ // Reload the block number to ensure we did not miss the block between walker startup and subscription
95
95
  let newTo = await this.client.getBlockNumber();
96
96
  this.walker.processUntil(newTo + 1);
97
97
  console.log('BlockTxIndexer: subscribed', newTo);
@@ -24,20 +24,20 @@ export class EventsIndexer <TContract extends ContractBase> {
24
24
  public storeMeta: IEventsIndexerMetaStore
25
25
 
26
26
  constructor(public contract: TContract, public options: {
27
- // Load events from the contract that was deployed to multiple addresses
27
+ // Load events from a contract deployed to multiple addresses
28
28
  addresses?: TAddress[]
29
29
  name?: string
30
30
  initialBlockNumber?: number
31
31
  store?: IEventsIndexerStore
32
32
  storeMeta?: IEventsIndexerMetaStore
33
33
  fs?: {
34
- /** Is used as a base directory. Later the ContractName and the address(es) hash will be appended */
34
+ /** Used as the base directory. Later, the contract name and address hash are appended */
35
35
  directory?: string
36
36
 
37
- /** The events will be splitted into multiple files by block range */
37
+ /** Events are split into multiple files by block range */
38
38
  // @default ~1week
39
39
  rangeSeconds?: number
40
- // @default is taken from Web3Client
40
+ // @default Taken from Web3Client
41
41
  blockTimeAvg?: number
42
42
  }
43
43
  }) {
@@ -116,9 +116,9 @@ export class EventsIndexer <TContract extends ContractBase> {
116
116
  > (
117
117
  event: TLogName | TLogName[] | '*',
118
118
  options?: {
119
- // includes block
119
+ // Includes block
120
120
  fromBlock?: number
121
- // includes block
121
+ // Includes block
122
122
  toBlock?: number
123
123
  blockRangeLimits?: WClient['blockRangeLimits']
124
124
  params?: Partial<TContract['Types']['Events'][TLogName]['outputParams']>
@@ -126,9 +126,9 @@ export class EventsIndexer <TContract extends ContractBase> {
126
126
  ): AsyncGenerator<
127
127
  TLogsRangeProgress<
128
128
  ITxLogItem<GetTypes<TContract>['Events'][TLogName]['outputParams'], string>
129
- > // next result
130
- , void // void returns
131
- , void // next doesn't get any parameter
129
+ > // Next result
130
+ , void // Returns void
131
+ , void // next does not receive any parameters
132
132
  > {
133
133
  let contract = this.contract;
134
134
  let client = contract.client;
@@ -184,10 +184,10 @@ export class EventsIndexer <TContract extends ContractBase> {
184
184
  let metas = await this.storeMeta.fetch();
185
185
  let lastBlock = (params?.fromBlock ?? 0) - 1;
186
186
  if (lastBlock < 0) {
187
- // remove all metas
187
+ // Remove all metadata
188
188
  await this.storeMeta.removeMany(metas)
189
189
  } else {
190
- // adjust the lastBlock and the ranges
190
+ // Adjust lastBlock and ranges
191
191
  metas.forEach(x => {
192
192
  x.lastBlock = Math.min(x.lastBlock, lastBlock);
193
193
  x.ranges = PackedRanges.pickTo(x.ranges, x.lastBlock);
@@ -264,11 +264,11 @@ export class EventsIndexer <TContract extends ContractBase> {
264
264
  params: options?.params,
265
265
  });
266
266
  infos.cached = cachedStreamedBuffer.length;
267
- // Note: we don't emit progress right away to keep the order in progress callback
267
+ // Note: we do not emit progress right away to preserve order in the progress callback
268
268
  // Consider: we have blocks [100-150] in cache
269
269
  // Requesting range: [50-200]
270
270
  // Later we fetch [50-100) and (150-200]
271
- // The cached response will be inserted after block.100 to keep consistent order
271
+ // The cached response will be inserted after block 100 to keep a consistent order
272
272
  // if (arr?.length > 0) {
273
273
  // let lastBlock = arr[arr.length - 1].blockNumber;
274
274
  // await options.onProgress({
@@ -342,12 +342,12 @@ export class EventsIndexer <TContract extends ContractBase> {
342
342
  }
343
343
 
344
344
  if (options?.onProgress) {
345
- // completed must be set to true only when the last Range completes
345
+ // completed must be set to true only when the last range completes
346
346
  chunk.completed = isCompleted;
347
347
  if (cachedStreamedBuffer.length > 0) {
348
348
  if (chunk.logs.length > 0) {
349
- // Preserve the order of logs in progress callback:
350
- // insert cached.blockNumber < fetched.blockNumber first
349
+ // Preserve log order in the progress callback:
350
+ // Insert cached.blockNumber < fetched.blockNumber first
351
351
  let [ first ] = chunk.logs;
352
352
  let i = 0;
353
353
  for (; i < cachedStreamedBuffer.length; i++) {
@@ -362,7 +362,7 @@ export class EventsIndexer <TContract extends ContractBase> {
362
362
  }
363
363
  }
364
364
  if (isCompleted) {
365
- // insert everything left from cache
365
+ // Insert everything left from cache
366
366
  chunk.logs = chunk.logs.concat(cachedStreamedBuffer);
367
367
  cachedStreamedBuffer = [];
368
368
  }
@@ -380,11 +380,11 @@ export class EventsIndexer <TContract extends ContractBase> {
380
380
  }
381
381
  }
382
382
 
383
- // Upsert final, if buffer is empty, we still persist the "toBlock" value and the ranges
383
+ // Upsert final state. If the buffer is empty, we still persist the "toBlock" value and ranges
384
384
  await this.upsert(buffer, events, ranges, fromBlock, toBlock, options);
385
385
 
386
386
  if (isStreamed && typeof options?.onProgress === 'function' && (cachedStreamedBuffer.length > 0 || ranges.load.length === 0)) {
387
- // When streaming, we MUST call onProgress, even if there are no ranges to load.
387
+ // When streaming, we MUST call onProgress, even if there are no ranges to load
388
388
  let lastBlock = cachedStreamedBuffer.length > 0
389
389
  ? cachedStreamedBuffer[cachedStreamedBuffer.length - 1].blockNumber
390
390
  : toBlock;
@@ -453,7 +453,7 @@ export class EventsIndexer <TContract extends ContractBase> {
453
453
  let explorer = await BlockchainExplorerFactory.get(this.contract.client.platform);
454
454
  let deployment = new ContractCreationResolver(client, explorer);
455
455
  let contractInfo = await deployment.getInfo(this.contract.address);
456
- return $require.Number(contractInfo.block, `Contract deployment not resolved from the blockchain explorer`);
456
+ return $require.Number(contractInfo.block, `Contract deployment was not resolved from the blockchain explorer`);
457
457
  }
458
458
  return 0;
459
459
  }
@@ -9,7 +9,7 @@ import { TEth } from '@dequanto/models/TEth';
9
9
 
10
10
 
11
11
  export interface IPendingTxIndexerOptions {
12
- /** Name of the indexer */
12
+ /** Indexer name */
13
13
  name?: string
14
14
  }
15
15
  export type TPendingTxListener = (client: Web3Client, tx: TEth.Tx) => Promise<void>
@@ -33,7 +33,7 @@ export class PendingTxIndexer {
33
33
  txCount: 0,
34
34
  txNulls: 0,
35
35
 
36
- // tx not seen in mempool
36
+ // Transaction not seen in the mempool
37
37
  txPrivateCount: 0,
38
38
  }
39
39
 
@@ -112,7 +112,7 @@ export class PendingTxIndexer {
112
112
  delete this.mempoolHash[hash];
113
113
  continue;
114
114
  }
115
- //Not seen in memhash;
115
+ // Not seen in memhash
116
116
  this.status.txPrivateCount++;
117
117
  this.status.txCount++;
118
118
  this.mempoolHash[hash] = 1;
@@ -76,7 +76,7 @@ export class BlocksWalker {
76
76
  }
77
77
 
78
78
  if (to != null && from == null) {
79
- throw new Error(`FromBlock should be set while ToBlock(${to}) is present`);
79
+ throw new Error(`fromBlock must be set when toBlock (${to}) is present`);
80
80
  }
81
81
 
82
82
  this.walker.setFrom(
@@ -86,8 +86,8 @@ export class BlocksWalker {
86
86
  await this.getBlockNumber(to)
87
87
  );
88
88
 
89
- $require.Number(this.ranges.from, 'From should be a number');
90
- $require.Number(this.ranges.to, 'To should be a number');
89
+ $require.Number(this.ranges.from, 'from must be a number');
90
+ $require.Number(this.ranges.to, 'to must be a number');
91
91
 
92
92
  this.walker.process();
93
93
  if (this.params.logProgress !== false) {
@@ -97,8 +97,8 @@ export class BlocksWalker {
97
97
 
98
98
 
99
99
  /**
100
- * Can be called each time we get a new block from blockchain,
101
- * the walker will process its current blocks and up until the specified number
100
+ * Can be called each time we get a new block from the blockchain,
101
+ * the walker will process its current blocks up to the specified number
102
102
  * @param nr Number is not included: [from, end)
103
103
  */
104
104
  async processUntil (nr: number) {
@@ -180,7 +180,7 @@ export class BlocksWalker {
180
180
 
181
181
  private async processBlocks (nrs: number[]) {
182
182
 
183
- // reading block and transactions
183
+ // Read blocks and transactions
184
184
  let start = Date.now();
185
185
  let blocks = await this.client.getBlocks(nrs);
186
186
 
@@ -245,7 +245,7 @@ class RangeWalker {
245
245
  threads: 1,
246
246
  batch: 1,
247
247
  timeout: 20000,
248
- // log every N ms
248
+ // Log every N ms
249
249
  logTimeWindow: 5000,
250
250
  };
251
251
 
@@ -317,7 +317,7 @@ class RangeWalker {
317
317
 
318
318
  let { from } = this.range;
319
319
  if (from != null && from > nr) {
320
- throw new Error(`To (${nr}) should be greater then From (${from})`);
320
+ throw new Error(`to (${nr}) must be greater than from (${from})`);
321
321
  }
322
322
  this.range.to = nr;
323
323
  }
@@ -327,7 +327,7 @@ class RangeWalker {
327
327
  this.range.to = to;
328
328
 
329
329
  if (this.range.from == null) {
330
- // In case we started the walker by listening to incoming mined blocks
330
+ // If the walker was started by listening to incoming mined blocks
331
331
  this.range.from = to;
332
332
  }
333
333
  }
@@ -7,7 +7,7 @@ export class TxQueueLoader {
7
7
  private opts = {
8
8
  threads: 4,
9
9
  timeout: 20000,
10
- // log every N ms
10
+ // Log every N ms
11
11
  logTimeWindow: 5000,
12
12
  };
13
13
 
@@ -22,21 +22,21 @@ export class FsEventsIndexerStore <T extends ContractBase> implements IEventsInd
22
22
 
23
23
 
24
24
  constructor(public contract: T, public options: {
25
- // Load events from the contract that was deployed to multiple addresses
25
+ // Load events from a contract deployed to multiple addresses
26
26
  addresses?: TAddress[]
27
27
  name?: string
28
28
  initialBlockNumber?: number
29
29
  fs?: {
30
- /** Base directory, in case the path is calculated from chain, name and addresses */
30
+ /** Base directory when the path is calculated from chain, name, and addresses */
31
31
  directory?: string
32
32
 
33
- /** Relative final directory path to be used as is for store files */
33
+ /** Relative final directory path to use as is for store files */
34
34
  path?: string
35
35
 
36
- // the events will be splitted into multiple files by block range
37
- // default ~1week
36
+ // Events are split into multiple files by block range
37
+ // Default ~1week
38
38
  rangeSeconds?: number
39
- // default is taken from Web3Client
39
+ // Default is taken from Web3Client
40
40
  blockTimeAvg?: number
41
41
 
42
42
  // Use a single file. Deprecated, used for migration only
@@ -109,7 +109,7 @@ export class FsEventsIndexerStore <T extends ContractBase> implements IEventsInd
109
109
  private map (x): ITxLogItem<any> {
110
110
 
111
111
  let abi = this.abi[x.event];
112
- $require.notNull(abi, `Abi for ${x.event} not found.`)
112
+ $require.notNull(abi, `ABI for ${x.event} was not found`)
113
113
 
114
114
  let blockNumber = Math.floor(x.id / 100000);
115
115
  let logIndex = x.id % 100000;
@@ -126,7 +126,7 @@ export class FsEventsIndexerStore <T extends ContractBase> implements IEventsInd
126
126
  private serialize (x: ITxLogItem<any>) {
127
127
  return {
128
128
  ...x,
129
- // remove redundant data
129
+ // Remove redundant data
130
130
  arguments: void 0,
131
131
  blockNumber: void 0,
132
132
  logIndex: void 0,
@@ -139,7 +139,7 @@ export class FsEventsIndexerStore <T extends ContractBase> implements IEventsInd
139
139
 
140
140
 
141
141
  namespace EventAbiInputs {
142
- // primary to convert BigInt from JSON
142
+ // Mainly converts BigInt from JSON
143
143
 
144
144
  export function deserialize (params: Record<string, any>, abi: TAbiItem): Record<string, any> {
145
145
  let inputs = alot(abi.inputs).toDictionary(x => x.name, x => x);
@@ -14,7 +14,7 @@ export class FsEventsMetaStore <T extends ContractBase> implements IEventsIndexe
14
14
 
15
15
 
16
16
  constructor(private contract: T, private options: {
17
- // Load events from the contract that was deployed to multiple addresses
17
+ // Load events from a contract deployed to multiple addresses
18
18
  addresses?: TAddress[]
19
19
  name?: string
20
20
  fs?: {
@@ -15,7 +15,7 @@ export namespace FsEventsStoreUtils {
15
15
  addresses?: TAddress[]
16
16
  }): string {
17
17
  if (options?.path) {
18
- $require.True(options.path.endsWith('/'), `Path for the events store should end with '/'`);
18
+ $require.True(options.path.endsWith('/'), `Path for the events store must end with '/'`);
19
19
  return options.path;
20
20
  }
21
21
 
@@ -22,7 +22,7 @@ export class JsonArrayMultiStore<T> {
22
22
  constructor (public options: IMultiStoreOptions<T>) {
23
23
  $require.Function(this.options.groupKey, `Expect a method to get the group key for an entry`);
24
24
  $require.Number(this.options.groupSize, `Expect a size for the group`);
25
- $require.True(this.options.path.endsWith('/'), `The ${this.options.path} must end with a slash, as it will be used as a folder`);
25
+ $require.True(this.options.path.endsWith('/'), `${this.options.path} must end with a slash, as it will be used as a folder`);
26
26
  }
27
27
 
28
28
  async query(filter?: {
@@ -263,7 +263,7 @@ class LocalStorageTransport implements ITransport {
263
263
  this.global.localStorage.removeItem(this.path);
264
264
  }
265
265
  async exists (): Promise<boolean> {
266
- // To prevent double load with "getItem", assume the existence of the item, later in readAsync the NULL will be handled.
266
+ // To prevent duplicate loads with "getItem", assume the item exists; later in readAsync the NULL will be handled
267
267
  return true;
268
268
  }
269
269
  async watch (watcherFn: (path?: string) => any) {
@@ -4,7 +4,7 @@ import { TPlatform } from '@dequanto/models/TPlatform'
4
4
 
5
5
  export interface INsProviderOptions {
6
6
  /**
7
- * Loop over each chain the provider supports.
7
+ * Loop over each chain the provider supports
8
8
  * @default: true
9
9
  */
10
10
  multichain?: boolean
package/src/rpc/$rpc.ts CHANGED
@@ -29,7 +29,7 @@ export namespace $rpc {
29
29
  };
30
30
  }
31
31
 
32
- // will wait for a receipt
32
+ // Wait for a receipt
33
33
  export async function waitForReceipt (rpc: Rpc, hash: TEth.Hex): Promise<TEth.TxReceipt> {
34
34
  let knownTx = false;
35
35
  let startedAt = Date.now();
@@ -41,7 +41,7 @@ export namespace $rpc {
41
41
  if (tx == null) {
42
42
  let ms = Date.now() - startedAt;
43
43
  if (ms > MEM_POOL_TIMEOUT) {
44
- return [ new Error(`Transaction [${hash}] not found in mempool after ${MEM_POOL_TIMEOUT}ms`) ];
44
+ return [ new Error(`Transaction [${hash}] was not found in the mempool after ${MEM_POOL_TIMEOUT}ms`) ];
45
45
  }
46
46
  return [ null ];
47
47
  }
package/src/rpc/Rpc.ts CHANGED
@@ -146,7 +146,7 @@ eth_accounts(): Promise<TEth.Address[]> {
146
146
 
147
147
  /**
148
148
  * Presents a structured data message for the user to sign. <metamask>
149
- * Presents a data message for the user to sign in a structured and readable format and returns the signed response. Introduced By [EIP-712](https://eips.ethereum.org/EIPS/eip-712).
149
+ * Presents a data message for the user to sign in a structured and readable format and returns the signed response. Introduced by [EIP-712](https://eips.ethereum.org/EIPS/eip-712)
150
150
  * @param address - The address of the requested signing account.
151
151
  * @param typedData -
152
152
  * @returns Signature -
@@ -239,7 +239,7 @@ eth_estimateGas(transaction: DataLike<RpcTypes.GenericTransaction>, block?: Data
239
239
  * Returns transaction base fee per gas and effective priority fee per gas for the requested/supported block range.
240
240
  * @param blockCount - Requested range of blocks. Clients will return less than the requested range if not all blocks are available.
241
241
  * @param newestBlock - Highest block of the requested range.
242
- * @param rewardPercentiles - A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the coresponding effective tip for the percentile will be determined, accounting for gas consumed.
242
+ * @param rewardPercentiles - A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the corresponding effective tip for the percentile will be determined, accounting for gas consumed
243
243
  * @returns feeHistoryResult - Fee history for the returned block range. This can be a subsection of the requested range if not all blocks are available.
244
244
  */
245
245
  eth_feeHistory(blockCount: bigint, newestBlock: DataLike<RpcTypes.BlockNumberOrTag>, rewardPercentiles: number[]): Promise<{
@@ -45,7 +45,7 @@ export abstract class RpcBase {
45
45
  let body = arr.map(req => this._wrapBody(req));
46
46
  let resp = await this._transport.request(body);
47
47
  if (Array.isArray(resp) === false && arr.length === 1 && 'error' in resp === false && 'result' in resp === true) {
48
- // Some RPCs return a single response instead of an array for 1 RpcAction in Batch
48
+ // Some RPCs return a single response instead of an array for one RpcAction in a batch
49
49
  resp = [ resp ];
50
50
  }
51
51
  if (Array.isArray(resp) === false) {
@@ -53,7 +53,7 @@ export abstract class RpcBase {
53
53
  let error = (resp as any).error;
54
54
  throw new RpcError(error);
55
55
  }
56
- throw new Error(`RpcBatch: invalid response, array expected: ${ JSON.stringify(resp) }`);
56
+ throw new Error(`RpcBatch: invalid response, expected an array: ${ JSON.stringify(resp) }`);
57
57
  }
58
58
  return resp.map((resp, i) => {
59
59
  let req = arr[i];
@@ -70,7 +70,7 @@ export class RpcContract {
70
70
  let requests = await this.getCallRequestsRaw(req);
71
71
  try {
72
72
  let responseArr = await this.client.batch(requests.map(x => x.methodRequest), options);
73
-
73
+ $require.eq(requests.length, responseArr.length, `Invalid response count`);
74
74
  return responseArr.map((resp, i) => {
75
75
  let abi = requests[i].methodAbi;
76
76
  if (abi == null) {
@@ -137,12 +137,12 @@ export class RpcContract {
137
137
  }
138
138
 
139
139
  if (data == null) {
140
- $require.notNull(abiItem, `Method ${method} not found. Available methods: ${abiArr?.map(x => x.name) }`);
140
+ $require.notNull(abiItem, `Method ${method} was not found. Available methods: ${abiArr?.map(x => x.name) }`);
141
141
  data = $abiUtils.serializeMethodCallData(abiItem, params ?? []);
142
142
  }
143
143
 
144
144
  if (blockNumber instanceof Date) {
145
- let client = $require.notNull(options?.client, `Blocknumber is Date: ${blockNumber}, Client is required.`);
145
+ let client = $require.notNull(options?.client, `Block number is a Date: ${blockNumber}, client is required`);
146
146
  let resolver = di.resolve(BlockDateResolver, client);
147
147
  blockNumber = await resolver.getBlockNumberFor(blockNumber);
148
148
  }
@@ -162,7 +162,7 @@ export class RpcContract {
162
162
  // async submit (contract: TRpcContract, req: TRpcContractCallReq) {
163
163
  // let abis = contract.abi;
164
164
  // let abi = abis.find(x => x.name === req.method);
165
- // $require.notNull(abi, `Method ${req.method} not found. Available methods: ${abis.map(x => x.name).join(', ')}`);
165
+ // $require.notNull(abi, `Method ${req.method} was not found. Available methods: ${abis.map(x => x.name).join(', ')}`);
166
166
 
167
167
  // let sig = $abiUtils.getMethodSignature(abi);
168
168
  // let data = $abiUtils.encode(abi.inputs, req.params);
@@ -178,7 +178,7 @@ export class RpcContract {
178
178
  // let results = Array.isArray(result) === false
179
179
  // ? [ result ]
180
180
  // : (outputs.length === 1
181
- // // decode array as single value
181
+ // // Decode array as a single value
182
182
  // ? [ result ]
183
183
  // : result
184
184
  // );
@@ -200,7 +200,7 @@ namespace utils {
200
200
  if (outputs.length > 1) {
201
201
  let isNamedTuple = outputs.every(x => x.name != null && x.name !== '');
202
202
  if (isNamedTuple) {
203
- // will return as object
203
+ // Return as an object
204
204
  abi = [ { type: 'tuple', components: outputs, name: null } ];
205
205
  isDynamic = false;
206
206
  }
@@ -34,7 +34,7 @@ export class RpcSubscription<T> extends SubjectStream<T> implements TTransport.S
34
34
 
35
35
  static createMapping <T> (subscription: TTransport.Subscription<any>, transport: TTransport.Transport, mapper: (x: any) => any): RpcSubscription<T> {
36
36
  let stream = new RpcSubscription<T>(subscription.id, transport, mapper);
37
- //@TODO: fix 'any'
37
+ //@TODO Fix 'any'
38
38
  stream.fromStream(subscription as any);
39
39
  return stream;
40
40
  }
@@ -21,7 +21,7 @@ export class EIP1193Transport implements TTransport.Transport {
21
21
  async request(req: TTransport.Request | TTransport.Request[]): Promise<any> {
22
22
 
23
23
  if (Array.isArray(req)) {
24
- // Hardhat in-memory doesn't support batch requests
24
+ // Hardhat in-memory does not support batch requests
25
25
  return alot(req).mapAsync(async x => {
26
26
  return this.request(x);
27
27
  }).toArrayAsync({ threads: 5 });
@@ -39,13 +39,13 @@ export class EIP1193Transport implements TTransport.Transport {
39
39
  result
40
40
  };
41
41
  }
42
- throw new Error(`Invalid transport with no sendAsync, request methods`);
42
+ throw new Error(`Invalid transport: no sendAsync or request methods`);
43
43
  }
44
44
 
45
45
  async subscribe(req: TTransport.Request): Promise<TTransport.Subscription<any>> {
46
- throw new Error('Method not implemented.');
46
+ throw new Error('Method not implemented');
47
47
  }
48
48
  unsubscribe(req: TTransport.Request & { method: 'eth_unsubscribe'; params: [number]; }): Promise<RpcSubscription<any>> {
49
- throw new Error('Method not implemented.');
49
+ throw new Error('Method not implemented');
50
50
  }
51
51
  }