open-index/open-npm huggingface dataset:
npm package: @polygonjs/build-utils
Description: utility function to build and upload a Polygonjs project
Author: Guillaume Fradin
Latest version: 0.0.13

This repository contains utilities to build and upload [Polygonjs](https://polygonjs.com) projects scaffolded with `yarn create polygonjs` or `npm create polygonjs@latest`, so they can be uploaded to AWS S3 for easy deploy.

[See Tutorial](https://polygonjs.com/docs/integrations/s3)
npm package: @polygonjs/plugin-ifc
Description: IFC plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.5.45

# Polygonjs IFC Plugin

This adds a FileIFC SOP node to the [Polygonjs webgl engine](https://polygonjs.com).

# Install

Import the plugin:

`yarn add @polygonjs/plugin-ifc`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the occlusion node can be accessible in both the editor and your exported scene:

```js
import {polyPluginIFC} from '@polygonjs/plugin-ifc';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginIFC);
}
```

# Test

-   run `yarn test` and open at `http://localhost:5173/test`
npm package: @polygonjs/plugin-mapbox
Description: Mapbox plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.2.19

# Polygonjs Mapbox Plugin

This adds several nodes to work with Mapbox with the [Polygonjs webgl engine](https://polygonjs.com).

See [Live Demo](https://polygonjs-mapbox-example.netlify.app/) or [example repo](https://github.com/polygonjs/example-plugin-mapbox):

![example scene with mapbox camera](https://github.com/polygonjs/example-plugin-mapbox/blob/main/doc/mapbox_examples.jpg?raw=true)

# Install

Import the plugin:

`yarn add @polygonjs/plugin-mapbox`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the mapbox nodes can be accessible in both the editor and your exported scene:

```js
import {polyPluginMapbox} from '@polygonjs/plugin-mapbox/dist/src/index';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginMapbox);
	polyPluginMapbox.setToken('<your-mapbox-token>');
}
```
npm package: @polygonjs/plugin-marker-tracking
Description: Marker tracking plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.5.45

# Polygonjs Marker Tracking Plugin

This adds several nodes to work with Marker Tracking with the [Polygonjs webgl design tool](https://polygonjs.com).

# Install

Import the plugin:

`yarn add @polygonjs/plugin-marker-tracking`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the mapbox nodes can be accessible in both the editor and your exported scene:

```js
import {polyPluginMarkerTracking} from '@polygonjs/plugin-marker-tracking/dist/src/index';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginMarkerTracking);
}
```

## Licenses

This plugin is open-source and MIT, but it depends on [AR-js](https://github.com/AR-js-org/AR.js), which itself depends on [artoolkit5-js](https://github.com/AR-js-org/artoolkit5-js), which under LGPLv3 license. See [artoolkit5-js license](https://github.com/AR-js-org/artoolkit5-js/blob/master/LICENSE).
npm package: @polygonjs/plugin-mediapipe-facemesh
Description: Mediapipe Facemesh plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.1.257

# Polygonjs Mediapipe Facemesh Plugin

This adds a Mediapipe Facemesh SOP nodes to the [Polygonjs webgl engine](https://polygonjs.com).

# Install

Import the plugin:

`yarn add @polygonjs/plugin-mediapipe-facemesh`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the facemesh nodes can be accessible in both the editor and your exported scene:

```js
import {polyPluginMediapipeFacemesh} from '@polygonjs/plugin-mediapipe-facemesh/dist/src/index';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginMediapipeFacemesh);
}
```
npm package: @polygonjs/plugin-occlusion
Description: Occlusion plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.5.46

# Polygonjs Occlusion Plugin

This adds a Occlusion SOP node to the [Polygonjs webgl engine](https://polygonjs.com).

This wraps the work done in https://github.com/wwwtyro/geo-ambient-occlusion into a node that can be used with all the other nodes available on Polygonjs.

See [example scene](https://github.com/polygonjs/example-plugin-occlusion):

![geometries with occlusion added](https://github.com/polygonjs/example-plugin-occlusion/blob/main/doc/occlusion_examples.jpg?raw=true)

# Install

Import the plugin:

`yarn add @polygonjs/plugin-occlusion`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the occlusion node can be accessible in both the editor and your exported scene:

```js
import {polyPluginOcclusion} from '@polygonjs/plugin-occlusion';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginOcclusion);
}
```
npm package: @polygonjs/plugin-palette
Description: Color Palette plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.0.12

# Polygonjs Palette Plugin

This adds a Palette SOP node to the [Polygonjs webgl engine](https://polygonjs.com).

This wraps the work done in https://github.com/kgolid/chromotome into a node that can be used with all the other nodes available on Polygonjs.

See [example scene](https://github.com/polygonjs/example-plugin-palette):

![Spheres with colors defined with the Palette node](https://github.com/polygonjs/example-plugin-palette/blob/main/doc/palette_examples.jpg?raw=true)

<p>
  <a href="https://github.com/polygonjs/example-plugin-palette"><img width="274" src="https://github.com/polygonjs/example-plugin-palette/blob/main/doc/plugin-palette.001.gif?raw=true" /></a>
</p>

# Install

Import the plugin:

`yarn add @polygonjs/plugin-palette`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the palette node can be accessible in both the editor and your exported scene:

```js
import {polyPluginPalette} from '@polygonjs/plugin-palette/dist/src/index';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginPalette);
}
```
npm package: @polygonjs/plugin-physics
Description: Physics plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.1.257

# Polygonjs Physics Plugin

This adds several nodes to handle physics in the [Polygonjs webgl engine](https://polygonjs.com).

-   **Sop/PhysicsSolver**: computes the input geometries and attributes and solves the simulation at every frame
-   **Sop/PhysicsRbdAttributes**: creates attributes necessary for rigid body simulations
-   **Sop/PhysicsForceAttributes**: creates attributes to define forces

This is currently using Ammo from [https://github.com/giniedp/ammojs-typed](https://github.com/giniedp/ammojs-typed).

See [example scene](https://github.com/polygonjs/example-plugin-physics):

![scene with physics](https://github.com/polygonjs/example-plugin-physics/blob/main/doc/physics_examples.jpg?raw=true)

# Install

Import the plugin:

`yarn add @polygonjs/plugin-physics`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the physics nodes can be accessible in both the editor and your exported scene:

```js
import {polyPluginPhysics} from '@polygonjs/plugin-physics/dist/src/index';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginPhysics);
}
```
npm package: @polygonjs/plugin-trace
Description: Trace plugin for the 3D engine https://polygonjs.com
Author: Guillaume Fradin
Latest version: 1.5.46

# Polygonjs Trace Plugin

This adds 1 node to trace images to lines in the [Polygonjs webgl engine](https://polygonjs.com).

-   **Sop/Trace**: converts an image to lines

See [example scene](https://github.com/polygonjs/example-plugin-trace):

![scene with trace](https://github.com/polygonjs/example-plugin-trace/blob/main/doc/trace_example.jpg?raw=true)

# Install

Import the plugin:

`yarn add @polygonjs/plugin-trace`

And register the plugin in the function `configurePolygonjs` in the file `PolyConfig.js` so that the node can be accessible in both the editor and your exported scene:

```js
import {polyPluginTrace} from '@polygonjs/plugin-trace';

export function configurePolygonjs(poly) {
	poly.registerPlugin(polyPluginTrace);
}
```
npm package: @polygonstar/uikit
Description: Set of UI components for pancake projects
Latest version: 0.1.6

# 🥞 Pancake UIkit

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @polygontech/commit-template
Description: JS wrapper of https://github.com/ShafiqIslam/dotfiles/blob/master/git/.gitmessage.
Author: Shafiqul Islam
Latest version: 1.1.1

# commit-template
JS wrapper for the [commit template](https://github.com/ShafiqIslam/dotfiles/blob/master/.gitmessage).

# usage
Not for open use. Meant to be used with
[@polygontech/cz-convention](https://github.com/ShafiqIslam/cz-convention) and [@polygontech/commitlint](https://github.com/ShafiqIslam/commitlint)
npm package: @polygontech/cz-convention
Description: Commitizen adapter following https://github.com/ShafiqIslam/dotfiles/blob/master/git/.gitmessage.
Author: Shafiqul Islam
Latest version: 2.1.1

# cz-convention

forked from [ngryman/cz-emoji](https://github.com/ngryman/cz-emoji) to suit [my taste](https://github.com/ShafiqIslam/dotfiles/blob/master/.gitmessage).

<br /><br />

# Single Line Installation

Run the following to install/update this tool:

```
curl -fsSL https://raw.githubusercontent.com/ShafiqIslam/cz-convention/main/install.sh | bash
```

<br /><br />

# Manual Installation

## Install commitizen

```
npm install -g commitizen
```

<br />

## Install this adapter

### Global Level (to use on any project)

```
npm install -g @polygontech/cz-convention
```

Then, Reference it:

```
echo '{ "path": "@polygontech/cz-convention" }' > ~/.czrc
```

<br />

### Or, Project Level (to use on only that project)

```
npm install @polygontech/cz-convention
```

Then, Reference it in your `package.json` of your project

```
  ...
  "config": {
    "commitizen": {
      "path": "node_modules/@polygontech/cz-convention/"
    }
  }
  ...
```

<br /><br />

# Usage

Traditionally,

```
# for minimal version:
git cz

# or the full version
git cz --full
```

With [husky](https://github.com/typicode/husky), in your runcom `.huskyrc` or `.huskyrc.js`:

```
{
  "hooks": {
    ...
    "prepare-commit-msg": "exec < /dev/tty && git cz --hook",
    ...
  }
}
```
npm package: @polygot/cli
Description: Command line interface (CLI) for Polygot projects.
Author: Emmanuel Jégo
Latest version: 1.1.1

# Polygot CLI

Polygot CLI is a command line tool that allows you to manage your [Polygot](https://polygothq.com) projects.

Using the Polygot CLI, you will be able to:
- integrate your Polygot project to your code base
- automate the internationalization (i18n) of your project to 30+ languages
- edit your project's details: target languages, description...

The CLI requires [Node.js](https://nodejs.org/en/download/package-manager) v16 or higher to be installed on your machine.

## Installation

### Global installation

`npm install @polygot/cli -g`

### Project installation

`npm install @polygot/cli`

## Usage

Please visit the [documentation](https://docs.polygothq.com/cli) to learn how to use the CLI.
npm package: @polyheist/uikit
Description: Set of UI components for polyheist projects
Author: PolyHeist
Latest version: 1.0.7

# 🥞 Pancake UIkit

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @polyhodl/uikit
Description: Set of UI components for PolyHodl projects
Author: polyhodl
Latest version: 0.13.26

# PolyHodl UIkit

PolyHodl UIkit is a set of React components and hooks used to build pages on PolyHodl's apps. It also contains a theme file for dark and light mode.
This project is fork from pancakeswap-uikit

## Install

`yarn add @polyhodl/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@polyhodl/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@polyhodl/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.
npm package: @polyient-games/pg-uniswap-sdk-v1
Description: 🛠 An SDK for building applications on top of Uniswap.
Author: Scott A. Ferreira
Latest version: 3.0.3

# Polyient Games DEX 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/polyient/pg-uniswap-sdk-v1.git
```

Move into the pg-uniswap-sdk-v1 working directory

```sh
cd pg-uniswap-sdk-v1/
```

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: @polyipseity/obsidian-plugin-library
Description: Library for Obsidian plugins.
Author: polyipseity
Latest version: 1.36.1

# Plugin Library for Obsidian [![release](https://img.shields.io/github/v/release/polyipseity/obsidian-plugin-library)][latest release]

[Buy Me a Coffee]: https://buymeacoffee.com/polyipseity
[Buy Me a Coffee/embed]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20coffee&emoji=&slug=polyipseity&button_colour=40DCA5&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00
[Obsidian]: https://obsidian.md/
[changelog]: https://github.com/polyipseity/obsidian-plugin-library/blob/main/CHANGELOG.md
[latest release]: https://github.com/polyipseity/obsidian-plugin-library/releases/latest
[other things]: https://github.com/polyipseity/obsidian-monorepo
[repository]: https://github.com/polyipseity/obsidian-plugin-library

Library for [Obsidian] plugins.

[![Buy Me a Coffee/embed]][Buy Me a Coffee]

__[Repository] · [Changelog] · [Other things] · [Installation](#installation) · [Contributing](#contributing) · [Security](#security)__

## Installation

This is NOT an installable plugin.

## Contributing

Contributions are welcome!

This project uses [`changesets`](https://github.com/changesets/changesets) to manage the changelog. When creating a pull request, please [add a changeset](https://github.com/changesets/changesets/blob/main/docs/intro-to-using-changesets.md#adding-changesets) describing the changes. Add multiple changesets if your pull request changes several things. End each changeset with `([PR number](PR link) by [author username](author link))`. For example, the newly created file under the directory `.changeset` should look like:

```Markdown
---
"example": patch
---

This is an example change. ([GH#1](https://github.com/ghost/example/pull/1) by [@ghost](https://github.com/ghost))
```

### Todos

The todos here, ordered alphabetically, are things planned for the plugin. There are no guarantees that they will be completed. However, we are likely to accept contributions for them.

- (None)

### Translating

See [`assets/locales/README.md`](assets/locales/README.md).

## Security

We hope that there will never be any security vulnerabilities, but unfortunately it does happen. Please [report](#reporting-a-vulnerability) them!

### Supported versions

| Version  | Supported |
| -------- | --------- |
| rolling  | ✅        |
| latest   | ✅        |
| outdated | ❌        |

### Reporting a vulnerability

Please report a vulnerability by opening an new issue. We will get back to you as soon as possible.
npm package: @polyjuice-provider/core
Description: a godwoken-polyjuice compatible library for ethereum utilities in JavaScript like `ethers` and `web3js`.
Latest version: 0.0.1-rc2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Polyjuice Provider

a godwoken-polyjuice compatible library for ethereum utilities in JavaScript like `ethers` and `web3js`.

now you can call your smart-contract on godwoken-polyjuice with metamask and eth address.

## getting started

### How to deploy contract on polyjuice

[docs](docs/usage.md)

### How to build

install deps:

```sh
    yarn 
```

build:

```sh
    yarn build
```

usage:

```js
const PolyjuiceHttpProvider = require('@polyjuice-provider/core');
```

typescript supported:

```ts
import PolyjuiceHttpProvider from '@polyjuice-provider/core';
```

browser version lies in:

```sh
    /build/browser/PolyjuiceHttpProvider.js
```

usage:

```html
<script src="/path/to/PolyjuiceHttpProvider.js"></script>
```

### hardhat

hardhat is using `ethers` instead of `web3.js`, you can find ethers-compatibale `JsonRpcProvider` and `WalletSigner` in `/lib/hardhat/providers`

usage:

```js
const { PolyjuiceJsonRpcProvider } = require('PolyjuiceHttpProvider/lib/hardhat/providers');
const PolyjuiceWallet = require('PolyjuiceHttpProvider/lib/hardhat/wallet-signer');
```


---

before you can run test and an minimal example, create an .test.env file with some godwoken-polyjuice config.

```sh
cat > ./test.env <<EOF
WEB3_JSON_RPC=<godwoken web3 rpc>
ROLLUP_TYPE_HASH=<godwoken rollup type hash>
ETH_ACCOUNT_LOCK_CODE_HASH=<eth account lock code hash>
EXAMPLE_CONTRACT_ADDRESS=<an example test contract deployed address>
PRIVATE_KEY=<your eth test private key, do not use in production>
ETH_ADDRESS=<your eth test address, match with private_key above>
EOF
```

## test

```sh
    yarn test
```

## start a minimal dapp example

```sh
    yarn example
```
npm package: @polyjuice-provider/ethers
Description: this is a sub-module of @polyjuice-provider.
Author: RetricSu
Latest version: 0.1.5

# @polyjuice-provider/ethers

this is a sub-module of @polyjuice-provider.

```sh
yarn add @polyjuice-provider/ethers 
```

or

```sh
npm install --save @polyjuice-provider/ethers
```

## Usage

read [docs here](../../docs/get-started.md#ethers)

## How to develop this module

build:

```sh
yarn build
```

before you can run test, you should run [godwoken-kicker](https://github.com/RetricSu/godwoken-kicker) and create an .test.env file with some godwoken-polyjuice config.

```sh
cat > ./.test.env <<EOF
WEB3_JSON_RPC=<godwoken-web3 rpc>
WEB3_WS_JSON_RPC=<godwoken-web3 websocket rpc>
ROLLUP_TYPE_HASH=<godwoken rollup type hash>
ETH_ACCOUNT_LOCK_CODE_HASH=<eth account lock code hash>
PRIVATE_KEY=<your eth test private key, do not use in production>
ETH_ADDRESS=<your eth test address, match with private_key above>
EOF
```

## test

```sh
    yarn test
```
npm package: @polyjuice-provider/truffle
Description: this is a sub-module of @polyjuice-provider.
Author: RetricSu
Latest version: 0.1.5

# @polyjuice-provider/truffle

this is a sub-module of @polyjuice-provider.

## Install

```sh
yarn add @polyjuice-provider/truffle 
```

or

```sh
npm install --save @polyjuice-provider/truffle 
```

## Usage

read [docs here](../../docs/get-started.md#truffle)

## How to develop this module

build:

```sh
yarn build
```

before you can run test, you should run [godwoken-kicker](https://github.com/RetricSu/godwoken-kicker) and create an .test.env file with some godwoken-polyjuice config.

```sh
cat > ./.test.env <<EOF
WEB3_JSON_RPC=<godwoken web3 rpc>
ROLLUP_TYPE_HASH=<godwoken rollup type hash>
ETH_ACCOUNT_LOCK_CODE_HASH=<eth account lock code hash>
PRIVATE_KEY=<your eth test private key, do not use in production>
ETH_ADDRESS=<your eth test address, match with private_key above>
EOF
```

## test

```sh
    yarn test
```
npm package: @polyjuice-provider/web3
Description: this is a sub-module of @polyjuice-provider.
Author: RetricSu
Latest version: 0.1.5

# @polyjuice-provider/web3

this is a sub-module of @polyjuice-provider.

## Install

```sh
yarn add @polyjuice-provider/web3 
```

or

```sh
npm install --save @polyjuice-provider/web3 
```

## Usage

read [docs here](../../docs/get-started.md#web3)

## How to develop this module

build:

```sh
yarn build
```

before you can run test and an minimal example, you should run [godwoken-kicker](https://github.com/RetricSu/godwoken-kicker) and create an .test.env file with some godwoken-polyjuice config.

```sh
cat > ./.test.env <<EOF
WEB3_JSON_RPC=<godwoken-web3 rpc>
WEB3_WS_JSON_RPC=<godwoken-web3 websocket rpc>
ROLLUP_TYPE_HASH=<godwoken rollup type hash>
ETH_ACCOUNT_LOCK_CODE_HASH=<eth account lock code hash>
EXAMPLE_CONTRACT_ADDRESS=<an example test contract deployed address>
PRIVATE_KEY=<your eth test private key, do not use in production>
ETH_ADDRESS=<your eth test address, match with private_key above>
EOF
```

in order to get `EXAMPLE_CONTRACT_ADDRESS`, you should deploy [this test contract](https://github.com/RetricSu/simple-storage-v2) in godwoken-kicker.

## test

```sh
    yarn test
```

## start a minimal dapp example

```sh
    yarn example
```
npm package: @polylama-libs/eslint-config-polylama
Description: Eslint config for PolyLama
Author: RabbitDoge
Latest version: 1.0.0

# eslint-config-pancake

**This repository is not used anymore. See the [Pancake toolkit](https://github.com/pancakeswap/pancake-toolkit) instead**

Pancake Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @pancakeswap-libs/eslint-config-pancake
```

Add `"extends": "@pancakeswap-libs/eslint-config-pancake"` to your eslint config file.
npm package: @polylama-libs/uikit
Description: Set of UI components for PolyLama projects
Latest version: 0.15.2

# 🥞 PolyLama UIkit

**This repository is not used anymore. See the [https://github.com/polylama/polylama-toolkit](PolyLama toolkit) instead**

[![Version](https://img.shields.io/npm/v/@polylama-libs/uikit)](https://www.npmjs.com/package/@polylama-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@polylama-libs/uikit)](https://www.npmjs.com/package/@polylama-libs/uikit)

PolyLama UIkit is a set of React components and hooks used to build pages on PolyLama's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @polylama-libs/uikit`

## Setup

### Theme

Before using PolyLama UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@polylama-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@polylama-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://polylama.github.io/polylama-uikit/)
npm package: @polylama/sdk
Description: 🛠 An SDK for building applications on top of PolyLama.
Latest version: 1.0.6

# PolyLama SDK

Forked from the [Pancake Swap SDK](https://github.com/pancakeswap/pancake-swap-sdk).

You can refer to the Uniswap SDK documentation [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/PolyLama/polylama-sdk.git
```

Move into the polylama-sdk working directory

```sh
cd polylama-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: @polylama/token-lists
Description: This repo contains main PolyLamaSwap token list and tools to validate it.
Latest version: 2.17.10

# PolyLamaSwap Token Lists

This repo contains main PolyLamaSwap token list and tools to validate it.

## How to add external lists

URLs to external lists are stored in `token-lists.json`, if you want your list to be available on upcoming list UI page - submit a PR modifying `token-lists.json`.

## How to add new lists within this repository

- Add an array of tokens under `src/tokens`
- Add `checksum:newlistname`, `generate:newlistname`, `makelist:newlistname` command to `package.json` analogous to PolyLamaSwap default and extended list scripts.
- Modify `checksum.ts`, `buildList.ts`, `ci-check.ts`, and `default.test.ts` to handle new list

## How to add new tokens to PolyLamaSwap (extended) token list

Note - this is not something we expect pull requests for.  
Unless you've been specifically asked by someone from PCS team please do no submit PRs to be listed on default PCS list. You can still trade your tokens on PCS exchange by pasting your address into the token field.

- Add new tokens to `src/tokens/polylama-extended.json` file
- Run `yarn makelist:pcs-extended`
  - By default new list will have patch version number bumped by 1 (e.g. `2.0.1` -> `2.0.2`).
  - If you want to bump minor version add `minor` after makelist command `yarn makelist:pcs-extended minor`
  - If you want to bump major version add `major` after makelist command `yarn makelist:pcs-extended major`
- If tests pass - new token list will be created under `lists` directory

For list to be considered valid it need to satisfy the following criteria:

- It passes [token list schema](https://github.com/Uniswap/token-lists/blob/master/src/tokenlist.schema.json) validation (schema is [slightly modified](src/schema.ts))
- There are no duplicate addresses, symbols or token names in the list
- All addresses are valid and checksummed (`yarn checksum:pcs` automatically converts addresses to checksummed versions, it is also part of `yarn makelist:pcs`)

## How to update Top100 Token list

Note - this is not something we expect pull requests for.

```shell script
# Fetch the Top100 Tokens on PolyLamaSwap v2, and update list.
$ yarn fetch:pcs-top-100

# Build token list (polylama-top-100.json)
$ yarn makelist:pcs-top-100
```

## Deploying

Token lists will be auto-deployed via netlify when PR is merged to master. Be sure to build the list with `yarn makelist:list-name` before submitting/merging the PR since it doesn't make much sense building lists within Netlify (because most errors are related to wrong token information and should be fixed prior to landing into master)

Netlify simply takes the json files under `lists` directory and hosts them on `tokens.polylama.finance/list-name.json`
npm package: @polylama/uikit
Description: Set of UI components for polylama projects
Latest version: 0.44.3

# 🥞 PolyLama UIkit

[![Version](https://img.shields.io/npm/v/@polylama-libs/uikit)](https://www.npmjs.com/package/@polylama-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@polylama-libs/uikit)](https://www.npmjs.com/package/@polylama-libs/uikit)

PolyLama UIkit is a set of React components and hooks used to build pages on PolyLama's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @polylama-libs/uikit`

## Setup

### Theme

Before using PolyLama UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@polylama-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@polylama-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://polylama.github.io/polylama-uikit/)
npm package: @polym/a11y
Description: Collection of helpers for implementing React components with accessibility in mind
Author: tomixy
Latest version: 1.0.2

# @polym/a11y

**Collection of helpers for implementing React components with accessibility in mind**

## Install

```
npm i --save @polym/a11y
```

or

```
yarn add @polym/a11y
```

## VisuallyHidden

**Containers for elements that are visually obscured and whose presence is communicated only to the screen reader**

[Click here for full documentation and demo](https://tetracalibers.github.io/polym-a11y/?path=/docs/visuallyhidden-document--page)

### Usecase

```ts
import { VisuallyHidden } from '@polym/a11y'

export const NumberInput = () => {
  const [count, setCount] = useState<number>(0)

  return (
    <Root>
      <DecrementButton
        label="decrement"
        onClick={() => setCount((now) => now - 1)}
      />
      <input id="number-input" onChange={(e) => setCount(e.target.value)} />
      <label htmlFor="number-input">
        <VisuallyHidden>{label}</VisuallyHidden>
      </label>
      <IncrementButton
        label="increment"
        onClick={() => setCount((now) => now + 1)}
      />
      <VisuallyHidden role="status" aria-live="polite">
        {count}
      </VisuallyHidden>
    </Root>
  )
}
```

Even if you do not want the label to appear in the design, do not use `display:none;` to erase its existence.

Without labels, screen reader users have no way of knowing what the input field is.

```ts
<label htmlFor="number-input">
  <VisuallyHidden>{label}</VisuallyHidden>
</label>
```

The screen reader reads out changes in input values.

There is no need to display the numbers for this reading, which is where `VisuallyHidden` comes in.

```ts
<VisuallyHidden role="status" aria-live="polite">
  {count}
</VisuallyHidden>
```
npm package: @polym/semantic-htmldata
Description: Provides data on the attributes and content model of each HTML tag
Author: tomixy
Latest version: 1.0.1

# @polym/semantic-htmldata

## Install

```
npm i --save-dev @polym/semantic-htmldata
```

or

```
yarn add -D @polym/semantic-htmldata
```

## Usage

### Get attributes of HTML elements

```ts
import { attr, TagAttrMap } from '@polym/semantic-htmldata'

const anchorAttr = attr.a
type AnchorAttr = TagAttrMap['a']
```

The above code is synonymous with

```ts
const anchorAttr = [
  'href',
  'target',
  'download',
  'ping',
  'rel',
  'hreflang',
  'type',
  'referrerpolicy'
]
type AnchorAttr =
  | 'href'
  | 'target'
  | 'download'
  | 'ping'
  | 'ref'
  | 'hreflang'
  | 'type'
  | 'referrerpolicy'
```

### Compare attributes of two HTML elements

```ts
import { compareAttr, AttrDiff } from '@polym/semantic-htmldata'

// attr.a
const anchorAttr = compareAttr('a', 'button').full.a
// attr.button
const buttonAttr = compareAttr('a', 'button').full.button

// Attributes that are in the a tag but not in the button tag
const anchorOnlyAttr = compareAttr('a', 'button').only.a
// Attributes that are in the button tag but not in the a tag
const buttonOnlyAttr = compareAttr('a', 'button').only.button

// typeof anchorOnlyAttr
type AnchorOnlyAttr = AttrDiff<'a', 'button'>
// typeof buttonOnlyAttr
type ButtonOnlyAttr = AttrDiff<'button', 'a'>
```

### List of elements by content category

Both can be obtained as an array of tag name strings.

```ts
import { ContentModel } from '@polym/semantic-htmldata'

// Tags belonging to flow
const flow = ContentModel.flow
// Tags belonging to phrasing
const phrasing = ContentModel.phrasing
// Tags that belong to flow but are not phrasing
const flowOnly = ContentModel.flowNotPhrasing
// Tags belonging to phrasing only if they contain a phrasing element
const phrasingOnlyIfContainPhasing = ContentModel.phrasingOnlyIfContainPhasing
```
npm package: @polym/story-cssdata
Description: Data for storybook documentation of CSS control props for React components
Author: tomixy
Latest version: 0.0.3

# @polym/story-cssdata (alpha version)

This is a story definition utility for React components with CSS property control props.

You can get rid of the tedious argTypes definition with a single line of spread syntax!

## WARNING

This package is under development.

There are still some CSS properties that have not been documented.

## Install

```
npm i --save-dev @polym/story-cssdata
```

or

```
yarn add -D @polym/story-cssdata
```

## Usage

For example, `{...desc_CSS.height}` would be expanded as follows

```ts
{
  height: {
    "control": {
      "type": "text"
    },
    "options": [],
    "description": "Height of element",
    "table": {
      "category": "style",
      "subcategory": "Box Model",
      "type": {
        "summary": null
      },
      "defaultValue": {
        "detail": "auto"
      }
    }
  },
}
```

The actual `*.stories.*` file could use this.

```ts
import { desc_CSS } from '@polym/story-cssdata'

export default {
  title: 'MyComponent',
  component: MyComponent,
  parameters: {
    docs: {
      description: {
        component: 'this is original component'
      }
    }
  },
  argTypes: {
    // If the props name is 'height' and you adopt the default argType provided by this library
    ...desc_CSS.height,

    // If the props name is different from the CSS property or if you want to customize the content
    paddingValue: {
    ...desc_CSS.padding,
    control: {
      type: 'number'
    },
    description: 'custom description',
    table: {
      // Use CSS property classifications as categories
      ...desc_CSS.padding.table,
      defaultValue: {
        summary: 0, // my default value
        details: null
      }
    }
  },
}
```

To see what structure the resulting argTypes object has, [click here](https://github.com/tetracalibers/polym-story-cssdata/blob/main/src/data/css-prop-doc.json).