open-index/open-npm huggingface dataset:
npm package: @fksyuan/abi
Description: Utilities and Classes for parsing, formatting and managing Ethereum ABIs.
Author: Richard Moore
Latest version: 5.0.2

Ethereum ABI Coder
==================

**EXPERIMENTAL**

Please see the [ethers](https://github.com/ethers-io/ethers.js) repository
for more informations.

API
---

`@TODO`

License
-------

MIT License
npm package: @fksyuan/address
Description: Utilities for handling Ethereum Addresses for ethers.
Author: Richard Moore
Latest version: 5.0.3

Ethereum Address Utilities
==========================

**EXPERIMENTAL**

Please see the [ethers](https://github.com/ethers-io/ethers.js) repository
for more informations.

API
---

`@TODO`

License
-------

MIT License
npm package: @fksyuan/eth-block-tracker
Description: A block tracker for the PlatON blockchain. Keeps track of the latest block.
Latest version: 4.4.3


# eth-block-tracker

This module walks the Ethereum blockchain, keeping track of the latest block.
It uses a web3 provider as a data source and will continuously poll for the next block.

```js
const createInfuraProvider = require('eth-json-rpc-infura')
const PollingBlockTracker = require('eth-block-tracker')

const provider = createInfuraProvider({ network: 'mainnet', projectId: process.env.INFURA_PROJECT_ID })
const blockTracker = new PollingBlockTracker({ provider })

blockTracker.on('sync', ({ newBlock, oldBlock }) => {
  if (oldBlock) {
    console.log(`sync #${Number(oldBlock)} -> #${Number(newBlock)}`)
  } else {
    console.log(`first sync #${Number(newBlock)}`)
  }
})
```

### methods

##### new PollingBlockTracker({ provider, pollingInterval, retryTimeout, keepEventLoopActive })

creates a new block tracker with `provider` as a data source and
`pollingInterval` (ms) timeout between polling for the latest block.
If an Error is encountered when fetching blocks, it will wait `retryTimeout` (ms) before attempting again.
If `keepEventLoopActive` is false, in Node.js it will [unref the polling timeout](https://nodejs.org/api/timers.html#timers_timeout_unref), allowing the process to exit during the polling interval. defaults to `true`, meaning the process will be kept alive.

##### getCurrentBlock()

synchronous returns the current block. may be `null`.

```js
console.log(blockTracker.getCurrentBlock())
```

##### async getLatestBlock()

Asynchronously returns the latest block.
if not immediately available, it will fetch one.

##### async checkForLatestBlock()

Tells the block tracker to ask for a new block immediately, in addition to its normal polling interval.
Useful if you received a hint of a new block (e.g. via `tx.blockNumber` from `getTransactionByHash`).
Will resolve to the new latest block when its done polling.

### EVENTS

##### latest

The `latest` event is emitted for whenever a new latest block is detected.
This may mean skipping blocks if there were two created since the last polling period.

```js
blockTracker.on('latest', (newBlock) => console.log(newBlock))
```

##### sync

The `sync` event is emitted the same as "latest" but includes the previous block.

```js
blockTracker.on('sync', ({ newBlock, oldBlock }) => console.log(newBlock, oldBlock))
```

##### error

The `error` event means an error occurred while polling for the latest block.

```js
blockTracker.on('error', (err) => console.error(err))
```

### NOTES

Version 4.x.x differs significantly from version 3.x.x

Please see the [CHANGELOG](./CHANGELOG.md).
npm package: @fksyuan/sdk
Description: 🛠 An SDK for building applications on top of Uniswap.
Latest version: 3.0.8

# Uniswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/Uniswap/uniswap-sdk/workflows/CI/badge.svg)](https://github.com/Uniswap/uniswap-sdk)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/Uniswap/uniswap-sdk.git
```

Move into the uniswap-sdk working directory

```sh
cd uniswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @fksyuan/solidity
Description: Solidity coder for non-standard (tight) packing.
Author: Richard Moore
Latest version: 5.0.1

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

**EXPERIMENTAL**

Please see the [ethers](https://github.com/ethers-io/ethers.js) repository
for more informations.

API
---

`@TODO`

License
-------

MIT License
npm package: @fksyuan/zktls-contracts
Description: Primus zkTLS contracts
Latest version: 0.1.1

## Foundry

**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**

Foundry consists of:

-   **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools).
-   **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
-   **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network.
-   **Chisel**: Fast, utilitarian, and verbose solidity REPL.

## Documentation

https://book.getfoundry.sh/

## Usage

### Build

```shell
$ forge build
```

### Test

```shell
$ forge test
```

### Format

```shell
$ forge fmt
```

### Gas Snapshots

```shell
$ forge snapshot
```

### Anvil

```shell
$ anvil
```

### Deploy

```shell
$ forge script script/PrimusZkTLS.s.sol --rpc-url <your_rpc_url> --private-key <your_private_key> --broadcast
```

### Upgrade

```shell
$ forge script script/UpgradeZkTLS.s.sol --rpc-url <your_rpc_url> --private-key <your_private_key> --broadcast
```

### Cast

```shell
$ cast <subcommand>
```

### Help

```shell
$ forge --help
$ anvil --help
$ cast --help
```