open-index/open-npm huggingface dataset:
npm package: @qevm/abi
Description: Utilities and Classes for parsing, formatting and managing QuantumEVM ABIs.
Latest version: 5.7.3

QuantumEVM ABI Coder
==================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for encoding and decoding the Application Binary Interface (ABI)
used by most smart contracts to interoperate between other smart contracts and clients.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    ConstructorFragment,
    EventFragment,
    Fragment,
    FunctionFragment,
    ParamType,
    FormatTypes,

    AbiCoder,
    defaultAbiCoder,

    Interface,
    Indexed,

    /////////////////////////
    // Types

    CoerceFunc,
    JsonFragment,
    JsonFragmentType,

    Result,
    checkResultErrors,

    LogDescription,
    TransactionDescription

} = require("@qevm/abi");
```

License
-------

MIT License
npm package: @qevm/abstract-provider
Description: An Abstract Class for describing an QuantumEVM Provider for qethers.
Latest version: 5.7.4

Abstract Provider
=================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for defining the common interface for a Provider, which in
ethers differs quite substantially from Web3.js.

A Provider is an abstraction of non-account-based operations on a blockchain and
is generally not directly involved in signing transaction or data.

For signing, see the [Abstract Signer](https://www.npmjs.com/package/@qevm/abstract-signer)
or [Wallet](https://www.npmjs.com/package/@qevm/wallet) sub-modules.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Provider,

    ForkEvent,
    BlockForkEvent,
    TransactionForkEvent,
    TransactionOrderForkEvent,

    // Types
    BlockTag,

    Block,
    BlockWithTransactions,

    TransactionRequest,
    TransactionResponse,
    TransactionReceipt,

    Log,
    EventFilter,

    Filter,
    FilterByBlockHash,

    EventType,
    Listener

} = require("@qevm/abstract-provider");
```


License
-------

MIT License
npm package: @qevm/abstract-signer
Description: An Abstract Class for desribing an QuantumEVM Signer for qethers.
Latest version: 5.7.3

Abstract Signer
===============

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Signer,
    VoidSigner,

    // Types
    ExternallyOwnedAccount

} = require("@qevm/abstract-signer");
```

License
-------

MIT License
npm package: @qevm/address
Description: Utilities for handling quantum QuantumEVM Addresses for qethers.
Latest version: 5.7.3

QuantumEVM Address Utilities
==========================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for encoding, verifying and computing checksums for
Ethereum addresses and computing special addresses, such as those
enerated by and for contracts under various situations.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    getAddress,
    isAddress,

    getIcapAddress,

    getContractAddress,
    getCreate2Address

} = require("@qevm/address");
```

License
-------

MIT License
npm package: @qevm/base64
Description: Base64 coder.
Latest version: 5.7.1

Base64 Coder
============

function decode(textData: string): Uint8Array
---------------------------------------------

Decodes a base64 encoded string into the binary data.

```javascript
import * as base64 from "@qevm/base64";

let encodedData = "...";
let data = base64.decode(encodedData);
console.log(data);
// { Uint8Array: [] }
```

function encode(data: Arrayish): string
---------------------------------------

Decodes a base64 encoded string into the binary data.

```javascript
import * as base64 from "@qevm/base64";

let data = [ ];
let encodedData = base64.encode(data);
console.log(encodedData);
// "..."
```

License
=======

MIT License
npm package: @qevm/basex
Description: Base-X without Buffer.
Latest version: 5.7.1

Base-X
======

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for encoding and decoding vinary data in arbitrary bases, but
is primarily for Base58 encoding which is used for various blockchain data.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    BaseX,

    Base32,
    Base58

} = require("@qevm/basex");
```


License
-------

MIT License
npm package: @qevm/bignumber
Description: BigNumber library used in qethers.
Latest version: 5.7.1

Big Numbers
===========

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for handling arbitrarily large numbers and mathematic operations.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    BigNumber,

    FixedFormat,
    FixedNumber,

    formatFixed,

    parseFixed

    // Types

    BigNumberish

} = require("@qevm/bignumber");
```


License
-------

MIT License
npm package: @qevm/bytes
Description: Bytes utility functions for qethers.
Latest version: 5.8.2

