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.
- 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/$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/$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/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/$traces.ts +1 -1
- package/src/wallets/EIP6963ProviderFactory.ts +4 -4
|
@@ -13,9 +13,9 @@ export declare class EventsIndexer<TContract extends ContractBase> {
|
|
|
13
13
|
store?: IEventsIndexerStore;
|
|
14
14
|
storeMeta?: IEventsIndexerMetaStore;
|
|
15
15
|
fs?: {
|
|
16
|
-
/**
|
|
16
|
+
/** Used as the base directory. Later, the contract name and address hash are appended */
|
|
17
17
|
directory?: string;
|
|
18
|
-
/**
|
|
18
|
+
/** Events are split into multiple files by block range */
|
|
19
19
|
rangeSeconds?: number;
|
|
20
20
|
blockTimeAvg?: number;
|
|
21
21
|
};
|
|
@@ -29,9 +29,9 @@ export declare class EventsIndexer<TContract extends ContractBase> {
|
|
|
29
29
|
store?: IEventsIndexerStore;
|
|
30
30
|
storeMeta?: IEventsIndexerMetaStore;
|
|
31
31
|
fs?: {
|
|
32
|
-
/**
|
|
32
|
+
/** Used as the base directory. Later, the contract name and address hash are appended */
|
|
33
33
|
directory?: string;
|
|
34
|
-
/**
|
|
34
|
+
/** Events are split into multiple files by block range */
|
|
35
35
|
rangeSeconds?: number;
|
|
36
36
|
blockTimeAvg?: number;
|
|
37
37
|
};
|
|
@@ -2,7 +2,7 @@ import { Web3Client } from '../clients/Web3Client';
|
|
|
2
2
|
import { TPlatform } from '../models/TPlatform';
|
|
3
3
|
import { TEth } from '../models/TEth';
|
|
4
4
|
export interface IPendingTxIndexerOptions {
|
|
5
|
-
/**
|
|
5
|
+
/** Indexer name */
|
|
6
6
|
name?: string;
|
|
7
7
|
}
|
|
8
8
|
export type TPendingTxListener = (client: Web3Client, tx: TEth.Tx) => Promise<void>;
|
|
@@ -30,8 +30,8 @@ export declare class BlocksWalker {
|
|
|
30
30
|
constructor(params: IBlockIndexer);
|
|
31
31
|
start(from?: number | Date, to?: number | Date): Promise<void>;
|
|
32
32
|
/**
|
|
33
|
-
* Can be called each time we get a new block from blockchain,
|
|
34
|
-
* the walker will process its current blocks
|
|
33
|
+
* Can be called each time we get a new block from the blockchain,
|
|
34
|
+
* the walker will process its current blocks up to the specified number
|
|
35
35
|
* @param nr Number is not included: [from, end)
|
|
36
36
|
*/
|
|
37
37
|
processUntil(nr: number): Promise<any>;
|
|
@@ -9,9 +9,9 @@ export declare class FsEventsIndexerStore<T extends ContractBase> implements IEv
|
|
|
9
9
|
name?: string;
|
|
10
10
|
initialBlockNumber?: number;
|
|
11
11
|
fs?: {
|
|
12
|
-
/** Base directory
|
|
12
|
+
/** Base directory when the path is calculated from chain, name, and addresses */
|
|
13
13
|
directory?: string;
|
|
14
|
-
/** Relative final directory path to
|
|
14
|
+
/** Relative final directory path to use as is for store files */
|
|
15
15
|
path?: string;
|
|
16
16
|
rangeSeconds?: number;
|
|
17
17
|
blockTimeAvg?: number;
|
|
@@ -28,9 +28,9 @@ export declare class FsEventsIndexerStore<T extends ContractBase> implements IEv
|
|
|
28
28
|
name?: string;
|
|
29
29
|
initialBlockNumber?: number;
|
|
30
30
|
fs?: {
|
|
31
|
-
/** Base directory
|
|
31
|
+
/** Base directory when the path is calculated from chain, name, and addresses */
|
|
32
32
|
directory?: string;
|
|
33
|
-
/** Relative final directory path to
|
|
33
|
+
/** Relative final directory path to use as is for store files */
|
|
34
34
|
path?: string;
|
|
35
35
|
rangeSeconds?: number;
|
|
36
36
|
blockTimeAvg?: number;
|
|
@@ -2,7 +2,7 @@ import { TAddress } from '../../models/TAddress';
|
|
|
2
2
|
import { TPlatform } from '../../models/TPlatform';
|
|
3
3
|
export interface INsProviderOptions {
|
|
4
4
|
/**
|
|
5
|
-
* Loop over each chain the provider supports
|
|
5
|
+
* Loop over each chain the provider supports
|
|
6
6
|
* @default: true
|
|
7
7
|
*/
|
|
8
8
|
multichain?: boolean;
|
package/lib/types/rpc/Rpc.d.ts
CHANGED
|
@@ -106,7 +106,7 @@ export declare class Rpc extends RpcBase {
|
|
|
106
106
|
eth_accounts(): Promise<TEth.Address[]>;
|
|
107
107
|
/**
|
|
108
108
|
* Presents a structured data message for the user to sign. <metamask>
|
|
109
|
-
* Presents a data message for the user to sign in a structured and readable format and returns the signed response. Introduced
|
|
109
|
+
* Presents a data message for the user to sign in a structured and readable format and returns the signed response. Introduced by [EIP-712](https://eips.ethereum.org/EIPS/eip-712)
|
|
110
110
|
* @param address - The address of the requested signing account.
|
|
111
111
|
* @param typedData -
|
|
112
112
|
* @returns Signature -
|
|
@@ -175,7 +175,7 @@ export declare class Rpc extends RpcBase {
|
|
|
175
175
|
* Returns transaction base fee per gas and effective priority fee per gas for the requested/supported block range.
|
|
176
176
|
* @param blockCount - Requested range of blocks. Clients will return less than the requested range if not all blocks are available.
|
|
177
177
|
* @param newestBlock - Highest block of the requested range.
|
|
178
|
-
* @param rewardPercentiles - A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the
|
|
178
|
+
* @param rewardPercentiles - A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the corresponding effective tip for the percentile will be determined, accounting for gas consumed
|
|
179
179
|
* @returns feeHistoryResult - Fee history for the returned block range. This can be a subsection of the requested range if not all blocks are available.
|
|
180
180
|
*/
|
|
181
181
|
eth_feeHistory(blockCount: bigint, newestBlock: DataLike<RpcTypes.BlockNumberOrTag>, rewardPercentiles: number[]): Promise<{
|
|
@@ -19,7 +19,7 @@ export interface ITimelockService {
|
|
|
19
19
|
}>;
|
|
20
20
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
21
21
|
*
|
|
22
|
-
* 1. if schedule
|
|
22
|
+
* 1. if the schedule does not exist, create it
|
|
23
23
|
* 2. if schedule date NOT yet ready, exit
|
|
24
24
|
* 3. if schedule date IS ready, execute it
|
|
25
25
|
* 4. if executed, exit
|
|
@@ -32,7 +32,7 @@ export interface ITimelockService {
|
|
|
32
32
|
}>;
|
|
33
33
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
34
34
|
*
|
|
35
|
-
* 1. if schedule
|
|
35
|
+
* 1. if the schedule does not exist, create it
|
|
36
36
|
* 2. if schedule date NOT yet ready, exit
|
|
37
37
|
* 3. if schedule date IS ready, execute it
|
|
38
38
|
* 4. if executed, exit
|
|
@@ -36,7 +36,7 @@ export declare class TimelockService implements ITimelockService {
|
|
|
36
36
|
}>;
|
|
37
37
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
38
38
|
*
|
|
39
|
-
* 1. if schedule
|
|
39
|
+
* 1. if the schedule does not exist, create it
|
|
40
40
|
* 2. if schedule date NOT yet ready, exit
|
|
41
41
|
* 3. if schedule date IS ready, execute it
|
|
42
42
|
* 4. if executed, exit
|
|
@@ -55,7 +55,7 @@ export declare class TimelockService implements ITimelockService {
|
|
|
55
55
|
}>;
|
|
56
56
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
57
57
|
*
|
|
58
|
-
* 1. if schedule
|
|
58
|
+
* 1. if the schedule does not exist, create it
|
|
59
59
|
* 2. if schedule date NOT yet ready, exit
|
|
60
60
|
* 3. if schedule date IS ready, execute it
|
|
61
61
|
* 4. if executed, exit
|
|
@@ -26,7 +26,7 @@ export declare class TimelockServiceFallbackSafe implements ITimelockService {
|
|
|
26
26
|
}>;
|
|
27
27
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
28
28
|
*
|
|
29
|
-
* 1. if schedule
|
|
29
|
+
* 1. if the schedule does not exist, create it
|
|
30
30
|
* 2. if schedule date NOT yet ready, exit
|
|
31
31
|
* 3. if schedule date IS ready, execute it
|
|
32
32
|
* 4. if executed, exit
|
|
@@ -39,7 +39,7 @@ export declare class TimelockServiceFallbackSafe implements ITimelockService {
|
|
|
39
39
|
}>;
|
|
40
40
|
/** Schedules-Wait-Execute a task distinguished by the unique task name
|
|
41
41
|
*
|
|
42
|
-
* 1. if schedule
|
|
42
|
+
* 1. if the schedule does not exist, create it
|
|
43
43
|
* 2. if schedule date NOT yet ready, exit
|
|
44
44
|
* 3. if schedule date IS ready, execute it
|
|
45
45
|
* 4. if executed, exit
|
|
@@ -20,7 +20,7 @@ export declare class SourceFile {
|
|
|
20
20
|
private reapplyParents;
|
|
21
21
|
getImports(): Promise<TSourceFileImport[]>;
|
|
22
22
|
/**
|
|
23
|
-
* @returns Inheritance chain:
|
|
23
|
+
* @returns Inheritance chain: from the base (root) class to the most derived class
|
|
24
24
|
*/
|
|
25
25
|
getContractInheritanceChain(name?: string): Promise<TSourceFileContract[]>;
|
|
26
26
|
getContract(name?: string): Promise<ContractDefinition>;
|
|
@@ -2,7 +2,7 @@ import { ISlotVarDefinition } from '../SlotsParser/models';
|
|
|
2
2
|
import { ASlotsStorageHandler } from './SlotsStorageHandler';
|
|
3
3
|
export declare abstract class ASlotFixedArray extends ASlotsStorageHandler {
|
|
4
4
|
static supports(slot: ISlotVarDefinition): boolean;
|
|
5
|
-
/** @TODO
|
|
5
|
+
/** @TODO Does not support complex arrays */
|
|
6
6
|
protected getCursorFor(idx: number): Promise<{
|
|
7
7
|
slot: number | bigint;
|
|
8
8
|
position: number;
|
|
@@ -18,14 +18,14 @@ export declare class TokenDataProvider {
|
|
|
18
18
|
getToken(address: TAddress, chainLookup?: boolean): Promise<IToken>;
|
|
19
19
|
getKnownToken(mix: string): Promise<IToken>;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Adds and saves the token to the dequanto configuration
|
|
22
22
|
*/
|
|
23
23
|
addKnownToken(token: IToken): Promise<any>;
|
|
24
24
|
isNative(token: IToken): boolean;
|
|
25
25
|
isNative(address: TAddress): boolean;
|
|
26
26
|
isNative(symbol: string): boolean;
|
|
27
27
|
getNative(platform: TPlatform): IToken;
|
|
28
|
-
/** Download tokens with various exchange/swap providers and merge them into one collection
|
|
28
|
+
/** Download tokens with various exchange/swap providers and merge them into one collection */
|
|
29
29
|
redownload(): Promise<ITokenProvider[]>;
|
|
30
30
|
getTokenByAddress(address: TAddress, chainLookup?: boolean): Promise<[IToken, ITokenProvider]>;
|
|
31
31
|
getTokenBySymbol(symbol: string, chainLookup?: boolean): Promise<[IToken, ITokenProvider]>;
|
|
@@ -21,7 +21,7 @@ export declare class TokensService {
|
|
|
21
21
|
isNative(address: TAddress): boolean;
|
|
22
22
|
isNative(symbol: string): boolean;
|
|
23
23
|
getNative(platform?: TPlatform): IToken;
|
|
24
|
-
/** Download tokens with various exchange/swap providers and merge them into one collection
|
|
24
|
+
/** Download tokens with various exchange/swap providers and merge them into one collection */
|
|
25
25
|
redownload(): Promise<ITokenProvider[]>;
|
|
26
26
|
getTokenByAddress(address: TAddress, chainLookup?: boolean): Promise<[IToken, ITokenProvider]>;
|
|
27
27
|
getTokenBySymbol(symbol: string, chainLookup?: boolean): Promise<[IToken, ITokenProvider]>;
|
|
@@ -11,7 +11,7 @@ export interface ITxBuilderNonceOptions {
|
|
|
11
11
|
* 1: Used nonce of the first pending transaction will
|
|
12
12
|
* 2: second pending transaction
|
|
13
13
|
* ...
|
|
14
|
-
* In any case MAX is the count of pending transactions, so any value is safe
|
|
14
|
+
* In any case, MAX is the count of pending transactions, so any value is safe
|
|
15
15
|
*/
|
|
16
16
|
noncePending?: number;
|
|
17
17
|
}
|
|
@@ -12,7 +12,7 @@ export declare class TxNonceManager {
|
|
|
12
12
|
protected constructor(platform: TPlatform, account: TAddress);
|
|
13
13
|
static create(client: Web3Client, account: IAccount | TAddress): TxNonceManager;
|
|
14
14
|
/**
|
|
15
|
-
* Pick current nonce without incrementing. TxDataBuilder will call
|
|
15
|
+
* Pick the current nonce without incrementing. TxDataBuilder will call incrementCursor after the tx is signed
|
|
16
16
|
* */
|
|
17
17
|
pickNonce(client: Web3Client): Promise<bigint>;
|
|
18
18
|
incrementCursor(): void;
|
|
@@ -40,7 +40,7 @@ export interface ITxWriterOptions {
|
|
|
40
40
|
retries?: number;
|
|
41
41
|
retryDelay?: number;
|
|
42
42
|
safeTransport?: ISafeServiceTransport;
|
|
43
|
-
/** Tx
|
|
43
|
+
/** Tx data will be saved to the store, e.g. a file, and wait until the signature appears in the store */
|
|
44
44
|
sigTransport?: string;
|
|
45
45
|
/** Optionally disable waiting for the transport response */
|
|
46
46
|
sigTransportWait?: boolean;
|
|
@@ -48,10 +48,10 @@ export interface ITxWriterOptions {
|
|
|
48
48
|
txOutput?: string;
|
|
49
49
|
/** Proceed the Tx up to the signature */
|
|
50
50
|
signOnly?: boolean;
|
|
51
|
-
/** Provide a pre-signed signature for this transaction data
|
|
51
|
+
/** Provide a pre-signed signature for this transaction data */
|
|
52
52
|
signature?: TEth.Hex;
|
|
53
53
|
/**
|
|
54
|
-
* The callback is executed on error
|
|
54
|
+
* The callback is executed on error to allow building a new tx for resubmission
|
|
55
55
|
* @param tx - current TxWriter object
|
|
56
56
|
* @param error - current Error with receipt(if any)
|
|
57
57
|
* @param errCount - num of errors already handled
|
|
@@ -64,7 +64,7 @@ export interface ITxWriterOptions {
|
|
|
64
64
|
*/
|
|
65
65
|
silent?: boolean;
|
|
66
66
|
/**
|
|
67
|
-
* Custom agent to process the transaction data
|
|
67
|
+
* Custom agent to process the transaction data
|
|
68
68
|
*/
|
|
69
69
|
agent?: ITxWriterAgent;
|
|
70
70
|
}
|
|
@@ -7,7 +7,7 @@ export declare class TxLogParser {
|
|
|
7
7
|
topics: TxTopicProvider;
|
|
8
8
|
constructor(topics?: TxTopicProvider);
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Sparse arrays will contain NULLs for unparsed log items
|
|
11
11
|
* Per default dense arrays - only with known logs - are returned
|
|
12
12
|
*/
|
|
13
13
|
parse(receipt: {
|
|
@@ -24,7 +24,7 @@ export declare class DateTool {
|
|
|
24
24
|
setSeconds(v: number): this;
|
|
25
25
|
setMinutes(v: number): this;
|
|
26
26
|
setHours(h: number, min?: number, sec?: number, ms?: number): this;
|
|
27
|
-
/** Sets the numeric day-of-the-month value of the Date object using local time
|
|
27
|
+
/** Sets the numeric day-of-the-month value of the Date object using local time */
|
|
28
28
|
setDate(v: number): this;
|
|
29
29
|
setMonth(v: number): this;
|
|
30
30
|
setFullYear(v: number): this;
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,83 +1,105 @@
|
|
|
1
|
-
# dequanto
|
|
2
|
-
|
|
3
|
-
[](https://circleci.com/gh/0xweb-org/dequanto)
|
|
5
|
-
[](http://badge.fury.io/js/dequanto)
|
|
6
|
-
|
|
7
|
-
<p align=
|
|
8
|
-
<img src=
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
##
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
1
|
+
# dequanto
|
|
2
|
+
|
|
3
|
+
[](https://docs.0xweb.org/dequanto)
|
|
4
|
+
[](https://circleci.com/gh/0xweb-org/dequanto)
|
|
5
|
+
[](http://badge.fury.io/js/dequanto)
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="assets/background.jpg" alt="dequanto" />
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
`dequanto` is a TypeScript toolkit for EVM development. It can generate typed contract clients from ABI or Solidity sources, submit and monitor transactions, query RPC nodes, read blockchain explorer data, index events, and work with common Ethereum data formats.
|
|
12
|
+
|
|
13
|
+
The library can be used at different abstraction levels:
|
|
14
|
+
|
|
15
|
+
- Use generated contract classes for typed calls, transactions, and event parsing
|
|
16
|
+
- Use RPC clients directly when you need low-level node access
|
|
17
|
+
- Use transaction builders for fine-grained signing and submission flows
|
|
18
|
+
- Use storage, ABI, and bytecode utilities when inspecting contracts or chain data
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
### Typed Contract Clients
|
|
23
|
+
|
|
24
|
+
Generate ES6/TypeScript classes from ABI, compiled artifacts, Solidity files, or verified source code fetched from blockchain explorers. Generated clients can call read methods, submit transactions, parse logs, and expose typed helpers around contract metadata.
|
|
25
|
+
|
|
26
|
+
### RPC Clients
|
|
27
|
+
|
|
28
|
+
Connect to one or more blockchain nodes through a shared client layer. The RPC client supports node pools, request balancing, throttling, rate limits, and automatic retries.
|
|
29
|
+
|
|
30
|
+
### Transactions
|
|
31
|
+
|
|
32
|
+
Build, sign, submit, and wait for transactions with lower-level control over transaction data. The transaction layer also includes support for Gnosis Safe, Account Abstraction, and Flashbots flows.
|
|
33
|
+
|
|
34
|
+
### Explorer Integration
|
|
35
|
+
|
|
36
|
+
Use Etherscan-compatible explorers and related APIs to fetch ABIs, source code, contract creation metadata, token data, and other chain information.
|
|
37
|
+
|
|
38
|
+
### Event Indexing
|
|
39
|
+
|
|
40
|
+
Fetch and persist contract events with resumable progress. The event indexer is designed for long-running indexing jobs that need file-backed state.
|
|
41
|
+
|
|
42
|
+
### Watchers
|
|
43
|
+
|
|
44
|
+
Subscribe to contract events and monitor transactions in real time.
|
|
45
|
+
|
|
46
|
+
### Numeric Utilities
|
|
47
|
+
|
|
48
|
+
Work with native `bigint` values and `BigFloat` helpers for mantissa-based math.
|
|
49
|
+
|
|
50
|
+
### Prebuilt Contracts
|
|
51
|
+
|
|
52
|
+
Use pre-generated TypeScript wrappers for commonly used contracts, including OpenZeppelin contracts.
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
Install the package from npm:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm i dequanto
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The package ships with:
|
|
63
|
+
|
|
64
|
+
- CommonJS files under `node_modules/dequanto/lib/cjs`
|
|
65
|
+
- ESM files under `node_modules/dequanto/lib/esm`
|
|
66
|
+
- TypeScript declarations under `node_modules/dequanto/lib/types`
|
|
67
|
+
- TypeScript sources under `node_modules/dequanto/src`
|
|
68
|
+
|
|
69
|
+
Node and build tools can resolve the correct entry point through the package exports.
|
|
70
|
+
|
|
71
|
+
## 0xweb CLI
|
|
72
|
+
|
|
73
|
+
You can also use the [0xweb](https://github.com/0xweb-org/0xweb) CLI to generate contract clients and install contract dependencies.
|
|
74
|
+
|
|
75
|
+
## Configuration
|
|
76
|
+
|
|
77
|
+
`dequanto` includes default configuration for several chains and Safe infrastructure. For project-specific settings, add RPC URLs, explorer API keys, and other overrides through YAML config files.
|
|
78
|
+
|
|
79
|
+
## Development
|
|
80
|
+
|
|
81
|
+
Useful repository commands:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm run typecheck
|
|
85
|
+
npm run build
|
|
86
|
+
npm test
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The main validation command for TypeScript changes is:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run typecheck -- --pretty false
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Documentation
|
|
96
|
+
|
|
97
|
+
Full documentation is available at:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
https://docs.0xweb.org/dequanto
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
Copyright (c) 2026 0xweb.org
|
package/src/abi/$abiCoder.ts
CHANGED
package/src/abi/Logger.ts
CHANGED
|
@@ -63,14 +63,14 @@ function _pack(type: string, value: any, isArray?: boolean): Uint8Array {
|
|
|
63
63
|
return $buffer.concat(buffers);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
throw new Error(`AbiCoder:
|
|
66
|
+
throw new Error(`AbiCoder: invalid type ${type}`);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
// @TODO: Array
|
|
69
|
+
// @TODO: Array enum
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Computes the [[link-solc-packed]] representation of %%values%%
|
|
73
|
-
* respectively to their %%types
|
|
73
|
+
* respectively to their %%types%%
|
|
74
74
|
*
|
|
75
75
|
* @example:
|
|
76
76
|
* addr = "0x8ba1f109551bd432803012645ac136ddd64dba72"
|
package/src/abi/abi-coder.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* When sending values to or receiving values from a [[Contract]], the
|
|
3
|
-
* data is generally encoded using the [ABI standard](link-solc-abi)
|
|
3
|
+
* data is generally encoded using the [ABI standard](link-solc-abi)
|
|
4
4
|
*
|
|
5
5
|
* The AbiCoder provides a utility to encode values to ABI data and
|
|
6
|
-
* decode values from ABI data
|
|
6
|
+
* decode values from ABI data
|
|
7
7
|
*
|
|
8
|
-
* Most of the time, developers should
|
|
9
|
-
* which further abstracts a lot of the finer details of ABI data
|
|
8
|
+
* Most of the time, developers should favor the [[Contract]] class,
|
|
9
|
+
* which further abstracts a lot of the finer details of ABI data
|
|
10
10
|
*
|
|
11
11
|
* @_section api/abi/abi-coder:ABI Encoding
|
|
12
12
|
*/
|
|
@@ -52,7 +52,7 @@ let defaultCoder: null | AbiCoder = null;
|
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* The **AbiCoder** is a low-level class responsible for encoding JavaScript
|
|
55
|
-
* values into binary data and decoding binary data into JavaScript values
|
|
55
|
+
* values into binary data and decoding binary data into JavaScript values
|
|
56
56
|
*/
|
|
57
57
|
export class AbiCoder {
|
|
58
58
|
|
|
@@ -83,7 +83,7 @@ export class AbiCoder {
|
|
|
83
83
|
if (match) {
|
|
84
84
|
let size = parseInt(match[2] || "256");
|
|
85
85
|
$require.True(size !== 0 && size <= 256 && (size % 8) === 0,
|
|
86
|
-
"
|
|
86
|
+
"Invalid " + match[1] + " bit length" + param);
|
|
87
87
|
return new NumberCoder(size / 8, (match[1] === "int"), param.name);
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -91,18 +91,18 @@ export class AbiCoder {
|
|
|
91
91
|
match = param.type.match(paramTypeBytes);
|
|
92
92
|
if (match) {
|
|
93
93
|
let size = parseInt(match[1]);
|
|
94
|
-
$require.True(size !== 0 && size <= 32, "
|
|
94
|
+
$require.True(size !== 0 && size <= 32, "Invalid bytes length" + param);
|
|
95
95
|
return new FixedBytesCoder(size, param.name);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
throw new Error(`
|
|
98
|
+
throw new Error(`Invalid type ${param.type}`);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* Get the default values for the given %%types
|
|
102
|
+
* Get the default values for the given %%types%%
|
|
103
103
|
*
|
|
104
104
|
* For example, a ``uint`` is by default ``0`` and ``bool``
|
|
105
|
-
* is by default ``false
|
|
105
|
+
* is by default ``false``
|
|
106
106
|
*/
|
|
107
107
|
getDefaultValue(types: ReadonlyArray<string | ParamType>): Result {
|
|
108
108
|
const coders: Array<Coder> = types.map((type) => this.#getCoder(ParamType.from(type)));
|
|
@@ -111,7 +111,7 @@ export class AbiCoder {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
|
-
* Encode the %%values%% as the %%types%% into ABI data
|
|
114
|
+
* Encode the %%values%% as the %%types%% into ABI data
|
|
115
115
|
*
|
|
116
116
|
* @returns DataHexstring
|
|
117
117
|
*/
|
|
@@ -125,7 +125,7 @@ export class AbiCoder {
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
|
-
* Encode the %%values%% as the %%types%% into ABI data
|
|
128
|
+
* Encode the %%values%% as the %%types%% into ABI data
|
|
129
129
|
*
|
|
130
130
|
* @returns DataHexstring
|
|
131
131
|
*/
|
|
@@ -141,11 +141,11 @@ export class AbiCoder {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
|
-
* Decode the ABI %%data%% as the %%types%% into values
|
|
144
|
+
* Decode the ABI %%data%% as the %%types%% into values
|
|
145
145
|
*
|
|
146
146
|
* If %%loose%% decoding is enabled, then strict padding is
|
|
147
147
|
* not enforced. Some older versions of Solidity incorrectly
|
|
148
|
-
* padded event data emitted from ``external`` functions
|
|
148
|
+
* padded event data emitted from ``external`` functions
|
|
149
149
|
*/
|
|
150
150
|
decode(types: ReadonlyArray<string | ParamType | TAbiInput>, hex: string, opts?: {
|
|
151
151
|
loose?: boolean
|
|
@@ -172,9 +172,9 @@ export class AbiCoder {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
/**
|
|
175
|
-
* Returns the shared singleton instance of a default [[AbiCoder]]
|
|
175
|
+
* Returns the shared singleton instance of a default [[AbiCoder]]
|
|
176
176
|
*
|
|
177
|
-
* On the first call, the instance is created internally
|
|
177
|
+
* On the first call, the instance is created internally
|
|
178
178
|
*/
|
|
179
179
|
static defaultAbiCoder(): AbiCoder {
|
|
180
180
|
if (defaultCoder == null) {
|