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
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Defines a RANGE: [FROM_NUMBER, TO_NUMBER | Infinity)
3
3
  *
4
- * - Walking/Iterating/Visiting through the range marks the visited number as ADD.
4
+ * - Walking/Iterating/Visiting through the range marks the visited number as ADD
5
5
  *
6
6
  * - Possible to ADD the number manually, for example for persistence/restore properties
7
7
  *
@@ -20,16 +20,16 @@ export declare class PackedRanges {
20
20
  total(): number;
21
21
  totalAdded(): number;
22
22
  /**
23
- * Calculates the number of elements remaining to be visited/added in the range.
24
- * This is the difference between the total capacity and the number of elements already tracked.
23
+ * Calculates the number of elements remaining to be visited/added in the range
24
+ * This is the difference between the total capacity and the number of elements already tracked
25
25
  */
26
26
  totalLeft(): number;
27
27
  /**
28
- * Gets the next unvisited number in the range and marks it as visited.
28
+ * Gets the next unvisited number in the range and marks it as visited
29
29
  *
30
30
  * This method finds the next number that hasn't been added to the tracked ranges yet,
31
31
  * automatically adds it to the ranges, and returns it. It respects the boundaries
32
- * defined by `from` and `to` properties.
32
+ * defined by `from` and `to` properties
33
33
  *
34
34
  * The method works by:
35
35
  * - Starting from `this.from` if no ranges exist
@@ -42,27 +42,27 @@ export declare class PackedRanges {
42
42
  */
43
43
  next(): number;
44
44
  /**
45
- * Gets the maximum (upper bound) value from all tracked ranges.
45
+ * Gets the maximum (upper bound) value from all tracked ranges
46
46
  *
47
- * This method returns the highest number that has been visited/added to the ranges.
48
- * It retrieves the upper bound of the last range in the sorted ranges array.
47
+ * This method returns the highest number that has been visited/added to the ranges
48
+ * It retrieves the upper bound of the last range in the sorted ranges array
49
49
  *
50
50
  * @returns The maximum value in the tracked ranges, or `null` if no ranges have been added yet
51
51
  */
52
52
  getMax(): number;
53
53
  /**
54
- * Checks if a specific number has been visited/added to the tracked ranges.
54
+ * Checks if a specific number has been visited/added to the tracked ranges
55
55
  *
56
56
  * This method searches through all tracked ranges to determine if the given number
57
57
  * falls within any of them. It performs a linear search through the ranges array,
58
- * checking if the number is within the bounds (inclusive) of any range.
58
+ * checking if the number is within the bounds (inclusive) of any range
59
59
  *
60
60
  * @param nr - The number to check for inclusion in the tracked ranges
61
61
  * @returns `true` if the number exists within any of the tracked ranges, `false` otherwise
62
62
  */
63
63
  includes(nr: number): boolean;
64
64
  /**
65
- * Adds a number to the tracked ranges, marking it as visited.
65
+ * Adds a number to the tracked ranges, marking it as visited
66
66
  *
67
67
  * This method intelligently adds a number to the ranges by either:
68
68
  * - Extending an existing range if the number is adjacent to it
@@ -70,7 +70,7 @@ export declare class PackedRanges {
70
70
  * - Doing nothing if the number is already included in an existing range
71
71
  *
72
72
  * The method maintains the sorted order of ranges and automatically merges
73
- * adjacent numbers into contiguous ranges for efficient storage.
73
+ * adjacent numbers into contiguous ranges for efficient storage
74
74
  *
75
75
  * @param nr - The number to add to the tracked ranges
76
76
  * @returns `true` if the number was successfully added (new or extended a range),
@@ -78,22 +78,22 @@ export declare class PackedRanges {
78
78
  */
79
79
  add(nr: number): boolean;
80
80
  /**
81
- * Adds a complete range to the tracked ranges and compacts the result.
81
+ * Adds a complete range to the tracked ranges and compacts the result
82
82
  *
83
83
  * This method adds an entire range [min, max] to the tracked ranges array,
84
84
  * then automatically compacts the ranges to merge any overlapping or adjacent
85
85
  * ranges. This is useful for bulk operations where you want to mark multiple
86
- * consecutive numbers as visited at once.
86
+ * consecutive numbers as visited at once
87
87
  *
88
88
  * Unlike the `add()` method which adds individual numbers, this method adds
89
89
  * a complete range tuple and ensures the internal ranges array remains optimized
90
- * by calling `compact()` after insertion.
90
+ * by calling `compact()` after insertion
91
91
  *
92
92
  * @param range - A tuple [min, max] representing the range to add, where both bounds are inclusive
93
93
  */
94
94
  addRange(range: [number, number]): void;
95
95
  /**
96
- * Removes a specific number from the tracked ranges, marking it as unvisited.
96
+ * Removes a specific number from the tracked ranges, marking it as unvisited
97
97
  *
98
98
  * This method searches for the number within the tracked ranges and removes it by either:
99
99
  * - Removing the entire range if it contains only the target number
@@ -102,7 +102,7 @@ export declare class PackedRanges {
102
102
  * - Splitting the range into two separate ranges if the number is in the middle
103
103
  *
104
104
  * The method maintains the sorted order of ranges and ensures efficient storage
105
- * by handling all edge cases appropriately.
105
+ * by handling all edge cases appropriately
106
106
  *
107
107
  * @param nr - The number to remove from the tracked ranges
108
108
  * @returns `true` if the number was found and successfully removed from the ranges,
@@ -110,36 +110,36 @@ export declare class PackedRanges {
110
110
  */
111
111
  remove(nr: number): boolean;
112
112
  /**
113
- * Removes a range of numbers from the tracked ranges, marking them as unvisited.
113
+ * Removes a range of numbers from the tracked ranges, marking them as unvisited
114
114
  *
115
115
  * This method subtracts the specified range from all tracked ranges, effectively
116
116
  * removing all numbers within the given range from the visited/added set. It handles
117
- * overlapping ranges by splitting or trimming existing ranges as needed.
117
+ * overlapping ranges by splitting or trimming existing ranges as needed
118
118
  *
119
119
  * The method maintains the sorted order of ranges and ensures efficient storage
120
- * by delegating to the `Ranges.subtract()` utility function.
120
+ * by delegating to the `Ranges.subtract()` utility function
121
121
  *
122
122
  * @param range - A tuple [min, max] representing the range to remove, where both bounds are inclusive
123
123
  * @returns The current `PackedRanges` instance for method chaining
124
124
  */
125
125
  subtractRange(range: [number, number]): this;
126
126
  /**
127
- * Removes multiple ranges of numbers from the tracked ranges, marking them as unvisited.
127
+ * Removes multiple ranges of numbers from the tracked ranges, marking them as unvisited
128
128
  *
129
129
  * This method subtracts all specified ranges from the tracked ranges, effectively
130
130
  * removing all numbers within the given ranges from the visited/added set. It handles
131
131
  * overlapping ranges by splitting or trimming existing ranges as needed for each
132
- * range in the input array.
132
+ * range in the input array
133
133
  *
134
134
  * The method maintains the sorted order of ranges and ensures efficient storage
135
- * by delegating to the `Ranges.subtractMany()` utility function.
135
+ * by delegating to the `Ranges.subtractMany()` utility function
136
136
  *
137
137
  * @param ranges - An array of tuples [min, max] representing the ranges to remove, where both bounds are inclusive
138
138
  * @returns The current `PackedRanges` instance for method chaining
139
139
  */
140
140
  subtractRanges(ranges: [number, number][]): this;
141
141
  /**
142
- * Compacts the tracked ranges by merging overlapping and adjacent ranges.
142
+ * Compacts the tracked ranges by merging overlapping and adjacent ranges
143
143
  *
144
144
  * This method optimizes the internal ranges array by:
145
145
  * - Merging overlapping ranges into single contiguous ranges
@@ -148,67 +148,67 @@ export declare class PackedRanges {
148
148
  * - Removing redundant range entries
149
149
  *
150
150
  * This operation is useful after bulk modifications to ensure the ranges
151
- * array remains in its most efficient form for storage and querying.
151
+ * array remains in its most efficient form for storage and querying
152
152
  */
153
153
  compact(): void;
154
154
  /**
155
- * Sets the tracked ranges to a new array of ranges and compacts them.
155
+ * Sets the tracked ranges to a new array of ranges and compacts them
156
156
  *
157
157
  * This method replaces the entire internal ranges array with the provided ranges,
158
- * then automatically compacts them to merge any overlapping or adjacent ranges.
159
- * This is useful for bulk initialization or restoration of ranges from a saved state.
158
+ * then automatically compacts them to merge any overlapping or adjacent ranges
159
+ * This is useful for bulk initialization or restoration of ranges from a saved state
160
160
  *
161
161
  * After setting the ranges, the method ensures the internal ranges array is optimized
162
- * by calling `compact()`, which merges overlapping ranges and joins adjacent ones.
162
+ * by calling `compact()`, which merges overlapping ranges and joins adjacent ones
163
163
  *
164
164
  * @param ranges - An array of tuples [min, max] representing the ranges to set, where both bounds are inclusive
165
165
  */
166
166
  set(ranges: [number, number][]): void;
167
167
  /**
168
- * Serializes the tracked ranges to a JSON string representation.
168
+ * Serializes the tracked ranges to a JSON string representation
169
169
  *
170
170
  * This method converts the internal ranges array into a JSON string format,
171
- * which can be used for persistence, transmission, or storage purposes.
171
+ * which can be used for persistence, transmission, or storage purposes
172
172
  * The serialized string can later be parsed and used to restore the ranges
173
- * via the constructor's `ranges` option.
173
+ * via the constructor's `ranges` option
174
174
  *
175
175
  * @returns A JSON string representation of the tracked ranges array
176
176
  */
177
177
  serialize(): string;
178
178
  /**
179
- * Creates a new PackedRanges instance containing only the ranges starting from a specified number.
179
+ * Creates a new PackedRanges instance containing only the ranges starting from a specified number
180
180
  *
181
181
  * This method filters the tracked ranges to include only those that contain or come after
182
182
  * the specified `from` value. If a range overlaps with the `from` value, it is trimmed
183
- * to start at `from`. All ranges before `from` are excluded from the result.
183
+ * to start at `from`. All ranges before `from` are excluded from the result
184
184
  *
185
185
  * The original PackedRanges instance remains unchanged; a new instance is returned with
186
- * the filtered ranges.
186
+ * the filtered ranges
187
187
  *
188
188
  * @param from - The starting number from which to pick ranges (inclusive)
189
189
  * @returns A new PackedRanges instance containing only the ranges from the specified number onwards
190
190
  */
191
191
  pickFrom(from: number): PackedRanges;
192
192
  /**
193
- * Creates a new PackedRanges instance containing only the ranges up to a specified number.
193
+ * Creates a new PackedRanges instance containing only the ranges up to a specified number
194
194
  *
195
195
  * This method filters the tracked ranges to include only those that contain or come before
196
196
  * the specified `to` value. If a range overlaps with the `to` value, it is trimmed
197
- * to end at `to`. All ranges after `to` are excluded from the result.
197
+ * to end at `to`. All ranges after `to` are excluded from the result
198
198
  *
199
199
  * The original PackedRanges instance remains unchanged; a new instance is returned with
200
- * the filtered ranges.
200
+ * the filtered ranges
201
201
  *
202
202
  * @param to - The ending number up to which to pick ranges (inclusive)
203
203
  * @returns A new PackedRanges instance containing only the ranges up to the specified number
204
204
  */
205
205
  pickTo(to: number): PackedRanges;
206
206
  /**
207
- * Computes the intersection of multiple range arrays, returning only the ranges that are common to all inputs.
207
+ * Computes the intersection of multiple range arrays, returning only the ranges that are common to all inputs
208
208
  *
209
209
  * This method performs a set intersection operation across multiple arrays of ranges,
210
210
  * finding only those number ranges that appear in every input array. The result is
211
- * compacted to merge any overlapping or adjacent ranges for efficient storage.
211
+ * compacted to merge any overlapping or adjacent ranges for efficient storage
212
212
  *
213
213
  * For example:
214
214
  * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
@@ -219,11 +219,11 @@ export declare class PackedRanges {
219
219
  */
220
220
  static intersection(rangesArr: ([number, number][])[]): [number, number][];
221
221
  /**
222
- * Computes the union of multiple range arrays, returning all ranges that appear in any of the inputs.
222
+ * Computes the union of multiple range arrays, returning all ranges that appear in any of the inputs
223
223
  *
224
224
  * This method performs a set union operation across multiple arrays of ranges,
225
225
  * combining all number ranges from every input array. The result is compacted to
226
- * merge any overlapping or adjacent ranges for efficient storage.
226
+ * merge any overlapping or adjacent ranges for efficient storage
227
227
  *
228
228
  * For example:
229
229
  * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
@@ -234,12 +234,12 @@ export declare class PackedRanges {
234
234
  */
235
235
  static union(rangesArr: ([number, number][])[]): [number, number][];
236
236
  /**
237
- * Computes the difference between two range arrays, removing all ranges in B from ranges in A.
237
+ * Computes the difference between two range arrays, removing all ranges in B from ranges in A
238
238
  *
239
239
  * This method performs a set difference operation (A − B), subtracting all number ranges
240
240
  * in `rangesB` from `rangesA`. The result contains only those portions of `rangesA` that
241
241
  * do not overlap with any range in `rangesB`. The result is compacted to merge any
242
- * overlapping or adjacent ranges for efficient storage.
242
+ * overlapping or adjacent ranges for efficient storage
243
243
  *
244
244
  * For example:
245
245
  * - Input: rangesA = [[1,10], [20,30]], rangesB = [[5,15], [25,35]]
@@ -14,15 +14,15 @@ import { DataLike } from '../utils/types';
14
14
  export interface IRpcConfig {
15
15
  url?: string;
16
16
  options?: TTransport.Options.Http | TTransport.Options.Ws;
17
- /** Will be a preferred node for submitting transactions */
17
+ /** Preferred node for submitting transactions */
18
18
  safe?: boolean;
19
19
  distinct?: boolean;
20
20
  wallet?: boolean;
21
21
  web3?: TTransport.Transport | Promise<TTransport.Transport>;
22
22
  name?: string;
23
- /** Will be used only if manually requested with .getWeb3, or .getNodeUrl */
23
+ /** Used only when manually requested with .getWeb3 or .getNodeUrl */
24
24
  manual?: boolean;
25
- /** max block range per request when getting for example the past logs*/
25
+ /** Max block range per request, for example when fetching past logs */
26
26
  fetchableBlockRange?: number;
27
27
  /** True if the node supports traceTransaction calls */
28
28
  traceable?: boolean;
@@ -37,7 +37,7 @@ export interface IRpcConfig {
37
37
  export interface IPoolWeb3Request {
38
38
  ws?: boolean;
39
39
  preferSafe?: boolean;
40
- /** Request wallet node to submit unsigned transactions */
40
+ /** Request a wallet node to submit unsigned transactions */
41
41
  wallet?: boolean;
42
42
  distinct?: boolean;
43
43
  name?: string;
@@ -49,7 +49,7 @@ export interface IPoolWeb3Request {
49
49
  /** Supports traceTransaction */
50
50
  traceable?: boolean;
51
51
  };
52
- /** RPC method - will find the node that has the configuration */
52
+ /** RPC method; finds the node that has the configuration */
53
53
  method?: string;
54
54
  batchRequestCount?: number;
55
55
  blockRangeCount?: number;
@@ -93,10 +93,10 @@ export declare class ClientPool {
93
93
  private next;
94
94
  private getClientWithLowestWaitTime;
95
95
  /**
96
- * We may have tens of Nodes to communicate with. Discover LIVE and operating nodes.
97
- * Resolves when first 3 active nodes are discovered, to prevent waiting for all of them.
96
+ * We may have tens of nodes to communicate with. Discover live and operating nodes
97
+ * Resolves when the first 3 active nodes are discovered to avoid waiting for all of them
98
98
  * @returns
99
- * - Ready Promise - in case 3 clients look good
99
+ * - Ready Promise - when 3 clients look good
100
100
  * - Complete Promise - when all clients are resolved
101
101
  */
102
102
  private discoverLive;
@@ -113,7 +113,7 @@ export declare class WClient {
113
113
  rpc: Rpc;
114
114
  config: IRpcConfig;
115
115
  rateLimitGuard: RateLimitGuard;
116
- /** For getLogs method, as some providers limit the range request or page result value */
116
+ /** For the getLogs method, as some providers limit the range request or paged result size */
117
117
  blockRangeLimits: {
118
118
  blocks?: number;
119
119
  results?: number;
@@ -149,7 +149,7 @@ export declare class WClient {
149
149
  ensureConnected(): Promise<Error>;
150
150
  getRequestCount(): number;
151
151
  /**
152
- * Checks the rate limit wait time, so that the POOL can select the wClient with shortest wait time
152
+ * Checks the rate limit wait time so the pool can select the wClient with the shortest wait time
153
153
  **/
154
154
  getRateLimitGuardTime(): number;
155
155
  private getSpanLimit;
@@ -3,7 +3,7 @@ import { Rpc, RpcTypes } from '../rpc/Rpc';
3
3
  import { DataLike } from '../utils/types';
4
4
  import { EIP6963ProviderDetail, EIP6963ProviderFactory } from '../wallets/EIP6963ProviderFactory';
5
5
  import { WClient } from './ClientPool';
6
- /** Wallet actions only. For all Node (Chain) related actions - Web3Client should be used */
6
+ /** Wallet actions only. Use Web3Client for all node/chain-related actions */
7
7
  export declare class WalletClient {
8
8
  factory: EIP6963ProviderFactory;
9
9
  constructor(factory?: EIP6963ProviderFactory);
@@ -11,7 +11,7 @@ export declare class WalletClient {
11
11
  getProvider(uuid?: string): Promise<EIP6963ProviderDetail>;
12
12
  getProviders(): Promise<EIP6963ProviderDetail[]>;
13
13
  getAccounts(uuid?: string): Promise<TEth.Address[]>;
14
- /** Find the provider by UUID or use the first one to connect to and to requestAccounts */
14
+ /** Finds the provider by UUID, or uses the first one to connect and request accounts */
15
15
  connect(uuid?: string): Promise<TEth.Address[]>;
16
16
  disconnect(): Promise<void>;
17
17
  isConnected(address?: TEth.Address): boolean;
@@ -94,17 +94,17 @@ export declare abstract class Web3Client implements IWeb3Client {
94
94
  getBlockNumberCached(): Promise<number>;
95
95
  getPastLogs(filter: RpcTypes.Filter, options?: {
96
96
  /**
97
- * For large block ranges and huge amounts of logs, streaming should be used, we pass the loaded logs in batches direct to onProgress
98
- * and do not aggregate to a final logs array to prevent memory issues.
97
+ * For large block ranges and huge amounts of logs, streaming should be used. Loaded logs are passed directly to onProgress in batches
98
+ * and do not aggregate to a final logs array to prevent memory issues
99
99
  */
100
100
  streamed?: boolean;
101
101
  /**
102
- * Override the default block range limits for all underlying RPC clients, otherwise the config will be used or
103
- * the RPC exception will be parsed.
102
+ * Overrides the default block range limits for all underlying RPC clients. Otherwise, the config will be used or
103
+ * the RPC exception will be parsed
104
104
  */
105
105
  blockRangeLimits?: WClient['blockRangeLimits'];
106
106
  /**
107
- * When loading in batches the cb will be called with fetched and parsed logs on each iteration
107
+ * When loading in batches, the callback will be called with fetched and parsed logs on each iteration
108
108
  */
109
109
  onProgress?(info: TLogsRangeProgress<TEth.Log>): void;
110
110
  }): Promise<TEth.Log[]>;
@@ -124,7 +124,7 @@ export declare abstract class Web3Client implements IWeb3Client {
124
124
  }
125
125
  export type TLogsRangeProgress<TLogParsed> = {
126
126
  logs: TLogParsed[];
127
- /** @deprecated Use logs for current logs buffer */
127
+ /** @deprecated Use logs for the current logs buffer */
128
128
  paged: TLogParsed[];
129
129
  latestBlock: number;
130
130
  blocks: {
@@ -3,6 +3,6 @@ import { IWeb3EndpointOptions } from './interfaces/IWeb3EndpointOptions';
3
3
  import { EvmWeb3Client } from './EvmWeb3Client';
4
4
  export declare namespace Web3ClientFactory {
5
5
  function get(platform: TPlatform | number, opts?: IWeb3EndpointOptions): import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client;
6
- /** Same as sync variation, but ensures the config is being fetched */
6
+ /** Same as the sync variant, but ensures the config is fetched */
7
7
  function getAsync(platform: TPlatform | string | number, opts?: IWeb3EndpointOptions): Promise<import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client>;
8
8
  }
@@ -45,9 +45,9 @@ export declare class RateLimitGuard {
45
45
  private onThrottle;
46
46
  }
47
47
  /**
48
- * In short epoch rate limiter (1s, 1m, 1h) we track each request
48
+ * In the short-epoch rate limiter (1s, 1m, 1h), we track each request
49
49
  *
50
- * sliding(rolling) window | fixed window
50
+ * sliding (rolling) window | fixed window
51
51
  */
52
52
  declare class ShortEpochRateLimitData {
53
53
  spanMs: number;
@@ -69,9 +69,9 @@ declare class ShortEpochRateLimitData {
69
69
  printStatus(): void;
70
70
  addRequests(amount: number, time: number): void;
71
71
  /**
72
- * The server has own request time, with `addTicks` we save the time BEFORE sending to the server
73
- * Here we should update the times AFTER the response received,
74
- * otherwise the Request could be removed locally from TimeWindow earlier, as it has been cleared on the backend.
72
+ * The server has its own request time. With `addTicks`, we save the time BEFORE sending to the server
73
+ * Here we should update the times AFTER the response is received,
74
+ * otherwise the request could be removed locally from TimeWindow earlier than it is cleared on the backend
75
75
  */
76
76
  updateRequests(tick: number, newTick: number): void;
77
77
  getWaitTimeFor(ticksCount: number): number;
@@ -6,7 +6,7 @@ export declare class PromiseEventWrap extends class_Dfr {
6
6
  on(event: any, cb: any): this;
7
7
  once(event: any, cb: any): this;
8
8
  emit(event: any, ...args: any[]): void;
9
- /** Attach this wrapper to the promiseEvent */
9
+ /** Attaches this wrapper to the promiseEvent */
10
10
  bind(promiseEvent: PromiseEvent<any>): void;
11
11
  private bindOn;
12
12
  private bindOnOnce;
@@ -1,6 +1,6 @@
1
1
  import type { TAbiItem } from '../../types/TAbi';
2
2
  export declare namespace $web3Abi {
3
- /** Normalize user input by normalizing to the array of TAbiItems */
3
+ /** Normalizes user input into an array of TAbiItems */
4
4
  function ensureAbis(abi: string | TAbiItem | TAbiItem[]): (TAbiItem & {
5
5
  signature?: any;
6
6
  })[];
@@ -10,4 +10,5 @@ export declare namespace ClientErrorUtil {
10
10
  function IsInsufficientFunds(error: Error): boolean;
11
11
  function IsNonceTooLow(error: Error): boolean;
12
12
  function IsNonceTooHigh(error: Error): boolean;
13
+ function IsUnderpriced(error: Error): boolean;
13
14
  }
@@ -1,9 +1,10 @@
1
+ import type { Config as Appcfg } from 'appcfg/Config';
1
2
  import { TConfigParamsBrowser, TConfigParamsNode } from './AConfigBase';
2
3
  import { IConfigData } from './interface/IConfigData';
3
4
  export declare class Config {
4
- static fetch(parameters?: TConfigParamsNode | TConfigParamsBrowser): Promise<import("appcfg/Config").Config<any> & IConfigData>;
5
+ static fetch(parameters?: TConfigParamsNode | TConfigParamsBrowser): Promise<Appcfg<IConfigData> & IConfigData>;
5
6
  /** Will return a config that was previously loaded by fetch with any parameters or will trigger fetch with default parameters */
6
- static get(): Promise<IConfigData>;
7
+ static get(): Promise<Appcfg<IConfigData> & IConfigData>;
7
8
  static extend(json: any): Promise<void>;
8
9
  }
9
10
  export declare const config: IConfigData;
@@ -20,7 +20,7 @@ export declare abstract class ContractBase {
20
20
  explorer: IBlockchainExplorer;
21
21
  private blockNumber?;
22
22
  private blockDate?;
23
- /** 1.4 for medium*/
23
+ /** 1.4 for medium */
24
24
  private gasPriorityFee?;
25
25
  protected builderConfig?: ITxBuilderOptions;
26
26
  protected writerConfig?: ITxWriterOptions;
@@ -98,9 +98,9 @@ export declare abstract class ContractBase {
98
98
  [key: string]: any;
99
99
  };
100
100
  onProgress?(info: TLogsRangeProgress<ITxLogItem>): any;
101
- /** if TRUE the data will be only forwarded via onProgress callback.
102
- * And the final array will be undefined.
103
- * This will handle big queries to hold huge arrays in memory
101
+ /** If TRUE, data will only be forwarded via the onProgress callback.
102
+ * The final array will be undefined.
103
+ * This handles large queries without holding huge arrays in memory.
104
104
  * */
105
105
  streamed?: boolean;
106
106
  blockRangeLimits?: WClient['blockRangeLimits'];
@@ -37,10 +37,10 @@ export declare class ContractReader implements IContractReader {
37
37
  onProgress?(info: TLogsRangeProgress<TEth.Log>): any;
38
38
  }): Promise<TEth.Log[]>;
39
39
  getLogsFilter(abi: TAbiItem | string | '*' | TAbiItem[], options: {
40
- /** Can be UNDEFINED, then the logs will be searched globally */
40
+ /** Can be UNDEFINED; then the logs will be searched globally. */
41
41
  address?: TAddress | TAddress[];
42
42
  /**
43
- * "deployment": get the contracts deployment date to skip lots of blocks (in case we use pagination to fetch logs)
43
+ * "deployment": get the contract deployment date to skip many blocks when paginating logs.
44
44
  */
45
45
  fromBlock?: number | Date | 'deployment';
46
46
  toBlock?: number | Date;
@@ -18,9 +18,9 @@ export declare class ContractWriter implements IContractWriter {
18
18
  constructor(address: TAddress, client: Web3Client, builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions);
19
19
  $config(builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions): this;
20
20
  /**
21
- * We split Tx sending in two awaitable steps
22
- * 1. This method prepares(gas, nonce, etc) - and sends the Tx
23
- * 2. With returned writer you can subscribe to events and/or wait for Tx to be mined
21
+ * We split transaction sending into two awaitable steps:
22
+ * 1. This method prepares gas, nonce, etc., and sends the transaction.
23
+ * 2. With the returned writer, you can subscribe to events and/or wait for the transaction to be mined.
24
24
  * @param account
25
25
  * @param interfaceAbi
26
26
  * @param params
@@ -2,16 +2,17 @@ import { Web3Client } from '../../clients/Web3Client';
2
2
  import { ContractBase } from '../ContractBase';
3
3
  import { IAccount } from '../../models/TAccount';
4
4
  import { TEth } from '../../models/TEth';
5
- import { ParametersFromSecond } from '../../utils/types';
6
- import { Constructor } from '../../utils/types';
5
+ import { Constructor, ParametersFromSecond } from '../../utils/types';
6
+ import { TAddress } from '../../models/TAddress';
7
7
  import { IBeacon, IBeaconProxy, IProxy, IProxyAdmin } from './proxy/ProxyDeployment';
8
8
  import { DeploymentsStorage, IDeployment } from './storage/DeploymentsStorage';
9
- import { TAddress } from '../../models/TAddress';
10
9
  type TDeploymentOptions = {
11
10
  id?: string;
12
- /** Will deploy the contract */
11
+ immutablesKey?: string;
12
+ checkImmutables?: boolean;
13
+ /** Deploys the contract. */
13
14
  force?: boolean;
14
- /** Will check if local bytecode has changed and will deploy */
15
+ /** Checks whether the local bytecode has changed and deploys if needed. */
15
16
  latest?: boolean;
16
17
  verification?: boolean | 'silent';
17
18
  proxyFor?: TAddress;
@@ -76,7 +77,7 @@ export declare class Deployments {
76
77
  }): Promise<T>;
77
78
  private getOrNull;
78
79
  /**
79
- * Get the deployment for Ctor, but returns the CtorWrapped instance. Useful for proxies, etc.
80
+ * Gets the deployment for Ctor, but returns the CtorWrapped instance. Useful for proxies, etc.
80
81
  * e.g. deployments.getAs(SomeProxy, SomeImplementation);
81
82
  */
82
83
  getAs<TDeployed extends ContractBase, TWrapped extends ContractBase>(Ctor: Constructor<TDeployed>, CtorWrapped: Constructor<TWrapped>, opts?: {
@@ -97,11 +98,7 @@ export declare class Deployments {
97
98
  receipt?: TEth.TxReceipt;
98
99
  deployment: IDeployment;
99
100
  }>;
100
- ensureWithProxy<T extends (TContract & {
101
- initialize?: TInit;
102
- }), TInit extends TInitializer>(CtorImpl: Constructor<T>, opts?: TConstructorArgs<T> & TDeploymentOptions & {
103
- initialize?: ParametersFromSecond<T['initialize']>;
104
- }): Promise<{
101
+ ensureWithProxy<T extends TContract>(CtorImpl: Constructor<T>, opts?: TConstructorArgs<T> & TDeploymentOptions & TInitializerParams<T>): Promise<{
105
102
  contract: T;
106
103
  contractReceipt?: TEth.TxReceipt;
107
104
  contractProxy: IProxy;
@@ -110,12 +107,12 @@ export declare class Deployments {
110
107
  deployment: IDeployment;
111
108
  }>;
112
109
  /**
113
- * Deploys the Beacon contract. Implementation is the target contract (can be a proxy or normal contract)
110
+ * Deploys the Beacon contract. The implementation is the target contract (can be a proxy or normal contract).
114
111
  * https://docs.openzeppelin.com/contracts/5.x/api/proxy#beacon
115
112
  **/
116
113
  ensureWithBeacon<T extends (TContract & {
117
114
  initialize?: TInit;
118
- }), TInit extends TInitializer>(CtorImpl: Constructor<T>, opts: TConstructorArgs<T> & TDeploymentOptions & {
115
+ }), TInit extends TFunction>(CtorImpl: Constructor<T>, opts: TConstructorArgs<T> & TDeploymentOptions & {
119
116
  id: string;
120
117
  initialize?: ParametersFromSecond<T['initialize']>;
121
118
  }): Promise<{
@@ -132,7 +129,7 @@ export declare class Deployments {
132
129
  fixBytecodeHashesByReread(): Promise<void>;
133
130
  private getBytecodeHash;
134
131
  /**
135
- * A simple method to configure the contracts state
132
+ * A simple method to configure contract state.
136
133
  */
137
134
  configure<T extends TContract, TValue>(Ctor: Constructor<T> | T, opts: {
138
135
  id?: string;
@@ -143,7 +140,15 @@ export declare class Deployments {
143
140
  title?: string;
144
141
  }): Promise<void>;
145
142
  }
146
- type TInitializer = (...args: any[]) => any;
143
+ type TFunction = (...args: any[]) => any;
144
+ type TInitializerName = 'initialize' | `initializeV${number}`;
145
+ type TInitializerParams<T> = {
146
+ initialize?: T extends {
147
+ initialize: infer TInit;
148
+ } ? TInit extends TFunction ? ParametersFromSecond<TInit> : never : any[];
149
+ } & {
150
+ [K in Extract<keyof T, TInitializerName>]?: T[K] extends TFunction ? ParametersFromSecond<T[K]> : never;
151
+ };
147
152
  type TContract = ContractBase & {
148
153
  $constructor?: (...args: any[]) => any;
149
154
  };
@@ -27,6 +27,8 @@ interface IDeploymentCtx {
27
27
  implementation: {
28
28
  address: TAddress;
29
29
  initData: TEth.Hex;
30
+ migrationData: TEth.Hex;
31
+ migrationV?: number;
30
32
  };
31
33
  options?: {
32
34
  skipStorageLayoutCheck?: boolean;
@@ -8,6 +8,7 @@ import { IAccount } from '../../../models/TAccount';
8
8
  export interface IDeployment {
9
9
  id: string;
10
10
  name: string;
11
+ immutablesKey?: string;
11
12
  main: string;
12
13
  address: TAddress;
13
14
  implementation?: TAddress;
@@ -61,6 +62,7 @@ export declare class DeploymentsStorage {
61
62
  saveDeployment(contract: ContractBase, info: {
62
63
  id: string;
63
64
  name: string;
65
+ immutablesKey?: string;
64
66
  bytecodeHash?: TEth.Hex;
65
67
  }, receipt?: TEth.TxReceipt): Promise<IDeployment>;
66
68
  getStorageLayoutInfo(id: string): Promise<IProxyStorageLayout>;
@@ -4,7 +4,7 @@ import { IBlockchainExplorerFactoryParams } from './BlockchainExplorer';
4
4
  import { TPlatform } from '../models/TPlatform';
5
5
  import { TExplorerDefinition } from '../models/TExplorer';
6
6
  /**
7
- * @obsolete Use BlockchainExplorer class instead.
7
+ * @obsolete Use BlockchainExplorer class instead
8
8
  */
9
9
  export declare namespace BlockchainExplorerFactory {
10
10
  function register(platform: TPlatform, explorer: IBlockchainExplorer | Constructor<IBlockchainExplorer>): void;
@@ -1,5 +1,5 @@
1
1
  import { BlockchainExplorer } from './BlockchainExplorer';
2
2
  /**
3
- * @obsolete Use BlockchainExplorer class instead.
3
+ * @obsolete Use BlockchainExplorer class instead
4
4
  */
5
5
  export declare const Evmscan: typeof BlockchainExplorer;