Byte Manipulation
=================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for manipulating binary data.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    isBytesLike,
    isBytes,

    arrayify,

    concat,

    stripZeros,
    zeroPad,

    isHexString,
    hexlify,

    hexDataLength,
    hexDataSlice,
    hexConcat,

    hexValue,

    hexStripZeros,
    hexZeroPad,

    splitSignature,
    joinSignature,

    // Types

    Bytes,
    BytesLike,

    DataOptions,

    Hexable,

    SignatureLike,
    Signature

} = require("@qevm/bytes");
```


License
-------

MIT License
npm package: @qevm/constants
Description: Common QuantumEVM constants used for qethers.
Latest version: 5.7.2

QuantumEVM Constants
==================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains many frequently used constants when dealing with QuantumEVM.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    AddressZero,
    HashZero,

    EtherSymbol,

    NegativeOne,
    Zero,
    One,
    Two,

    WeiPerEther,
    MaxUint256

} = require("@qevm/constants");
```


License
-------

MIT License
npm package: @qevm/contracts
Description: Contract abstraction meta-class for qethers.
Latest version: 5.7.3

QuantumEVM Contract Meta-Class
============================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is creating (at run-time) an object which interacts with an on-chain
contract as a native JavaScript object.

If you are familiar with ORM for Databases, this is similar, but for smart contracts.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Contract,
    ContractFactory,

    RunningEvent,

    // Types

    ContractInterface,

    Overrides,
    PayableOverrides,
    CallOverrides,

    PopulatedTransaction,

    EventFilter,

    ContractFunction,

    Event,
    ContractReceipt,
    ContractTransaction

} = require("@qevm/contracts");
```


License
-------

MIT License
npm package: @qevm/eslint-plugin-qhardhat-internal-rules
Description: This plugin contains internal linting rules used in the [Hardhat repository](https://github.com/nomiclabs/hardhat/). It's not meant to be used by other projects.
Latest version: 1.0.0

This plugin contains internal linting rules used in the [Hardhat repository](https://github.com/nomiclabs/hardhat/). It's not meant to be used by other projects.
npm package: @qevm/hash
Description: Hash utility functions for qethers.
Latest version: 5.7.4

QuantumEVM Hash Utilities
=======================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains several common hashing utilities (but not the actual hash functions).


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    isValidName,
    namehash,

    id,

    messagePrefix,
    hashMessage

} = require("@qevm/hash");
```


License
-------

MIT License
npm package: @qevm/json-wallets
Description: Wallet management utilities for KeyStore and Crowdsale JSON wallets.
Latest version: 5.7.4

Secret Storage JSON Wallet Utilities
====================================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for encoding, decoding, encrypting and decrypting JSON wallet
formats.

For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/).


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    isCrowdsaleWallet,
    decryptCrowdsale,

    isKeystoreWallet,
    decryptKeystore,
    decryptKeystoreSync,
    encryptKeystore,

    getJsonWalletAddress,

    decryptJsonWallet,
    decryptJsonWalletSync,

    // Types

    ProgressCallback,

    EncryptOptions

} = require("@qevm/json-wallets");
```


License
-------

MIT License
npm package: @qevm/keccak256
Description: The keccak256 hash function for qethers.
Latest version: 5.7.1

KECCAK256 Hash Function
=======================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for the identify function (i.e. KECCAK256) use in QEVM.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    keccak256

} = require("@qevm/keccak256");
```


License
-------

MIT License
npm package: @qevm/logger
Description: Logger utility functions for qethers.
Latest version: 5.7.2

Logger
======

This sub-module is part of the qethers project, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for managing logging and errors to maintain a standard
structure.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Logger,

    // Enums

    ErrorCode,

    LogLevel,

} = require("@qevm/logger");
```


License
-------

MIT License.
npm package: @qevm/networks
Description: Network definitions for qethers.
Latest version: 5.7.7

QuantumEVM Network Definitions
======================================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for tracking common networks along with important
parameters for each.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    getNetwork,

    // Types

    Network,
    Networkish

} = require("@qevm/networks");
```


License
-------

MIT License
npm package: @qevm/pbkdf2
Description: The PBKDF2 password-pbased key derivation function for qethers.
Latest version: 5.7.1

Password-Based Key Derivation Function 2 (pbkdf2)
=================================================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains the PBKDF2 function.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    pbkdf2

} = require("@qevm/pbkdf2");
```


License
-------

MIT License
npm package: @qevm/properties
Description: Properties utility functions for qethers.
Latest version: 5.7.1

Property Utilities
==================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains several useful utility methods for managing simple objects with
defined properties.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    defineReadOnly,

    getStatic,

    resolveProperties,
    checkProperties,

    shallowCopy,
    deepCopy,

    Description,

    // Types

    Deferrable

} = require("@qevm/properties");
```


License
-------

MIT License
npm package: @qevm/providers
Description: Providers for qethers.
Latest version: 1.0.5

