dequanto 0.2.38 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/abi/$abiCoder.js +1 -1
- package/lib/cjs/abi/$abiCoder.js.map +1 -1
- package/lib/cjs/abi/Logger.js +1 -1
- package/lib/cjs/abi/abi-coder-packed.js +3 -3
- package/lib/cjs/abi/abi-coder.js +16 -16
- package/lib/cjs/abi/coders/abstract-coder.js +31 -31
- package/lib/cjs/abi/coders/abstract-coder.js.map +1 -1
- package/lib/cjs/abi/fragments.js +90 -90
- package/lib/cjs/abi/fragments.js.map +1 -1
- package/lib/cjs/blocks/BlockDateResolver.js +9 -9
- package/lib/cjs/blocks/BlockDateResolver.js.map +1 -1
- package/lib/cjs/class/PackedRanges.js +46 -46
- package/lib/cjs/class/PackedRanges.js.map +1 -1
- package/lib/cjs/clients/ClientEventsStream.js +1 -1
- package/lib/cjs/clients/ClientEventsStream.js.map +1 -1
- package/lib/cjs/clients/ClientPool.js +23 -23
- package/lib/cjs/clients/ClientPool.js.map +1 -1
- package/lib/cjs/clients/WalletClient.js +3 -3
- package/lib/cjs/clients/WalletClient.js.map +1 -1
- package/lib/cjs/clients/Web3Client.js +14 -14
- package/lib/cjs/clients/Web3Client.js.map +1 -1
- package/lib/cjs/clients/Web3ClientFactory.js +1 -1
- package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
- package/lib/cjs/clients/compatibility/Web3.js +2 -2
- package/lib/cjs/clients/compatibility/Web3.js.map +1 -1
- package/lib/cjs/clients/handlers/RateLimitGuard.js +16 -16
- package/lib/cjs/clients/handlers/RateLimitGuard.js.map +1 -1
- package/lib/cjs/clients/model/PromiEventWrap.js +1 -1
- package/lib/cjs/clients/model/PromiEventWrap.js.map +1 -1
- package/lib/cjs/clients/utils/$web3Abi.js +2 -2
- package/lib/cjs/clients/utils/$web3Abi.js.map +1 -1
- package/lib/cjs/clients/utils/ClientErrorUtil.js +4 -0
- package/lib/cjs/clients/utils/ClientErrorUtil.js.map +1 -1
- package/lib/cjs/config/Config.js.map +1 -1
- package/lib/cjs/contracts/Contract.js +1 -1
- package/lib/cjs/contracts/Contract.js.map +1 -1
- package/lib/cjs/contracts/ContractAbiProvider.js +6 -6
- package/lib/cjs/contracts/ContractAbiProvider.js.map +1 -1
- package/lib/cjs/contracts/ContractBase.js +10 -10
- package/lib/cjs/contracts/ContractBase.js.map +1 -1
- package/lib/cjs/contracts/ContractProvider.js +1 -1
- package/lib/cjs/contracts/ContractProvider.js.map +1 -1
- package/lib/cjs/contracts/ContractReader.js +5 -5
- package/lib/cjs/contracts/ContractReader.js.map +1 -1
- package/lib/cjs/contracts/ContractWriter.js +4 -4
- package/lib/cjs/contracts/ContractWriter.js.map +1 -1
- package/lib/cjs/contracts/deploy/ContractDeployer.js +4 -4
- package/lib/cjs/contracts/deploy/ContractDeployer.js.map +1 -1
- package/lib/cjs/contracts/deploy/Deployments.js +36 -21
- package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
- package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js +13 -13
- package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
- package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js +22 -22
- package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +15 -14
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/cjs/contracts/utils/AbiDeserializer.js +4 -4
- package/lib/cjs/contracts/utils/AbiDeserializer.js.map +1 -1
- package/lib/cjs/contracts/utils/ContractBaseUtils.js +3 -3
- package/lib/cjs/contracts/utils/ContractBaseUtils.js.map +1 -1
- package/lib/cjs/evm/OpcodesWalker.js +1 -1
- package/lib/cjs/evm/OpcodesWalker.js.map +1 -1
- package/lib/cjs/explorer/BlockchainExplorer.js +1 -1
- package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/cjs/explorer/BlockchainExplorerFactory.js +1 -1
- package/lib/cjs/explorer/BlockchainExplorerStorage.js +12 -12
- package/lib/cjs/explorer/BlockchainExplorerStorage.js.map +1 -1
- package/lib/cjs/explorer/Evmscan.js +1 -1
- package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +7 -7
- package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
- package/lib/cjs/flashbots/FlashbotWeb3Client.js +1 -1
- package/lib/cjs/flashbots/FlashbotWeb3Client.js.map +1 -1
- package/lib/cjs/hardhat/HardhatProvider.js +7 -7
- package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
- package/lib/cjs/indexer/BlocksTxIndexer.js +2 -2
- package/lib/cjs/indexer/BlocksTxIndexer.js.map +1 -1
- package/lib/cjs/indexer/EventsIndexer.js +11 -11
- package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
- package/lib/cjs/indexer/PendingTxIndexer.js +2 -2
- package/lib/cjs/indexer/PendingTxIndexer.js.map +1 -1
- package/lib/cjs/indexer/handlers/BlocksWalker.js +9 -9
- package/lib/cjs/indexer/handlers/BlocksWalker.js.map +1 -1
- package/lib/cjs/indexer/handlers/TxQueueLoader.js +1 -1
- package/lib/cjs/indexer/storage/FsEventsIndexerStore.js +3 -3
- package/lib/cjs/indexer/storage/FsEventsIndexerStore.js.map +1 -1
- package/lib/cjs/indexer/storage/FsEventsStoreUtils.js +1 -1
- package/lib/cjs/indexer/storage/FsEventsStoreUtils.js.map +1 -1
- package/lib/cjs/json/JsonArrayMultiStore.js +1 -1
- package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
- package/lib/cjs/json/JsonStoreFs.js +1 -1
- package/lib/cjs/json/JsonStoreFs.js.map +1 -1
- package/lib/cjs/rpc/$rpc.js +2 -2
- package/lib/cjs/rpc/$rpc.js.map +1 -1
- package/lib/cjs/rpc/Rpc.js +2 -2
- package/lib/cjs/rpc/RpcBase.js +2 -2
- package/lib/cjs/rpc/RpcBase.js.map +1 -1
- package/lib/cjs/rpc/RpcContract.js +4 -3
- package/lib/cjs/rpc/RpcContract.js.map +1 -1
- package/lib/cjs/rpc/RpcSubscription.js +1 -1
- package/lib/cjs/rpc/RpcSubscription.js.map +1 -1
- package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js +4 -4
- package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
- package/lib/cjs/rpc/transports/compatibility/Web3Transport.js +1 -1
- package/lib/cjs/rpc/transports/compatibility/Web3Transport.js.map +1 -1
- package/lib/cjs/services/TimelockService/TimelockService.js +2 -2
- package/lib/cjs/services/TimelockService/TimelockServiceFallbackSafe.js +2 -2
- package/lib/cjs/solidity/SlotsDump.js +1 -1
- package/lib/cjs/solidity/SlotsDump.js.map +1 -1
- package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js +3 -3
- package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
- package/lib/cjs/solidity/SlotsParser/SourceFile.js +3 -3
- package/lib/cjs/solidity/SlotsParser/SourceFile.js.map +1 -1
- package/lib/cjs/solidity/SolidityParser.js +1 -1
- package/lib/cjs/solidity/SolidityParser.js.map +1 -1
- package/lib/cjs/solidity/SourceCodeProvider.js +1 -1
- package/lib/cjs/solidity/SourceCodeProvider.js.map +1 -1
- package/lib/cjs/solidity/storage/Accessor.js +1 -1
- package/lib/cjs/solidity/storage/Accessor.js.map +1 -1
- package/lib/cjs/solidity/storage/SlotFixedArray.js +1 -1
- package/lib/cjs/solidity/storage/SlotFixedArray.js.map +1 -1
- package/lib/cjs/solidity/storage/SlotsStorageTransport.js +3 -3
- package/lib/cjs/solidity/storage/SlotsStorageTransport.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js +4 -4
- package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
- package/lib/cjs/tokens/TokenDataProvider.js +2 -2
- package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
- package/lib/cjs/tokens/TokenExchangeService.js +1 -1
- package/lib/cjs/tokens/TokenExchangeService.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js +2 -2
- package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +2 -2
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js +2 -2
- package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
- package/lib/cjs/tokens/TokenTransferService.js +2 -2
- package/lib/cjs/tokens/TokenTransferService.js.map +1 -1
- package/lib/cjs/tokens/TokensService.js +1 -1
- package/lib/cjs/tokens/TokensService.js.map +1 -1
- package/lib/cjs/txs/TxNonceManager.js +1 -1
- package/lib/cjs/txs/TxWriter.js +9 -0
- package/lib/cjs/txs/TxWriter.js.map +1 -1
- package/lib/cjs/txs/conditional/GasWatcherTx.js +1 -1
- package/lib/cjs/txs/conditional/GasWatcherTx.js.map +1 -1
- package/lib/cjs/txs/receipt/TxLogParser.js +1 -1
- package/lib/cjs/utils/$crypto.js +1 -1
- package/lib/cjs/utils/$crypto.js.map +1 -1
- package/lib/cjs/utils/$date.js +1 -1
- package/lib/cjs/utils/$date.js.map +1 -1
- package/lib/cjs/utils/$hex.js +1 -1
- package/lib/cjs/utils/$logger.js +1 -1
- package/lib/cjs/utils/$logger.js.map +1 -1
- package/lib/cjs/utils/$machine.js +2 -2
- package/lib/cjs/utils/$machine.js.map +1 -1
- package/lib/cjs/utils/$require.js.map +1 -1
- package/lib/cjs/utils/$traces.js +1 -1
- package/lib/cjs/utils/$traces.js.map +1 -1
- package/lib/esm/abi/$abiCoder.js.map +1 -1
- package/lib/esm/abi/$abiCoder.mjs +1 -1
- package/lib/esm/abi/Logger.mjs +1 -1
- package/lib/esm/abi/abi-coder-packed.mjs +3 -3
- package/lib/esm/abi/abi-coder.mjs +16 -16
- package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
- package/lib/esm/abi/coders/abstract-coder.mjs +31 -31
- package/lib/esm/abi/fragments.js.map +1 -1
- package/lib/esm/abi/fragments.mjs +90 -90
- package/lib/esm/blocks/BlockDateResolver.js.map +1 -1
- package/lib/esm/blocks/BlockDateResolver.mjs +9 -9
- package/lib/esm/class/PackedRanges.js.map +1 -1
- package/lib/esm/class/PackedRanges.mjs +46 -46
- package/lib/esm/clients/ClientEventsStream.js.map +1 -1
- package/lib/esm/clients/ClientEventsStream.mjs +1 -1
- package/lib/esm/clients/ClientPool.js.map +1 -1
- package/lib/esm/clients/ClientPool.mjs +23 -23
- package/lib/esm/clients/WalletClient.js.map +1 -1
- package/lib/esm/clients/WalletClient.mjs +3 -3
- package/lib/esm/clients/Web3Client.js.map +1 -1
- package/lib/esm/clients/Web3Client.mjs +14 -14
- package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
- package/lib/esm/clients/Web3ClientFactory.mjs +1 -1
- package/lib/esm/clients/compatibility/Web3.js.map +1 -1
- package/lib/esm/clients/compatibility/Web3.mjs +2 -2
- package/lib/esm/clients/handlers/RateLimitGuard.js.map +1 -1
- package/lib/esm/clients/handlers/RateLimitGuard.mjs +16 -16
- package/lib/esm/clients/model/PromiEventWrap.js.map +1 -1
- package/lib/esm/clients/model/PromiEventWrap.mjs +1 -1
- package/lib/esm/clients/utils/$web3Abi.js.map +1 -1
- package/lib/esm/clients/utils/$web3Abi.mjs +2 -2
- package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
- package/lib/esm/clients/utils/ClientErrorUtil.mjs +4 -0
- package/lib/esm/config/Config.js.map +1 -1
- package/lib/esm/contracts/Contract.js.map +1 -1
- package/lib/esm/contracts/Contract.mjs +1 -1
- package/lib/esm/contracts/ContractAbiProvider.js.map +1 -1
- package/lib/esm/contracts/ContractAbiProvider.mjs +6 -6
- package/lib/esm/contracts/ContractBase.js.map +1 -1
- package/lib/esm/contracts/ContractBase.mjs +10 -10
- package/lib/esm/contracts/ContractProvider.js.map +1 -1
- package/lib/esm/contracts/ContractProvider.mjs +1 -1
- package/lib/esm/contracts/ContractReader.js.map +1 -1
- package/lib/esm/contracts/ContractReader.mjs +5 -5
- package/lib/esm/contracts/ContractWriter.js.map +1 -1
- package/lib/esm/contracts/ContractWriter.mjs +4 -4
- package/lib/esm/contracts/deploy/ContractDeployer.js.map +1 -1
- package/lib/esm/contracts/deploy/ContractDeployer.mjs +4 -4
- package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
- package/lib/esm/contracts/deploy/Deployments.mjs +36 -21
- package/lib/esm/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
- package/lib/esm/contracts/deploy/proxy/$proxyDeploy.mjs +13 -13
- package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
- package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +22 -22
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +15 -14
- package/lib/esm/contracts/utils/AbiDeserializer.js.map +1 -1
- package/lib/esm/contracts/utils/AbiDeserializer.mjs +4 -4
- package/lib/esm/contracts/utils/ContractBaseUtils.js.map +1 -1
- package/lib/esm/contracts/utils/ContractBaseUtils.mjs +3 -3
- package/lib/esm/evm/OpcodesWalker.js.map +1 -1
- package/lib/esm/evm/OpcodesWalker.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/esm/explorer/BlockchainExplorer.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorerFactory.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorerStorage.js.map +1 -1
- package/lib/esm/explorer/BlockchainExplorerStorage.mjs +12 -12
- package/lib/esm/explorer/Evmscan.mjs +1 -1
- package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
- package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +7 -7
- package/lib/esm/flashbots/FlashbotWeb3Client.js.map +1 -1
- package/lib/esm/flashbots/FlashbotWeb3Client.mjs +1 -1
- package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
- package/lib/esm/hardhat/HardhatProvider.mjs +7 -7
- package/lib/esm/indexer/BlocksTxIndexer.js.map +1 -1
- package/lib/esm/indexer/BlocksTxIndexer.mjs +2 -2
- package/lib/esm/indexer/EventsIndexer.js.map +1 -1
- package/lib/esm/indexer/EventsIndexer.mjs +11 -11
- package/lib/esm/indexer/PendingTxIndexer.js.map +1 -1
- package/lib/esm/indexer/PendingTxIndexer.mjs +2 -2
- package/lib/esm/indexer/handlers/BlocksWalker.js.map +1 -1
- package/lib/esm/indexer/handlers/BlocksWalker.mjs +9 -9
- package/lib/esm/indexer/handlers/TxQueueLoader.mjs +1 -1
- package/lib/esm/indexer/storage/FsEventsIndexerStore.js.map +1 -1
- package/lib/esm/indexer/storage/FsEventsIndexerStore.mjs +3 -3
- package/lib/esm/indexer/storage/FsEventsStoreUtils.js.map +1 -1
- package/lib/esm/indexer/storage/FsEventsStoreUtils.mjs +1 -1
- package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
- package/lib/esm/json/JsonArrayMultiStore.mjs +1 -1
- package/lib/esm/json/JsonStoreFs.js.map +1 -1
- package/lib/esm/json/JsonStoreFs.mjs +1 -1
- package/lib/esm/rpc/$rpc.js.map +1 -1
- package/lib/esm/rpc/$rpc.mjs +2 -2
- package/lib/esm/rpc/Rpc.mjs +2 -2
- package/lib/esm/rpc/RpcBase.js.map +1 -1
- package/lib/esm/rpc/RpcBase.mjs +2 -2
- package/lib/esm/rpc/RpcContract.js.map +1 -1
- package/lib/esm/rpc/RpcContract.mjs +4 -3
- package/lib/esm/rpc/RpcSubscription.js.map +1 -1
- package/lib/esm/rpc/RpcSubscription.mjs +1 -1
- package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
- package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +4 -4
- package/lib/esm/rpc/transports/compatibility/Web3Transport.js.map +1 -1
- package/lib/esm/rpc/transports/compatibility/Web3Transport.mjs +1 -1
- package/lib/esm/services/TimelockService/TimelockService.mjs +2 -2
- package/lib/esm/services/TimelockService/TimelockServiceFallbackSafe.mjs +2 -2
- package/lib/esm/solidity/SlotsDump.js.map +1 -1
- package/lib/esm/solidity/SlotsDump.mjs +1 -1
- package/lib/esm/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
- package/lib/esm/solidity/SlotsParser/MappingSettersResolver.mjs +3 -3
- package/lib/esm/solidity/SlotsParser/SourceFile.js.map +1 -1
- package/lib/esm/solidity/SlotsParser/SourceFile.mjs +3 -3
- package/lib/esm/solidity/SolidityParser.js.map +1 -1
- package/lib/esm/solidity/SolidityParser.mjs +1 -1
- package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
- package/lib/esm/solidity/SourceCodeProvider.mjs +1 -1
- package/lib/esm/solidity/storage/Accessor.js.map +1 -1
- package/lib/esm/solidity/storage/Accessor.mjs +1 -1
- package/lib/esm/solidity/storage/SlotFixedArray.js.map +1 -1
- package/lib/esm/solidity/storage/SlotFixedArray.mjs +1 -1
- package/lib/esm/solidity/storage/SlotsStorageTransport.js.map +1 -1
- package/lib/esm/solidity/storage/SlotsStorageTransport.mjs +3 -3
- package/lib/esm/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotBytesHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.mjs +4 -4
- package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
- package/lib/esm/tokens/TokenDataProvider.mjs +2 -2
- package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
- package/lib/esm/tokens/TokenExchangeService.mjs +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +2 -2
- package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
- package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +2 -2
- package/lib/esm/tokens/TokenTransferService.js.map +1 -1
- package/lib/esm/tokens/TokenTransferService.mjs +2 -2
- package/lib/esm/tokens/TokensService.js.map +1 -1
- package/lib/esm/tokens/TokensService.mjs +1 -1
- package/lib/esm/txs/TxNonceManager.mjs +1 -1
- package/lib/esm/txs/TxWriter.js.map +1 -1
- package/lib/esm/txs/TxWriter.mjs +9 -0
- package/lib/esm/txs/conditional/GasWatcherTx.js.map +1 -1
- package/lib/esm/txs/conditional/GasWatcherTx.mjs +1 -1
- package/lib/esm/txs/receipt/TxLogParser.mjs +1 -1
- package/lib/esm/utils/$crypto.js.map +1 -1
- package/lib/esm/utils/$crypto.mjs +1 -1
- package/lib/esm/utils/$date.js.map +1 -1
- package/lib/esm/utils/$date.mjs +1 -1
- package/lib/esm/utils/$hex.mjs +1 -1
- package/lib/esm/utils/$logger.js.map +1 -1
- package/lib/esm/utils/$logger.mjs +1 -1
- package/lib/esm/utils/$machine.js.map +1 -1
- package/lib/esm/utils/$machine.mjs +2 -2
- package/lib/esm/utils/$require.js.map +1 -1
- package/lib/esm/utils/$traces.js.map +1 -1
- package/lib/esm/utils/$traces.mjs +1 -1
- package/lib/types/abi/abi-coder-packed.d.ts +1 -1
- package/lib/types/abi/abi-coder.d.ts +13 -13
- package/lib/types/abi/coders/abstract-coder.d.ts +14 -14
- package/lib/types/abi/fragments.d.ts +95 -95
- package/lib/types/blocks/BlockDateResolver.d.ts +7 -7
- package/lib/types/class/PackedRanges.d.ts +44 -44
- package/lib/types/clients/ClientPool.d.ts +10 -10
- package/lib/types/clients/WalletClient.d.ts +2 -2
- package/lib/types/clients/Web3Client.d.ts +6 -6
- package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
- package/lib/types/clients/handlers/RateLimitGuard.d.ts +5 -5
- package/lib/types/clients/model/PromiEventWrap.d.ts +1 -1
- package/lib/types/clients/utils/$web3Abi.d.ts +1 -1
- package/lib/types/clients/utils/ClientErrorUtil.d.ts +1 -0
- package/lib/types/config/Config.d.ts +3 -2
- package/lib/types/contracts/ContractBase.d.ts +4 -4
- package/lib/types/contracts/ContractReader.d.ts +2 -2
- package/lib/types/contracts/ContractWriter.d.ts +3 -3
- package/lib/types/contracts/deploy/Deployments.d.ts +13 -14
- package/lib/types/contracts/deploy/storage/DeploymentsStorage.d.ts +2 -0
- package/lib/types/explorer/BlockchainExplorerFactory.d.ts +1 -1
- package/lib/types/explorer/Evmscan.d.ts +1 -1
- package/lib/types/indexer/BlocksTxIndexer.d.ts +4 -4
- package/lib/types/indexer/EventsIndexer.d.ts +4 -4
- package/lib/types/indexer/PendingTxIndexer.d.ts +1 -1
- package/lib/types/indexer/handlers/BlocksWalker.d.ts +2 -2
- package/lib/types/indexer/storage/FsEventsIndexerStore.d.ts +4 -4
- package/lib/types/ns/providers/INsProvider.d.ts +1 -1
- package/lib/types/rpc/Rpc.d.ts +2 -2
- package/lib/types/services/TimelockService/ITimelockService.d.ts +2 -2
- package/lib/types/services/TimelockService/TimelockService.d.ts +2 -2
- package/lib/types/services/TimelockService/TimelockServiceFallbackSafe.d.ts +2 -2
- package/lib/types/solidity/SlotsParser/SourceFile.d.ts +1 -1
- package/lib/types/solidity/storage/SlotFixedArray.d.ts +1 -1
- package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
- package/lib/types/tokens/TokensService.d.ts +1 -1
- package/lib/types/txs/ITxBuilderOptions.d.ts +1 -1
- package/lib/types/txs/TxNonceManager.d.ts +1 -1
- package/lib/types/txs/TxWriter.d.ts +4 -4
- package/lib/types/txs/receipt/TxLogParser.d.ts +1 -1
- package/lib/types/utils/$date.d.ts +1 -1
- package/lib/types/utils/$hex.d.ts +1 -1
- package/lib/types/utils/$require.d.ts +8 -8
- package/package.json +1 -1
- package/readme.md +105 -83
- package/src/abi/$abiCoder.ts +1 -1
- package/src/abi/Logger.ts +1 -1
- package/src/abi/abi-coder-packed.ts +3 -3
- package/src/abi/abi-coder.ts +16 -16
- package/src/abi/coders/abstract-coder.ts +36 -36
- package/src/abi/fragments.ts +137 -137
- package/src/blocks/BlockDateResolver.ts +9 -9
- package/src/bridges/hop/HopBridge.ts +1 -1
- package/src/class/PackedRanges.ts +46 -46
- package/src/clients/ClientEventsStream.ts +1 -1
- package/src/clients/ClientPool.ts +38 -38
- package/src/clients/WalletClient.ts +3 -3
- package/src/clients/Web3BatchRequests.ts +3 -3
- package/src/clients/Web3Client.ts +21 -21
- package/src/clients/Web3ClientFactory.ts +1 -1
- package/src/clients/compatibility/Web3.ts +2 -2
- package/src/clients/handlers/RateLimitGuard.ts +16 -16
- package/src/clients/interfaces/IWeb3Client.ts +2 -2
- package/src/clients/model/PromiEventWrap.ts +1 -1
- package/src/clients/utils/$web3Abi.ts +2 -2
- package/src/clients/utils/ClientErrorUtil.ts +4 -0
- package/src/config/Config.ts +4 -3
- package/src/contracts/Contract.ts +1 -1
- package/src/contracts/ContractAbiProvider.ts +6 -6
- package/src/contracts/ContractBase.ts +14 -14
- package/src/contracts/ContractProvider.ts +1 -1
- package/src/contracts/ContractReader.ts +7 -7
- package/src/contracts/ContractWriter.ts +4 -4
- package/src/contracts/deploy/ContractDeployer.ts +4 -4
- package/src/contracts/deploy/ContractDeployment.ts +1 -1
- package/src/contracts/deploy/Deployments.ts +69 -56
- package/src/contracts/deploy/proxy/$proxyDeploy.ts +14 -14
- package/src/contracts/deploy/proxy/ProxyDeployment.ts +22 -22
- package/src/contracts/deploy/storage/DeploymentsStorage.ts +21 -18
- package/src/contracts/utils/AbiDeserializer.ts +4 -4
- package/src/contracts/utils/ContractBaseUtils.ts +3 -3
- package/src/erc4337/models/UserOperation.ts +2 -2
- package/src/evm/OpcodesWalker.ts +1 -1
- package/src/explorer/BlockchainExplorer.ts +1 -1
- package/src/explorer/BlockchainExplorerFactory.ts +1 -1
- package/src/explorer/BlockchainExplorerStorage.ts +12 -12
- package/src/explorer/Evmscan.ts +1 -1
- package/src/explorer/verifiers/FsHtmlVerifier.ts +7 -7
- package/src/flashbots/FlashbotWeb3Client.ts +1 -1
- package/src/hardhat/HardhatProvider.ts +7 -7
- package/src/indexer/BlocksTxIndexer.ts +6 -6
- package/src/indexer/EventsIndexer.ts +20 -20
- package/src/indexer/PendingTxIndexer.ts +3 -3
- package/src/indexer/handlers/BlocksWalker.ts +9 -9
- package/src/indexer/handlers/TxQueueLoader.ts +1 -1
- package/src/indexer/storage/FsEventsIndexerStore.ts +9 -9
- package/src/indexer/storage/FsEventsMetaStore.ts +1 -1
- package/src/indexer/storage/FsEventsStoreUtils.ts +1 -1
- package/src/json/JsonArrayMultiStore.ts +1 -1
- package/src/json/JsonStoreFs.ts +1 -1
- package/src/ns/providers/INsProvider.ts +1 -1
- package/src/rpc/$rpc.ts +2 -2
- package/src/rpc/Rpc.ts +2 -2
- package/src/rpc/RpcBase.ts +2 -2
- package/src/rpc/RpcContract.ts +6 -6
- package/src/rpc/RpcSubscription.ts +1 -1
- package/src/rpc/transports/compatibility/EIP1193Transport.ts +4 -4
- package/src/rpc/transports/compatibility/Web3Transport.ts +1 -1
- package/src/services/TimelockService/ITimelockService.ts +2 -2
- package/src/services/TimelockService/TimelockService.ts +2 -2
- package/src/services/TimelockService/TimelockServiceFallbackSafe.ts +2 -2
- package/src/solidity/SlotsDump.ts +1 -1
- package/src/solidity/SlotsParser/MappingSettersResolver.ts +3 -3
- package/src/solidity/SlotsParser/SourceFile.ts +3 -3
- package/src/solidity/SolidityParser.ts +1 -1
- package/src/solidity/SourceCodeProvider.ts +1 -1
- package/src/solidity/storage/Accessor.spec.ts +1 -1
- package/src/solidity/storage/Accessor.ts +1 -1
- package/src/solidity/storage/SlotDynamicArray.ts +1 -1
- package/src/solidity/storage/SlotFixedArray.ts +1 -1
- package/src/solidity/storage/SlotsStorageTransport.ts +3 -3
- package/src/solidity/storage/handlers/SlotBytesHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotDynamicArrayHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotFixedArrayHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueConstantHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueImmutableHandler.ts +4 -4
- package/src/tokens/TokenDataProvider.ts +2 -2
- package/src/tokens/TokenExchangeService.ts +1 -1
- package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +2 -2
- package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
- package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +2 -2
- package/src/tokens/TokenTransferService.ts +2 -2
- package/src/tokens/TokensService.ts +1 -1
- package/src/txs/ITxBuilderOptions.ts +1 -1
- package/src/txs/TxNonceManager.ts +1 -1
- package/src/txs/TxWriter.ts +15 -4
- package/src/txs/agents/BatchAgent.ts +1 -1
- package/src/txs/conditional/GasWatcherTx.ts +1 -1
- package/src/txs/receipt/TxLogParser.ts +1 -1
- package/src/utils/$crypto.ts +1 -1
- package/src/utils/$date.ts +1 -1
- package/src/utils/$hex.ts +1 -1
- package/src/utils/$logger.ts +1 -1
- package/src/utils/$machine.ts +2 -2
- package/src/utils/$require.ts +10 -10
- package/src/utils/$traces.ts +1 -1
- 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
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":"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
|
|
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
|
|
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
|
-
//
|
|
588
|
+
// Overlaps
|
|
589
589
|
arr.push([aFirst, to]);
|
|
590
590
|
}
|
|
591
591
|
}
|