dequanto 0.2.38 → 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 (476) 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/$traces.js +1 -1
  165. package/lib/cjs/utils/$traces.js.map +1 -1
  166. package/lib/esm/abi/$abiCoder.js.map +1 -1
  167. package/lib/esm/abi/$abiCoder.mjs +1 -1
  168. package/lib/esm/abi/Logger.mjs +1 -1
  169. package/lib/esm/abi/abi-coder-packed.mjs +3 -3
  170. package/lib/esm/abi/abi-coder.mjs +16 -16
  171. package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
  172. package/lib/esm/abi/coders/abstract-coder.mjs +31 -31
  173. package/lib/esm/abi/fragments.js.map +1 -1
  174. package/lib/esm/abi/fragments.mjs +90 -90
  175. package/lib/esm/blocks/BlockDateResolver.js.map +1 -1
  176. package/lib/esm/blocks/BlockDateResolver.mjs +9 -9
  177. package/lib/esm/class/PackedRanges.js.map +1 -1
  178. package/lib/esm/class/PackedRanges.mjs +46 -46
  179. package/lib/esm/clients/ClientEventsStream.js.map +1 -1
  180. package/lib/esm/clients/ClientEventsStream.mjs +1 -1
  181. package/lib/esm/clients/ClientPool.js.map +1 -1
  182. package/lib/esm/clients/ClientPool.mjs +23 -23
  183. package/lib/esm/clients/WalletClient.js.map +1 -1
  184. package/lib/esm/clients/WalletClient.mjs +3 -3
  185. package/lib/esm/clients/Web3Client.js.map +1 -1
  186. package/lib/esm/clients/Web3Client.mjs +14 -14
  187. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  188. package/lib/esm/clients/Web3ClientFactory.mjs +1 -1
  189. package/lib/esm/clients/compatibility/Web3.js.map +1 -1
  190. package/lib/esm/clients/compatibility/Web3.mjs +2 -2
  191. package/lib/esm/clients/handlers/RateLimitGuard.js.map +1 -1
  192. package/lib/esm/clients/handlers/RateLimitGuard.mjs +16 -16
  193. package/lib/esm/clients/model/PromiEventWrap.js.map +1 -1
  194. package/lib/esm/clients/model/PromiEventWrap.mjs +1 -1
  195. package/lib/esm/clients/utils/$web3Abi.js.map +1 -1
  196. package/lib/esm/clients/utils/$web3Abi.mjs +2 -2
  197. package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
  198. package/lib/esm/clients/utils/ClientErrorUtil.mjs +4 -0
  199. package/lib/esm/config/Config.js.map +1 -1
  200. package/lib/esm/contracts/Contract.js.map +1 -1
  201. package/lib/esm/contracts/Contract.mjs +1 -1
  202. package/lib/esm/contracts/ContractAbiProvider.js.map +1 -1
  203. package/lib/esm/contracts/ContractAbiProvider.mjs +6 -6
  204. package/lib/esm/contracts/ContractBase.js.map +1 -1
  205. package/lib/esm/contracts/ContractBase.mjs +10 -10
  206. package/lib/esm/contracts/ContractProvider.js.map +1 -1
  207. package/lib/esm/contracts/ContractProvider.mjs +1 -1
  208. package/lib/esm/contracts/ContractReader.js.map +1 -1
  209. package/lib/esm/contracts/ContractReader.mjs +5 -5
  210. package/lib/esm/contracts/ContractWriter.js.map +1 -1
  211. package/lib/esm/contracts/ContractWriter.mjs +4 -4
  212. package/lib/esm/contracts/deploy/ContractDeployer.js.map +1 -1
  213. package/lib/esm/contracts/deploy/ContractDeployer.mjs +4 -4
  214. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  215. package/lib/esm/contracts/deploy/Deployments.mjs +36 -21
  216. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
  217. package/lib/esm/contracts/deploy/proxy/$proxyDeploy.mjs +13 -13
  218. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  219. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +22 -22
  220. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  221. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +15 -14
  222. package/lib/esm/contracts/utils/AbiDeserializer.js.map +1 -1
  223. package/lib/esm/contracts/utils/AbiDeserializer.mjs +4 -4
  224. package/lib/esm/contracts/utils/ContractBaseUtils.js.map +1 -1
  225. package/lib/esm/contracts/utils/ContractBaseUtils.mjs +3 -3
  226. package/lib/esm/evm/OpcodesWalker.js.map +1 -1
  227. package/lib/esm/evm/OpcodesWalker.mjs +1 -1
  228. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
  229. package/lib/esm/explorer/BlockchainExplorer.mjs +1 -1
  230. package/lib/esm/explorer/BlockchainExplorerFactory.mjs +1 -1
  231. package/lib/esm/explorer/BlockchainExplorerStorage.js.map +1 -1
  232. package/lib/esm/explorer/BlockchainExplorerStorage.mjs +12 -12
  233. package/lib/esm/explorer/Evmscan.mjs +1 -1
  234. package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  235. package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +7 -7
  236. package/lib/esm/flashbots/FlashbotWeb3Client.js.map +1 -1
  237. package/lib/esm/flashbots/FlashbotWeb3Client.mjs +1 -1
  238. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  239. package/lib/esm/hardhat/HardhatProvider.mjs +7 -7
  240. package/lib/esm/indexer/BlocksTxIndexer.js.map +1 -1
  241. package/lib/esm/indexer/BlocksTxIndexer.mjs +2 -2
  242. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  243. package/lib/esm/indexer/EventsIndexer.mjs +11 -11
  244. package/lib/esm/indexer/PendingTxIndexer.js.map +1 -1
  245. package/lib/esm/indexer/PendingTxIndexer.mjs +2 -2
  246. package/lib/esm/indexer/handlers/BlocksWalker.js.map +1 -1
  247. package/lib/esm/indexer/handlers/BlocksWalker.mjs +9 -9
  248. package/lib/esm/indexer/handlers/TxQueueLoader.mjs +1 -1
  249. package/lib/esm/indexer/storage/FsEventsIndexerStore.js.map +1 -1
  250. package/lib/esm/indexer/storage/FsEventsIndexerStore.mjs +3 -3
  251. package/lib/esm/indexer/storage/FsEventsStoreUtils.js.map +1 -1
  252. package/lib/esm/indexer/storage/FsEventsStoreUtils.mjs +1 -1
  253. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  254. package/lib/esm/json/JsonArrayMultiStore.mjs +1 -1
  255. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  256. package/lib/esm/json/JsonStoreFs.mjs +1 -1
  257. package/lib/esm/rpc/$rpc.js.map +1 -1
  258. package/lib/esm/rpc/$rpc.mjs +2 -2
  259. package/lib/esm/rpc/Rpc.mjs +2 -2
  260. package/lib/esm/rpc/RpcBase.js.map +1 -1
  261. package/lib/esm/rpc/RpcBase.mjs +2 -2
  262. package/lib/esm/rpc/RpcContract.js.map +1 -1
  263. package/lib/esm/rpc/RpcContract.mjs +4 -3
  264. package/lib/esm/rpc/RpcSubscription.js.map +1 -1
  265. package/lib/esm/rpc/RpcSubscription.mjs +1 -1
  266. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
  267. package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +4 -4
  268. package/lib/esm/rpc/transports/compatibility/Web3Transport.js.map +1 -1
  269. package/lib/esm/rpc/transports/compatibility/Web3Transport.mjs +1 -1
  270. package/lib/esm/services/TimelockService/TimelockService.mjs +2 -2
  271. package/lib/esm/services/TimelockService/TimelockServiceFallbackSafe.mjs +2 -2
  272. package/lib/esm/solidity/SlotsDump.js.map +1 -1
  273. package/lib/esm/solidity/SlotsDump.mjs +1 -1
  274. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
  275. package/lib/esm/solidity/SlotsParser/MappingSettersResolver.mjs +3 -3
  276. package/lib/esm/solidity/SlotsParser/SourceFile.js.map +1 -1
  277. package/lib/esm/solidity/SlotsParser/SourceFile.mjs +3 -3
  278. package/lib/esm/solidity/SolidityParser.js.map +1 -1
  279. package/lib/esm/solidity/SolidityParser.mjs +1 -1
  280. package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
  281. package/lib/esm/solidity/SourceCodeProvider.mjs +1 -1
  282. package/lib/esm/solidity/storage/Accessor.js.map +1 -1
  283. package/lib/esm/solidity/storage/Accessor.mjs +1 -1
  284. package/lib/esm/solidity/storage/SlotFixedArray.js.map +1 -1
  285. package/lib/esm/solidity/storage/SlotFixedArray.mjs +1 -1
  286. package/lib/esm/solidity/storage/SlotsStorageTransport.js.map +1 -1
  287. package/lib/esm/solidity/storage/SlotsStorageTransport.mjs +3 -3
  288. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
  289. package/lib/esm/solidity/storage/handlers/SlotBytesHandler.mjs +1 -1
  290. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
  291. package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.mjs +1 -1
  292. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
  293. package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.mjs +1 -1
  294. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
  295. package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.mjs +1 -1
  296. package/lib/esm/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
  297. package/lib/esm/solidity/storage/handlers/SlotValueHandler.mjs +1 -1
  298. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
  299. package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.mjs +4 -4
  300. package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
  301. package/lib/esm/tokens/TokenDataProvider.mjs +2 -2
  302. package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
  303. package/lib/esm/tokens/TokenExchangeService.mjs +1 -1
  304. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
  305. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
  306. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
  307. package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +2 -2
  308. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  309. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +2 -2
  310. package/lib/esm/tokens/TokenTransferService.js.map +1 -1
  311. package/lib/esm/tokens/TokenTransferService.mjs +2 -2
  312. package/lib/esm/tokens/TokensService.js.map +1 -1
  313. package/lib/esm/tokens/TokensService.mjs +1 -1
  314. package/lib/esm/txs/TxNonceManager.mjs +1 -1
  315. package/lib/esm/txs/TxWriter.js.map +1 -1
  316. package/lib/esm/txs/TxWriter.mjs +9 -0
  317. package/lib/esm/txs/conditional/GasWatcherTx.js.map +1 -1
  318. package/lib/esm/txs/conditional/GasWatcherTx.mjs +1 -1
  319. package/lib/esm/txs/receipt/TxLogParser.mjs +1 -1
  320. package/lib/esm/utils/$crypto.js.map +1 -1
  321. package/lib/esm/utils/$crypto.mjs +1 -1
  322. package/lib/esm/utils/$date.js.map +1 -1
  323. package/lib/esm/utils/$date.mjs +1 -1
  324. package/lib/esm/utils/$hex.mjs +1 -1
  325. package/lib/esm/utils/$logger.js.map +1 -1
  326. package/lib/esm/utils/$logger.mjs +1 -1
  327. package/lib/esm/utils/$machine.js.map +1 -1
  328. package/lib/esm/utils/$machine.mjs +2 -2
  329. package/lib/esm/utils/$traces.js.map +1 -1
  330. package/lib/esm/utils/$traces.mjs +1 -1
  331. package/lib/types/abi/abi-coder-packed.d.ts +1 -1
  332. package/lib/types/abi/abi-coder.d.ts +13 -13
  333. package/lib/types/abi/coders/abstract-coder.d.ts +14 -14
  334. package/lib/types/abi/fragments.d.ts +95 -95
  335. package/lib/types/blocks/BlockDateResolver.d.ts +7 -7
  336. package/lib/types/class/PackedRanges.d.ts +44 -44
  337. package/lib/types/clients/ClientPool.d.ts +10 -10
  338. package/lib/types/clients/WalletClient.d.ts +2 -2
  339. package/lib/types/clients/Web3Client.d.ts +6 -6
  340. package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
  341. package/lib/types/clients/handlers/RateLimitGuard.d.ts +5 -5
  342. package/lib/types/clients/model/PromiEventWrap.d.ts +1 -1
  343. package/lib/types/clients/utils/$web3Abi.d.ts +1 -1
  344. package/lib/types/clients/utils/ClientErrorUtil.d.ts +1 -0
  345. package/lib/types/config/Config.d.ts +3 -2
  346. package/lib/types/contracts/ContractBase.d.ts +4 -4
  347. package/lib/types/contracts/ContractReader.d.ts +2 -2
  348. package/lib/types/contracts/ContractWriter.d.ts +3 -3
  349. package/lib/types/contracts/deploy/Deployments.d.ts +13 -14
  350. package/lib/types/contracts/deploy/storage/DeploymentsStorage.d.ts +2 -0
  351. package/lib/types/explorer/BlockchainExplorerFactory.d.ts +1 -1
  352. package/lib/types/explorer/Evmscan.d.ts +1 -1
  353. package/lib/types/indexer/BlocksTxIndexer.d.ts +4 -4
  354. package/lib/types/indexer/EventsIndexer.d.ts +4 -4
  355. package/lib/types/indexer/PendingTxIndexer.d.ts +1 -1
  356. package/lib/types/indexer/handlers/BlocksWalker.d.ts +2 -2
  357. package/lib/types/indexer/storage/FsEventsIndexerStore.d.ts +4 -4
  358. package/lib/types/ns/providers/INsProvider.d.ts +1 -1
  359. package/lib/types/rpc/Rpc.d.ts +2 -2
  360. package/lib/types/services/TimelockService/ITimelockService.d.ts +2 -2
  361. package/lib/types/services/TimelockService/TimelockService.d.ts +2 -2
  362. package/lib/types/services/TimelockService/TimelockServiceFallbackSafe.d.ts +2 -2
  363. package/lib/types/solidity/SlotsParser/SourceFile.d.ts +1 -1
  364. package/lib/types/solidity/storage/SlotFixedArray.d.ts +1 -1
  365. package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
  366. package/lib/types/tokens/TokensService.d.ts +1 -1
  367. package/lib/types/txs/ITxBuilderOptions.d.ts +1 -1
  368. package/lib/types/txs/TxNonceManager.d.ts +1 -1
  369. package/lib/types/txs/TxWriter.d.ts +4 -4
  370. package/lib/types/txs/receipt/TxLogParser.d.ts +1 -1
  371. package/lib/types/utils/$date.d.ts +1 -1
  372. package/lib/types/utils/$hex.d.ts +1 -1
  373. package/package.json +1 -1
  374. package/readme.md +105 -83
  375. package/src/abi/$abiCoder.ts +1 -1
  376. package/src/abi/Logger.ts +1 -1
  377. package/src/abi/abi-coder-packed.ts +3 -3
  378. package/src/abi/abi-coder.ts +16 -16
  379. package/src/abi/coders/abstract-coder.ts +36 -36
  380. package/src/abi/fragments.ts +137 -137
  381. package/src/blocks/BlockDateResolver.ts +9 -9
  382. package/src/bridges/hop/HopBridge.ts +1 -1
  383. package/src/class/PackedRanges.ts +46 -46
  384. package/src/clients/ClientEventsStream.ts +1 -1
  385. package/src/clients/ClientPool.ts +38 -38
  386. package/src/clients/WalletClient.ts +3 -3
  387. package/src/clients/Web3BatchRequests.ts +3 -3
  388. package/src/clients/Web3Client.ts +21 -21
  389. package/src/clients/Web3ClientFactory.ts +1 -1
  390. package/src/clients/compatibility/Web3.ts +2 -2
  391. package/src/clients/handlers/RateLimitGuard.ts +16 -16
  392. package/src/clients/interfaces/IWeb3Client.ts +2 -2
  393. package/src/clients/model/PromiEventWrap.ts +1 -1
  394. package/src/clients/utils/$web3Abi.ts +2 -2
  395. package/src/clients/utils/ClientErrorUtil.ts +4 -0
  396. package/src/config/Config.ts +4 -3
  397. package/src/contracts/Contract.ts +1 -1
  398. package/src/contracts/ContractAbiProvider.ts +6 -6
  399. package/src/contracts/ContractBase.ts +14 -14
  400. package/src/contracts/ContractProvider.ts +1 -1
  401. package/src/contracts/ContractReader.ts +7 -7
  402. package/src/contracts/ContractWriter.ts +4 -4
  403. package/src/contracts/deploy/ContractDeployer.ts +4 -4
  404. package/src/contracts/deploy/ContractDeployment.ts +1 -1
  405. package/src/contracts/deploy/Deployments.ts +69 -56
  406. package/src/contracts/deploy/proxy/$proxyDeploy.ts +14 -14
  407. package/src/contracts/deploy/proxy/ProxyDeployment.ts +22 -22
  408. package/src/contracts/deploy/storage/DeploymentsStorage.ts +21 -18
  409. package/src/contracts/utils/AbiDeserializer.ts +4 -4
  410. package/src/contracts/utils/ContractBaseUtils.ts +3 -3
  411. package/src/erc4337/models/UserOperation.ts +2 -2
  412. package/src/evm/OpcodesWalker.ts +1 -1
  413. package/src/explorer/BlockchainExplorer.ts +1 -1
  414. package/src/explorer/BlockchainExplorerFactory.ts +1 -1
  415. package/src/explorer/BlockchainExplorerStorage.ts +12 -12
  416. package/src/explorer/Evmscan.ts +1 -1
  417. package/src/explorer/verifiers/FsHtmlVerifier.ts +7 -7
  418. package/src/flashbots/FlashbotWeb3Client.ts +1 -1
  419. package/src/hardhat/HardhatProvider.ts +7 -7
  420. package/src/indexer/BlocksTxIndexer.ts +6 -6
  421. package/src/indexer/EventsIndexer.ts +20 -20
  422. package/src/indexer/PendingTxIndexer.ts +3 -3
  423. package/src/indexer/handlers/BlocksWalker.ts +9 -9
  424. package/src/indexer/handlers/TxQueueLoader.ts +1 -1
  425. package/src/indexer/storage/FsEventsIndexerStore.ts +9 -9
  426. package/src/indexer/storage/FsEventsMetaStore.ts +1 -1
  427. package/src/indexer/storage/FsEventsStoreUtils.ts +1 -1
  428. package/src/json/JsonArrayMultiStore.ts +1 -1
  429. package/src/json/JsonStoreFs.ts +1 -1
  430. package/src/ns/providers/INsProvider.ts +1 -1
  431. package/src/rpc/$rpc.ts +2 -2
  432. package/src/rpc/Rpc.ts +2 -2
  433. package/src/rpc/RpcBase.ts +2 -2
  434. package/src/rpc/RpcContract.ts +6 -6
  435. package/src/rpc/RpcSubscription.ts +1 -1
  436. package/src/rpc/transports/compatibility/EIP1193Transport.ts +4 -4
  437. package/src/rpc/transports/compatibility/Web3Transport.ts +1 -1
  438. package/src/services/TimelockService/ITimelockService.ts +2 -2
  439. package/src/services/TimelockService/TimelockService.ts +2 -2
  440. package/src/services/TimelockService/TimelockServiceFallbackSafe.ts +2 -2
  441. package/src/solidity/SlotsDump.ts +1 -1
  442. package/src/solidity/SlotsParser/MappingSettersResolver.ts +3 -3
  443. package/src/solidity/SlotsParser/SourceFile.ts +3 -3
  444. package/src/solidity/SolidityParser.ts +1 -1
  445. package/src/solidity/SourceCodeProvider.ts +1 -1
  446. package/src/solidity/storage/Accessor.spec.ts +1 -1
  447. package/src/solidity/storage/Accessor.ts +1 -1
  448. package/src/solidity/storage/SlotDynamicArray.ts +1 -1
  449. package/src/solidity/storage/SlotFixedArray.ts +1 -1
  450. package/src/solidity/storage/SlotsStorageTransport.ts +3 -3
  451. package/src/solidity/storage/handlers/SlotBytesHandler.ts +1 -1
  452. package/src/solidity/storage/handlers/SlotDynamicArrayHandler.ts +1 -1
  453. package/src/solidity/storage/handlers/SlotFixedArrayHandler.ts +1 -1
  454. package/src/solidity/storage/handlers/SlotValueConstantHandler.ts +1 -1
  455. package/src/solidity/storage/handlers/SlotValueHandler.ts +1 -1
  456. package/src/solidity/storage/handlers/SlotValueImmutableHandler.ts +4 -4
  457. package/src/tokens/TokenDataProvider.ts +2 -2
  458. package/src/tokens/TokenExchangeService.ts +1 -1
  459. package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +2 -2
  460. package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
  461. package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +2 -2
  462. package/src/tokens/TokenTransferService.ts +2 -2
  463. package/src/tokens/TokensService.ts +1 -1
  464. package/src/txs/ITxBuilderOptions.ts +1 -1
  465. package/src/txs/TxNonceManager.ts +1 -1
  466. package/src/txs/TxWriter.ts +15 -4
  467. package/src/txs/agents/BatchAgent.ts +1 -1
  468. package/src/txs/conditional/GasWatcherTx.ts +1 -1
  469. package/src/txs/receipt/TxLogParser.ts +1 -1
  470. package/src/utils/$crypto.ts +1 -1
  471. package/src/utils/$date.ts +1 -1
  472. package/src/utils/$hex.ts +1 -1
  473. package/src/utils/$logger.ts +1 -1
  474. package/src/utils/$machine.ts +2 -2
  475. package/src/utils/$traces.ts +1 -1
  476. package/src/wallets/EIP6963ProviderFactory.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/abi/fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/abi/fragments.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ class BlockDateResolver {
87
87
  return this.moveNext(date, ctx);
88
88
  }
