dequanto 0.2.38 → 0.2.41

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 (480) hide show
  1. package/lib/cjs/abi/$abiCoder.js +1 -1
  2. package/lib/cjs/abi/$abiCoder.js.map +1 -1
  3. package/lib/cjs/abi/Logger.js +1 -1
  4. package/lib/cjs/abi/abi-coder-packed.js +3 -3
  5. package/lib/cjs/abi/abi-coder.js +16 -16
  6. package/lib/cjs/abi/coders/abstract-coder.js +31 -31
  7. package/lib/cjs/abi/coders/abstract-coder.js.map +1 -1
  8. package/lib/cjs/abi/fragments.js +90 -90
  9. package/lib/cjs/abi/fragments.js.map +1 -1
  10. package/lib/cjs/blocks/BlockDateResolver.js +9 -9
  11. package/lib/cjs/blocks/BlockDateResolver.js.map +1 -1
  12. package/lib/cjs/class/PackedRanges.js +46 -46
  13. package/lib/cjs/class/PackedRanges.js.map +1 -1
  14. package/lib/cjs/clients/ClientEventsStream.js +1 -1
  15. package/lib/cjs/clients/ClientEventsStream.js.map +1 -1
  16. package/lib/cjs/clients/ClientPool.js +23 -23
  17. package/lib/cjs/clients/ClientPool.js.map +1 -1
  18. package/lib/cjs/clients/WalletClient.js +3 -3
  19. package/lib/cjs/clients/WalletClient.js.map +1 -1
  20. package/lib/cjs/clients/Web3Client.js +14 -14
  21. package/lib/cjs/clients/Web3Client.js.map +1 -1
  22. package/lib/cjs/clients/Web3ClientFactory.js +1 -1
  23. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  24. package/lib/cjs/clients/compatibility/Web3.js +2 -2
  25. package/lib/cjs/clients/compatibility/Web3.js.map +1 -1
  26. package/lib/cjs/clients/handlers/RateLimitGuard.js +16 -16
  27. package/lib/cjs/clients/handlers/RateLimitGuard.js.map +1 -1
  28. package/lib/cjs/clients/model/PromiEventWrap.js +1 -1
  29. package/lib/cjs/clients/model/PromiEventWrap.js.map +1 -1
  30. package/lib/cjs/clients/utils/$web3Abi.js +2 -2
  31. package/lib/cjs/clients/utils/$web3Abi.js.map +1 -1
  32. package/lib/cjs/clients/utils/ClientErrorUtil.js +4 -0
  33. package/lib/cjs/clients/utils/ClientErrorUtil.js.map +1 -1
  34. package/lib/cjs/config/Config.js.map +1 -1
  35. package/lib/cjs/contracts/Contract.js +1 -1
  36. package/lib/cjs/contracts/Contract.js.map +1 -1
  37. package/lib/cjs/contracts/ContractAbiProvider.js +6 -6
  38. package/lib/cjs/contracts/ContractAbiProvider.js.map +1 -1
  39. package/lib/cjs/contracts/ContractBase.js +10 -10
  40. package/lib/cjs/contracts/ContractBase.js.map +1 -1
  41. package/lib/cjs/contracts/ContractProvider.js +1 -1
  42. package/lib/cjs/contracts/ContractProvider.js.map +1 -1
  43. package/lib/cjs/contracts/ContractReader.js +5 -5
  44. package/lib/cjs/contracts/ContractReader.js.map +1 -1
  45. package/lib/cjs/contracts/ContractWriter.js +4 -4
  46. package/lib/cjs/contracts/ContractWriter.js.map +1 -1
  47. package/lib/cjs/contracts/deploy/ContractDeployer.js +4 -4
  48. package/lib/cjs/contracts/deploy/ContractDeployer.js.map +1 -1
  49. package/lib/cjs/contracts/deploy/Deployments.js +36 -21
  50. package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
  51. package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js +13 -13
  52. package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
  53. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js +22 -22
  54. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  55. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +15 -14
  56. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  57. package/lib/cjs/contracts/utils/AbiDeserializer.js +4 -4
  58. package/lib/cjs/contracts/utils/AbiDeserializer.js.map +1 -1
  59. package/lib/cjs/contracts/utils/ContractBaseUtils.js +3 -3
  60. package/lib/cjs/contracts/utils/ContractBaseUtils.js.map +1 -1
  61. package/lib/cjs/evm/OpcodesWalker.js +1 -1
  62. package/lib/cjs/evm/OpcodesWalker.js.map +1 -1
  63. package/lib/cjs/explorer/BlockchainExplorer.js +1 -1
  64. package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
  65. package/lib/cjs/explorer/BlockchainExplorerFactory.js +1 -1
  66. package/lib/cjs/explorer/BlockchainExplorerStorage.js +12 -12
  67. package/lib/cjs/explorer/BlockchainExplorerStorage.js.map +1 -1
  68. package/lib/cjs/explorer/Evmscan.js +1 -1
  69. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +7 -7
  70. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  71. package/lib/cjs/flashbots/FlashbotWeb3Client.js +1 -1
  72. package/lib/cjs/flashbots/FlashbotWeb3Client.js.map +1 -1
  73. package/lib/cjs/hardhat/HardhatProvider.js +7 -7
  74. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  75. package/lib/cjs/indexer/BlocksTxIndexer.js +2 -2
  76. package/lib/cjs/indexer/BlocksTxIndexer.js.map +1 -1
  77. package/lib/cjs/indexer/EventsIndexer.js +11 -11
  78. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  79. package/lib/cjs/indexer/PendingTxIndexer.js +2 -2
  80. package/lib/cjs/indexer/PendingTxIndexer.js.map +1 -1
  81. package/lib/cjs/indexer/handlers/BlocksWalker.js +9 -9
  82. package/lib/cjs/indexer/handlers/BlocksWalker.js.map +1 -1
  83. package/lib/cjs/indexer/handlers/TxQueueLoader.js +1 -1
  84. package/lib/cjs/indexer/storage/FsEventsIndexerStore.js +3 -3
  85. package/lib/cjs/indexer/storage/FsEventsIndexerStore.js.map +1 -1
  86. package/lib/cjs/indexer/storage/FsEventsStoreUtils.js +1 -1
  87. package/lib/cjs/indexer/storage/FsEventsStoreUtils.js.map +1 -1
  88. package/lib/cjs/json/JsonArrayMultiStore.js +1 -1
  89. package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
  90. package/lib/cjs/json/JsonStoreFs.js +1 -1
  91. package/lib/cjs/json/JsonStoreFs.js.map +1 -1
  92. package/lib/cjs/rpc/$rpc.js +2 -2
  93. package/lib/cjs/rpc/$rpc.js.map +1 -1
  94. package/lib/cjs/rpc/Rpc.js +2 -2
  95. package/lib/cjs/rpc/RpcBase.js +2 -2
  96. package/lib/cjs/rpc/RpcBase.js.map +1 -1
  97. package/lib/cjs/rpc/RpcContract.js +4 -3
  98. package/lib/cjs/rpc/RpcContract.js.map +1 -1
  99. package/lib/cjs/rpc/RpcSubscription.js +1 -1
  100. package/lib/cjs/rpc/RpcSubscription.js.map +1 -1
  101. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js +4 -4
  102. package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  103. package/lib/cjs/rpc/transports/compatibility/Web3Transport.js +1 -1
  104. package/lib/cjs/rpc/transports/compatibility/Web3Transport.js.map +1 -1
  105. package/lib/cjs/services/TimelockService/TimelockService.js +2 -2
  106. package/lib/cjs/services/TimelockService/TimelockServiceFallbackSafe.js +2 -2
  107. package/lib/cjs/solidity/SlotsDump.js +1 -1
  108. package/lib/cjs/solidity/SlotsDump.js.map +1 -1
  109. package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js +3 -3
  110. package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
  111. package/lib/cjs/solidity/SlotsParser/SourceFile.js +3 -3
  112. package/lib/cjs/solidity/SlotsParser/SourceFile.js.map +1 -1
  113. package/lib/cjs/solidity/SolidityParser.js +1 -1
  114. package/lib/cjs/solidity/SolidityParser.js.map +1 -1
  115. package/lib/cjs/solidity/SourceCodeProvider.js +1 -1
  116. package/lib/cjs/solidity/SourceCodeProvider.js.map +1 -1
  117. package/lib/cjs/solidity/storage/Accessor.js +1 -1
  118. package/lib/cjs/solidity/storage/Accessor.js.map +1 -1
  119. package/lib/cjs/solidity/storage/SlotFixedArray.js +1 -1
  120. package/lib/cjs/solidity/storage/SlotFixedArray.js.map +1 -1
  121. package/lib/cjs/solidity/storage/SlotsStorageTransport.js +3 -3
  122. package/lib/cjs/solidity/storage/SlotsStorageTransport.js.map +1 -1
  123. package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js +1 -1
  124. package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
  125. package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js +1 -1
  126. package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
  127. package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js +1 -1
  128. package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
  129. package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js +1 -1
  130. package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
  131. package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js +1 -1
  132. package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
  133. package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js +4 -4
  134. package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
  135. package/lib/cjs/tokens/TokenDataProvider.js +2 -2
  136. package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
  137. package/lib/cjs/tokens/TokenExchangeService.js +1 -1
  138. package/lib/cjs/tokens/TokenExchangeService.js.map +1 -1
  139. package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js +2 -2
  140. package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
  141. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +2 -2
  142. package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  143. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js +2 -2
  144. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  145. package/lib/cjs/tokens/TokenTransferService.js +2 -2
  146. package/lib/cjs/tokens/TokenTransferService.js.map +1 -1
  147. package/lib/cjs/tokens/TokensService.js +1 -1
  148. package/lib/cjs/tokens/TokensService.js.map +1 -1
  149. package/lib/cjs/txs/TxNonceManager.js +1 -1
  150. package/lib/cjs/txs/TxWriter.js +9 -0
  151. package/lib/cjs/txs/TxWriter.js.map +1 -1
  152. package/lib/cjs/txs/conditional/GasWatcherTx.js +1 -1
  153. package/lib/cjs/txs/conditional/GasWatcherTx.js.map +1 -1
  154. package/lib/cjs/txs/receipt/TxLogParser.js +1 -1
  155. package/lib/cjs/utils/$crypto.js +1 -1
  156. package/lib/cjs/utils/$crypto.js.map +1 -1
  157. package/lib/cjs/utils/$date.js +1 -1
  158. package/lib/cjs/utils/$date.js.map +1 -1
  159. package/lib/cjs/utils/$hex.js +1 -1
  160. package/lib/cjs/utils/$logger.js +1 -1
  161. package/lib/cjs/utils/$logger.js.map +1 -1
  162. package/lib/cjs/utils/$machine.js +2 -2
  163. package/lib/cjs/utils/$machine.js.map +1 -1
  164. package/lib/cjs/utils/$require.js.map +1 -1
  165. package/lib/cjs/utils/$traces.js +1 -1
  166. package/lib/cjs/utils/$traces.js.map +1 -1
  167. package/lib/esm/abi/$abiCoder.js.map +1 -1
  168. package/lib/esm/abi/$abiCoder.mjs +1 -1
  169. package/lib/esm/abi/Logger.mjs +1 -1
  170. package/lib/esm/abi/abi-coder-packed.mjs +3 -3
  171. package/lib/esm/abi/abi-coder.mjs +16 -16
  172. package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
  173. package/lib/esm/abi/coders/abstract-coder.mjs +31 -31
  174. package/lib/esm/abi/fragments.js.map +1 -1
  175. package/lib/esm/abi/fragments.mjs +90 -90
  176. package/lib/esm/blocks/BlockDateResolver.js.map +1 -1
  177. package/lib/esm/blocks/BlockDateResolver.mjs +9 -9
  178. package/lib/esm/class/PackedRanges.js.map +1 -1
  179. package/lib/esm/class/PackedRanges.mjs +46 -46
  180. package/lib/esm/clients/ClientEventsStream.js.map +1 -1
  181. package/lib/esm/clients/ClientEventsStream.mjs +1 -1
  182. package/lib/esm/clients/ClientPool.js.map +1 -1
  183. package/lib/esm/clients/ClientPool.mjs +23 -23
  184. package/lib/esm/clients/WalletClient.js.map +1 -1
  185. package/lib/esm/clients/WalletClient.mjs +3 -3
  186. package/lib/esm/clients/Web3Client.js.map +1 -1
  187. package/lib/esm/clients/Web3Client.mjs +14 -14
  188. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  189. package/lib/esm/clients/Web3ClientFactory.mjs +1 -1
  190. package/lib/esm/clients/compatibility/Web3.js.map +1 -1
  191. package/lib/esm/clients/compatibility/Web3.mjs +2 -2
  192. package/lib/esm/clients/handlers/RateLimitGuard.js.map +1 -1
  193. package/lib/esm/clients/handlers/RateLimitGuard.mjs +16 -16
  194. package/lib/esm/clients/model/PromiEventWrap.js.map +1 -1
  195. package/lib/esm/clients/model/PromiEventWrap.mjs +1 -1
  196. package/lib/esm/clients/utils/$web3Abi.js.map +1 -1
  197. package/lib/esm/clients/utils/$web3Abi.mjs +2 -2
  198. package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
  199. package/lib/esm/clients/utils/ClientErrorUtil.mjs +4 -0
  200. package/lib/esm/config/Config.js.map +1 -1
  201. package/lib/esm/contracts/Contract.js.map +1 -1
  202. package/lib/esm/contracts/Contract.mjs +1 -1
  203. package/lib/esm/contracts/ContractAbiProvider.js.map +1 -1
  204. package/lib/esm/contracts/ContractAbiProvider.mjs +6 -6
  205. package/lib/esm/contracts/ContractBase.js.map +1 -1
  206. package/lib/esm/contracts/ContractBase.mjs +10 -10
  207. package/lib/esm/contracts/ContractProvider.js.map +1 -1
  208. package/lib/esm/contracts/ContractProvider.mjs +1 -1
  209. package/lib/esm/contracts/ContractReader.js.map +1 -1
  210. package/lib/esm/contracts/ContractReader.mjs +5 -5
  211. package/lib/esm/contracts/ContractWriter.js.map +1 -1
  212. package/lib/esm/contracts/ContractWriter.mjs +4 -4
  213. package/lib/esm/contracts/deploy/ContractDeployer.js.map +1 -1
  214. package/lib/esm/contracts/deploy/ContractDeployer.mjs +4 -4
  215. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  216. package/lib/esm/contracts/deploy/Deployments.mjs +36 -21
  217. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
  218. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.mjs +13 -13
  219. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  220. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +22 -22
  221. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  222. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +15 -14
  223. package/lib/esm/contracts/utils/AbiDeserializer.js.map +1 -1
  224. package/lib/esm/contracts/utils/AbiDeserializer.mjs +4 -4
  225. package/lib/esm/contracts/utils/ContractBaseUtils.js.map +1 -1
  226. package/lib/esm/contracts/utils/ContractBaseUtils.mjs +3 -3
  227. package/lib/esm/evm/OpcodesWalker.js.map +1 -1
  228. package/lib/esm/evm/OpcodesWalker.mjs +1 -1
  229. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
  230. package/lib/esm/explorer/BlockchainExplorer.mjs +1 -1
  231. package/lib/esm/explorer/BlockchainExplorerFactory.mjs +1 -1
  232. package/lib/esm/explorer/BlockchainExplorerStorage.js.map +1 -1
  233. package/lib/esm/explorer/BlockchainExplorerStorage.mjs +12 -12
  234. package/lib/esm/explorer/Evmscan.mjs +1 -1
  235. package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  236. package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +7 -7
  237. package/lib/esm/flashbots/FlashbotWeb3Client.js.map +1 -1
  238. package/lib/esm/flashbots/FlashbotWeb3Client.mjs +1 -1
  239. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  240. package/lib/esm/hardhat/HardhatProvider.mjs +7 -7
  241. package/lib/esm/indexer/BlocksTxIndexer.js.map +1 -1
  242. package/lib/esm/indexer/BlocksTxIndexer.mjs +2 -2
  243. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  244. package/lib/esm/indexer/EventsIndexer.mjs +11 -11
  245. package/lib/esm/indexer/PendingTxIndexer.js.map +1 -1
  246. package/lib/esm/indexer/PendingTxIndexer.mjs +2 -2
  247. package/lib/esm/indexer/handlers/BlocksWalker.js.map +1 -1
  248. package/lib/esm/indexer/handlers/BlocksWalker.mjs +9 -9
  249. package/lib/esm/indexer/handlers/TxQueueLoader.mjs +1 -1
  250. package/lib/esm/indexer/storage/FsEventsIndexerStore.js.map +1 -1
  251. package/lib/esm/indexer/storage/FsEventsIndexerStore.mjs +3 -3
  252. package/lib/esm/indexer/storage/FsEventsStoreUtils.js.map +1 -1
  253. package/lib/esm/indexer/storage/FsEventsStoreUtils.mjs +1 -1
  254. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  255. package/lib/esm/json/JsonArrayMultiStore.mjs +1 -1
  256. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  257. package/lib/esm/json/JsonStoreFs.mjs +1 -1
  258. package/lib/esm/rpc/$rpc.js.map +1 -1
  259. package/lib/esm/rpc/$rpc.mjs +2 -2
  260. package/lib/esm/rpc/Rpc.mjs +2 -2
  261. package/lib/esm/rpc/RpcBase.js.map +1 -1
  262. package/lib/esm/rpc/RpcBase.mjs +2 -2
  263. package/lib/esm/rpc/RpcContract.js.map +1 -1
  264. package/lib/esm/rpc/RpcContract.mjs +4 -3
  265. package/lib/esm/rpc/RpcSubscription.js.map +1 -1
  266. package/lib/esm/rpc/RpcSubscription.mjs +1 -1
  267. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  268. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +4 -4
  269. package/lib/esm/rpc/transports/compatibility/Web3Transport.js.map +1 -1
  270. package/lib/esm/rpc/transports/compatibility/Web3Transport.mjs +1 -1
  271. package/lib/esm/services/TimelockService/TimelockService.mjs +2 -2
  272. package/lib/esm/services/TimelockService/TimelockServiceFallbackSafe.mjs +2 -2
  273. package/lib/esm/solidity/SlotsDump.js.map +1 -1
  274. package/lib/esm/solidity/SlotsDump.mjs +1 -1
  275. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
  276. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.mjs +3 -3
  277. package/lib/esm/solidity/SlotsParser/SourceFile.js.map +1 -1
  278. package/lib/esm/solidity/SlotsParser/SourceFile.mjs +3 -3
  279. package/lib/esm/solidity/SolidityParser.js.map +1 -1
  280. package/lib/esm/solidity/SolidityParser.mjs +1 -1
  281. package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
  282. package/lib/esm/solidity/SourceCodeProvider.mjs +1 -1
  283. package/lib/esm/solidity/storage/Accessor.js.map +1 -1
  284. package/lib/esm/solidity/storage/Accessor.mjs +1 -1
  285. package/lib/esm/solidity/storage/SlotFixedArray.js.map +1 -1
  286. package/lib/esm/solidity/storage/SlotFixedArray.mjs +1 -1
  287. package/lib/esm/solidity/storage/SlotsStorageTransport.js.map +1 -1
  288. package/lib/esm/solidity/storage/SlotsStorageTransport.mjs +3 -3
  289. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
  290. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.mjs +1 -1
  291. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
  292. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.mjs +1 -1
  293. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
  294. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.mjs +1 -1
  295. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
  296. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.mjs +1 -1
  297. package/lib/esm/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
  298. package/lib/esm/solidity/storage/handlers/SlotValueHandler.mjs +1 -1
  299. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
  300. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.mjs +4 -4
  301. package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
  302. package/lib/esm/tokens/TokenDataProvider.mjs +2 -2
  303. package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
  304. package/lib/esm/tokens/TokenExchangeService.mjs +1 -1
  305. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
  306. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
  307. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  308. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +2 -2
  309. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  310. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +2 -2
  311. package/lib/esm/tokens/TokenTransferService.js.map +1 -1
  312. package/lib/esm/tokens/TokenTransferService.mjs +2 -2
  313. package/lib/esm/tokens/TokensService.js.map +1 -1
  314. package/lib/esm/tokens/TokensService.mjs +1 -1
  315. package/lib/esm/txs/TxNonceManager.mjs +1 -1
  316. package/lib/esm/txs/TxWriter.js.map +1 -1
  317. package/lib/esm/txs/TxWriter.mjs +9 -0
  318. package/lib/esm/txs/conditional/GasWatcherTx.js.map +1 -1
  319. package/lib/esm/txs/conditional/GasWatcherTx.mjs +1 -1
  320. package/lib/esm/txs/receipt/TxLogParser.mjs +1 -1
  321. package/lib/esm/utils/$crypto.js.map +1 -1
  322. package/lib/esm/utils/$crypto.mjs +1 -1
  323. package/lib/esm/utils/$date.js.map +1 -1
  324. package/lib/esm/utils/$date.mjs +1 -1
  325. package/lib/esm/utils/$hex.mjs +1 -1
  326. package/lib/esm/utils/$logger.js.map +1 -1
  327. package/lib/esm/utils/$logger.mjs +1 -1
  328. package/lib/esm/utils/$machine.js.map +1 -1
  329. package/lib/esm/utils/$machine.mjs +2 -2
  330. package/lib/esm/utils/$require.js.map +1 -1
  331. package/lib/esm/utils/$traces.js.map +1 -1
  332. package/lib/esm/utils/$traces.mjs +1 -1
  333. package/lib/types/abi/abi-coder-packed.d.ts +1 -1
  334. package/lib/types/abi/abi-coder.d.ts +13 -13
  335. package/lib/types/abi/coders/abstract-coder.d.ts +14 -14
  336. package/lib/types/abi/fragments.d.ts +95 -95
  337. package/lib/types/blocks/BlockDateResolver.d.ts +7 -7
  338. package/lib/types/class/PackedRanges.d.ts +44 -44
  339. package/lib/types/clients/ClientPool.d.ts +10 -10
  340. package/lib/types/clients/WalletClient.d.ts +2 -2
  341. package/lib/types/clients/Web3Client.d.ts +6 -6
  342. package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
  343. package/lib/types/clients/handlers/RateLimitGuard.d.ts +5 -5
  344. package/lib/types/clients/model/PromiEventWrap.d.ts +1 -1
  345. package/lib/types/clients/utils/$web3Abi.d.ts +1 -1
  346. package/lib/types/clients/utils/ClientErrorUtil.d.ts +1 -0
  347. package/lib/types/config/Config.d.ts +3 -2
  348. package/lib/types/contracts/ContractBase.d.ts +4 -4
  349. package/lib/types/contracts/ContractReader.d.ts +2 -2
  350. package/lib/types/contracts/ContractWriter.d.ts +3 -3
  351. package/lib/types/contracts/deploy/Deployments.d.ts +13 -14
  352. package/lib/types/contracts/deploy/storage/DeploymentsStorage.d.ts +2 -0
  353. package/lib/types/explorer/BlockchainExplorerFactory.d.ts +1 -1
  354. package/lib/types/explorer/Evmscan.d.ts +1 -1
  355. package/lib/types/indexer/BlocksTxIndexer.d.ts +4 -4
  356. package/lib/types/indexer/EventsIndexer.d.ts +4 -4
  357. package/lib/types/indexer/PendingTxIndexer.d.ts +1 -1
  358. package/lib/types/indexer/handlers/BlocksWalker.d.ts +2 -2
  359. package/lib/types/indexer/storage/FsEventsIndexerStore.d.ts +4 -4
  360. package/lib/types/ns/providers/INsProvider.d.ts +1 -1
  361. package/lib/types/rpc/Rpc.d.ts +2 -2
  362. package/lib/types/services/TimelockService/ITimelockService.d.ts +2 -2
  363. package/lib/types/services/TimelockService/TimelockService.d.ts +2 -2
  364. package/lib/types/services/TimelockService/TimelockServiceFallbackSafe.d.ts +2 -2
  365. package/lib/types/solidity/SlotsParser/SourceFile.d.ts +1 -1
  366. package/lib/types/solidity/storage/SlotFixedArray.d.ts +1 -1
  367. package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
  368. package/lib/types/tokens/TokensService.d.ts +1 -1
  369. package/lib/types/txs/ITxBuilderOptions.d.ts +1 -1
  370. package/lib/types/txs/TxNonceManager.d.ts +1 -1
  371. package/lib/types/txs/TxWriter.d.ts +4 -4
  372. package/lib/types/txs/receipt/TxLogParser.d.ts +1 -1
  373. package/lib/types/utils/$date.d.ts +1 -1
  374. package/lib/types/utils/$hex.d.ts +1 -1
  375. package/lib/types/utils/$require.d.ts +8 -8
  376. package/package.json +1 -1
  377. package/readme.md +105 -83
  378. package/src/abi/$abiCoder.ts +1 -1
  379. package/src/abi/Logger.ts +1 -1
  380. package/src/abi/abi-coder-packed.ts +3 -3
  381. package/src/abi/abi-coder.ts +16 -16
  382. package/src/abi/coders/abstract-coder.ts +36 -36
  383. package/src/abi/fragments.ts +137 -137
  384. package/src/blocks/BlockDateResolver.ts +9 -9
  385. package/src/bridges/hop/HopBridge.ts +1 -1
  386. package/src/class/PackedRanges.ts +46 -46
  387. package/src/clients/ClientEventsStream.ts +1 -1
  388. package/src/clients/ClientPool.ts +38 -38
  389. package/src/clients/WalletClient.ts +3 -3
  390. package/src/clients/Web3BatchRequests.ts +3 -3
  391. package/src/clients/Web3Client.ts +21 -21
  392. package/src/clients/Web3ClientFactory.ts +1 -1
  393. package/src/clients/compatibility/Web3.ts +2 -2
  394. package/src/clients/handlers/RateLimitGuard.ts +16 -16
  395. package/src/clients/interfaces/IWeb3Client.ts +2 -2
  396. package/src/clients/model/PromiEventWrap.ts +1 -1
  397. package/src/clients/utils/$web3Abi.ts +2 -2
  398. package/src/clients/utils/ClientErrorUtil.ts +4 -0
  399. package/src/config/Config.ts +4 -3
  400. package/src/contracts/Contract.ts +1 -1
  401. package/src/contracts/ContractAbiProvider.ts +6 -6
  402. package/src/contracts/ContractBase.ts +14 -14
  403. package/src/contracts/ContractProvider.ts +1 -1
  404. package/src/contracts/ContractReader.ts +7 -7
  405. package/src/contracts/ContractWriter.ts +4 -4
  406. package/src/contracts/deploy/ContractDeployer.ts +4 -4
  407. package/src/contracts/deploy/ContractDeployment.ts +1 -1
  408. package/src/contracts/deploy/Deployments.ts +69 -56
  409. package/src/contracts/deploy/proxy/$proxyDeploy.ts +14 -14
  410. package/src/contracts/deploy/proxy/ProxyDeployment.ts +22 -22
  411. package/src/contracts/deploy/storage/DeploymentsStorage.ts +21 -18
  412. package/src/contracts/utils/AbiDeserializer.ts +4 -4
  413. package/src/contracts/utils/ContractBaseUtils.ts +3 -3
  414. package/src/erc4337/models/UserOperation.ts +2 -2
  415. package/src/evm/OpcodesWalker.ts +1 -1
  416. package/src/explorer/BlockchainExplorer.ts +1 -1
  417. package/src/explorer/BlockchainExplorerFactory.ts +1 -1
  418. package/src/explorer/BlockchainExplorerStorage.ts +12 -12
  419. package/src/explorer/Evmscan.ts +1 -1
  420. package/src/explorer/verifiers/FsHtmlVerifier.ts +7 -7
  421. package/src/flashbots/FlashbotWeb3Client.ts +1 -1
  422. package/src/hardhat/HardhatProvider.ts +7 -7
  423. package/src/indexer/BlocksTxIndexer.ts +6 -6
  424. package/src/indexer/EventsIndexer.ts +20 -20
  425. package/src/indexer/PendingTxIndexer.ts +3 -3
  426. package/src/indexer/handlers/BlocksWalker.ts +9 -9
  427. package/src/indexer/handlers/TxQueueLoader.ts +1 -1
  428. package/src/indexer/storage/FsEventsIndexerStore.ts +9 -9
  429. package/src/indexer/storage/FsEventsMetaStore.ts +1 -1
  430. package/src/indexer/storage/FsEventsStoreUtils.ts +1 -1
  431. package/src/json/JsonArrayMultiStore.ts +1 -1
  432. package/src/json/JsonStoreFs.ts +1 -1
  433. package/src/ns/providers/INsProvider.ts +1 -1
  434. package/src/rpc/$rpc.ts +2 -2
  435. package/src/rpc/Rpc.ts +2 -2
  436. package/src/rpc/RpcBase.ts +2 -2
  437. package/src/rpc/RpcContract.ts +6 -6
  438. package/src/rpc/RpcSubscription.ts +1 -1
  439. package/src/rpc/transports/compatibility/EIP1193Transport.ts +4 -4
  440. package/src/rpc/transports/compatibility/Web3Transport.ts +1 -1
  441. package/src/services/TimelockService/ITimelockService.ts +2 -2
  442. package/src/services/TimelockService/TimelockService.ts +2 -2
  443. package/src/services/TimelockService/TimelockServiceFallbackSafe.ts +2 -2
  444. package/src/solidity/SlotsDump.ts +1 -1
  445. package/src/solidity/SlotsParser/MappingSettersResolver.ts +3 -3
  446. package/src/solidity/SlotsParser/SourceFile.ts +3 -3
  447. package/src/solidity/SolidityParser.ts +1 -1
  448. package/src/solidity/SourceCodeProvider.ts +1 -1
  449. package/src/solidity/storage/Accessor.spec.ts +1 -1
  450. package/src/solidity/storage/Accessor.ts +1 -1
  451. package/src/solidity/storage/SlotDynamicArray.ts +1 -1
  452. package/src/solidity/storage/SlotFixedArray.ts +1 -1
  453. package/src/solidity/storage/SlotsStorageTransport.ts +3 -3
  454. package/src/solidity/storage/handlers/SlotBytesHandler.ts +1 -1
  455. package/src/solidity/storage/handlers/SlotDynamicArrayHandler.ts +1 -1
  456. package/src/solidity/storage/handlers/SlotFixedArrayHandler.ts +1 -1
  457. package/src/solidity/storage/handlers/SlotValueConstantHandler.ts +1 -1
  458. package/src/solidity/storage/handlers/SlotValueHandler.ts +1 -1
  459. package/src/solidity/storage/handlers/SlotValueImmutableHandler.ts +4 -4
  460. package/src/tokens/TokenDataProvider.ts +2 -2
  461. package/src/tokens/TokenExchangeService.ts +1 -1
  462. package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +2 -2
  463. package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
  464. package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +2 -2
  465. package/src/tokens/TokenTransferService.ts +2 -2
  466. package/src/tokens/TokensService.ts +1 -1
  467. package/src/txs/ITxBuilderOptions.ts +1 -1
  468. package/src/txs/TxNonceManager.ts +1 -1
  469. package/src/txs/TxWriter.ts +15 -4
  470. package/src/txs/agents/BatchAgent.ts +1 -1
  471. package/src/txs/conditional/GasWatcherTx.ts +1 -1
  472. package/src/txs/receipt/TxLogParser.ts +1 -1
  473. package/src/utils/$crypto.ts +1 -1
  474. package/src/utils/$date.ts +1 -1
  475. package/src/utils/$hex.ts +1 -1
  476. package/src/utils/$logger.ts +1 -1
  477. package/src/utils/$machine.ts +2 -2
  478. package/src/utils/$require.ts +10 -10
  479. package/src/utils/$traces.ts +1 -1
  480. package/src/wallets/EIP6963ProviderFactory.ts +4 -4