Ethereum Providers
==================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains common Provider classes, utility functions for dealing with providers
and re-exports many of the classes and types needed to implement a custom Provider.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Provider,
    BaseProvider,

    JsonRpcProvider,
    StaticJsonRpcProvider,
    UrlJsonRpcProvider,

    FallbackProvider,

    EtherscanProvider,

    IpcProvider,

    Web3Provider,

    WebSocketProvider,

    JsonRpcSigner,

    getDefaultProvider,

    getNetwork,

    Formatter,

    // Types

    TransactionReceipt,
    TransactionRequest,
    TransactionResponse,

    Listener,

    ExternalProvider,

    Block,
    BlockTag,
    EventType,
    Filter,
    Log,

    JsonRpcFetchFunc,

    Network,
    Networkish

} = require("@qevm/providers");
```


License
-------

MIT License
npm package: @qevm/purity
Description: Purity coder for non-standard (tight) packing.
Latest version: 5.7.2

Purity Packed-Encoding Utilities
==================================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to perform Purity-specific packed (i.e. non-standard)
encoding operations.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    pack,
    keccak256,
    sha256

} = require("@qevm/purity");
```


License
-------

MIT License
npm package: @qevm/qethers
Description: Umbrella package for most common qethers libraries.
Latest version: 1.0.12

The Qethers Project
==================