89
89
  /**
90
- * Returns index of the first known block, which is most near to specified block (it can be before or after the specified date).
90
+ * Returns the index of the known block nearest to the specified date. It can be before or after the specified date
91
91
  */
92
92
  getClosest(date) {
93
93
  let entry = (0, alot_1.default)(this._known).map(x => [
@@ -104,7 +104,7 @@ class BlockDateResolver {
104
104
  }
105
105
  let blockNumber = anchor.blockNumber + diffCount;
106
106
  if (blockNumber < 0) {
107
- throw new Error(`Date Out of range: ${this._requestedDate.toISOString()}. Based on the AVG block time, the blockchain was not active on that date`);
107
+ throw new Error(`Date out of range: ${this._requestedDate.toISOString()}. Based on the average block time, the blockchain was not active on that date`);
108
108
  }
109
109
  let date = await this.getBlockDate(blockNumber);
110
110
  let info = {
@@ -115,7 +115,7 @@ class BlockDateResolver {
115
115
  this.refineAvg();
116
116
  return info;
117
117
  }
118
- /** Add a know block to set */
118
+ /** Adds a known block to the set */
119
119
  push(info) {
120
120
  for (let i = 0; i < this._known.length; i++) {
121
121
  let x = this._known[i];
@@ -126,29 +126,29 @@ class BlockDateResolver {
126
126
  }
127
127
  this._known.push(info);
128
128
  }
129
- /** Loads the block and gets the Date of the block */
129
+ /** Loads the block and returns its date */
130
130
  async getBlockDate(blockNumber) {
131
131
  let block = await this.getBlock(blockNumber);
132
132
  if (block == null) {
133
- throw new Error(`Block not loaded: ${blockNumber}`);
133
+ throw new Error(`Block was not loaded: ${blockNumber}`);
134
134
  }
135
135
  let date = _block_1.$block.getDate(block);
136
136
  return date;
137
137
  }
138
- /** Returns SIGNED time in milliseconds between two dates. Negative values when t2 < t1 */
138
+ /** Returns the signed time in milliseconds between two dates. Values are negative when t2 < t1 */
139
139
  diffTime(t1, t2) {
140
140
  return (t2.getTime() - t1.getTime());
141
141
  }
142
- /** Returns ABSOLUTE time in milliseconds between two dates. */
142
+ /** Returns the absolute time in milliseconds between two dates */
143
143
  diffTimeAbs(t1, t2) {
144
144
  return Math.abs(this.diffTime(t1, t2));
145
145
  }
146
- /** Returns AVG block count between two dates */
146
+ /** Returns the average block count between two dates */
147
147
  getAvgBlockCountBetween(b1, b2) {
148
148
  let diff = this.diffTimeAbs(b1.date, b2.date);
149
149
  return Math.round(diff / Math.abs(b2.blockNumber - b1.blockNumber));
150
150
  }
151
- /** With N>1 blocks we can better find out the AVG block time */
151
+ /** With N > 1 blocks, we can better estimate the average block time */
152
152
  refineAvg() {
153
153
  for (let i = 1; i < this._known.length; i++) {
154
154
  let info = this._known[i];
@@ -1 +1 @@
1
- {"version":3,"file":"BlockDateResolver.js","sourceRoot":"","sources":["../../../src/blocks/BlockDateResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAGxB,mDAAgD;AAChD,iDAA8C;AAE9C,MAAa,iBAAiB;IAY1B,YAAmB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAX7B,gBAAW,GAAG;YAClB,GAAG,EAAE,KAAM;YACX,GAAG,EAAE,IAAK;YACV,OAAO,EAAE,IAAK;SACjB,CAAC;QAIM,WAAM,GAAG,EAAmB,CAAA;IAKpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,WAAmB;QAC9B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,IAAU;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxG,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAiB;YACzB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;YACrD,IAAI,EAAE,GAAG;YACT,GAAG;SACN,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,IAAU;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxG,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAiB;YACzB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;YACrD,IAAI,EAAE,GAAG;YACT,GAAG;SACN,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACrE,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAE,IAAU,EAAE,GAInC;QAEG,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/C,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,CAAC,CAAC;QAC3B,IAAI,YAAY,IAAI,KAAK,CAAC,GAAG,GAAG,gBAAgB,EAAE;YAC9C,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE;YAC5D,OAAO,GAAG,CAAC;SACd;QAED,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC;QAC/B,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEtB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,UAAU,CAAE,IAAU;QAC1B,IAAI,KAAK,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YAC9B,CAAC;SACK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,UAAU,CAAE,MAAmB,EAAE,QAAgB;QAC3D,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC;SACf;QACD,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,sBAAuB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAG,2EAA2E,CAAC,CAAC;SACzJ;QACD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG;YACP,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,IAAI;SACb,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAA8B;IACtB,IAAI,CAAC,IAAiB;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/B,OAAO;aACV;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,qDAAqD;IAC7C,KAAK,CAAC,YAAY,CAAE,WAAmB;QAC3C,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;SACvD;QACD,IAAI,IAAI,GAAG,eAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,0FAA0F;IAClF,QAAQ,CAAE,EAAQ,EAAE,EAAQ;QAChC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,gEAAgE;IACxD,WAAW,CAAE,EAAQ,EAAE,EAAQ;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,gDAAgD;IACxC,uBAAuB,CAAE,EAAe,EAAE,EAAe;QAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,gEAAgE;IACxD,SAAS;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;aACjC;SACJ;IACL,CAAC;IAGO,QAAQ,CAAE,WAAmB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CACJ;AAHG;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE;iDAGnB;AAhLL,8CAiLC"}
1
+ {"version":3,"file":"BlockDateResolver.js","sourceRoot":"","sources":["../../../src/blocks/BlockDateResolver.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const alot_1 = __importDefault(require("alot"));
8
8
  /**
9
9
  * Defines a RANGE: [FROM_NUMBER, TO_NUMBER | Infinity)
10
10
  *
11
- * - Walking/Iterating/Visiting through the range marks the visited number as ADD.
11
+ * - Walking/Iterating/Visiting through the range marks the visited number as ADD
12
12
  *
13
13
  * - Possible to ADD the number manually, for example for persistence/restore properties
14
14
  *
@@ -44,18 +44,18 @@ class PackedRanges {
44
44
  return count;
45
45
  }
46
46
  /**
47
- * Calculates the number of elements remaining to be visited/added in the range.
48
- * This is the difference between the total capacity and the number of elements already tracked.
47
+ * Calculates the number of elements remaining to be visited/added in the range
48
+ * This is the difference between the total capacity and the number of elements already tracked
49
49
  */
50
50
  totalLeft() {
51
51
  return this.total() - this.totalAdded();
52
52
  }
53
53
  /**
54
- * Gets the next unvisited number in the range and marks it as visited.
54
+ * Gets the next unvisited number in the range and marks it as visited
55
55
  *
56
56
  * This method finds the next number that hasn't been added to the tracked ranges yet,
57
57
  * automatically adds it to the ranges, and returns it. It respects the boundaries
58
- * defined by `from` and `to` properties.
58
+ * defined by `from` and `to` properties
59
59
  *
60
60
  * The method works by:
61
61
  * - Starting from `this.from` if no ranges exist
@@ -100,10 +100,10 @@ class PackedRanges {
100
100
  return r0Max;
101
101
  }
102
102
  /**
103
- * Gets the maximum (upper bound) value from all tracked ranges.
103
+ * Gets the maximum (upper bound) value from all tracked ranges
104
104
  *
105
- * This method returns the highest number that has been visited/added to the ranges.
106
- * It retrieves the upper bound of the last range in the sorted ranges array.
105
+ * This method returns the highest number that has been visited/added to the ranges
106
+ * It retrieves the upper bound of the last range in the sorted ranges array
107
107
  *
108
108
  * @returns The maximum value in the tracked ranges, or `null` if no ranges have been added yet
109
109
  */
@@ -115,11 +115,11 @@ class PackedRanges {
115
115
  return r[1];
116
116
  }
117
117
  /**
118
- * Checks if a specific number has been visited/added to the tracked ranges.
118
+ * Checks if a specific number has been visited/added to the tracked ranges
119
119
  *
120
120
  * This method searches through all tracked ranges to determine if the given number
121
121
  * falls within any of them. It performs a linear search through the ranges array,
122
- * checking if the number is within the bounds (inclusive) of any range.
122
+ * checking if the number is within the bounds (inclusive) of any range
123
123
  *
124
124
  * @param nr - The number to check for inclusion in the tracked ranges
125
125
  * @returns `true` if the number exists within any of the tracked ranges, `false` otherwise
@@ -134,7 +134,7 @@ class PackedRanges {
134
134
  return false;
135
135
  }
136
136
  /**
137
- * Adds a number to the tracked ranges, marking it as visited.
137
+ * Adds a number to the tracked ranges, marking it as visited
138
138
  *
139
139
  * This method intelligently adds a number to the ranges by either:
140
140
  * - Extending an existing range if the number is adjacent to it
@@ -142,7 +142,7 @@ class PackedRanges {
142
142
  * - Doing nothing if the number is already included in an existing range
143
143
  *
144
144
  * The method maintains the sorted order of ranges and automatically merges
145
- * adjacent numbers into contiguous ranges for efficient storage.
145
+ * adjacent numbers into contiguous ranges for efficient storage
146
146
  *
147
147
  * @param nr - The number to add to the tracked ranges
148
148
  * @returns `true` if the number was successfully added (new or extended a range),
@@ -185,16 +185,16 @@ class PackedRanges {
185
185
  return true;
186
186
  }
187
187
  /**
188
- * Adds a complete range to the tracked ranges and compacts the result.
188
+ * Adds a complete range to the tracked ranges and compacts the result
189
189
  *
190
190
  * This method adds an entire range [min, max] to the tracked ranges array,
191
191
  * then automatically compacts the ranges to merge any overlapping or adjacent
192
192
  * ranges. This is useful for bulk operations where you want to mark multiple
193
- * consecutive numbers as visited at once.
193
+ * consecutive numbers as visited at once
194
194
  *
195
195
  * Unlike the `add()` method which adds individual numbers, this method adds
196
196
  * a complete range tuple and ensures the internal ranges array remains optimized
197
- * by calling `compact()` after insertion.
197
+ * by calling `compact()` after insertion
198
198
  *
199
199
  * @param range - A tuple [min, max] representing the range to add, where both bounds are inclusive
200
200
  */
@@ -203,7 +203,7 @@ class PackedRanges {
203
203
  this.compact();
204
204
  }
205
205
  /**
206
- * Removes a specific number from the tracked ranges, marking it as unvisited.
206
+ * Removes a specific number from the tracked ranges, marking it as unvisited
207
207
  *
208
208
  * This method searches for the number within the tracked ranges and removes it by either:
209
209
  * - Removing the entire range if it contains only the target number
@@ -212,7 +212,7 @@ class PackedRanges {
212
212
  * - Splitting the range into two separate ranges if the number is in the middle
213
213
  *
214
214
  * The method maintains the sorted order of ranges and ensures efficient storage
215
- * by handling all edge cases appropriately.
215
+ * by handling all edge cases appropriately
216
216
  *
217
217
  * @param nr - The number to remove from the tracked ranges
218
218
  * @returns `true` if the number was found and successfully removed from the ranges,
@@ -243,14 +243,14 @@ class PackedRanges {
243
243
  return false;
244
244
  }
245
245
  /**
246
- * Removes a range of numbers from the tracked ranges, marking them as unvisited.
246
+ * Removes a range of numbers from the tracked ranges, marking them as unvisited
247
247
  *
248
248
  * This method subtracts the specified range from all tracked ranges, effectively
249
249
  * removing all numbers within the given range from the visited/added set. It handles
250
- * overlapping ranges by splitting or trimming existing ranges as needed.
250
+ * overlapping ranges by splitting or trimming existing ranges as needed
251
251
  *
252
252
  * The method maintains the sorted order of ranges and ensures efficient storage
253
- * by delegating to the `Ranges.subtract()` utility function.
253
+ * by delegating to the `Ranges.subtract()` utility function
254
254
  *
255
255
  * @param range - A tuple [min, max] representing the range to remove, where both bounds are inclusive
256
256
  * @returns The current `PackedRanges` instance for method chaining
@@ -260,15 +260,15 @@ class PackedRanges {
260
260
  return this;
261
261
  }
262
262
  /**
263
- * Removes multiple ranges of numbers from the tracked ranges, marking them as unvisited.
263
+ * Removes multiple ranges of numbers from the tracked ranges, marking them as unvisited
264
264
  *
265
265
  * This method subtracts all specified ranges from the tracked ranges, effectively
266
266
  * removing all numbers within the given ranges from the visited/added set. It handles
267
267
  * overlapping ranges by splitting or trimming existing ranges as needed for each
268
- * range in the input array.
268
+ * range in the input array
269
269
  *
270
270
  * The method maintains the sorted order of ranges and ensures efficient storage
271
- * by delegating to the `Ranges.subtractMany()` utility function.
271
+ * by delegating to the `Ranges.subtractMany()` utility function
272
272
  *
273
273
  * @param ranges - An array of tuples [min, max] representing the ranges to remove, where both bounds are inclusive
274
274
  * @returns The current `PackedRanges` instance for method chaining
@@ -278,7 +278,7 @@ class PackedRanges {
278
278
  return this;
279
279
  }
280
280
  /**
281
- * Compacts the tracked ranges by merging overlapping and adjacent ranges.
281
+ * Compacts the tracked ranges by merging overlapping and adjacent ranges
282
282
  *
283
283
  * This method optimizes the internal ranges array by:
284
284
  * - Merging overlapping ranges into single contiguous ranges
@@ -287,20 +287,20 @@ class PackedRanges {
287
287
  * - Removing redundant range entries
288
288
  *
289
289
  * This operation is useful after bulk modifications to ensure the ranges
290
- * array remains in its most efficient form for storage and querying.
290
+ * array remains in its most efficient form for storage and querying
291
291
  */
292
292
  compact() {
293
293
  this.ranges = Ranges.compact(this.ranges);
294
294
  }
295
295
  /**
296
- * Sets the tracked ranges to a new array of ranges and compacts them.
296
+ * Sets the tracked ranges to a new array of ranges and compacts them
297
297
  *
298
298
  * This method replaces the entire internal ranges array with the provided ranges,
299
- * then automatically compacts them to merge any overlapping or adjacent ranges.
300
- * This is useful for bulk initialization or restoration of ranges from a saved state.
299
+ * then automatically compacts them to merge any overlapping or adjacent ranges
300
+ * This is useful for bulk initialization or restoration of ranges from a saved state
301
301
  *
302
302
  * After setting the ranges, the method ensures the internal ranges array is optimized
303
- * by calling `compact()`, which merges overlapping ranges and joins adjacent ones.
303
+ * by calling `compact()`, which merges overlapping ranges and joins adjacent ones
304
304
  *
305
305
  * @param ranges - An array of tuples [min, max] representing the ranges to set, where both bounds are inclusive
306
306
  */
@@ -309,12 +309,12 @@ class PackedRanges {
309
309
  this.compact();
310
310
  }
311
311
  /**
312
- * Serializes the tracked ranges to a JSON string representation.
312
+ * Serializes the tracked ranges to a JSON string representation
313
313
  *
314
314
  * This method converts the internal ranges array into a JSON string format,
315
- * which can be used for persistence, transmission, or storage purposes.
315
+ * which can be used for persistence, transmission, or storage purposes
316
316
  * The serialized string can later be parsed and used to restore the ranges
317
- * via the constructor's `ranges` option.
317
+ * via the constructor's `ranges` option
318
318
  *
319
319
  * @returns A JSON string representation of the tracked ranges array
320
320
  */
@@ -322,14 +322,14 @@ class PackedRanges {
322
322
  return JSON.stringify(this.ranges);
323
323
  }
324
324
  /**
325
- * Creates a new PackedRanges instance containing only the ranges starting from a specified number.
325
+ * Creates a new PackedRanges instance containing only the ranges starting from a specified number
326
326
  *
327
327
  * This method filters the tracked ranges to include only those that contain or come after
328
328
  * the specified `from` value. If a range overlaps with the `from` value, it is trimmed
329
- * to start at `from`. All ranges before `from` are excluded from the result.
329
+ * to start at `from`. All ranges before `from` are excluded from the result
330
330
  *
331
331
  * The original PackedRanges instance remains unchanged; a new instance is returned with
332
- * the filtered ranges.
332
+ * the filtered ranges
333
333
  *
334
334
  * @param from - The starting number from which to pick ranges (inclusive)
335
335
  * @returns A new PackedRanges instance containing only the ranges from the specified number onwards
@@ -339,14 +339,14 @@ class PackedRanges {
339
339
  return new PackedRanges({ ranges: arr });
340
340
  }
341
341
  /**
342
- * Creates a new PackedRanges instance containing only the ranges up to a specified number.
342
+ * Creates a new PackedRanges instance containing only the ranges up to a specified number
343
343
  *
344
344
  * This method filters the tracked ranges to include only those that contain or come before
345
345
  * the specified `to` value. If a range overlaps with the `to` value, it is trimmed
346
- * to end at `to`. All ranges after `to` are excluded from the result.
346
+ * to end at `to`. All ranges after `to` are excluded from the result
347
347
  *
348
348
  * The original PackedRanges instance remains unchanged; a new instance is returned with
349
- * the filtered ranges.
349
+ * the filtered ranges
350
350
  *
351
351
  * @param to - The ending number up to which to pick ranges (inclusive)
352
352
  * @returns A new PackedRanges instance containing only the ranges up to the specified number
@@ -356,11 +356,11 @@ class PackedRanges {
356
356
  return new PackedRanges({ ranges: arr });
357
357
  }
358
358
  /**
359
- * Computes the intersection of multiple range arrays, returning only the ranges that are common to all inputs.
359
+ * Computes the intersection of multiple range arrays, returning only the ranges that are common to all inputs
360
360
  *
361
361
  * This method performs a set intersection operation across multiple arrays of ranges,
362
362
  * finding only those number ranges that appear in every input array. The result is
363
- * compacted to merge any overlapping or adjacent ranges for efficient storage.
363
+ * compacted to merge any overlapping or adjacent ranges for efficient storage
364
364
  *
365
365
  * For example:
366
366
  * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
@@ -380,11 +380,11 @@ class PackedRanges {
380
380
  return Ranges.compact(arr);
381
381
  }
382
382
  /**
383
- * Computes the union of multiple range arrays, returning all ranges that appear in any of the inputs.
383
+ * Computes the union of multiple range arrays, returning all ranges that appear in any of the inputs
384
384
  *
385
385
  * This method performs a set union operation across multiple arrays of ranges,
386
386
  * combining all number ranges from every input array. The result is compacted to
387
- * merge any overlapping or adjacent ranges for efficient storage.
387
+ * merge any overlapping or adjacent ranges for efficient storage
388
388
  *
389
389
  * For example:
390
390
  * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
@@ -400,12 +400,12 @@ class PackedRanges {
400
400
  return Ranges.compact(arr);
401
401
  }
402
402
  /**
403
- * Computes the difference between two range arrays, removing all ranges in B from ranges in A.
403
+ * Computes the difference between two range arrays, removing all ranges in B from ranges in A
404
404
  *
405
405
  * This method performs a set difference operation (A − B), subtracting all number ranges
406
406
  * in `rangesB` from `rangesA`. The result contains only those portions of `rangesA` that
407
407
  * do not overlap with any range in `rangesB`. The result is compacted to merge any
408
- * overlapping or adjacent ranges for efficient storage.
408
+ * overlapping or adjacent ranges for efficient storage
409
409
  *
410
410
  * For example:
411
411
  * - Input: rangesA = [[1,10], [20,30]], rangesB = [[5,15], [25,35]]
@@ -496,7 +496,7 @@ var Ranges;
496
496
  ranges = (0, alot_1.default)(ranges)
497
497
  .sortBy(([x]) => x)
498
498
  .toArray();
499
- // Join non overlapping ranges: [1,4],[5, 6] -> [1,6]
499
+ // Join non-overlapping ranges: [1,4],[5, 6] -> [1,6]
500
500
  for (let i = 0; i < ranges.length - 1; i++) {
501
501
  let A = ranges[i];
502
502
  let B = ranges[i + 1];
@@ -585,7 +585,7 @@ var Ranges;
585
585
  arr.push([aFirst, aLast]);
586
586
  }
587
587
  else {
588
- // Overlapps
588
+ // Overlaps
589
589
  arr.push([aFirst, to]);
590
590
  }
591
591
  }