@@ -76,7 +76,7 @@ interface IBeaconDeploymentCtx extends IDeploymentCtx {
76
76
  }
77
77
  }
78
78
 
79
- // Supports OpenZeppelin proxy deployments
79
+ // Supports OpenZeppelin proxy deployments.
80
80
 
81
81
  export class ProxyDeployment {
82
82
 
@@ -96,7 +96,7 @@ export class ProxyDeployment {
96
96
  async ensureProxy(ctx: IProxyDeploymentCtx) {
97
97
  $require.notEmpty(ctx.proxyId, `ProxyId for the contract is required`);
98
98
  $require.Address(ctx.implementation?.address, `Implementation address is required`);
99
- //@TODO add support of UUPS proxy
99
+ //@TODO Add support for UUPS proxies.
100
100
  return this.ensureTransparentProxy(ctx);
101
101
  }
102
102
 
@@ -109,7 +109,7 @@ export class ProxyDeployment {
109
109
  }
110
110
 
111
111
 
112
- // Supports OpenZeppelin TransparentProxy of v ^4.0 and ^5.0
112
+ // Supports OpenZeppelin TransparentProxy v4.x and v5.x.
113
113
  protected async ensureTransparentProxy(ctx: IProxyDeploymentCtx) {
114
114
  let {
115
115
  proxyId,
@@ -143,9 +143,9 @@ export class ProxyDeployment {
143
143
 
144
144
  let proxyOpts = <Parameters<Deployments['ensure']>[1]>{
145
145
  id: proxyId,
146
- // will not compare the contract updates, once deployed. As proxies normally not updated
146
+ // Do not compare contract updates after deployment, as proxies are normally not updated.
147
147
  latest: false,
148
- // will be used for verification
148
+ // Used for verification.
149
149
  proxyFor: implAddress,
150
150
  arguments: [
151
151
  // address _logic, address initialOwner, bytes memory _data
@@ -155,7 +155,7 @@ export class ProxyDeployment {
155
155
 
156
156
  let proxyAbi = new Proxy().abi;
157
157
  let v = proxyAbi.some(x => x.name === 'upgradeToAndCall') || !proxyAbi.some(x => x.type === 'error') ? 'V4' : 'V5';
158
- /** OpenZeppelin V5 hides admin/upgrade public methods and introduces "error" types*/
158
+ /** OpenZeppelin V5 hides admin/upgrade public methods and introduces "error" types. */
159
159
 
160
160
  let hasProxy = await deployments.has(Proxy, proxyOpts);
161
161
  let shouldUpdate = ctx.upgradeImplementation ?? true;
@@ -176,12 +176,12 @@ export class ProxyDeployment {
176
176
  }
177
177
 
178
178
  if ($address.eq(log.params.newAdmin, deployer.address)) {
179
- // Openzeppelin < 5 was not deploying AdminContract automatically
179
+ // OpenZeppelin < 5 does not deploy AdminContract automatically.
180
180
  let { contract } = await deployments.ensure(ProxyAdmin, {
181
181
  id: contractProxyAdminId
182
182
  });
183
183
  contractProxyAdmin = contract;
184
- // make sure we upgrade
184
+ // Make sure we upgrade.
185
185
 
186
186
  l`Will change the EOA admin to ProxyAdmin contract`;
187
187
  let receipt = await Interfaces.call(
@@ -192,7 +192,7 @@ export class ProxyDeployment {
192
192
  );
193
193
 
194
194
  } else {
195
- // Openzeppelin TransparentUpgradeableProxy V5 creates additionally the ProxyAdmin contract on Proxy deployment
195
+ // OpenZeppelin TransparentUpgradeableProxy V5 also creates the ProxyAdmin contract on proxy deployment.
196
196
  contractProxyAdmin = new ProxyAdmin(log.params.newAdmin, client);
197
197
  await this.store.saveDeployment(contractProxyAdmin, {
198
198
  id: contractProxyAdminId,
@@ -201,7 +201,7 @@ export class ProxyDeployment {
201
201
  }
202
202
  } else {
203
203
  contractProxyAdmin = await deployments.get(ProxyAdmin, { id: contractProxyAdminId });
204
- $require.notNull(contractProxyAdmin, `Proxy was deployed previously, but the ProxyAdmin ${contractProxyAdminId} not found`);
204
+ $require.notNull(contractProxyAdmin, `Proxy was deployed previously, but ProxyAdmin ${contractProxyAdminId} was not found`);
205
205
  }
206
206
 
207
207
  if (hasProxy) {
@@ -214,7 +214,7 @@ export class ProxyDeployment {
214
214
  if ($hex.isEmpty(migrationData) === false) {
215
215
  let version = await Interfaces.TransparentProxy[v].contractProxy.version(contractProxy);
216
216
  if (migrationV <= version) {
217
- // Clear migration call; This upgrade is raw implementation upgrade
217
+ // Clear the migration call; this upgrade is a raw implementation upgrade.
218
218
  migrationData = null;
219
219
  }
220
220
  }
@@ -229,12 +229,12 @@ export class ProxyDeployment {
229
229
  );
230
230
  await this.saveStorageLayout(proxyId, ctx);
231
231
  } else {
232
- $logger.log(`Skip upgrade ProxyAdmin(${contractProxyAdmin.address}) to ${implAddress} (${v}) from ${address}`);
232
+ $logger.log(`Skipping ProxyAdmin(${contractProxyAdmin.address}) upgrade to ${implAddress} (${v}) from ${address}`);
233
233
  }
234
234
  }
235
235
  }
236
236
  if (hasProxy === false && contractProxyReceipt != null) {
237
- // new proxy deployment, save the storage layout
237
+ // New proxy deployment: save the storage layout.
238
238
  await this.saveStorageLayout(proxyId, ctx);
239
239
  }
240
240
  return {
@@ -245,7 +245,7 @@ export class ProxyDeployment {
245
245
  }
246
246
 
247
247
  private async getOpenzeppelinUpgradable(opts?: { proxy?: boolean, beacon?: boolean }) {
248
- // We can't compile OpenZeppelin's contracts directly from node_modules folder, so create the wrappers
248
+ // We cannot compile OpenZeppelin's contracts directly from the node_modules folder, so create wrappers.
249
249
  const baseSource = `./node_modules/@openzeppelin/contracts/proxy`;
250
250
  const baseOutput = `./contracts/oz`;
251
251
  const deps = {
@@ -261,7 +261,7 @@ export class ProxyDeployment {
261
261
  template: `
262
262
  import \"${deps.TransparentUpgradeableProxy}\";
263
263
  `,
264
- //install: `TransparentUpgradeableProxy,ProxyAdmin`,
264
+ // install: `TransparentUpgradeableProxy,ProxyAdmin`,
265
265
  contracts: [`TransparentUpgradeableProxy`, `ProxyAdmin`]
266
266
  },
267
267
  Beacon: {
@@ -271,7 +271,7 @@ export class ProxyDeployment {
271
271
  import \"${deps.UpgradeableBeacon}\";
272
272
  import \"${deps.BeaconProxy}\";
273
273
  `,
274
- //install: `UpgradeableBeacon,BeaconProxy`,
274
+ // install: `UpgradeableBeacon,BeaconProxy`,
275
275
  contracts: [`UpgradeableBeacon`, `BeaconProxy`],
276
276
  }
277
277
  };
@@ -384,14 +384,14 @@ export class ProxyDeployment {
384
384
  }
385
385
  } else {
386
386
  if (contractBeaconReceipt?.status) {
387
- // new beacon deployment, save the storage layout
387
+ // New beacon deployment: save the storage layout.
388
388
  await this.saveStorageLayout(beaconId, ctx);
389
389
  }
390
390
  }
391
391
 
392
392
  let beaconProxyOpts = {
393
393
  id: beaconProxyId,
394
- // Pass the target implementation address for verification
394
+ // Pass the target implementation address for verification.
395
395
  proxyFor: implAddress,
396
396
  arguments: [
397
397
  // address implementation
@@ -414,7 +414,7 @@ export class ProxyDeployment {
414
414
  }
415
415
 
416
416
  private async saveStorageLayout(proxyId: string, ctx: IDeploymentCtx) {
417
- $require.notNull(ctx.ImplementationContract, `Implementation Contract Class is required to compare the storage layout`);
417
+ $require.notNull(ctx.ImplementationContract, `Implementation contract class is required to compare the storage layout`);
418
418
  let newSlots = new ctx.ImplementationContract().storage?.$storage?.slots ?? [];
419
419
  await this.store.saveStorageLayoutInfo({
420
420
  id: proxyId,
@@ -424,10 +424,10 @@ export class ProxyDeployment {
424
424
 
425
425
  private async requireCompatibleStorageLayout(proxyId: string, ctx: IDeploymentCtx) {
426
426
  if (ctx.options?.skipStorageLayoutCheck !== true) {
427
- $require.notNull(ctx.ImplementationContract, `Implementation Contract Class is required to compare the storage layout`);
427
+ $require.notNull(ctx.ImplementationContract, `Implementation contract class is required to compare the storage layout`);
428
428
 
429
429
  let newStorageLayout = new ctx.ImplementationContract().storage?.$storage?.slots;
430
- $require.notNull(newStorageLayout, `No storage layout was generated for ${ctx.ImplementationContract.name}. `);
430
+ $require.notNull(newStorageLayout, `No storage layout was generated for ${ctx.ImplementationContract.name}.`);
431
431
 
432
432
  let currentStorageLayout = await this.store.getStorageLayoutInfo(proxyId);
433
433
  if (currentStorageLayout != null) {
@@ -442,7 +442,7 @@ export class ProxyDeployment {
442
442
 
443
443
  private getOzVersionByBeacon(Beacon: Constructor<IBeacon>): 5 | 4 {
444
444
  let $constructor = new Beacon().abi?.find(x => x.type === 'constructor');
445
- $require.notNull($constructor, `Invalid Beacon contract: constructor not found`);
445
+ $require.notNull($constructor, `Invalid Beacon contract: constructor was not found`);
446
446
 
447
447
  if ($constructor.inputs.length === 1) {
448
448
  // constructor(address implementation_)
@@ -22,11 +22,12 @@ import { $path } from '@dequanto/utils/$path';
22
22
  export interface IDeployment {
23
23
  id: string
24
24
  name: string
25
- // TS/JS file
25
+ immutablesKey?: string
26
+ // TS/JS file.
26
27
  main: string
27
28
  address: TAddress
28
29
 
29
- // If the Contract was deployed with Proxy - the Address is the address of the proxy
30
+ // If the contract was deployed with a proxy, the address is the proxy address.
30
31
  implementation?: TAddress
31
32
 
32
33
  proxyFor?: TAddress
@@ -53,9 +54,9 @@ export class DeploymentsStorage {
53
54
 
54
55
  constructor (public client: Web3Client, public deployer: IAccount, public opts: {
55
56
  directory?: string
56
- // Will be part of the deployments filename
57
+ // Part of the deployments filename.
57
58
  name?: string
58
- // TPlatform of a forked network
59
+ // TPlatform of a forked network.
59
60
  fork?: string
60
61
  }) {
61
62
 
@@ -103,7 +104,7 @@ export class DeploymentsStorage {
103
104
  if (deploymentsByAddress.length > 1) {
104
105
  let asProxy = deploymentsByAddress.filter(x => x.proxyFor != null);
105
106
  if (asProxy.length > 0) {
106
- $require.eq(asProxy.length, 1, 'Expects only 1 deployment per Address.');
107
+ $require.eq(asProxy.length, 1, 'Expected only one deployment per address.');
107
108
  return asProxy[0];
108
109
  }
109
110
  }
@@ -111,12 +112,12 @@ export class DeploymentsStorage {
111
112
  if (deploymentsByAddress.length === 0) {
112
113
  let asImplementations = deployments.filter(x => $address.eq(x.implementation, byAddress));
113
114
  if (asImplementations.length > 0) {
114
- $require.eq(asImplementations.length, 1, 'Expects only 1 deployment per Address.');
115
+ $require.eq(asImplementations.length, 1, 'Expected only one deployment per address.');
115
116
  return asImplementations[0];
116
117
  }
117
118
  }
118
119
 
119
- throw new Error(`Deployment not found for Address: ${byAddress}`);
120
+ throw new Error(`Deployment was not found for address: ${byAddress}`);
120
121
  }
121
122
 
122
123
  let id = typeof mix === 'string' ? mix : mix.name;
@@ -158,6 +159,7 @@ export class DeploymentsStorage {
158
159
  async saveDeployment (contract: ContractBase, info: {
159
160
  id: string
160
161
  name: string
162
+ immutablesKey?: string
161
163
  bytecodeHash?: TEth.Hex
162
164
  }, receipt?: TEth.TxReceipt) {
163
165
  $contract.store.register(contract as any);
@@ -168,6 +170,7 @@ export class DeploymentsStorage {
168
170
  let deployment = <IDeployment> {
169
171
  id: info.id,
170
172
  name: info.name,
173
+ immutablesKey: info.immutablesKey,
171
174
  main: $path.getRelativePath(contract.$meta?.class ?? contract.$meta?.artifact ?? contract.$meta.source),
172
175
  bytecodeHash: info.bytecodeHash,
173
176
  address: contract.address,
@@ -177,7 +180,7 @@ export class DeploymentsStorage {
177
180
  deployer: this.deployer.address,
178
181
  timestamp: $date.toUnixTimestamp(new Date()),
179
182
 
180
- // If current deployment is the implementation, set the field to null, for later reconfiguration, otherwise keep the field uninitialized
183
+ // If the current deployment is the implementation, set the field to null for later reconfiguration. Otherwise, keep the field uninitialized.
181
184
  implementation: currentDeployment?.implementation ? null : void 0,
182
185
  };
183
186
 
@@ -255,11 +258,11 @@ export class DeploymentsStorage {
255
258
  let upstreamDeployments: IDeployment[];
256
259
  let shouldCopy = true;
257
260
  if (await File.existsAsync(path)) {
258
- // forked deployments path already exists, check if stale
261
+ // The forked deployments path already exists; check whether it is stale.
259
262
  let blockNumber = await this.client.getBlockNumber();
260
263
  if (upstreamDeploymentExists) {
261
264
  upstreamDeployments = await File.readAsync<IDeployment[]>(upstreamDeploymentsPath);
262
- // 1. Check if the original(upstream) network has more recent deployments
265
+ // 1. Check whether the original (upstream) network has more recent deployments.
263
266
  let hasNewDeployments = upstreamDeployments.some(x => x.block > blockNumber);
264
267
  shouldCopy = hasNewDeployments;
265
268
  } else {
@@ -275,11 +278,11 @@ export class DeploymentsStorage {
275
278
  shouldCopy = true;
276
279
  }
277
280
  if (shouldCopy === false) {
278
- // 3. Just-in-case, check if there are deployments with higher block number, as the current HEAD
281
+ // 3. Just in case, check whether any deployments have a higher block number than the current HEAD.
279
282
  let hasNewDeployments = deployments.some(x => x.block > blockNumber);
280
283
  shouldCopy = hasNewDeployments;
281
284
  if (shouldCopy === false) {
282
- // 4. Check if the latest deployments transaction exists in current forked network
285
+ // 4. Check whether the latest deployment transaction exists in the current forked network.
283
286
  let latestDeployment = alot(deployments).maxItem(x => x.block);
284
287
  if (latestDeployment != null) {
285
288
  try {
@@ -292,7 +295,7 @@ export class DeploymentsStorage {
292
295
  }
293
296
  }
294
297
  if (shouldCopy === false && upstreamDeployments?.length > 0) {
295
- // 5. Just-in-case, if there are upstream deployments with lower block number, as the current HEAD, but not in the current forked network
298
+ // 5. Just in case, check for upstream deployments with a lower block number than the current HEAD that are missing from the current forked network.
296
299
  let deploymentIds = alot(deployments).toDictionary(x => x.id);
297
300
  let hasNewDeployments = upstreamDeployments
298
301
  .filter(x => x.block <= blockNumber)
@@ -303,14 +306,14 @@ export class DeploymentsStorage {
303
306
  }
304
307
  }
305
308
  if (shouldCopy) {
306
- // current forked deployments are stale, copy the upstream deployments or clean
309
+ // Current forked deployments are stale; copy the upstream deployments or clear them.
307
310
  if (upstreamDeploymentExists) {
308
311
  await File.copyToAsync(upstreamDeploymentsPath, path, {
309
312
  silent: true
310
313
  });
311
314
  File.clearCache();
312
315
  } else {
313
- // clear
316
+ // Clear.
314
317
  await File.writeAsync(path, []);
315
318
  }
316
319
  }
@@ -340,7 +343,7 @@ export class DeploymentsStorage {
340
343
  ]);
341
344
  let deployments = await store.getAll();
342
345
  if (deployments.length === 0) {
343
- // Nothing to remove: No deployments
346
+ // Nothing to remove: no deployments.
344
347
  return;
345
348
  }
346
349
  if (block0 == null) {
@@ -349,9 +352,9 @@ export class DeploymentsStorage {
349
352
 
350
353
  let stale = deployments.filter(x => {
351
354
  return x.timestamp == null
352
- // was deployed earlier as current genesis block
355
+ // Was deployed earlier than the current genesis block.
353
356
  || x.timestamp < block0.timestamp
354
- // was deployed in the later block as current block
357
+ // Was deployed in a later block than the current block.
355
358
  || x.block > blockNumberHead;
356
359
  });
357
360
  if (stale.length > 0) {
@@ -10,7 +10,7 @@ export namespace AbiDeserializer {
10
10
 
11
11
  export function process(result: any, types: TAbiOutput[]) {
12
12
  if (types == null || types.length === 0) {
13
- // return as-is
13
+ // Return as is.
14
14
  return result;
15
15
  }
16
16
  let type: 'array' | 'object' | AbiNativeType = $abiParser.getReturnTypeFromTypes(types);
@@ -48,7 +48,7 @@ export namespace AbiDeserializer {
48
48
  }
49
49
  if (type.type === 'tuple[]') {
50
50
  if (Array.isArray(val) === false) {
51
- throw new Error(`${type.name} tuple[] expects array to deserialize. Got ${val}`);
51
+ throw new Error(`${type.name} tuple[] expects an array to deserialize. Got ${val}`);
52
52
  }
53
53
  return val.map(item => {
54
54
  return process(item, type.components);
@@ -61,7 +61,7 @@ export namespace AbiDeserializer {
61
61
  value = normalizeArray(value);
62
62
 
63
63
  if (Array.isArray(value) === false) {
64
- throw new Error(`Array expected of types: ${types.map(x => x.type)}; Got ${value}`);
64
+ throw new Error(`Expected an array of types: ${types.map(x => x.type)}; got ${value}`);
65
65
  }
66
66
 
67
67
  let out = [];
@@ -87,7 +87,7 @@ export namespace AbiDeserializer {
87
87
  return out;
88
88
  }
89
89
 
90
- // { 0: a, 1: b, 2: c } to array
90
+ // Convert { 0: a, 1: b, 2: c } to an array.
91
91
  function normalizeArray(val) {
92
92
  if (Array.isArray(val)) {
93
93
  return val;
@@ -11,13 +11,13 @@ export namespace ContractBaseUtils {
11
11
  export function $getAbiItem(abi: TAbiItem[], type: 'event' | 'function' | 'string', name: string, argsCount?: number) {
12
12
  let arr = abi.filter(x => x.type === type && x.name === name);
13
13
  if (arr.length === 0) {
14
- throw new Error(`TAbiItem ${name} not found`);
14
+ throw new Error(`TAbiItem ${name} was not found`);
15
15
  }
16
16
  if (arr.length === 1) {
17
17
  return arr[0];
18
18
  }
19
19
  if (argsCount == null) {
20
- throw new Error(`Found multiple TAbiItems for ${name}. Args count not specified to pick one`);
20
+ throw new Error(`Found multiple TAbiItems for ${name}. Argument count was not specified to pick one`);
21
21
  }
22
22
  return arr.find(x => (x.inputs?.length ?? 0) === argsCount);
23
23
  }
@@ -98,7 +98,7 @@ export namespace ContractBaseUtils {
98
98
  let tx = await writer.writeAsync(account, abi, params);
99
99
  let { error, result } = await $promise.caught(tx.onSigned);
100
100
 
101
- // get TransactionHash
101
+ // Get the transaction hash.
102
102
  let hash = result != null ? $contract.keccak256(result) : null;
103
103
  return { error, signed: result, hash };
104
104
  }
@@ -9,8 +9,8 @@ export const UserOperationDefaults = <UserOperation> {
9
9
  initCode: '0x',
10
10
  callData: '0x',
11
11
  callGasLimit: 0n,
12
- verificationGasLimit: 150000n, // default verification gas. will add create2 cost (3200+200*length) if initCode exists
13
- preVerificationGas: 21000n, // should also cover calldata cost.
12
+ verificationGasLimit: 150000n, // Default verification gas, will add the create2 cost (3200+200*length) if initCode exists
13
+ preVerificationGas: 21000n, // Should also cover calldata cost
14
14
  maxFeePerGas: 0n,
15
15
  maxPriorityFeePerGas: 0n,
16
16
  paymasterAndData: '0x',
@@ -93,7 +93,7 @@ export class OpcodesWalker {
93
93
  // Is Conditional
94
94
  this.evm.stack.pop();
95
95
 
96
- // Visit falsy leaf (as if the jump not occured)
96
+ // Visit the falsy leaf as if the jump did not occur
97
97
  let evm = this.evm.clone();
98
98
  let walker = new OpcodesWalker(evm, this.opcodes);
99
99
  let { opcodes } = walker.goToExit(this.current);
@@ -377,7 +377,7 @@ export class BlockchainExplorer implements IBlockchainExplorer {
377
377
  files
378
378
  };
379
379
  } catch (error) {
380
- throw new Error(`Source code (${url}) can't be parsed: ${error.message}`);
380
+ throw new Error(`Source code (${url}) cannot be parsed: ${error.message}`);
381
381
  }
382
382
  }
383
383
  function parseJson(str: string) {
@@ -12,7 +12,7 @@ import { $require } from '@dequanto/utils/$require';
12
12
 
13
13
 
14
14
  /**
15
- * @obsolete Use BlockchainExplorer class instead.
15
+ * @obsolete Use BlockchainExplorer class instead
16
16
  */
17
17
  export namespace BlockchainExplorerFactory {
18
18
 
@@ -50,16 +50,16 @@ export class BlockchainExplorerStorage implements IBlockchainExplorer {
50
50
  }
51
51
  }
52
52
  submitContractProxyVerification(contractData: { address: TAddress; expectedImplementation?: TAddress }): Promise<string> {
53
- throw new Error('Method not implemented.');
53
+ throw new Error('Method not implemented');
54
54
  }
55
55
  checkContractProxyVerificationSubmission(submission: { guid: any; }): Promise<string> {
56
- throw new Error('Method not implemented.');
56
+ throw new Error('Method not implemented');
57
57
  }
58
58
  submitContractVerification(contractData: { address: `0x${string}`; sourceCode: any; contractName: any; compilerVersion: any; optimizer?: { enabled?: boolean; runs: number; }; arguments?: `0x${string}`; }): Promise<string> {
59
- throw new Error('Method not implemented.');
59
+ throw new Error('Method not implemented');
60
60
  }
61
61
  checkContractVerificationSubmission(submission: { guid: any; }): Promise<string> {
62
- throw new Error('Method not implemented.');
62
+ throw new Error('Method not implemented');
63
63
  }
64
64
  registerAbi(abis: { name: any; address: any; abi: any; }[]) {
65
65
  abis.forEach(x => {
@@ -73,10 +73,10 @@ export class BlockchainExplorerStorage implements IBlockchainExplorer {
73
73
  }
74
74
 
75
75
  getContractMeta(q: string): Promise<IContractDetails> {
76
- throw new Error('Method not implemented.');
76
+ throw new Error('Method not implemented');
77
77
  }
78
78
  getContractCreation(address: string): Promise<{ creator: TEth.Address; txHash: TEth.Hex; }> {
79
- throw new Error('Method not implemented.');
79
+ throw new Error('Method not implemented');
80
80
  }
81
81
  async getContractAbi(address: TAddress, opts?: { implementation?: TAddress; }): Promise<{ abi: string; implementation: TAddress; }> {
82
82
  let $address = opts?.implementation ?? address;
@@ -103,22 +103,22 @@ export class BlockchainExplorerStorage implements IBlockchainExplorer {
103
103
  }
104
104
  }
105
105
  getTransactions(address: string, params?: { fromBlockNumber?: number; page?: number; size?: number; }): Promise<TEth.Tx[]> {
106
- throw new Error('Method not implemented.');
106
+ throw new Error('Method not implemented');
107
107
  }
108
108
  getTransactionsAll(address: string): Promise<TEth.Tx[]> {
109
- throw new Error('Method not implemented.');
109
+ throw new Error('Method not implemented');
110
110
  }
111
111
  getInternalTransactions(address: string, params?: { fromBlockNumber?: number; page?: number; size?: number; }): Promise<TEth.Tx[]> {
112
- throw new Error('Method not implemented.');
112
+ throw new Error('Method not implemented');
113
113
  }
114
114
  getInternalTransactionsAll(address: string): Promise<TEth.Tx[]> {
115
- throw new Error('Method not implemented.');
115
+ throw new Error('Method not implemented');
116
116
  }
117
117
  getErc20Transfers(address: string, fromBlockNumber?: number): Promise<IBlockchainTransferEvent[]> {
118
- throw new Error('Method not implemented.');
118
+ throw new Error('Method not implemented');
119
119
  }
120
120
  getErc20TransfersAll(address: string, fromBlockNumber?: number): Promise<IBlockchainTransferEvent[]> {
121
- throw new Error('Method not implemented.');
121
+ throw new Error('Method not implemented');
122
122
  }
123
123
 
124
124
  }
@@ -3,6 +3,6 @@ import { BlockchainExplorer } from './BlockchainExplorer';
3
3
 
4
4
 
5
5
  /**
6
- * @obsolete Use BlockchainExplorer class instead.
6
+ * @obsolete Use BlockchainExplorer class instead
7
7
  */
8
8
  export const Evmscan = BlockchainExplorer;
@@ -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
  }
@@ -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);