dequanto 0.2.38 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/abi/$abiCoder.js +1 -1
- package/lib/cjs/abi/$abiCoder.js.map +1 -1
- package/lib/cjs/abi/Logger.js +1 -1
- package/lib/cjs/abi/abi-coder-packed.js +3 -3
- package/lib/cjs/abi/abi-coder.js +16 -16
- package/lib/cjs/abi/coders/abstract-coder.js +31 -31
- package/lib/cjs/abi/coders/abstract-coder.js.map +1 -1
- package/lib/cjs/abi/fragments.js +90 -90
- package/lib/cjs/abi/fragments.js.map +1 -1
- package/lib/cjs/blocks/BlockDateResolver.js +9 -9
- package/lib/cjs/blocks/BlockDateResolver.js.map +1 -1
- package/lib/cjs/class/PackedRanges.js +46 -46
- package/lib/cjs/class/PackedRanges.js.map +1 -1
- package/lib/cjs/clients/ClientEventsStream.js +1 -1
- package/lib/cjs/clients/ClientEventsStream.js.map +1 -1
- package/lib/cjs/clients/ClientPool.js +23 -23
- package/lib/cjs/clients/ClientPool.js.map +1 -1
- package/lib/cjs/clients/WalletClient.js +3 -3
- package/lib/cjs/clients/WalletClient.js.map +1 -1
- package/lib/cjs/clients/Web3Client.js +14 -14
- package/lib/cjs/clients/Web3Client.js.map +1 -1
- package/lib/cjs/clients/Web3ClientFactory.js +1 -1
- package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
- package/lib/cjs/clients/compatibility/Web3.js +2 -2
- package/lib/cjs/clients/compatibility/Web3.js.map +1 -1
- package/lib/cjs/clients/handlers/RateLimitGuard.js +16 -16
- package/lib/cjs/clients/handlers/RateLimitGuard.js.map +1 -1
- package/lib/cjs/clients/model/PromiEventWrap.js +1 -1
- package/lib/cjs/clients/model/PromiEventWrap.js.map +1 -1
- package/lib/cjs/clients/utils/$web3Abi.js +2 -2
- package/lib/cjs/clients/utils/$web3Abi.js.map +1 -1
- package/lib/cjs/clients/utils/ClientErrorUtil.js +4 -0
- package/lib/cjs/clients/utils/ClientErrorUtil.js.map +1 -1
- package/lib/cjs/config/Config.js.map +1 -1
- package/lib/cjs/contracts/Contract.js +1 -1
- package/lib/cjs/contracts/Contract.js.map +1 -1
- package/lib/cjs/contracts/ContractAbiProvider.js +6 -6
- package/lib/cjs/contracts/ContractAbiProvider.js.map +1 -1
- package/lib/cjs/contracts/ContractBase.js +10 -10
- package/lib/cjs/contracts/ContractBase.js.map +1 -1
- package/lib/cjs/contracts/ContractProvider.js +1 -1
- package/lib/cjs/contracts/ContractProvider.js.map +1 -1
- package/lib/cjs/contracts/ContractReader.js +5 -5
- package/lib/cjs/contracts/ContractReader.js.map +1 -1
- package/lib/cjs/contracts/ContractWriter.js +4 -4
- package/lib/cjs/contracts/ContractWriter.js.map +1 -1
- package/lib/cjs/contracts/deploy/ContractDeployer.js +4 -4
- package/lib/cjs/contracts/deploy/ContractDeployer.js.map +1 -1
- package/lib/cjs/contracts/deploy/Deployments.js +36 -21
- package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
- package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js +13 -13
- package/lib/cjs/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
- package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js +22 -22
- package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +15 -14
- package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/cjs/contracts/utils/AbiDeserializer.js +4 -4
- package/lib/cjs/contracts/utils/AbiDeserializer.js.map +1 -1
- package/lib/cjs/contracts/utils/ContractBaseUtils.js +3 -3
- package/lib/cjs/contracts/utils/ContractBaseUtils.js.map +1 -1
- package/lib/cjs/evm/OpcodesWalker.js +1 -1
- package/lib/cjs/evm/OpcodesWalker.js.map +1 -1
- package/lib/cjs/explorer/BlockchainExplorer.js +1 -1
- package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/cjs/explorer/BlockchainExplorerFactory.js +1 -1
- package/lib/cjs/explorer/BlockchainExplorerStorage.js +12 -12
- package/lib/cjs/explorer/BlockchainExplorerStorage.js.map +1 -1
- package/lib/cjs/explorer/Evmscan.js +1 -1
- package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +7 -7
- package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
- package/lib/cjs/flashbots/FlashbotWeb3Client.js +1 -1
- package/lib/cjs/flashbots/FlashbotWeb3Client.js.map +1 -1
- package/lib/cjs/hardhat/HardhatProvider.js +7 -7
- package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
- package/lib/cjs/indexer/BlocksTxIndexer.js +2 -2
- package/lib/cjs/indexer/BlocksTxIndexer.js.map +1 -1
- package/lib/cjs/indexer/EventsIndexer.js +11 -11
- package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
- package/lib/cjs/indexer/PendingTxIndexer.js +2 -2
- package/lib/cjs/indexer/PendingTxIndexer.js.map +1 -1
- package/lib/cjs/indexer/handlers/BlocksWalker.js +9 -9
- package/lib/cjs/indexer/handlers/BlocksWalker.js.map +1 -1
- package/lib/cjs/indexer/handlers/TxQueueLoader.js +1 -1
- package/lib/cjs/indexer/storage/FsEventsIndexerStore.js +3 -3
- package/lib/cjs/indexer/storage/FsEventsIndexerStore.js.map +1 -1
- package/lib/cjs/indexer/storage/FsEventsStoreUtils.js +1 -1
- package/lib/cjs/indexer/storage/FsEventsStoreUtils.js.map +1 -1
- package/lib/cjs/json/JsonArrayMultiStore.js +1 -1
- package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
- package/lib/cjs/json/JsonStoreFs.js +1 -1
- package/lib/cjs/json/JsonStoreFs.js.map +1 -1
- package/lib/cjs/rpc/$rpc.js +2 -2
- package/lib/cjs/rpc/$rpc.js.map +1 -1
- package/lib/cjs/rpc/Rpc.js +2 -2
- package/lib/cjs/rpc/RpcBase.js +2 -2
- package/lib/cjs/rpc/RpcBase.js.map +1 -1
- package/lib/cjs/rpc/RpcContract.js +4 -3
- package/lib/cjs/rpc/RpcContract.js.map +1 -1
- package/lib/cjs/rpc/RpcSubscription.js +1 -1
- package/lib/cjs/rpc/RpcSubscription.js.map +1 -1
- package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js +4 -4
- package/lib/cjs/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
- package/lib/cjs/rpc/transports/compatibility/Web3Transport.js +1 -1
- package/lib/cjs/rpc/transports/compatibility/Web3Transport.js.map +1 -1
- package/lib/cjs/services/TimelockService/TimelockService.js +2 -2
- package/lib/cjs/services/TimelockService/TimelockServiceFallbackSafe.js +2 -2
- package/lib/cjs/solidity/SlotsDump.js +1 -1
- package/lib/cjs/solidity/SlotsDump.js.map +1 -1
- package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js +3 -3
- package/lib/cjs/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
- package/lib/cjs/solidity/SlotsParser/SourceFile.js +3 -3
- package/lib/cjs/solidity/SlotsParser/SourceFile.js.map +1 -1
- package/lib/cjs/solidity/SolidityParser.js +1 -1
- package/lib/cjs/solidity/SolidityParser.js.map +1 -1
- package/lib/cjs/solidity/SourceCodeProvider.js +1 -1
- package/lib/cjs/solidity/SourceCodeProvider.js.map +1 -1
- package/lib/cjs/solidity/storage/Accessor.js +1 -1
- package/lib/cjs/solidity/storage/Accessor.js.map +1 -1
- package/lib/cjs/solidity/storage/SlotFixedArray.js +1 -1
- package/lib/cjs/solidity/storage/SlotFixedArray.js.map +1 -1
- package/lib/cjs/solidity/storage/SlotsStorageTransport.js +3 -3
- package/lib/cjs/solidity/storage/SlotsStorageTransport.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
- package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js +4 -4
- package/lib/cjs/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
- package/lib/cjs/tokens/TokenDataProvider.js +2 -2
- package/lib/cjs/tokens/TokenDataProvider.js.map +1 -1
- package/lib/cjs/tokens/TokenExchangeService.js +1 -1
- package/lib/cjs/tokens/TokenExchangeService.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js +2 -2
- package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js +2 -2
- package/lib/cjs/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js +2 -2
- package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
- package/lib/cjs/tokens/TokenTransferService.js +2 -2
- package/lib/cjs/tokens/TokenTransferService.js.map +1 -1
- package/lib/cjs/tokens/TokensService.js +1 -1
- package/lib/cjs/tokens/TokensService.js.map +1 -1
- package/lib/cjs/txs/TxNonceManager.js +1 -1
- package/lib/cjs/txs/TxWriter.js +9 -0
- package/lib/cjs/txs/TxWriter.js.map +1 -1
- package/lib/cjs/txs/conditional/GasWatcherTx.js +1 -1
- package/lib/cjs/txs/conditional/GasWatcherTx.js.map +1 -1
- package/lib/cjs/txs/receipt/TxLogParser.js +1 -1
- package/lib/cjs/utils/$crypto.js +1 -1
- package/lib/cjs/utils/$crypto.js.map +1 -1
- package/lib/cjs/utils/$date.js +1 -1
- package/lib/cjs/utils/$date.js.map +1 -1
- package/lib/cjs/utils/$hex.js +1 -1
- package/lib/cjs/utils/$logger.js +1 -1
- package/lib/cjs/utils/$logger.js.map +1 -1
- package/lib/cjs/utils/$machine.js +2 -2
- package/lib/cjs/utils/$machine.js.map +1 -1
- package/lib/cjs/utils/$require.js.map +1 -1
- package/lib/cjs/utils/$traces.js +1 -1
- package/lib/cjs/utils/$traces.js.map +1 -1
- package/lib/esm/abi/$abiCoder.js.map +1 -1
- package/lib/esm/abi/$abiCoder.mjs +1 -1
- package/lib/esm/abi/Logger.mjs +1 -1
- package/lib/esm/abi/abi-coder-packed.mjs +3 -3
- package/lib/esm/abi/abi-coder.mjs +16 -16
- package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
- package/lib/esm/abi/coders/abstract-coder.mjs +31 -31
- package/lib/esm/abi/fragments.js.map +1 -1
- package/lib/esm/abi/fragments.mjs +90 -90
- package/lib/esm/blocks/BlockDateResolver.js.map +1 -1
- package/lib/esm/blocks/BlockDateResolver.mjs +9 -9
- package/lib/esm/class/PackedRanges.js.map +1 -1
- package/lib/esm/class/PackedRanges.mjs +46 -46
- package/lib/esm/clients/ClientEventsStream.js.map +1 -1
- package/lib/esm/clients/ClientEventsStream.mjs +1 -1
- package/lib/esm/clients/ClientPool.js.map +1 -1
- package/lib/esm/clients/ClientPool.mjs +23 -23
- package/lib/esm/clients/WalletClient.js.map +1 -1
- package/lib/esm/clients/WalletClient.mjs +3 -3
- package/lib/esm/clients/Web3Client.js.map +1 -1
- package/lib/esm/clients/Web3Client.mjs +14 -14
- package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
- package/lib/esm/clients/Web3ClientFactory.mjs +1 -1
- package/lib/esm/clients/compatibility/Web3.js.map +1 -1
- package/lib/esm/clients/compatibility/Web3.mjs +2 -2
- package/lib/esm/clients/handlers/RateLimitGuard.js.map +1 -1
- package/lib/esm/clients/handlers/RateLimitGuard.mjs +16 -16
- package/lib/esm/clients/model/PromiEventWrap.js.map +1 -1
- package/lib/esm/clients/model/PromiEventWrap.mjs +1 -1
- package/lib/esm/clients/utils/$web3Abi.js.map +1 -1
- package/lib/esm/clients/utils/$web3Abi.mjs +2 -2
- package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
- package/lib/esm/clients/utils/ClientErrorUtil.mjs +4 -0
- package/lib/esm/config/Config.js.map +1 -1
- package/lib/esm/contracts/Contract.js.map +1 -1
- package/lib/esm/contracts/Contract.mjs +1 -1
- package/lib/esm/contracts/ContractAbiProvider.js.map +1 -1
- package/lib/esm/contracts/ContractAbiProvider.mjs +6 -6
- package/lib/esm/contracts/ContractBase.js.map +1 -1
- package/lib/esm/contracts/ContractBase.mjs +10 -10
- package/lib/esm/contracts/ContractProvider.js.map +1 -1
- package/lib/esm/contracts/ContractProvider.mjs +1 -1
- package/lib/esm/contracts/ContractReader.js.map +1 -1
- package/lib/esm/contracts/ContractReader.mjs +5 -5
- package/lib/esm/contracts/ContractWriter.js.map +1 -1
- package/lib/esm/contracts/ContractWriter.mjs +4 -4
- package/lib/esm/contracts/deploy/ContractDeployer.js.map +1 -1
- package/lib/esm/contracts/deploy/ContractDeployer.mjs +4 -4
- package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
- package/lib/esm/contracts/deploy/Deployments.mjs +36 -21
- package/lib/esm/contracts/deploy/proxy/$proxyDeploy.js.map +1 -1
- package/lib/esm/contracts/deploy/proxy/$proxyDeploy.mjs +13 -13
- package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
- package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +22 -22
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
- package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +15 -14
- package/lib/esm/contracts/utils/AbiDeserializer.js.map +1 -1
- package/lib/esm/contracts/utils/AbiDeserializer.mjs +4 -4
- package/lib/esm/contracts/utils/ContractBaseUtils.js.map +1 -1
- package/lib/esm/contracts/utils/ContractBaseUtils.mjs +3 -3
- package/lib/esm/evm/OpcodesWalker.js.map +1 -1
- package/lib/esm/evm/OpcodesWalker.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorer.js.map +1 -1
- package/lib/esm/explorer/BlockchainExplorer.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorerFactory.mjs +1 -1
- package/lib/esm/explorer/BlockchainExplorerStorage.js.map +1 -1
- package/lib/esm/explorer/BlockchainExplorerStorage.mjs +12 -12
- package/lib/esm/explorer/Evmscan.mjs +1 -1
- package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
- package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +7 -7
- package/lib/esm/flashbots/FlashbotWeb3Client.js.map +1 -1
- package/lib/esm/flashbots/FlashbotWeb3Client.mjs +1 -1
- package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
- package/lib/esm/hardhat/HardhatProvider.mjs +7 -7
- package/lib/esm/indexer/BlocksTxIndexer.js.map +1 -1
- package/lib/esm/indexer/BlocksTxIndexer.mjs +2 -2
- package/lib/esm/indexer/EventsIndexer.js.map +1 -1
- package/lib/esm/indexer/EventsIndexer.mjs +11 -11
- package/lib/esm/indexer/PendingTxIndexer.js.map +1 -1
- package/lib/esm/indexer/PendingTxIndexer.mjs +2 -2
- package/lib/esm/indexer/handlers/BlocksWalker.js.map +1 -1
- package/lib/esm/indexer/handlers/BlocksWalker.mjs +9 -9
- package/lib/esm/indexer/handlers/TxQueueLoader.mjs +1 -1
- package/lib/esm/indexer/storage/FsEventsIndexerStore.js.map +1 -1
- package/lib/esm/indexer/storage/FsEventsIndexerStore.mjs +3 -3
- package/lib/esm/indexer/storage/FsEventsStoreUtils.js.map +1 -1
- package/lib/esm/indexer/storage/FsEventsStoreUtils.mjs +1 -1
- package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
- package/lib/esm/json/JsonArrayMultiStore.mjs +1 -1
- package/lib/esm/json/JsonStoreFs.js.map +1 -1
- package/lib/esm/json/JsonStoreFs.mjs +1 -1
- package/lib/esm/rpc/$rpc.js.map +1 -1
- package/lib/esm/rpc/$rpc.mjs +2 -2
- package/lib/esm/rpc/Rpc.mjs +2 -2
- package/lib/esm/rpc/RpcBase.js.map +1 -1
- package/lib/esm/rpc/RpcBase.mjs +2 -2
- package/lib/esm/rpc/RpcContract.js.map +1 -1
- package/lib/esm/rpc/RpcContract.mjs +4 -3
- package/lib/esm/rpc/RpcSubscription.js.map +1 -1
- package/lib/esm/rpc/RpcSubscription.mjs +1 -1
- package/lib/esm/rpc/transports/compatibility/EIP1193Transport.js.map +1 -1
- package/lib/esm/rpc/transports/compatibility/EIP1193Transport.mjs +4 -4
- package/lib/esm/rpc/transports/compatibility/Web3Transport.js.map +1 -1
- package/lib/esm/rpc/transports/compatibility/Web3Transport.mjs +1 -1
- package/lib/esm/services/TimelockService/TimelockService.mjs +2 -2
- package/lib/esm/services/TimelockService/TimelockServiceFallbackSafe.mjs +2 -2
- package/lib/esm/solidity/SlotsDump.js.map +1 -1
- package/lib/esm/solidity/SlotsDump.mjs +1 -1
- package/lib/esm/solidity/SlotsParser/MappingSettersResolver.js.map +1 -1
- package/lib/esm/solidity/SlotsParser/MappingSettersResolver.mjs +3 -3
- package/lib/esm/solidity/SlotsParser/SourceFile.js.map +1 -1
- package/lib/esm/solidity/SlotsParser/SourceFile.mjs +3 -3
- package/lib/esm/solidity/SolidityParser.js.map +1 -1
- package/lib/esm/solidity/SolidityParser.mjs +1 -1
- package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
- package/lib/esm/solidity/SourceCodeProvider.mjs +1 -1
- package/lib/esm/solidity/storage/Accessor.js.map +1 -1
- package/lib/esm/solidity/storage/Accessor.mjs +1 -1
- package/lib/esm/solidity/storage/SlotFixedArray.js.map +1 -1
- package/lib/esm/solidity/storage/SlotFixedArray.mjs +1 -1
- package/lib/esm/solidity/storage/SlotsStorageTransport.js.map +1 -1
- package/lib/esm/solidity/storage/SlotsStorageTransport.mjs +3 -3
- package/lib/esm/solidity/storage/handlers/SlotBytesHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotBytesHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotDynamicArrayHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotFixedArrayHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueConstantHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueHandler.mjs +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.js.map +1 -1
- package/lib/esm/solidity/storage/handlers/SlotValueImmutableHandler.mjs +4 -4
- package/lib/esm/tokens/TokenDataProvider.js.map +1 -1
- package/lib/esm/tokens/TokenDataProvider.mjs +2 -2
- package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
- package/lib/esm/tokens/TokenExchangeService.mjs +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.js.map +1 -1
- package/lib/esm/tokens/TokenExchanges/AmmV2PriceQuote.mjs +2 -2
- package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
- package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +2 -2
- package/lib/esm/tokens/TokenTransferService.js.map +1 -1
- package/lib/esm/tokens/TokenTransferService.mjs +2 -2
- package/lib/esm/tokens/TokensService.js.map +1 -1
- package/lib/esm/tokens/TokensService.mjs +1 -1
- package/lib/esm/txs/TxNonceManager.mjs +1 -1
- package/lib/esm/txs/TxWriter.js.map +1 -1
- package/lib/esm/txs/TxWriter.mjs +9 -0
- package/lib/esm/txs/conditional/GasWatcherTx.js.map +1 -1
- package/lib/esm/txs/conditional/GasWatcherTx.mjs +1 -1
- package/lib/esm/txs/receipt/TxLogParser.mjs +1 -1
- package/lib/esm/utils/$crypto.js.map +1 -1
- package/lib/esm/utils/$crypto.mjs +1 -1
- package/lib/esm/utils/$date.js.map +1 -1
- package/lib/esm/utils/$date.mjs +1 -1
- package/lib/esm/utils/$hex.mjs +1 -1
- package/lib/esm/utils/$logger.js.map +1 -1
- package/lib/esm/utils/$logger.mjs +1 -1
- package/lib/esm/utils/$machine.js.map +1 -1
- package/lib/esm/utils/$machine.mjs +2 -2
- package/lib/esm/utils/$require.js.map +1 -1
- package/lib/esm/utils/$traces.js.map +1 -1
- package/lib/esm/utils/$traces.mjs +1 -1
- package/lib/types/abi/abi-coder-packed.d.ts +1 -1
- package/lib/types/abi/abi-coder.d.ts +13 -13
- package/lib/types/abi/coders/abstract-coder.d.ts +14 -14
- package/lib/types/abi/fragments.d.ts +95 -95
- package/lib/types/blocks/BlockDateResolver.d.ts +7 -7
- package/lib/types/class/PackedRanges.d.ts +44 -44
- package/lib/types/clients/ClientPool.d.ts +10 -10
- package/lib/types/clients/WalletClient.d.ts +2 -2
- package/lib/types/clients/Web3Client.d.ts +6 -6
- package/lib/types/clients/Web3ClientFactory.d.ts +1 -1
- package/lib/types/clients/handlers/RateLimitGuard.d.ts +5 -5
- package/lib/types/clients/model/PromiEventWrap.d.ts +1 -1
- package/lib/types/clients/utils/$web3Abi.d.ts +1 -1
- package/lib/types/clients/utils/ClientErrorUtil.d.ts +1 -0
- package/lib/types/config/Config.d.ts +3 -2
- package/lib/types/contracts/ContractBase.d.ts +4 -4
- package/lib/types/contracts/ContractReader.d.ts +2 -2
- package/lib/types/contracts/ContractWriter.d.ts +3 -3
- package/lib/types/contracts/deploy/Deployments.d.ts +13 -14
- package/lib/types/contracts/deploy/storage/DeploymentsStorage.d.ts +2 -0
- package/lib/types/explorer/BlockchainExplorerFactory.d.ts +1 -1
- package/lib/types/explorer/Evmscan.d.ts +1 -1
- package/lib/types/indexer/BlocksTxIndexer.d.ts +4 -4
- package/lib/types/indexer/EventsIndexer.d.ts +4 -4
- package/lib/types/indexer/PendingTxIndexer.d.ts +1 -1
- package/lib/types/indexer/handlers/BlocksWalker.d.ts +2 -2
- package/lib/types/indexer/storage/FsEventsIndexerStore.d.ts +4 -4
- package/lib/types/ns/providers/INsProvider.d.ts +1 -1
- package/lib/types/rpc/Rpc.d.ts +2 -2
- package/lib/types/services/TimelockService/ITimelockService.d.ts +2 -2
- package/lib/types/services/TimelockService/TimelockService.d.ts +2 -2
- package/lib/types/services/TimelockService/TimelockServiceFallbackSafe.d.ts +2 -2
- package/lib/types/solidity/SlotsParser/SourceFile.d.ts +1 -1
- package/lib/types/solidity/storage/SlotFixedArray.d.ts +1 -1
- package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
- package/lib/types/tokens/TokensService.d.ts +1 -1
- package/lib/types/txs/ITxBuilderOptions.d.ts +1 -1
- package/lib/types/txs/TxNonceManager.d.ts +1 -1
- package/lib/types/txs/TxWriter.d.ts +4 -4
- package/lib/types/txs/receipt/TxLogParser.d.ts +1 -1
- package/lib/types/utils/$date.d.ts +1 -1
- package/lib/types/utils/$hex.d.ts +1 -1
- package/lib/types/utils/$require.d.ts +8 -8
- package/package.json +1 -1
- package/readme.md +105 -83
- package/src/abi/$abiCoder.ts +1 -1
- package/src/abi/Logger.ts +1 -1
- package/src/abi/abi-coder-packed.ts +3 -3
- package/src/abi/abi-coder.ts +16 -16
- package/src/abi/coders/abstract-coder.ts +36 -36
- package/src/abi/fragments.ts +137 -137
- package/src/blocks/BlockDateResolver.ts +9 -9
- package/src/bridges/hop/HopBridge.ts +1 -1
- package/src/class/PackedRanges.ts +46 -46
- package/src/clients/ClientEventsStream.ts +1 -1
- package/src/clients/ClientPool.ts +38 -38
- package/src/clients/WalletClient.ts +3 -3
- package/src/clients/Web3BatchRequests.ts +3 -3
- package/src/clients/Web3Client.ts +21 -21
- package/src/clients/Web3ClientFactory.ts +1 -1
- package/src/clients/compatibility/Web3.ts +2 -2
- package/src/clients/handlers/RateLimitGuard.ts +16 -16
- package/src/clients/interfaces/IWeb3Client.ts +2 -2
- package/src/clients/model/PromiEventWrap.ts +1 -1
- package/src/clients/utils/$web3Abi.ts +2 -2
- package/src/clients/utils/ClientErrorUtil.ts +4 -0
- package/src/config/Config.ts +4 -3
- package/src/contracts/Contract.ts +1 -1
- package/src/contracts/ContractAbiProvider.ts +6 -6
- package/src/contracts/ContractBase.ts +14 -14
- package/src/contracts/ContractProvider.ts +1 -1
- package/src/contracts/ContractReader.ts +7 -7
- package/src/contracts/ContractWriter.ts +4 -4
- package/src/contracts/deploy/ContractDeployer.ts +4 -4
- package/src/contracts/deploy/ContractDeployment.ts +1 -1
- package/src/contracts/deploy/Deployments.ts +69 -56
- package/src/contracts/deploy/proxy/$proxyDeploy.ts +14 -14
- package/src/contracts/deploy/proxy/ProxyDeployment.ts +22 -22
- package/src/contracts/deploy/storage/DeploymentsStorage.ts +21 -18
- package/src/contracts/utils/AbiDeserializer.ts +4 -4
- package/src/contracts/utils/ContractBaseUtils.ts +3 -3
- package/src/erc4337/models/UserOperation.ts +2 -2
- package/src/evm/OpcodesWalker.ts +1 -1
- package/src/explorer/BlockchainExplorer.ts +1 -1
- package/src/explorer/BlockchainExplorerFactory.ts +1 -1
- package/src/explorer/BlockchainExplorerStorage.ts +12 -12
- package/src/explorer/Evmscan.ts +1 -1
- package/src/explorer/verifiers/FsHtmlVerifier.ts +7 -7
- package/src/flashbots/FlashbotWeb3Client.ts +1 -1
- package/src/hardhat/HardhatProvider.ts +7 -7
- package/src/indexer/BlocksTxIndexer.ts +6 -6
- package/src/indexer/EventsIndexer.ts +20 -20
- package/src/indexer/PendingTxIndexer.ts +3 -3
- package/src/indexer/handlers/BlocksWalker.ts +9 -9
- package/src/indexer/handlers/TxQueueLoader.ts +1 -1
- package/src/indexer/storage/FsEventsIndexerStore.ts +9 -9
- package/src/indexer/storage/FsEventsMetaStore.ts +1 -1
- package/src/indexer/storage/FsEventsStoreUtils.ts +1 -1
- package/src/json/JsonArrayMultiStore.ts +1 -1
- package/src/json/JsonStoreFs.ts +1 -1
- package/src/ns/providers/INsProvider.ts +1 -1
- package/src/rpc/$rpc.ts +2 -2
- package/src/rpc/Rpc.ts +2 -2
- package/src/rpc/RpcBase.ts +2 -2
- package/src/rpc/RpcContract.ts +6 -6
- package/src/rpc/RpcSubscription.ts +1 -1
- package/src/rpc/transports/compatibility/EIP1193Transport.ts +4 -4
- package/src/rpc/transports/compatibility/Web3Transport.ts +1 -1
- package/src/services/TimelockService/ITimelockService.ts +2 -2
- package/src/services/TimelockService/TimelockService.ts +2 -2
- package/src/services/TimelockService/TimelockServiceFallbackSafe.ts +2 -2
- package/src/solidity/SlotsDump.ts +1 -1
- package/src/solidity/SlotsParser/MappingSettersResolver.ts +3 -3
- package/src/solidity/SlotsParser/SourceFile.ts +3 -3
- package/src/solidity/SolidityParser.ts +1 -1
- package/src/solidity/SourceCodeProvider.ts +1 -1
- package/src/solidity/storage/Accessor.spec.ts +1 -1
- package/src/solidity/storage/Accessor.ts +1 -1
- package/src/solidity/storage/SlotDynamicArray.ts +1 -1
- package/src/solidity/storage/SlotFixedArray.ts +1 -1
- package/src/solidity/storage/SlotsStorageTransport.ts +3 -3
- package/src/solidity/storage/handlers/SlotBytesHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotDynamicArrayHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotFixedArrayHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueConstantHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueHandler.ts +1 -1
- package/src/solidity/storage/handlers/SlotValueImmutableHandler.ts +4 -4
- package/src/tokens/TokenDataProvider.ts +2 -2
- package/src/tokens/TokenExchangeService.ts +1 -1
- package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +2 -2
- package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
- package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +2 -2
- package/src/tokens/TokenTransferService.ts +2 -2
- package/src/tokens/TokensService.ts +1 -1
- package/src/txs/ITxBuilderOptions.ts +1 -1
- package/src/txs/TxNonceManager.ts +1 -1
- package/src/txs/TxWriter.ts +15 -4
- package/src/txs/agents/BatchAgent.ts +1 -1
- package/src/txs/conditional/GasWatcherTx.ts +1 -1
- package/src/txs/receipt/TxLogParser.ts +1 -1
- package/src/utils/$crypto.ts +1 -1
- package/src/utils/$date.ts +1 -1
- package/src/utils/$hex.ts +1 -1
- package/src/utils/$logger.ts +1 -1
- package/src/utils/$machine.ts +2 -2
- package/src/utils/$require.ts +10 -10
- package/src/utils/$traces.ts +1 -1
- package/src/wallets/EIP6963ProviderFactory.ts +4 -4
|
@@ -33,7 +33,7 @@ function setify(items) {
|
|
|
33
33
|
}
|
|
34
34
|
const _kwVisibDeploy = "external public payable";
|
|
35
35
|
const KwVisibDeploy = setify(_kwVisibDeploy.split(" "));
|
|
36
|
-
// Visibility
|
|
36
|
+
// Visibility keywords
|
|
37
37
|
const _kwVisib = "constant external internal payable private public pure view";
|
|
38
38
|
const KwVisib = setify(_kwVisib.split(" "));
|
|
39
39
|
const _kwTypes = "constructor error event fallback function receive struct";
|
|
@@ -41,10 +41,10 @@ const KwTypes = setify(_kwTypes.split(" "));
|
|
|
41
41
|
const _kwModifiers = "calldata memory storage payable indexed";
|
|
42
42
|
const KwModifiers = setify(_kwModifiers.split(" "));
|
|
43
43
|
const _kwOther = "tuple returns";
|
|
44
|
-
// All
|
|
44
|
+
// All keywords
|
|
45
45
|
const _keywords = [_kwTypes, _kwModifiers, _kwOther, _kwVisib].join(" ");
|
|
46
46
|
const Keywords = setify(_keywords.split(" "));
|
|
47
|
-
// Single
|
|
47
|
+
// Single-character tokens
|
|
48
48
|
const SimpleTokens = {
|
|
49
49
|
"(": "OPEN_PAREN", ")": "CLOSE_PAREN",
|
|
50
50
|
"[": "OPEN_BRACKET", "]": "CLOSE_BRACKET",
|
|
@@ -54,7 +54,7 @@ const SimpleTokens = {
|
|
|
54
54
|
const regexWhitespacePrefix = new RegExp("^(\\s*)");
|
|
55
55
|
const regexNumberPrefix = new RegExp("^([0-9]+)");
|
|
56
56
|
const regexIdPrefix = new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)");
|
|
57
|
-
// Parser
|
|
57
|
+
// Parser regexes to check validity
|
|
58
58
|
const regexId = new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$");
|
|
59
59
|
const regexType = new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");
|
|
60
60
|
class TokenString {
|
|
@@ -69,7 +69,7 @@ class TokenString {
|
|
|
69
69
|
}
|
|
70
70
|
clone() { return new TokenString(__classPrivateFieldGet(this, _TokenString_tokens, "f")); }
|
|
71
71
|
reset() { __classPrivateFieldSet(this, _TokenString_offset, 0, "f"); }
|
|
72
|
-
// Pops and returns the value of the next token
|
|
72
|
+
// Pops and returns the value of the next token if it is a keyword in `allowed`; throws if out of tokens
|
|
73
73
|
popKeyword(allowed) {
|
|
74
74
|
const top = this.peek();
|
|
75
75
|
if (top.type !== "KEYWORD" || !allowed.has(top.text)) {
|
|
@@ -84,7 +84,7 @@ class TokenString {
|
|
|
84
84
|
}
|
|
85
85
|
return this.pop().text;
|
|
86
86
|
}
|
|
87
|
-
// Pops and returns
|
|
87
|
+
// Pops and returns "(" TOKENS ")"
|
|
88
88
|
popParen() {
|
|
89
89
|
const top = this.peek();
|
|
90
90
|
if (top.type !== "OPEN_PAREN") {
|
|
@@ -109,14 +109,14 @@ class TokenString {
|
|
|
109
109
|
__classPrivateFieldSet(this, _TokenString_offset, top.match + 1, "f");
|
|
110
110
|
return result;
|
|
111
111
|
}
|
|
112
|
-
// Returns the top
|
|
112
|
+
// Returns the top token, throwing if out of tokens
|
|
113
113
|
peek() {
|
|
114
114
|
if (__classPrivateFieldGet(this, _TokenString_offset, "f") >= __classPrivateFieldGet(this, _TokenString_tokens, "f").length) {
|
|
115
115
|
throw new Error("out-of-bounds");
|
|
116
116
|
}
|
|
117
117
|
return __classPrivateFieldGet(this, _TokenString_tokens, "f")[__classPrivateFieldGet(this, _TokenString_offset, "f")];
|
|
118
118
|
}
|
|
119
|
-
// Returns the next value
|
|
119
|
+
// Returns the next value if it is a keyword in `allowed`
|
|
120
120
|
peekKeyword(allowed) {
|
|
121
121
|
const top = this.peekType("KEYWORD");
|
|
122
122
|
return (top != null && allowed.has(top)) ? top : null;
|
|
@@ -241,7 +241,7 @@ function lex(text) {
|
|
|
241
241
|
}
|
|
242
242
|
return new TokenString(tokens.map((t) => Object.freeze(t)));
|
|
243
243
|
}
|
|
244
|
-
// Check only one
|
|
244
|
+
// Check that only one item from `allowed` is in `set`
|
|
245
245
|
function allowSingle(set, allowed) {
|
|
246
246
|
let included = [];
|
|
247
247
|
for (const key in allowed.keys()) {
|
|
@@ -253,7 +253,7 @@ function allowSingle(set, allowed) {
|
|
|
253
253
|
throw new Error(`conflicting types: ${included.join(", ")}`);
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
-
// Functions to process a Solidity
|
|
256
|
+
// Functions to process a Solidity signature TokenString from left to right for..
|
|
257
257
|
// ...the name with an optional type, returning the name
|
|
258
258
|
function consumeName(type, tokens) {
|
|
259
259
|
if (tokens.peekKeyword(KwTypes)) {
|
|
@@ -264,7 +264,7 @@ function consumeName(type, tokens) {
|
|
|
264
264
|
}
|
|
265
265
|
return tokens.popType("ID");
|
|
266
266
|
}
|
|
267
|
-
// ...all keywords matching allowed
|
|
267
|
+
// ...all keywords matching `allowed`, returning the keywords
|
|
268
268
|
function consumeKeywords(tokens, allowed) {
|
|
269
269
|
const keywords = new Set();
|
|
270
270
|
while (true) {
|
|
@@ -316,7 +316,7 @@ function consumeGas(tokens) {
|
|
|
316
316
|
if (tokens.peekType("NUMBER")) {
|
|
317
317
|
return $bigint.toBigInt(tokens.pop().text);
|
|
318
318
|
}
|
|
319
|
-
throw new Error("
|
|
319
|
+
throw new Error("Invalid gas");
|
|
320
320
|
}
|
|
321
321
|
return null;
|
|
322
322
|
}
|
|
@@ -328,7 +328,7 @@ function consumeEoi(tokens) {
|
|
|
328
328
|
const regexArrayType = new RegExp(/^(.*)\[([0-9]*)\]$/);
|
|
329
329
|
function verifyBasicType(type) {
|
|
330
330
|
const match = type.match(regexType);
|
|
331
|
-
$require.notNull(match, `
|
|
331
|
+
$require.notNull(match, `Invalid type ${type}`);
|
|
332
332
|
if (type === "uint") {
|
|
333
333
|
return "uint256";
|
|
334
334
|
}
|
|
@@ -338,12 +338,12 @@ function verifyBasicType(type) {
|
|
|
338
338
|
if (match[2]) {
|
|
339
339
|
// bytesXX
|
|
340
340
|
const length = parseInt(match[2]);
|
|
341
|
-
$require.True(length !== 0 && length <= 32, "
|
|
341
|
+
$require.True(length !== 0 && length <= 32, "Invalid bytes length" + type);
|
|
342
342
|
}
|
|
343
343
|
else if (match[3]) {
|
|
344
344
|
// intXX or uintXX
|
|
345
345
|
const size = parseInt(match[3]);
|
|
346
|
-
$require.True(size !== 0 && size <= 256 && (size % 8) === 0, "
|
|
346
|
+
$require.True(size !== 0 && size <= 256 && (size % 8) === 0, "Invalid numeric width" + type);
|
|
347
347
|
}
|
|
348
348
|
return type;
|
|
349
349
|
}
|
|
@@ -358,7 +358,7 @@ const _guard = {};
|
|
|
358
358
|
// const FunctionFragmentInternal = "_FunctionInternal";
|
|
359
359
|
// const StructFragmentInternal = "_StructInternal";
|
|
360
360
|
/**
|
|
361
|
-
* Each input and output of a [[Fragment]] is an Array of **ParamType
|
|
361
|
+
* Each input and output of a [[Fragment]] is an Array of **ParamType**
|
|
362
362
|
*/
|
|
363
363
|
export class ParamType {
|
|
364
364
|
/**
|
|
@@ -393,7 +393,7 @@ export class ParamType {
|
|
|
393
393
|
this.arrayChildren = arrayChildren;
|
|
394
394
|
}
|
|
395
395
|
/**
|
|
396
|
-
* Return a string representation of this type
|
|
396
|
+
* Return a string representation of this type
|
|
397
397
|
*
|
|
398
398
|
* For example,
|
|
399
399
|
*
|
|
@@ -453,53 +453,53 @@ export class ParamType {
|
|
|
453
453
|
return result;
|
|
454
454
|
}
|
|
455
455
|
/**
|
|
456
|
-
* Returns true if %%this%% is an Array type
|
|
456
|
+
* Returns true if %%this%% is an Array type
|
|
457
457
|
*
|
|
458
458
|
* This provides a type gaurd ensuring that [[arrayChildren]]
|
|
459
|
-
* and [[arrayLength]] are non-null
|
|
459
|
+
* and [[arrayLength]] are non-null
|
|
460
460
|
*/
|
|
461
461
|
isArray() {
|
|
462
462
|
return (this.baseType === "array");
|
|
463
463
|
}
|
|
464
464
|
/**
|
|
465
|
-
* Returns true if %%this%% is a Tuple type
|
|
465
|
+
* Returns true if %%this%% is a Tuple type
|
|
466
466
|
*
|
|
467
467
|
* This provides a type gaurd ensuring that [[components]]
|
|
468
|
-
* is non-null
|
|
468
|
+
* is non-null
|
|
469
469
|
*/
|
|
470
470
|
isTuple() {
|
|
471
471
|
return (this.baseType === "tuple");
|
|
472
472
|
}
|
|
473
473
|
/**
|
|
474
|
-
* Returns true if %%this%% is an Indexable type
|
|
474
|
+
* Returns true if %%this%% is an Indexable type
|
|
475
475
|
*
|
|
476
476
|
* This provides a type gaurd ensuring that [[indexed]]
|
|
477
|
-
* is non-null
|
|
477
|
+
* is non-null
|
|
478
478
|
*/
|
|
479
479
|
isIndexable() {
|
|
480
480
|
return (this.indexed != null);
|
|
481
481
|
}
|
|
482
482
|
/**
|
|
483
483
|
* Walks the **ParamType** with %%value%%, calling %%process%%
|
|
484
|
-
* on each type, destructing the %%value%% recursively
|
|
484
|
+
* on each type, destructing the %%value%% recursively
|
|
485
485
|
*/
|
|
486
486
|
walk(value, process) {
|
|
487
487
|
if (this.isArray()) {
|
|
488
488
|
if (!Array.isArray(value)) {
|
|
489
|
-
throw new Error("
|
|
489
|
+
throw new Error("Invalid array value");
|
|
490
490
|
}
|
|
491
491
|
if (this.arrayLength !== -1 && value.length !== this.arrayLength) {
|
|
492
|
-
throw new Error("
|
|
492
|
+
throw new Error("Array has the wrong length");
|
|
493
493
|
}
|
|
494
494
|
const _this = this;
|
|
495
495
|
return value.map((v) => (_this.arrayChildren.walk(v, process)));
|
|
496
496
|
}
|
|
497
497
|
if (this.isTuple()) {
|
|
498
498
|
if (!Array.isArray(value)) {
|
|
499
|
-
throw new Error("
|
|
499
|
+
throw new Error("Invalid tuple value");
|
|
500
500
|
}
|
|
501
501
|
if (value.length !== this.components.length) {
|
|
502
|
-
throw new Error("
|
|
502
|
+
throw new Error("Array has the wrong length");
|
|
503
503
|
}
|
|
504
504
|
const _this = this;
|
|
505
505
|
return value.map((v, i) => (_this.components[i].walk(v, process)));
|
|
@@ -508,10 +508,10 @@ export class ParamType {
|
|
|
508
508
|
}
|
|
509
509
|
/**
|
|
510
510
|
* Walks the **ParamType** with %%value%%, asynchronously calling
|
|
511
|
-
* %%process%% on each type, destructing the %%value%% recursively
|
|
511
|
+
* %%process%% on each type, destructing the %%value%% recursively
|
|
512
512
|
*
|
|
513
513
|
* This can be used to resolve ENS naes by walking and resolving each
|
|
514
|
-
* ``"address"`` type
|
|
514
|
+
* ``"address"`` type
|
|
515
515
|
*/
|
|
516
516
|
async walkAsync(value, process) {
|
|
517
517
|
const promises = [];
|
|
@@ -525,10 +525,10 @@ export class ParamType {
|
|
|
525
525
|
return result[0];
|
|
526
526
|
}
|
|
527
527
|
/**
|
|
528
|
-
* Creates a new **ParamType** for %%obj
|
|
528
|
+
* Creates a new **ParamType** for %%obj%%
|
|
529
529
|
*
|
|
530
530
|
* If %%allowIndexed%% then the ``indexed`` keyword is permitted,
|
|
531
|
-
* otherwise the ``indexed`` keyword will throw an error
|
|
531
|
+
* otherwise the ``indexed`` keyword will throw an error
|
|
532
532
|
*/
|
|
533
533
|
static from(obj, allowIndexed) {
|
|
534
534
|
if (ParamType.isParamType(obj)) {
|
|
@@ -539,7 +539,7 @@ export class ParamType {
|
|
|
539
539
|
return ParamType.from(lex(obj), allowIndexed);
|
|
540
540
|
}
|
|
541
541
|
catch (error) {
|
|
542
|
-
throw new Error(`
|
|
542
|
+
throw new Error(`Invalid parameter type: ${error.message}`);
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
else if (obj instanceof TokenString) {
|
|
@@ -577,15 +577,15 @@ export class ParamType {
|
|
|
577
577
|
}
|
|
578
578
|
const name = (obj.peekType("ID") ? obj.pop().text : "");
|
|
579
579
|
if (obj.length) {
|
|
580
|
-
throw new Error("
|
|
580
|
+
throw new Error("Leftover tokens");
|
|
581
581
|
}
|
|
582
582
|
return new ParamType(_guard, name, type, baseType, indexed, comps, arrayLength, arrayChildren);
|
|
583
583
|
}
|
|
584
584
|
const name = obj.name;
|
|
585
|
-
$require.True(!name || (typeof (name) === "string" && regexId.test(name)), "
|
|
585
|
+
$require.True(!name || (typeof (name) === "string" && regexId.test(name)), "Invalid name" + name);
|
|
586
586
|
let indexed = obj.indexed;
|
|
587
587
|
if (indexed != null) {
|
|
588
|
-
$require.True(allowIndexed ?? true, `
|
|
588
|
+
$require.True(allowIndexed ?? true, `Parameter cannot be indexed: ${obj.indexed}`);
|
|
589
589
|
indexed = !!indexed;
|
|
590
590
|
}
|
|
591
591
|
let type = obj.type;
|
|
@@ -601,14 +601,14 @@ export class ParamType {
|
|
|
601
601
|
if (type === "tuple" || type.startsWith("tuple(" /* fix: ) */) || type.startsWith("(" /* fix: ) */)) {
|
|
602
602
|
const comps = (obj.components != null) ? obj.components.map((c) => ParamType.from(c)) : null;
|
|
603
603
|
const tuple = new ParamType(_guard, name || "", type, "tuple", indexed, comps, null, null);
|
|
604
|
-
// @TODO:
|
|
604
|
+
// @TODO: Use the lexer to validate and normalize type
|
|
605
605
|
return tuple;
|
|
606
606
|
}
|
|
607
607
|
type = verifyBasicType(obj.type);
|
|
608
608
|
return new ParamType(_guard, name || "", type, type, indexed, null, null, null);
|
|
609
609
|
}
|
|
610
610
|
/**
|
|
611
|
-
* Returns true if %%value%% is a **ParamType
|
|
611
|
+
* Returns true if %%value%% is a **ParamType**
|
|
612
612
|
*/
|
|
613
613
|
static isParamType(value) {
|
|
614
614
|
return (value instanceof ParamType); //value[internal] === ParamTypeInternal);
|
|
@@ -617,10 +617,10 @@ export class ParamType {
|
|
|
617
617
|
_ParamType_instances = new WeakSet(), _ParamType_walkAsync = function _ParamType_walkAsync(promises, value, process, setValue) {
|
|
618
618
|
if (this.isArray()) {
|
|
619
619
|
if (!Array.isArray(value)) {
|
|
620
|
-
throw new Error("
|
|
620
|
+
throw new Error("Invalid array value");
|
|
621
621
|
}
|
|
622
622
|
if (this.arrayLength !== -1 && value.length !== this.arrayLength) {
|
|
623
|
-
throw new Error("
|
|
623
|
+
throw new Error("Array has the wrong length");
|
|
624
624
|
}
|
|
625
625
|
const childType = this.arrayChildren;
|
|
626
626
|
const result = value.slice();
|
|
@@ -641,20 +641,20 @@ _ParamType_instances = new WeakSet(), _ParamType_walkAsync = function _ParamType
|
|
|
641
641
|
}
|
|
642
642
|
else {
|
|
643
643
|
if (value == null || typeof (value) !== "object") {
|
|
644
|
-
throw new Error("
|
|
644
|
+
throw new Error("Invalid tuple value");
|
|
645
645
|
}
|
|
646
646
|
result = components.map((param) => {
|
|
647
647
|
if (!param.name) {
|
|
648
|
-
throw new Error("
|
|
648
|
+
throw new Error("Cannot use object value with unnamed components");
|
|
649
649
|
}
|
|
650
650
|
if (!(param.name in value)) {
|
|
651
|
-
throw new Error(`
|
|
651
|
+
throw new Error(`Missing value for component ${param.name}`);
|
|
652
652
|
}
|
|
653
653
|
return value[param.name];
|
|
654
654
|
});
|
|
655
655
|
}
|
|
656
656
|
if (result.length !== this.components.length) {
|
|
657
|
-
throw new Error("
|
|
657
|
+
throw new Error("Array has the wrong length");
|
|
658
658
|
}
|
|
659
659
|
result.forEach((value, index) => {
|
|
660
660
|
var _a;
|
|
@@ -674,7 +674,7 @@ _ParamType_instances = new WeakSet(), _ParamType_walkAsync = function _ParamType
|
|
|
674
674
|
}
|
|
675
675
|
};
|
|
676
676
|
/**
|
|
677
|
-
* An abstract class to represent An individual fragment from a parse ABI
|
|
677
|
+
* An abstract class to represent An individual fragment from a parse ABI
|
|
678
678
|
*/
|
|
679
679
|
export class Fragment {
|
|
680
680
|
/**
|
|
@@ -687,12 +687,12 @@ export class Fragment {
|
|
|
687
687
|
this.inputs = inputs;
|
|
688
688
|
}
|
|
689
689
|
/**
|
|
690
|
-
* Creates a new **Fragment** for %%obj%%,
|
|
691
|
-
* ABI
|
|
690
|
+
* Creates a new **Fragment** for %%obj%%, which can be any supported
|
|
691
|
+
* ABI fragment type
|
|
692
692
|
*/
|
|
693
693
|
static from(obj) {
|
|
694
694
|
if (typeof (obj) === "string") {
|
|
695
|
-
// Try parsing JSON
|
|
695
|
+
// Try parsing JSON..
|
|
696
696
|
try {
|
|
697
697
|
Fragment.from(JSON.parse(obj));
|
|
698
698
|
}
|
|
@@ -728,34 +728,34 @@ export class Fragment {
|
|
|
728
728
|
}
|
|
729
729
|
throw new Error(`UNSUPPORTED_OPERATION: unsupported type: ${obj.type}`);
|
|
730
730
|
}
|
|
731
|
-
throw new Error("unsupported
|
|
731
|
+
throw new Error("unsupported fragment object: " + JSON.stringify(obj));
|
|
732
732
|
}
|
|
733
733
|
/**
|
|
734
|
-
* Returns true if %%value%% is a [[ConstructorFragment]]
|
|
734
|
+
* Returns true if %%value%% is a [[ConstructorFragment]]
|
|
735
735
|
*/
|
|
736
736
|
static isConstructor(value) {
|
|
737
737
|
return ConstructorFragment.isFragment(value);
|
|
738
738
|
}
|
|
739
739
|
/**
|
|
740
|
-
* Returns true if %%value%% is an [[ErrorFragment]]
|
|
740
|
+
* Returns true if %%value%% is an [[ErrorFragment]]
|
|
741
741
|
*/
|
|
742
742
|
static isError(value) {
|
|
743
743
|
return ErrorFragment.isFragment(value);
|
|
744
744
|
}
|
|
745
745
|
/**
|
|
746
|
-
* Returns true if %%value%% is an [[EventFragment]]
|
|
746
|
+
* Returns true if %%value%% is an [[EventFragment]]
|
|
747
747
|
*/
|
|
748
748
|
static isEvent(value) {
|
|
749
749
|
return EventFragment.isFragment(value);
|
|
750
750
|
}
|
|
751
751
|
/**
|
|
752
|
-
* Returns true if %%value%% is a [[FunctionFragment]]
|
|
752
|
+
* Returns true if %%value%% is a [[FunctionFragment]]
|
|
753
753
|
*/
|
|
754
754
|
static isFunction(value) {
|
|
755
755
|
return FunctionFragment.isFragment(value);
|
|
756
756
|
}
|
|
757
757
|
/**
|
|
758
|
-
* Returns true if %%value%% is a [[StructFragment]]
|
|
758
|
+
* Returns true if %%value%% is a [[StructFragment]]
|
|
759
759
|
*/
|
|
760
760
|
static isStruct(value) {
|
|
761
761
|
return StructFragment.isFragment(value);
|
|
@@ -763,7 +763,7 @@ export class Fragment {
|
|
|
763
763
|
}
|
|
764
764
|
/**
|
|
765
765
|
* An abstract class to represent An individual fragment
|
|
766
|
-
* which has a name from a parse ABI
|
|
766
|
+
* which has a name from a parse ABI
|
|
767
767
|
*/
|
|
768
768
|
export class NamedFragment extends Fragment {
|
|
769
769
|
/**
|
|
@@ -771,7 +771,7 @@ export class NamedFragment extends Fragment {
|
|
|
771
771
|
*/
|
|
772
772
|
constructor(guard, type, name, inputs) {
|
|
773
773
|
super(guard, type, inputs);
|
|
774
|
-
$require.True(typeof (name) === "string" && regexId.test(name), "
|
|
774
|
+
$require.True(typeof (name) === "string" && regexId.test(name), "Invalid identifier " + name);
|
|
775
775
|
//-inputs = Object.freeze(inputs.slice());
|
|
776
776
|
this.name = name;
|
|
777
777
|
}
|
|
@@ -780,7 +780,7 @@ function joinParams(format, params) {
|
|
|
780
780
|
return "(" + params.map((p) => p.format(format)).join((format === "full") ? ", " : ",") + ")";
|
|
781
781
|
}
|
|
782
782
|
/**
|
|
783
|
-
* A Fragment which represents a //Custom Error
|
|
783
|
+
* A Fragment which represents a //Custom Error//
|
|
784
784
|
*/
|
|
785
785
|
export class ErrorFragment extends NamedFragment {
|
|
786
786
|
/**
|
|
@@ -791,13 +791,13 @@ export class ErrorFragment extends NamedFragment {
|
|
|
791
791
|
//Object.defineProperty(this, internal, { value: ErrorFragmentInternal });
|
|
792
792
|
}
|
|
793
793
|
/**
|
|
794
|
-
* The Custom Error selector
|
|
794
|
+
* The Custom Error selector
|
|
795
795
|
*/
|
|
796
796
|
get selector() {
|
|
797
797
|
return $contract.keccak256(this.format("sighash")).substring(0, 10);
|
|
798
798
|
}
|
|
799
799
|
/**
|
|
800
|
-
* Returns a string representation of this fragment as %%format
|
|
800
|
+
* Returns a string representation of this fragment as %%format%%
|
|
801
801
|
*/
|
|
802
802
|
format(format) {
|
|
803
803
|
if (format == null) {
|
|
@@ -818,7 +818,7 @@ export class ErrorFragment extends NamedFragment {
|
|
|
818
818
|
return result.join(" ");
|
|
819
819
|
}
|
|
820
820
|
/**
|
|
821
|
-
* Returns a new **ErrorFragment** for %%obj
|
|
821
|
+
* Returns a new **ErrorFragment** for %%obj%%
|
|
822
822
|
*/
|
|
823
823
|
static from(obj) {
|
|
824
824
|
if (ErrorFragment.isFragment(obj)) {
|
|
@@ -837,14 +837,14 @@ export class ErrorFragment extends NamedFragment {
|
|
|
837
837
|
}
|
|
838
838
|
/**
|
|
839
839
|
* Returns ``true`` and provides a type guard if %%value%% is an
|
|
840
|
-
* **ErrorFragment
|
|
840
|
+
* **ErrorFragment**
|
|
841
841
|
*/
|
|
842
842
|
static isFragment(value) {
|
|
843
843
|
return (value instanceof ErrorFragment); //[internal] === ErrorFragmentInternal);
|
|
844
844
|
}
|
|
845
845
|
}
|
|
846
846
|
/**
|
|
847
|
-
* A Fragment which represents an Event
|
|
847
|
+
* A Fragment which represents an Event
|
|
848
848
|
*/
|
|
849
849
|
export class EventFragment extends NamedFragment {
|
|
850
850
|
/**
|
|
@@ -856,13 +856,13 @@ export class EventFragment extends NamedFragment {
|
|
|
856
856
|
this.anonymous = anonymous;
|
|
857
857
|
}
|
|
858
858
|
/**
|
|
859
|
-
* The Event topic hash
|
|
859
|
+
* The Event topic hash
|
|
860
860
|
*/
|
|
861
861
|
get topicHash() {
|
|
862
862
|
return $contract.keccak256(this.format("sighash"));
|
|
863
863
|
}
|
|
864
864
|
/**
|
|
865
|
-
* Returns a string representation of this event as %%format
|
|
865
|
+
* Returns a string representation of this event as %%format%%
|
|
866
866
|
*/
|
|
867
867
|
format(format) {
|
|
868
868
|
if (format == null) {
|
|
@@ -887,7 +887,7 @@ export class EventFragment extends NamedFragment {
|
|
|
887
887
|
return result.join(" ");
|
|
888
888
|
}
|
|
889
889
|
/**
|
|
890
|
-
* Return the topic hash for an event with %%name%% and %%params
|
|
890
|
+
* Return the topic hash for an event with %%name%% and %%params%%
|
|
891
891
|
*/
|
|
892
892
|
static getTopicHash(name, params) {
|
|
893
893
|
params = (params || []).map((p) => ParamType.from(p));
|
|
@@ -895,7 +895,7 @@ export class EventFragment extends NamedFragment {
|
|
|
895
895
|
return fragment.topicHash;
|
|
896
896
|
}
|
|
897
897
|
/**
|
|
898
|
-
* Returns a new **EventFragment** for %%obj
|
|
898
|
+
* Returns a new **EventFragment** for %%obj%%
|
|
899
899
|
*/
|
|
900
900
|
static from(obj) {
|
|
901
901
|
if (EventFragment.isFragment(obj)) {
|
|
@@ -906,7 +906,7 @@ export class EventFragment extends NamedFragment {
|
|
|
906
906
|
return EventFragment.from(lex(obj));
|
|
907
907
|
}
|
|
908
908
|
catch (error) {
|
|
909
|
-
throw new Error("
|
|
909
|
+
throw new Error("Invalid event fragment: " + JSON.stringify(obj));
|
|
910
910
|
}
|
|
911
911
|
}
|
|
912
912
|
else if (obj instanceof TokenString) {
|
|
@@ -920,14 +920,14 @@ export class EventFragment extends NamedFragment {
|
|
|
920
920
|
}
|
|
921
921
|
/**
|
|
922
922
|
* Returns ``true`` and provides a type guard if %%value%% is an
|
|
923
|
-
* **EventFragment
|
|
923
|
+
* **EventFragment**
|
|
924
924
|
*/
|
|
925
925
|
static isFragment(value) {
|
|
926
926
|
return (value instanceof EventFragment); //[internal] === EventFragmentInternal);
|
|
927
927
|
}
|
|
928
928
|
}
|
|
929
929
|
/**
|
|
930
|
-
* A Fragment which represents a constructor
|
|
930
|
+
* A Fragment which represents a constructor
|
|
931
931
|
*/
|
|
932
932
|
export class ConstructorFragment extends Fragment {
|
|
933
933
|
/**
|
|
@@ -940,7 +940,7 @@ export class ConstructorFragment extends Fragment {
|
|
|
940
940
|
this.gas = gas;
|
|
941
941
|
}
|
|
942
942
|
/**
|
|
943
|
-
* Returns a string representation of this constructor as %%format
|
|
943
|
+
* Returns a string representation of this constructor as %%format%%
|
|
944
944
|
*/
|
|
945
945
|
format(format) {
|
|
946
946
|
$require.True(format != null && format !== "sighash", "UNSUPPORTED_OPERATION: cannot format a constructor for sighash");
|
|
@@ -961,7 +961,7 @@ export class ConstructorFragment extends Fragment {
|
|
|
961
961
|
return result.join(" ");
|
|
962
962
|
}
|
|
963
963
|
/**
|
|
964
|
-
* Returns a new **ConstructorFragment** for %%obj
|
|
964
|
+
* Returns a new **ConstructorFragment** for %%obj%%
|
|
965
965
|
*/
|
|
966
966
|
static from(obj) {
|
|
967
967
|
if (ConstructorFragment.isFragment(obj)) {
|
|
@@ -972,7 +972,7 @@ export class ConstructorFragment extends Fragment {
|
|
|
972
972
|
return ConstructorFragment.from(lex(obj));
|
|
973
973
|
}
|
|
974
974
|
catch (error) {
|
|
975
|
-
throw new Error("
|
|
975
|
+
throw new Error("Invalid constructor fragment: " + JSON.stringify(obj));
|
|
976
976
|
}
|
|
977
977
|
}
|
|
978
978
|
else if (obj instanceof TokenString) {
|
|
@@ -987,14 +987,14 @@ export class ConstructorFragment extends Fragment {
|
|
|
987
987
|
}
|
|
988
988
|
/**
|
|
989
989
|
* Returns ``true`` and provides a type guard if %%value%% is a
|
|
990
|
-
* **ConstructorFragment
|
|
990
|
+
* **ConstructorFragment**
|
|
991
991
|
*/
|
|
992
992
|
static isFragment(value) {
|
|
993
993
|
return (value instanceof ConstructorFragment); //[internal] === ConstructorFragmentInternal);
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
996
|
/**
|
|
997
|
-
* A Fragment which represents a method
|
|
997
|
+
* A Fragment which represents a method
|
|
998
998
|
*/
|
|
999
999
|
export class FallbackFragment extends Fragment {
|
|
1000
1000
|
constructor(guard, inputs, payable) {
|
|
@@ -1003,7 +1003,7 @@ export class FallbackFragment extends Fragment {
|
|
|
1003
1003
|
this.payable = payable;
|
|
1004
1004
|
}
|
|
1005
1005
|
/**
|
|
1006
|
-
* Returns a string representation of this fallback as %%format
|
|
1006
|
+
* Returns a string representation of this fallback as %%format%%
|
|
1007
1007
|
*/
|
|
1008
1008
|
format(format) {
|
|
1009
1009
|
const type = ((this.inputs.length === 0) ? "receive" : "fallback");
|
|
@@ -1014,7 +1014,7 @@ export class FallbackFragment extends Fragment {
|
|
|
1014
1014
|
return `${type}()${this.payable ? " payable" : ""}`;
|
|
1015
1015
|
}
|
|
1016
1016
|
/**
|
|
1017
|
-
* Returns a new **FallbackFragment** for %%obj
|
|
1017
|
+
* Returns a new **FallbackFragment** for %%obj%%
|
|
1018
1018
|
*/
|
|
1019
1019
|
static from(obj) {
|
|
1020
1020
|
if (FallbackFragment.isFragment(obj)) {
|
|
@@ -1025,13 +1025,13 @@ export class FallbackFragment extends Fragment {
|
|
|
1025
1025
|
return FallbackFragment.from(lex(obj));
|
|
1026
1026
|
}
|
|
1027
1027
|
catch (error) {
|
|
1028
|
-
throw new Error("
|
|
1028
|
+
throw new Error("Invalid fallback fragment: " + JSON.stringify(obj));
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
1031
|
else if (obj instanceof TokenString) {
|
|
1032
1032
|
const errorObj = obj.toString();
|
|
1033
1033
|
const topIsValid = obj.peekKeyword(setify(["fallback", "receive"]));
|
|
1034
|
-
$require.notNull(topIsValid, "
|
|
1034
|
+
$require.notNull(topIsValid, "Type must be fallback or receive " + errorObj);
|
|
1035
1035
|
const type = obj.popKeyword(setify(["fallback", "receive"]));
|
|
1036
1036
|
// receive()
|
|
1037
1037
|
if (type === "receive") {
|
|
@@ -1069,18 +1069,18 @@ export class FallbackFragment extends Fragment {
|
|
|
1069
1069
|
const payable = (obj.stateMutability === "payable");
|
|
1070
1070
|
return new FallbackFragment(_guard, inputs, payable);
|
|
1071
1071
|
}
|
|
1072
|
-
throw new Error("
|
|
1072
|
+
throw new Error("Invalid fallback fragment: " + JSON.stringify(obj));
|
|
1073
1073
|
}
|
|
1074
1074
|
/**
|
|
1075
1075
|
* Returns ``true`` and provides a type guard if %%value%% is a
|
|
1076
|
-
* **FallbackFragment
|
|
1076
|
+
* **FallbackFragment**
|
|
1077
1077
|
*/
|
|
1078
1078
|
static isFragment(value) {
|
|
1079
1079
|
return (value instanceof FallbackFragment); //[internal] === FallbackFragmentInternal);
|
|
1080
1080
|
}
|
|
1081
1081
|
}
|
|
1082
1082
|
/**
|
|
1083
|
-
* A Fragment which represents a method
|
|
1083
|
+
* A Fragment which represents a method
|
|
1084
1084
|
*/
|
|
1085
1085
|
export class FunctionFragment extends NamedFragment {
|
|
1086
1086
|
/**
|
|
@@ -1099,13 +1099,13 @@ export class FunctionFragment extends NamedFragment {
|
|
|
1099
1099
|
this.stateMutability = stateMutability;
|
|
1100
1100
|
}
|
|
1101
1101
|
/**
|
|
1102
|
-
* The Function selector
|
|
1102
|
+
* The Function selector
|
|
1103
1103
|
*/
|
|
1104
1104
|
get selector() {
|
|
1105
1105
|
return $contract.keccak256(this.format("sighash")).substring(0, 10);
|
|
1106
1106
|
}
|
|
1107
1107
|
/**
|
|
1108
|
-
* Returns a string representation of this function as %%format
|
|
1108
|
+
* Returns a string representation of this function as %%format%%
|
|
1109
1109
|
*/
|
|
1110
1110
|
format(format) {
|
|
1111
1111
|
if (format == null) {
|
|
@@ -1143,7 +1143,7 @@ export class FunctionFragment extends NamedFragment {
|
|
|
1143
1143
|
return result.join(" ");
|
|
1144
1144
|
}
|
|
1145
1145
|
/**
|
|
1146
|
-
* Return the selector for a function with %%name%% and %%params
|
|
1146
|
+
* Return the selector for a function with %%name%% and %%params%%
|
|
1147
1147
|
*/
|
|
1148
1148
|
static getSelector(name, params) {
|
|
1149
1149
|
params = (params || []).map((p) => ParamType.from(p));
|
|
@@ -1151,7 +1151,7 @@ export class FunctionFragment extends NamedFragment {
|
|
|
1151
1151
|
return fragment.selector;
|
|
1152
1152
|
}
|
|
1153
1153
|
/**
|
|
1154
|
-
* Returns a new **FunctionFragment** for %%obj
|
|
1154
|
+
* Returns a new **FunctionFragment** for %%obj%%
|
|
1155
1155
|
*/
|
|
1156
1156
|
static from(obj) {
|
|
1157
1157
|
if (FunctionFragment.isFragment(obj)) {
|
|
@@ -1200,14 +1200,14 @@ export class FunctionFragment extends NamedFragment {
|
|
|
1200
1200
|
}
|
|
1201
1201
|
/**
|
|
1202
1202
|
* Returns ``true`` and provides a type guard if %%value%% is a
|
|
1203
|
-
* **FunctionFragment
|
|
1203
|
+
* **FunctionFragment**
|
|
1204
1204
|
*/
|
|
1205
1205
|
static isFragment(value) {
|
|
1206
1206
|
return (value instanceof FunctionFragment); //[internal] === FunctionFragmentInternal);
|
|
1207
1207
|
}
|
|
1208
1208
|
}
|
|
1209
1209
|
/**
|
|
1210
|
-
* A Fragment which represents a structure
|
|
1210
|
+
* A Fragment which represents a structure
|
|
1211
1211
|
*/
|
|
1212
1212
|
export class StructFragment extends NamedFragment {
|
|
1213
1213
|
/**
|
|
@@ -1218,13 +1218,13 @@ export class StructFragment extends NamedFragment {
|
|
|
1218
1218
|
//Object.defineProperty(this, internal, { value: StructFragmentInternal });
|
|
1219
1219
|
}
|
|
1220
1220
|
/**
|
|
1221
|
-
* Returns a string representation of this struct as %%format
|
|
1221
|
+
* Returns a string representation of this struct as %%format%%
|
|
1222
1222
|
*/
|
|
1223
1223
|
format() {
|
|
1224
1224
|
throw new Error("@TODO");
|
|
1225
1225
|
}
|
|
1226
1226
|
/**
|
|
1227
|
-
* Returns a new **StructFragment** for %%obj
|
|
1227
|
+
* Returns a new **StructFragment** for %%obj%%
|
|
1228
1228
|
*/
|
|
1229
1229
|
static from(obj) {
|
|
1230
1230
|
if (typeof (obj) === "string") {
|
|
@@ -1246,7 +1246,7 @@ export class StructFragment extends NamedFragment {
|
|
|
1246
1246
|
// @TODO: fix this return type
|
|
1247
1247
|
/**
|
|
1248
1248
|
* Returns ``true`` and provides a type guard if %%value%% is a
|
|
1249
|
-
* **StructFragment
|
|
1249
|
+
* **StructFragment**
|
|
1250
1250
|
*/
|
|
1251
1251
|
static isFragment(value) {
|
|
1252
1252
|
return (value instanceof StructFragment); //[internal] === StructFragmentInternal);
|