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
|
@@ -19,7 +19,7 @@ export abstract class ASlotDynamicArray extends ASlotsStorageHandler {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
// /** @TODO
|
|
22
|
+
// /** @TODO Does not support complex arrays */
|
|
23
23
|
// protected async getCursorFor (idx: number): Promise<{
|
|
24
24
|
// slot: number | bigint,
|
|
25
25
|
// position: number,
|
|
@@ -10,7 +10,7 @@ export abstract class ASlotFixedArray extends ASlotsStorageHandler {
|
|
|
10
10
|
return $types.isFixedArray(slot.type);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
/** @TODO
|
|
13
|
+
/** @TODO Does not support complex arrays */
|
|
14
14
|
protected async getCursorFor (idx: number): Promise<{ slot: number | bigint, position: number, size: number }> {
|
|
15
15
|
let { slot } = this;
|
|
16
16
|
let arrLength = $abiType.array.getLength(slot.type);
|
|
@@ -106,7 +106,7 @@ export class SlotsStorageTransport implements ISlotsStorageTransport {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
extractMappingKeys (ctx): Promise<{ keys: (string | number | bigint)[][] }> {
|
|
109
|
-
throw new Error(`SlotMappingReader
|
|
109
|
+
throw new Error(`SlotMappingReader does not support the fetchAll method, as the size could be infinite`);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
mapToGlobalSlot (slot = 0) {
|
|
@@ -128,7 +128,7 @@ export class SlotsStorageTransportForArray implements ISlotsStorageTransport {
|
|
|
128
128
|
|
|
129
129
|
async getStorageAt (slot: string | number | bigint, position = 0, size = 256) {
|
|
130
130
|
if (typeof slot !== 'number') {
|
|
131
|
-
throw new Error(`Array
|
|
131
|
+
throw new Error(`Array slot reader supports only numeric positions. Slot ${slot}`);
|
|
132
132
|
}
|
|
133
133
|
let location = this.mapToGlobalSlot(slot);
|
|
134
134
|
let memory = await this.getUnderlyingTransport().getStorageAt(location, position, size);
|
|
@@ -172,7 +172,7 @@ export class SlotsStorageTransportForMapping implements ISlotsStorageTransport {
|
|
|
172
172
|
async getStorageAt (slot: string | number | bigint, position: number, size: number) {
|
|
173
173
|
let isValidType = typeof slot === 'number' || typeof slot === 'bigint' || $is.Hex(slot);
|
|
174
174
|
if (isValidType === false) {
|
|
175
|
-
throw new Error(`Mapping
|
|
175
|
+
throw new Error(`Mapping slot reader supports only numeric positions ${slot}`);
|
|
176
176
|
}
|
|
177
177
|
let location = this.mapToGlobalSlot(BigInt(slot));
|
|
178
178
|
let memory = await this.getUnderlyingTransport().getStorageAt(location, position, size);
|
|
@@ -98,7 +98,7 @@ export class SlotBytesHandler extends ASlotsStorageHandler {
|
|
|
98
98
|
|
|
99
99
|
protected requireNoKeys (keys: IAccessorItem[]) {
|
|
100
100
|
if (keys?.length > 0) {
|
|
101
|
-
throw new Error(`ValueTypes
|
|
101
|
+
throw new Error(`ValueTypes cannot have nested accessors: ${ keys.map(x => x.key).join('.') }`);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -41,7 +41,7 @@ export class SlotDynamicArrayHandler extends ASlotDynamicArray {
|
|
|
41
41
|
private async getStorageInner(key: IAccessorItem): Promise<any> {
|
|
42
42
|
|
|
43
43
|
if (key.type !== 'index') {
|
|
44
|
-
throw new Error(`Expected to get the
|
|
44
|
+
throw new Error(`Expected to get the array index as a key, but got ${key.key} as ${key.type}`);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
let baseType = $abiType.array.getBaseType(this.slot.type);
|
|
@@ -45,7 +45,7 @@ export class SlotFixedArrayHandler extends ASlotFixedArray {
|
|
|
45
45
|
private async getStorageInner (key: IAccessorItem) {
|
|
46
46
|
|
|
47
47
|
if (key.type !== 'index') {
|
|
48
|
-
throw new Error(`Expected to get the
|
|
48
|
+
throw new Error(`Expected to get the array index as a key, but got ${key.key} as ${key.type}`);
|
|
49
49
|
}
|
|
50
50
|
let cursor = await this.getCursorFor(key.key);
|
|
51
51
|
let baseType = $abiType.array.getBaseType(this.slot.type);
|
|
@@ -24,7 +24,7 @@ export class SlotValueConstantHandler extends ASlotsStorageHandler {
|
|
|
24
24
|
|
|
25
25
|
private requireNoKeys (keys: IAccessorItem[]) {
|
|
26
26
|
if (keys?.length > 0) {
|
|
27
|
-
throw new Error(`ValueTypes
|
|
27
|
+
throw new Error(`ValueTypes cannot have nested accessors: ${ keys.map(x => x.key).join('.') }`);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -30,7 +30,7 @@ export class SlotValueHandler extends ASlotsStorageHandler {
|
|
|
30
30
|
|
|
31
31
|
private requireNoKeys (keys: IAccessorItem[]) {
|
|
32
32
|
if (keys?.length > 0) {
|
|
33
|
-
throw new Error(`ValueTypes
|
|
33
|
+
throw new Error(`ValueTypes cannot have nested accessors: ${ keys.map(x => x.key).join('.') }`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -10,8 +10,8 @@ export class SlotValueImmutableHandler extends ASlotsStorageHandler {
|
|
|
10
10
|
return slot.memory === 'immutable';
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
//
|
|
14
|
-
// @TODO
|
|
13
|
+
// Read the public getter if any, or skip for now
|
|
14
|
+
// @TODO Implement the deployment tx reader
|
|
15
15
|
async get (keys?: IAccessorItem[]){
|
|
16
16
|
this.requireNoKeys(keys);
|
|
17
17
|
|
|
@@ -26,7 +26,7 @@ export class SlotValueImmutableHandler extends ASlotsStorageHandler {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
async set(keys: IAccessorItem[], value: any): Promise<any> {
|
|
29
|
-
throw new Error(`
|
|
29
|
+
throw new Error(`Cannot set an immutable value ${this.slot.name}`);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
async fetchAll() {
|
|
@@ -35,7 +35,7 @@ export class SlotValueImmutableHandler extends ASlotsStorageHandler {
|
|
|
35
35
|
|
|
36
36
|
private requireNoKeys (keys: IAccessorItem[]) {
|
|
37
37
|
if (keys?.length > 0) {
|
|
38
|
-
throw new Error(`ValueTypes
|
|
38
|
+
throw new Error(`ValueTypes cannot have nested accessors: ${ keys.map(x => x.key).join('.') }`);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -84,7 +84,7 @@ export class TokenDataProvider {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
-
*
|
|
87
|
+
* Adds and saves the token to the dequanto configuration
|
|
88
88
|
*/
|
|
89
89
|
async addKnownToken (token: IToken): Promise<any> {
|
|
90
90
|
await this.config.addToken(token);
|
|
@@ -109,7 +109,7 @@ export class TokenDataProvider {
|
|
|
109
109
|
return NativeTokens.getNative(platform);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
/** Download tokens with various exchange/swap providers and merge them into one collection
|
|
112
|
+
/** Download tokens with various exchange/swap providers and merge them into one collection */
|
|
113
113
|
async redownload () {
|
|
114
114
|
return await alot(this.providers)
|
|
115
115
|
.forEachAsync(async (x, i) => {
|
|
@@ -40,7 +40,7 @@ export class TokenExchangeService {
|
|
|
40
40
|
this.stables = ['USDC', 'USDT', 'DAI'];
|
|
41
41
|
break;
|
|
42
42
|
default:
|
|
43
|
-
throw new Error(`Unsupported
|
|
43
|
+
throw new Error(`Unsupported exchange platform: ${platform}`);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
this.client = Web3ClientFactory.get(this.platform);
|
|
@@ -97,7 +97,7 @@ export class AmmPairV2Service {
|
|
|
97
97
|
this.targetCoins = ['USDC', 'USDT', 'DAI'];
|
|
98
98
|
break;
|
|
99
99
|
default:
|
|
100
|
-
throw new Error(`Unsupported
|
|
100
|
+
throw new Error(`Unsupported exchange platform: ${client.platform}`);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
this.tokensService = di.resolve(TokensService, this.client.platform, this.explorer);
|
|
@@ -125,7 +125,7 @@ export class AmmPairV2Service {
|
|
|
125
125
|
|
|
126
126
|
|
|
127
127
|
if (pool == null || pool.reserveTo < (50_000n * BigInt(pool.pair.to.decimals))) {
|
|
128
|
-
//
|
|
128
|
+
// If no pool or only a low-liquidity pool is found, check the WETH pool
|
|
129
129
|
const SYMBOL = { bsc: 'WBNB', polygon: 'MATIC' }[platform] ?? 'WETH';
|
|
130
130
|
const nativeTokenPool = await this.getPoolInfo(address, SYMBOL);
|
|
131
131
|
|
|
@@ -39,7 +39,7 @@ export class AmmV2PriceQuote implements IOracle {
|
|
|
39
39
|
this.exchange = di.resolve(SushiswapPolygonExchange, this.client, this.explorer);
|
|
40
40
|
break;
|
|
41
41
|
default:
|
|
42
|
-
throw new Error(`Unsupported
|
|
42
|
+
throw new Error(`Unsupported exchange platform: ${client.platform}`);
|
|
43
43
|
}
|
|
44
44
|
this.tokensService = di.resolve(TokensService, this.client.platform, this.explorer)
|
|
45
45
|
this.pairService = di.resolve(AmmPairV2Service, this.client, this.explorer)
|
|
@@ -371,7 +371,7 @@ namespace TokenPrice {
|
|
|
371
371
|
fromUsd: $fromUsd,
|
|
372
372
|
fromPrice: $fromPrice,
|
|
373
373
|
|
|
374
|
-
//
|
|
374
|
+
// Optimistically assume the same USD output
|
|
375
375
|
toUsd: $fromUsd
|
|
376
376
|
};
|
|
377
377
|
}
|
|
@@ -138,7 +138,7 @@ export class AmmV1Oracle implements IOracle {
|
|
|
138
138
|
|
|
139
139
|
let mostLiquidity = alot(exchanges).sortBy(x => x?.eth ?? 0n, 'desc').first();
|
|
140
140
|
if (mostLiquidity == null || mostLiquidity.eth < $bigint.toWei(2)) {
|
|
141
|
-
throw new Error(`ETH price
|
|
141
|
+
throw new Error(`ETH price cannot be resolved due to missing or low-liquidity pairs: ${ exchanges.map(x => `${x.token.symbol} (${x.eth}wei)`) }`);
|
|
142
142
|
}
|
|
143
143
|
let out = await this
|
|
144
144
|
.reader
|
|
@@ -178,7 +178,7 @@ export class AmmV1Oracle implements IOracle {
|
|
|
178
178
|
opts.block = number;
|
|
179
179
|
return this.getBlockData(opts);
|
|
180
180
|
}
|
|
181
|
-
throw new Error(`Unreachable reached`);
|
|
181
|
+
throw new Error(`Unreachable code reached`);
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
@memd.deco.memoize({
|
|
@@ -158,8 +158,8 @@ export class TokenTransferService {
|
|
|
158
158
|
...(this.writerConfig ?? {}),
|
|
159
159
|
retries: 3,
|
|
160
160
|
async onErrorRebuild (tx, error, errCount) {
|
|
161
|
-
//
|
|
162
|
-
// Retry the calculation and transfer once again
|
|
161
|
+
// If we got the `balance` value, but it was outdated, then all our calculations were wrong
|
|
162
|
+
// Retry the calculation and transfer once again
|
|
163
163
|
if (/insufficient funds/.test(error.message)) {
|
|
164
164
|
const ms = 6000 * errCount;
|
|
165
165
|
$logger.log(`TokenTransfer Failed: insufficient funds. Waiting ${ms}ms to retry`);
|
|
@@ -52,7 +52,7 @@ export class TokensService {
|
|
|
52
52
|
return this.provider.getNative(platform);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
/** Download tokens with various exchange/swap providers and merge them into one collection
|
|
55
|
+
/** Download tokens with various exchange/swap providers and merge them into one collection */
|
|
56
56
|
async redownload () {
|
|
57
57
|
return this.provider.redownload();
|
|
58
58
|
}
|
|
@@ -17,7 +17,7 @@ export interface ITxBuilderNonceOptions {
|
|
|
17
17
|
* 1: Used nonce of the first pending transaction will
|
|
18
18
|
* 2: second pending transaction
|
|
19
19
|
* ...
|
|
20
|
-
* In any case MAX is the count of pending transactions, so any value is safe
|
|
20
|
+
* In any case, MAX is the count of pending transactions, so any value is safe
|
|
21
21
|
*/
|
|
22
22
|
noncePending?: number
|
|
23
23
|
}
|
|
@@ -34,7 +34,7 @@ export class TxNonceManager {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* Pick current nonce without incrementing. TxDataBuilder will call
|
|
37
|
+
* Pick the current nonce without incrementing. TxDataBuilder will call incrementCursor after the tx is signed
|
|
38
38
|
* */
|
|
39
39
|
public async pickNonce (client: Web3Client): Promise<bigint> {
|
|
40
40
|
if (this.shouldUpdateNonce()) {
|
package/src/txs/TxWriter.ts
CHANGED
|
@@ -71,7 +71,7 @@ export interface ITxWriterOptions {
|
|
|
71
71
|
retryDelay?: number
|
|
72
72
|
safeTransport?: ISafeServiceTransport
|
|
73
73
|
|
|
74
|
-
/** Tx
|
|
74
|
+
/** Tx data will be saved to the store, e.g. a file, and wait until the signature appears in the store */
|
|
75
75
|
sigTransport?: string
|
|
76
76
|
|
|
77
77
|
/** Optionally disable waiting for the transport response */
|
|
@@ -83,11 +83,11 @@ export interface ITxWriterOptions {
|
|
|
83
83
|
/** Proceed the Tx up to the signature */
|
|
84
84
|
signOnly?: boolean
|
|
85
85
|
|
|
86
|
-
/** Provide a pre-signed signature for this transaction data
|
|
86
|
+
/** Provide a pre-signed signature for this transaction data */
|
|
87
87
|
signature?: TEth.Hex
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
* The callback is executed on error
|
|
90
|
+
* The callback is executed on error to allow building a new tx for resubmission
|
|
91
91
|
* @param tx - current TxWriter object
|
|
92
92
|
* @param error - current Error with receipt(if any)
|
|
93
93
|
* @param errCount - num of errors already handled
|
|
@@ -101,7 +101,7 @@ export interface ITxWriterOptions {
|
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
* Custom agent to process the transaction data
|
|
104
|
+
* Custom agent to process the transaction data
|
|
105
105
|
*/
|
|
106
106
|
agent?: ITxWriterAgent
|
|
107
107
|
}
|
|
@@ -411,6 +411,17 @@ export class TxWriter extends class_EventEmitter<ITxWriterEvents> implements ITx
|
|
|
411
411
|
|
|
412
412
|
let submitsCount = this.txs.length;
|
|
413
413
|
let submitsMax = (options.retries ?? 0) + 1;
|
|
414
|
+
|
|
415
|
+
if (ClientErrorUtil.IsUnderpriced(err)) {
|
|
416
|
+
if (options.retries == null) {
|
|
417
|
+
options.retries = 1;
|
|
418
|
+
}
|
|
419
|
+
// Increase the price ratio and the
|
|
420
|
+
this.builder.increaseGas(1.5);
|
|
421
|
+
this.logger.log(`Underpriced: gas increased: retried ${submitsCount}/${options.retries ?? 0}`);
|
|
422
|
+
submitsMax = Math.max(2, submitsMax);
|
|
423
|
+
}
|
|
424
|
+
|
|
414
425
|
if (submitsCount < submitsMax) {
|
|
415
426
|
let ms = options.retryDelay ?? 3000;
|
|
416
427
|
let waitMs = ms * submitsCount;
|
|
@@ -18,7 +18,7 @@ export class BatchAgent implements ITxWriterAgent {
|
|
|
18
18
|
public transactions: MockTxWriter[] = []
|
|
19
19
|
|
|
20
20
|
constructor (public options?: {
|
|
21
|
-
// It is
|
|
21
|
+
// It is useful not to batch deployment transactions
|
|
22
22
|
ignoreContractCreation?: boolean,
|
|
23
23
|
}) {
|
|
24
24
|
|
|
@@ -94,7 +94,7 @@ export class GasWatcherTx {
|
|
|
94
94
|
// re-submitting
|
|
95
95
|
let currentGas = BigInt(data.gasPrice.toString());
|
|
96
96
|
if (currentGas >= gasPrice) {
|
|
97
|
-
//
|
|
97
|
+
// We cannot resubmit with less gas
|
|
98
98
|
gasPrice = currentGas + $bigint.toWeiFromGwei(.1);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
@@ -17,7 +17,7 @@ export class TxLogParser {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Sparse arrays will contain NULLs for unparsed log items
|
|
21
21
|
* Per default dense arrays - only with known logs - are returned
|
|
22
22
|
*/
|
|
23
23
|
async parse (receipt: { logs: TEth.TxReceipt['logs'] }, opts?: {
|
package/src/utils/$crypto.ts
CHANGED
|
@@ -111,7 +111,7 @@ namespace WebCryptoImpl {
|
|
|
111
111
|
}
|
|
112
112
|
createECDH(curve: string) {
|
|
113
113
|
/** use this.crypto.subtle.importKey */
|
|
114
|
-
throw new Error("Method not implemented
|
|
114
|
+
throw new Error("Method not implemented");
|
|
115
115
|
}
|
|
116
116
|
async encryptInner(buffer: Uint8Array, secret: Uint8Array): Promise<Uint8Array> {
|
|
117
117
|
const key = await this._getEncryptionKey(secret);
|
package/src/utils/$date.ts
CHANGED
|
@@ -80,7 +80,7 @@ export class DateTool {
|
|
|
80
80
|
if (ms != null) this.date.setMilliseconds(ms);
|
|
81
81
|
return this;
|
|
82
82
|
}
|
|
83
|
-
/** Sets the numeric day-of-the-month value of the Date object using local time
|
|
83
|
+
/** Sets the numeric day-of-the-month value of the Date object using local time */
|
|
84
84
|
setDate(v: number) {
|
|
85
85
|
this.date.setDate(v);
|
|
86
86
|
return this;
|
package/src/utils/$hex.ts
CHANGED
package/src/utils/$logger.ts
CHANGED
|
@@ -213,7 +213,7 @@ export function l(strings: TemplateStringsArray, ...values: any[]) {
|
|
|
213
213
|
case 'bigint':
|
|
214
214
|
break;
|
|
215
215
|
default:
|
|
216
|
-
//
|
|
216
|
+
// Skip colorizing all non-value types
|
|
217
217
|
continue;
|
|
218
218
|
}
|
|
219
219
|
args[i - 1] = `${before}${value}${after}`;
|
package/src/utils/$machine.ts
CHANGED
|
@@ -42,8 +42,8 @@ export namespace $machine {
|
|
|
42
42
|
freebsd: 'kenv -q smbios.system.uuid || sysctl -n kern.hostuuid'
|
|
43
43
|
};
|
|
44
44
|
function isWindowsProcessMixedOrNativeArchitecture(): string {
|
|
45
|
-
//
|
|
46
|
-
//
|
|
45
|
+
// Detect if the node binary has the same architecture as the Windows OS
|
|
46
|
+
// Or if this is 32-bit Node on 64-bit Windows
|
|
47
47
|
if (process.platform !== 'win32') {
|
|
48
48
|
return '';
|
|
49
49
|
}
|
package/src/utils/$traces.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { $require } from '@dequanto/utils/$require';
|
|
|
7
7
|
import { class_EventEmitter } from 'atma-utils';
|
|
8
8
|
import { IEIP6963Provider } from '@dequanto/rpc/transports/compatibility/IEIP6963Provider';
|
|
9
9
|
|
|
10
|
-
// Interface for provider information following EIP-6963
|
|
10
|
+
// Interface for provider information following EIP-6963
|
|
11
11
|
interface EIP6963ProviderInfo {
|
|
12
12
|
rdns?: string; // Unique identifier for the wallet e.g io.metamask, io.metamask.flask
|
|
13
13
|
uuid: string; // Globally unique ID to differentiate between provider sessions for the lifetime of the page
|
|
@@ -16,16 +16,16 @@ interface EIP6963ProviderInfo {
|
|
|
16
16
|
chainId?: number;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
// Interface for Ethereum providers based on the EIP-1193 standard
|
|
19
|
+
// Interface for Ethereum providers based on the EIP-1193 standard
|
|
20
20
|
|
|
21
|
-
// Interface detailing the structure of provider information and its Ethereum provider
|
|
21
|
+
// Interface detailing the structure of provider information and its Ethereum provider
|
|
22
22
|
export interface EIP6963ProviderDetail {
|
|
23
23
|
info: EIP6963ProviderInfo; // The provider's info
|
|
24
24
|
provider: IEIP6963Provider; // The EIP-1193 compatible provider
|
|
25
25
|
accounts?: TEth.Address[]; // Optional: Array of connected Ethereum accounts
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
// Type representing the event structure for announcing a provider based on EIP-6963
|
|
28
|
+
// Type representing the event structure for announcing a provider based on EIP-6963
|
|
29
29
|
type EIP6963AnnounceProviderEvent = {
|
|
30
30
|
detail: EIP6963ProviderDetail
|
|
31
31
|
}
|