[![npm (tag)](https://img.shields.io/npm/v/qethers)](https://www.npmjs.com/package/@qevm/qethers)

A complete QuantumEVM wallet implementation and utilities in JavaScript (and TypeScript).
A fork of the [ethers project](https://github.com/ethers-io/ethers.js).

**Features:**

- Keep your private keys in your client, **safe** and sound
- Import and export **JSON wallets** (Geth, Parity and crowdsale)
- Import and export BIP 39 **mnemonic phrases** (24 word backup phrases) and **HD Wallets** (English as well as Czech, French, Italian, Japanese, Korean, Simplified Chinese, Spanish, Traditional Chinese)
- Meta-classes create JavaScript objects from any contract ABI, including **ABIv2** and **Human-Readable ABI**
- Connect to QuantumEVM nodes over [JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC)
- **ENS names** are first-class citizens; they can be used anywhere an QuantumEVM addresses can be used
- **Tiny** (~104kb compressed; 322kb uncompressed)
- **Modular** packages; include only what you need
- **Complete** functionality for all your QuantumEVM desires
- Large collection of **test cases** which are maintained and added to
- Fully **TypeScript** ready, with definition files and full TypeScript source
- **MIT License** (including ALL dependencies); completely open source to do with as you please


Keep Updated
------------

For the latest news and advisories, please follow the [@QuantumEVM](https://t.me/+YpRb3VKutI0wYjhi)
on Twitter (low-traffic, non-marketing, important information only) as well as watch this GitHub project.


Installing
----------

**node.js**

```
/home/k0oda/some_project> npm install --save qethers
```


Ancillary Packages
------------------

These are a number of packages not included in the umbrella `qethers` npm package, and
additional packages are always being added. Often these packages are for specific
use-cases, so rather than adding them to the umbrella package, they are added as
ancillary packages, which can be included by those who need them, while not bloating
everyone else with packages they do not need.

We will keep a list of useful packages here.

- `@qevm/cli`


License
-------

MIT License (including **all** dependencies).
npm package: @qevm/qhardhat
Description: Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
Author: Eugene Kuleshov
Latest version: 2.9.11

![](https://user-images.githubusercontent.com/176499/96893278-ebc67580-1460-11eb-9530-d5df3a3d65d0.png) [![NPM Package](https://img.shields.io/npm/v/hardhat.svg?style=flat-square)](https://www.npmjs.org/package/hardhat)

---

Hardhat is an Ethereum development environment for professionals. It facilitates performing frequent tasks, such as running tests, automatically checking code for mistakes or interacting with a smart contract. Check out the [plugin list](https://hardhat.org/plugins/) to use it with your existing tools.

Built by the [Nomic Foundation](https://nomic.foundation/) for the Ethereum community.

Join our [Hardhat Support Discord server](https://hardhat.org/discord) to stay up to date on new releases, plugins and tutorials.

## Installation

To install Hardhat, go to an empty folder, initialize an `npm` project (i.e. `npm init`), and run

```
npm install --save-dev hardhat
```

Once it's installed, just run this command and follow its instructions:

```
npx hardhat
```

## Documentation

On [Hardhat's website](https://hardhat.org) you will find:

- [Guides to get started](https://hardhat.org/getting-started/)
- [Hardhat Network](https://hardhat.org/hardhat-network/)
- [Plugin list](https://hardhat.org/plugins/)

## Contributing

Contributions are always welcome! Feel free to open any issue or send a pull request.

Go to [CONTRIBUTING.md](./CONTRIBUTING.md) to learn about how to set up Hardhat's development environment.

## Feedback, help and news

[Hardhat Support Discord server](https://hardhat.org/discord): for questions and feedback.

[Follow Hardhat on Twitter.](https://twitter.com/HardhatHQ)

## Happy building!

👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️
npm package: @qevm/random
Description: Random utility functions for qethers.
Latest version: 5.7.1

Random Value Utilities
======================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to assist with random numbers.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    shuffled,

    randomBytes

} = require("@qevm/random");
```


License
-------

MIT License
npm package: @qevm/rlp
Description: Recursive-Length Prefix (RLP) coder.
Latest version: 5.7.1

Recursive-Length Prefix Coder
=============================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions for encoding and decoding RLP data.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    encode,
    decode

} = require("@qevm/rlp");
```


License
-------

MIT License
npm package: @qevm/sha2
Description: The SHA2 family hash functions and HMAC functions for qethers.
Latest version: 5.7.1

SHA2 Hash Functions
===================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for common cryptographic hashes and HMAC.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    ripemd160,

    sha256,
    sha512,

    computeHmac,

    // Enums

    SupportedAlgorithm

} = require("@qevm/sha2");
```


License
-------

MIT License
npm package: @qevm/signing-key
Description: Wrapper around dilithium-crystals-js library
Latest version: 5.7.11

Signing Key
===========

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for secp256-k1 signing, verifying and recovery operations.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    SigningKey,

    recoverPublicKey

} = require("@qevm/signing-key");
```


License
-------

MIT License
npm package: @qevm/solidity
Description: Solidity coder for non-standard (tight) packing.
Author: Eugene Kuleshov
Latest version: 5.7.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Solidity Packed-Encoding Utilities
==================================

This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to perform Solidity-specific packed (i.e. non-standard)
encoding operations.

For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/hashing/#utils--solidity-hashing).

Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    pack,
    keccak256,
    sha256

} = require("@ethersproject/solidity");
```


License
-------

MIT License
npm package: @qevm/strings
Description: String utility functions.
Latest version: 5.7.2

String Manipulation Utilities
=============================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to safely convert between UTF-8 data, strings and Bytes32 strings
(i.e. "short strings").


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    toUtf8Bytes,
    toUtf8CodePoints,
    toUtf8String,

    formatBytes32String,
    parseBytes32String,

    nameprep

    // Enums

    Utf8ErrorFuncs,
    Utf8ErrorReason,

    UnicodeNormalizationForm

    // Types

    Utf8ErrorFunc,

} = require("@qevm/strings");
```


License
-------

MIT License
npm package: @qevm/testcases
Description: Testcases for Ethereum and scripts to generate testcases.
Author: Eugene Kuleshov
Latest version: 5.7.0

Testcases for Ethereum
======================

This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).

It contains the testcases used to verify various Ethereum operations.

For more information, see the [documentation](https://docs.ethers.io/v5/testing/).


License
-------

MIT License
npm package: @qevm/tests
Description: Testing package for qethers.
Author: Eugene Kuleshov
Latest version: 5.7.1

Mocha Test Suite for Ethers
===========================

This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).

It contains the tests to verify ethers is working correctly.

For more information, see the [documentation](https://docs.ethers.io/v5/testing/).

License
-------

MIT License
npm package: @qevm/transactions
Description: Utilities for decoding and encoding QuantumEVM transaction for qethers.
Latest version: 5.7.3

Ethereum Transaction Utilities
==============================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains various functions for encoding and decoding serialized transactios.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    computeAddress,
    recoverAddress,

    serialize,
    parse,

    // Types

    Transaction,
    UnsignedTransaction

} = require("@qevm/transactions");
```


License
-------

MIT License
npm package: @qevm/units
Description: Unit conversion functions for QuantumEVM.
Latest version: 5.7.1

Ethereum Unit Conversion Utilities
==================================

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to convert between string representations and numeric
representations of numbers, including those out of the range of JavaScript.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    formatUnits,
    parseUnits,

    formatEther,
    parseEther,

    commify

} = require("@qevm/units");
```


License
-------

MIT License
npm package: @qevm/wallet
Description: Classes for managing, encrypting and decrypting QuatnumEVM private keys as a Signer for qethers.
Latest version: 5.7.8

Ethereum Wallet
===============

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains the class to manage a private key and signing for a standard
externally-owned account.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    Wallet,

    verifyMessage

} = require("@qevm/wallet");
```


License
-------

MIT License
npm package: @qevm/web
Description: Utility fucntions for managing web requests for qethers.
Latest version: 5.7.3

Web Utilities
=============

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

It contains functions to abstract safely and responsibly connecting to the web,
including exponential back-off.


Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/@qevm/qethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    fetchJson,

    poll,

    // Types
    ConnectionInfo,
    FetchJsonResponse,

    PollOptions,
    OncePollable,
    OnceBlockable

} = require("@qevm/web");
```


License
-------

MIT License
npm package: @qevm/wordlists
Description: Word lists for BIP39 wallets.
Latest version: 5.7.1

BIP39 Wordlists
===============

This sub-module is part of the qethers, a fork of [ethers project](https://github.com/ethers-io/ethers.js).

Supported Languages:

- **en** - English
- **es** - Spanish
- **fr** - French
- **it** - Italian
- **ja** - Japanese
- **ko** - Korean
- **zh_cn** - Chinese (simplified)
- **zh_tw** - Chinese (traditional)


Browser
-------

In the browser distribution file, only the English word list is included in the
root `qethers` pacakge. To include additional word lists, they must be added using
additional `<script>` tags, **after** the root `qethers` library has been included.


License
-------

MIT License
npm package: @qezor/jsonsys
Description: JSON-only storage and search helpers built to sit cleanly on top of @qezor/objsys or any compatible async fs-like adapter.
Author: Abdul Ahad
Latest version: 1.0.1

# @qezor/jsonsys

`@qezor/jsonsys` is a JSON-only storage layer for object storage or other async fs-like adapters.

It is designed to work especially well with `@qezor/objsys`, while still allowing you to inject any adapter that exposes the small async methods it needs.

## Install

```bash
npm install @qezor/jsonsys
```

If you want env-backed object storage directly, install it alongside `@qezor/objsys`:

```bash
npm install @qezor/jsonsys @qezor/objsys
```

## What It Does

- read and write JSON files
- auto-append `.json` for file operations by default
- update JSON safely through async updaters
- list JSON files in directories
- page through JSON listings with low memory usage
- search directories or files for keys, values, and path-value matches

## Usage With Objsys

```js
const { createJsonSystemFromEnv } = require("@qezor/jsonsys")

const json = createJsonSystemFromEnv()

await json.write("catalogs/stationary/index", {
  version: 4,
  updatedAt: "2026-04-05",
})

const index = await json.read("catalogs/stationary/index")
const results = await json.findByKey("catalogs", "ProductName")
```

## Usage With An Injected Adapter

```js
const { createJsonSystem } = require("@qezor/jsonsys")

const json = createJsonSystem({ fs: myAsyncFsLikeAdapter })
```

The adapter should expose a compatible subset of:
- `readFile`
- `writeFile`
- `rm`
- `exists`
- `stat`
- `copyFile`
- `rename`
- `list`
- `listPages`

## Search Helpers

- `searchFile(path, query, options)`
- `search(dir, query, options)`
- `findByKey(dir, key, options)`
- `findByValue(dir, value, options)`
- `findByPathValue(dir, path, value, options)`

Supported query shape:

```js
{
  key: "ProductName",
  value: "Ruled Notebooks",
  path: "Products[0].ProductName",
  includes: "notebook",
  keyValue: { key: "status", value: "active" },
  pathValue: { path: "meta.version", value: 3 },
}
```

## Notes

- deep walking is iterative, not recursive
- directory search uses paginated listing and bounded concurrency
- search results omit matched values by default to keep memory usage lower
- pass `{ includeValues: true }` when you want matched JSON values included in results
- file operations append `.json` automatically unless you pass `{ autoExtension: false }`
npm package: @qezor/lambase
Description: Lean Lambda helper kit with precise exports for action handlers, request parsing, responses, and env helpers
Author: Abdul Ahad
Latest version: 1.0.1

# @qezor/lambase

Lean Lambda helpers with precise exports for action dispatch, request parsing, response envelopes, env checks, and time utilities.

`lambase` is for the Lambda-side glue we keep rewriting:
- action-based Lambda handlers
- request body and header helpers
- stable response envelopes
- env/config assertions
- small time helpers

It is intentionally framework-agnostic.
HTTP adapters for `fastserve` belong in `@qezor/fastserve/lambda`, not here.

## Installation

```bash
npm install @qezor/lambase
```

## Precise Imports

```js
const { createActionHandler } = require("@qezor/lambase/action")
const { parseJsonBody, getRequestContext } = require("@qezor/lambase/request")
const { ok, badRequest, serverError } = require("@qezor/lambase/response")
const { envString, envInt, assertRequiredEnv } = require("@qezor/lambase/env")
```

## Quick Start

```js
const { createActionHandler } = require("@qezor/lambase/action")
const { badRequest, serverError } = require("@qezor/lambase/response")

const actions = {
  ping: async () => ({ ok: true, status: 200, data: { pong: true } }),
}

exports.handler = createActionHandler({
  actions,
  onUnknownAction(action) {
    return badRequest(action ? `Unknown action: ${action}` : "action is required")
  },
  onError() {
    return serverError()
  },
})
```

## Package Surface

- `@qezor/lambase/action`
- `@qezor/lambase/request`
- `@qezor/lambase/response`
- `@qezor/lambase/env`
- `@qezor/lambase/errors`
- `@qezor/lambase/time`

## Notes

- `parseJsonBody()` returns `{}` for empty bodies by default.
- `createActionHandler()` caches `assertConfig()` after the first successful call.
- `getRequestContext()` gives a small stable shape: `ipAddress`, `deviceId`, `userAgent`.
- `lambase` is intentionally small. Domain rules should stay in the service that owns them.
npm package: @qezor/ledgerkit
Description: Ledger, invoice, and quota primitives built on top of DynamoDB-friendly repositories.
Author: Abdul Ahad
Latest version: 1.0.3

# @qezor/ledgerkit

`@qezor/ledgerkit` is a focused toolkit for:
- ledger entries
- invoices
- quota snapshots
- usage-friendly owner keys

It is built on top of `@qezor/dynakit` and is meant for billing, quota, credits, debits, usage tracking, and other accounting-style records.

It is intentionally not a generic user-data store.

## Installation

```bash
npm install @qezor/ledgerkit
```

## Precise Imports

```js
const { money, addMoney } = require("@qezor/ledgerkit/money")
const { ownerPk, ledgerEntrySk } = require("@qezor/ledgerkit/keys")
const { createLedgerEntry } = require("@qezor/ledgerkit/models")
const { createLedgerRepository } = require("@qezor/ledgerkit/ledger")
const { createQuotaRepository } = require("@qezor/ledgerkit/quota")
const { createInvoiceRepository } = require("@qezor/ledgerkit/invoice")
```

## Core Ideas

- money is stored in minor units
- owner keys are stable and composable
- repositories are dependency-injected and DynamoDB-friendly
- package stays small and explicit instead of hiding billing logic behind magic

## Ledger Entry Example

```js
const entry = createLedgerEntry({
  ownerType: "user",
  ownerId: "u_123",
  direction: "debit",
  amountMinor: 9900,
  currency: "USD",
  category: "subscription",
  createdAt: 1712345678,
})
```

## Quota Snapshot Example

```js
const snapshot = createQuotaSnapshot({
  ownerType: "user",
  ownerId: "u_123",
  quotaKey: "ai_tokens",
  periodKey: "2026-04",
  used: 1200,
  limit: 10000,
  updatedAt: 1712345678,
})
```

## Invoice Example

```js
const invoice = createInvoiceRecord({
  ownerType: "user",
  ownerId: "u_123",
  invoiceNumber: "INV-2026-0001",
  currency: "USD",
  subtotalMinor: 9900,
  totalMinor: 11682,
  issuedAt: 1712345678,
})
```
npm package: @qezor/livedomparser
Description: Sync-first and live-stream capable DOMParser polyfill with low-memory HTML tokenization.
Author: Abdul Ahad
Latest version: 1.0.1

# @qezor/livedomparser

`@qezor/livedomparser` is a DOMParser-style package with two honest modes:

- sync ordinary parsing for normal `parseFromString(...)`
- live async parsing for streamed sources where memory discipline matters

## Install

```bash
npm install @qezor/livedomparser
```

## Main API

- `new LiveDOMParser(options)`
- `parseFromString(html, mimeType?)`
- `parseFromSource(source, mimeType?, options?)`
- `parseAsync(source, mimeType?, options?)`
- `installDOMParserPolyfill(options?)`
- `createHtmlTokenIterator(source, options?)`

## Ordinary Sync Use

```js
const { LiveDOMParser } = require("@qezor/livedomparser")

const parser = new LiveDOMParser()
const document = parser.parseFromString("<div id='app'><h1>Hello</h1></div>", "text/html")

console.log(document.getElementById("app").querySelector("h1").textContent)
```

## Live Async Use

```js
const parser = new LiveDOMParser({
  asyncMode: "live",
})

const document = await parser.parseFromSource([
  "<main><p>Hel",
  "lo</p></main>",
], "text/html")
```

## Polyfill

```js
const { installDOMParserPolyfill } = require("@qezor/livedomparser")

installDOMParserPolyfill({
  target: globalThis,
})
```

If `DOMParser` already exists, it is left alone unless you pass `force: true`.

## Notes

- the sync path is meant to feel normal in ordinary environments
- the async path uses streaming tokenization instead of forcing whole-document buffering
- selector support is intentionally practical rather than browser-complete:
  - tag
  - `#id`
  - `.class`
  - `[attr]`
  - `[attr=value]`
  - `[attr^=value]`, `[attr$=value]`, `[attr*=value]`, `[attr~=value]`, `[attr|=value]`
  - descendant, child, adjacent sibling, and general sibling combinators
  - `:not(...)`
  - `:first-child`
  - `:last-child`
  - `:only-child`
  - `:empty`
  - `:nth-child(...)`
- XML mode now keeps tag and attribute casing precise instead of forcing HTML-style lowercasing

## Versioning

`@qezor/livedomparser` follows practical semver:

- patch: safe parser, tokenizer, selector, or XML precision fixes
- minor: additive DOM, selector, or token features that preserve existing behavior
- major: breaking changes to token shapes, node contracts, selector semantics, or parser entrypoints

Release notes live in [CHANGELOG.md](./CHANGELOG.md).
npm package: @qezor/livehtmlrewriter
Description: Low-memory HTML rewriting on top of streaming tokenization.
Author: Abdul Ahad
Latest version: 1.0.1

# @qezor/livehtmlrewriter

`@qezor/livehtmlrewriter` is a low-memory HTML rewriter built on streaming tokenization.

It does not materialize a full DOM just to change a few attributes or text nodes.

## Install

```bash
npm install @qezor/livehtmlrewriter
```

## Main API

- `createLiveHtmlRewriter(options?)`
- `new LiveHtmlRewriter(options?)`
- `onElement(selector, handler)`
- `onText(selector?, handler)`
- `onComment(selector?, handler)`
- `rewrite(source, options?)`
- `rewriteString(html, options?)`
- `rewriteFile(chunkySystem, sourcePath, destinationPath, options?)`

## Example

```js
const { createLiveHtmlRewriter } = require("@qezor/livehtmlrewriter")

const rewriter = createLiveHtmlRewriter()
  .onElement(".hero", (element) => {
    element.setAttribute("data-ready", "1")
  })
  .onText(".hero", (text) => {
    text.replace(text.text.toUpperCase())
  })

const html = await rewriter.rewriteString("<section class='hero'><p>Hello</p></section>")
```

## Notes

- element rewrites are applied on the live start-tag state
- text rewrites operate on coalesced contiguous text within the same parent context
- selector matching uses the same selector engine as `@qezor/livedomparser`
- element controls now include:
  - `addClass(...)`
  - `removeClass(...)`
  - `toggleClass(name, force?)`
  - `setInnerText(text)`
  - `setOuterText(text)`
  - `before(html)`
  - `after(html)`
  - `prepend(html)`
  - `append(html)`
  - `remove()`
  - `replace(html)`
  - `replaceChildren(html)`
  - `skipSubtree()`
- current scope stays intentionally honest:
  - start-tag mutation
  - class helper mutation
  - text-safe inner or outer text replacement
  - outer-boundary insertion
  - inner-boundary insertion
  - whole-element removal/replacement
  - child-subtree replacement
  - subtree pass-through skipping
  - text mutation
  - comment mutation
  - streamed file rewriting

`onText(...)` and `onComment(...)` mutations now also support `before(...)` and `after(...)` around the node result.

## Versioning

`@qezor/livehtmlrewriter` follows practical semver:

- patch: safe fixes, docs, selector-alignment work, and low-risk rewrite correctness improvements
- minor: additive rewrite controls and handler capabilities that preserve existing behavior
- major: breaking changes to rewrite ordering, handler contracts, or control semantics

Release notes live in [CHANGELOG.md](./CHANGELOG.md).
npm package: @qezor/queuekit
Description: Reusable queue and aggregation primitives for Qezor programs like CADAAD and CAMBAS.
Author: Abdul Ahad
Latest version: 1.0.2

# @qezor/queuekit

`@qezor/queuekit` is the reusable queue and aggregation core for Qezor programs such as:
- `cadaad` for consumer-assisted demand aggregation and distribution
- `cambas` for consumer-assisted manufacturing, branding, and sales

It provides:
- stable queue and join status enums
- queue and join key helpers
- cursor helpers for DynamoDB-style pagination
- record builders for queue, join, and event items
- queue mutation helpers for join/update/leave flows
- a repository for common queue access patterns

It is intentionally not a payment, catalog, or user-data package.

## Installation

```bash
npm install @qezor/queuekit
```

## Precise Imports

```js
const { QUEUE_STATUSES, JOIN_STATUSES } = require("@qezor/queuekit/status")
const { queuePk, joinSk, regionDiscoveryPk } = require("@qezor/queuekit/keys")
const { encodeCursor, decodeCursor } = require("@qezor/queuekit/cursor")
const { createQueueRecord, createJoinRecord, createEventRecord } = require("@qezor/queuekit/models")
const { applyJoinDemand, applyLeaveDemand, createQueueRepository } = require("@qezor/queuekit/queue")
```

## Notes

- keep queue truth in a dedicated service table
- keep product truth in catalog storage or product services
- keep payment truth in billing or ledger services
- keep queue math deterministic and cheap
npm package: @qezor/resmake
Description: Zero-dependency HTTP response builder for Node.js, Edge Runtime, Cloudflare Workers and AWS Lambda
Author: Abdul Ahad
Latest version: 2.0.4

# @qezor/resmake

Zero-dependency HTTP response builder for Node.js, Edge Runtime, Cloudflare Workers, and AWS Lambda.

`resmake` is now focused on HTTP only.

Use `@qezor/nettool` for raw TCP/UDP response helpers and low-level socket-oriented utilities.

## Installation

```bash
npm install @qezor/resmake
```

## Import

```js
const { normalize, context, create } = require("@qezor/resmake")
```

## Eager Mode

```js
const { normalize } = require("@qezor/resmake")

http.createServer((req, res) => {
  const r = normalize(res)
  r.status(200).json({ hello: "world" })
})
```

## Lazy Mode

```js
const { create } = require("@qezor/resmake")

export default {
  async fetch(request) {
    const res = create()
    res.status(200).json({ hello: "edge" })
    return res.toResponse()
  },
}
```

## API

Shared methods:
- `status(code)`
- `header(key, value)`
- `headers(object)`
- `type(value)`
- `vary(field)`
- `cookie(name, value, opts)`
- `clearCookie(name, opts)`
- `json(data, code?)`
- `html(str, code?)`
- `text(str, code?)`
- `binary(buf, mime?)`
- `send(body, mime?)`
- `stream(readable, mime?)`
- `file(filePath, opts?)`
- `redirect(url, code?)`
- `end(code?)`
- `sse()`

## Notes

- `file()` supports ETag, Last-Modified, conditional `304`, `206 Partial Content`, and proper `416 Range Not Satisfiable` responses.
- `toResponse()` is synchronous for normal bodies and streaming bodies.
- `toResponse()` returns `Promise<Response>` for `file()` because file stat/read is async.
- response headers are normalized to lowercase internally.
- repeated `vary()` values are deduped case-insensitively.

## Runtime Adapter Hooks

```js
const { setRuntimeAdapter } = require("@qezor/resmake")
```

Available runtime adapter fields:
- `Buffer`
- `Headers`
- `Response`
- `TransformStream`
- `ReadableStream`
- `TextEncoder`
- `requireBuiltin(name)`
- `reportError(error, meta?)`

## Benchmarking

```bash
npm run bench
```
npm package: @qf-agentic-ui/runtime
Description: Runtime renderer for Agentic UI
Latest version: 1.0.0

# @qf-agentic-ui/runtime

Runtime renderer for Agentic UI JSON-UI DSL.

## Build

```bash
pnpm --filter @qf-agentic-ui/runtime build
```

## Form create success mode

`form.props.createSuccessMode` controls the behavior after a successful `Create` action.

- Optional values: `keep` | `clear`
- Default: `keep`

Semantics:

- `keep`: keep current form values after successful create
- `clear`: reset form to initial values after successful create

## Form writable field whitelist

Runtime form `Create` / `Update` now only submits fields declared by the form schema (`form.props.fields`).

Behavior:

- Row-to-form hydration only updates keys defined in `form.props.fields`
- Submit payload only includes keys defined in `form.props.fields`
- `id` and non-form keys are excluded from write payload

Why this matters:

- Prevents backend `400` caused by accidentally submitting read-only fields
- Keeps runtime form write behavior deterministic across different table schemas

Recommendation:

- Ensure all writable fields are explicitly declared in `form.props.fields`
- If a field should not be writable, do not include it in `form.props.fields`

## DSL example

```json
{
  "id": "customerForm",
  "type": "form",
  "bind": { "dataSource": "customerList" },
  "props": {
    "createSuccessMode": "clear",
    "fields": [
      { "key": "name", "title": "Customer Name", "type": "string" },
      { "key": "industry", "title": "Industry", "type": "string" }
    ]
  }
}
```