open-index/open-npm huggingface dataset:
npm package: @renproject/mock-provider
Description: This package is part of [RenJS](https://github.com/renproject.ren-js).
Author: Ren
Latest version: 3.5.2

# `@renproject/mock-provider`

This package is part of [RenJS](https://github.com/renproject.ren-js).

See [`@renproject/mock-provider` docs](https://renproject.github.io/ren-js-v3-docs/modules/_renproject_mock_provider.html)
npm package: @renproject/multiwallet-abstract-ethereum-connector
Description: This package implements common functions that ethereum based wallets use, and should specify the shape of the provider that Multiwallet connectors should provide.
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-abstract-ethereum-connector`

This package implements common functions that ethereum based wallets use, and should specify the shape of the provider that Multiwallet connectors should provide.
npm package: @renproject/multiwallet-base-connector
Description: This package specifies the base interface required for a connector to expose in order to provide wallet support for the chains defined in `@renproject/chains`.
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-base-connector`

This package specifies the base interface required for a connector to expose in order to provide wallet support for the chains defined in `@renproject/chains`.

It wraps and emits events in a standard manner to update consumers on when a wallet has been connected, updates to the accounts that it has access to, and whether an error or disconnection event has ocurred.
npm package: @renproject/multiwallet-ethereum-injected-connector
Description: This package provides a connector for metamask-like ethereum injected providers.
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-ethereum-injected-connector`

This package provides a connector for metamask-like ethereum injected providers.

## Usage

```ts
const connector = new EthereumInjectedConnector({ debug: true });
```

### Parameters

| parameter | type    | description          |
| --------- | ------- | -------------------- |
| debug     | boolean | Print debug messages |
npm package: @renproject/multiwallet-ethereum-mewconnect-connector
Description: This package provides a connector for the MEW mobile application
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-ethereum-mewconnect-connector`

This package provides a connector for the MEW mobile application

## Usage

```ts
new EthereumMEWConnectConnector({
    rpc: {
        1: `wss://mainnet.infura.io/ws/v3/${process.env.REACT_APP_INFURA_KEY}`,
    },
    chainId: 1,
    debug: true,
});
```

Note, must be served on an HTTPS connection in order to work, so local-host testing can be problematic.

### Parameters

| parameter | type                | description                                        |
| --------- | ------------------- | -------------------------------------------------- |
| debug     | boolean             | Print debug messages                               |
| chainId   | integer             | Which chain to connect to (currently Mainnet only) |
| rpc       | { integer: string } | A map of chain ids to Websocket RPC URLs           |
npm package: @renproject/multiwallet-ethereum-walletconnect-connector
Description: This package provides a connector for WalletConnect mobile wallets.
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-ethereum-walletconnect-connector`

This package provides a connector for WalletConnect mobile wallets.

## Usage

```ts
new EthereumWalletConnectConnector({
    rpc: {
        // Note, many WalletConnect wallets don't support non-mainnet networks
        // Metamask Mobile has been tested and confirmed to work however
        42: `https://kovan.infura.io/v3/${process.env.REACT_APP_INFURA_KEY}`,
    },
    qrcode: true,
    debug: true,
});
```

### Parameters

| parameter | type                | description                              |
| --------- | ------------------- | ---------------------------------------- |
| debug     | boolean             | Print debug messages                     |
| rpc       | { integer: string } | A map of chain ids to Websocket RPC URLs |
| qrcode    | boolean             | Whether to show a qrcode modal           |
npm package: @renproject/multiwallet-solana-connector
Description: This package implements a multiconnector for Solana wallets supported by https://github.com/project-serum/sol-wallet-adapter
Author: Ren
Latest version: 2.6.0

# `@renproject/multiwallet-solana-connector`

This package implements a multiconnector for Solana wallets supported by https://github.com/project-serum/sol-wallet-adapter
npm package: @renproject/provider
Description: Official Ren JavaScript client
Author: Ren
Latest version: 3.5.2

# `@renproject/provider`

This package is part of [RenJS](https://github.com/renproject.ren-js).

See [`@renproject/provider` docs](https://renproject.github.io/ren-js-v3-docs/modules/_renproject_provider.html)
npm package: @renproject/ren
Description: Official Ren JavaScript SDK for bridging crypto assets cross-chain.
Author: Ren
Latest version: 3.5.2

# `🛠️ ren-js`

[![Version](https://img.shields.io/npm/v/@renproject/ren)](https://www.npmjs.com/package/@renproject/ren)

The official Javascript SDK for interacting with [RenVM](https://renproject.io).

```sh
yarn add @renproject/ren @renproject/chains
```

## Docs

See [Ren Client Docs](https://renproject.github.io/ren-client-docs/ren-js/)

## RenJS v3

RenJS v3 is currently available as an alpha release:

```sh
yarn add @renproject/ren @renproject/chains
```

[RenJS v3 Docs](https://renproject.github.io/ren-client-docs/ren-js/ren-js-v3) (WIP)

## Changelog

See the [Releases page](https://github.com/renproject/ren-js/releases).

## Package list

-   [`ren`](./packages/ren) - Javascript SDK for interacting with RenVM.
-   [`provider`](./packages/provider) - JSON-RPC provider.
-   [`utils`](./packages/utils) - Helper functions used by the other packages.
-   [`mock-provider`](./packages/mock-provider) - For testing locally with Ganache/Hardhat
-   chains, for enabling support for blockchains and assets:
-   -   [`chains-bitcoin`](./packages/chains/chains-bitcoin) - Bitcoin and Bitcoin forks
-   -   [`chains-ethereum`](./packages/chains/chains-ethereum) - Ethereum and other EVM chains
-   -   [`chains-terra`](./packages/chains/chains-terra) - Terra/LUNA
-   -   [`chains-filecoin`](./packages/chains/chains-filecoin) - Filecoin
-   -   [`chains-solana`](./packages/chains/chains-solana) - Solana
-   -   [`chains`](./packages/chains/chains) - Combines all of the above chains into one package

<hr />

<details>
<summary>Developer docs - click to expand</summary>

<br />

## Developing locally

```sh
# Clone repository
git clone git@github.com:renproject/ren-js.git && cd ren-js

# Install dependencies
yarn

# Build every package
yarn run build
```

## Linking

If you want to use your local version of RenJS in another repository, run

```sh
# In the ren-js repository
yarn run link:all
```

You can now link it to any other local repository by running:

```sh
# In other local repositories
yarn link @renproject/ren @renproject/chains @renproject/utils @renproject/provider
```

## Running tests

You'll need to:

1. Generate a mnemonic and send ETH (goerli for testnet) (path: `m/44'/60'/0'/0/`).
    - `let w = require("ethers").Wallet.createRandom(); console.debug(w.address, w.mnemonic.phrase);`
2. Generate a private key and send testnet crypto funds.
    - `require("send-crypto").newPrivateKey();`
3. Optionally generate an [Infura](https://infura.io) API key.

Create a `.env` file which contains the following exported variables:

```sh
export MNEMONIC="your mnemonic here"
export TESTNET_PRIVATE_KEY="your bitcoin private key"

# Optional
export INFURA_KEY="your infura key"
```

To run the tests:

```sh
yarn run test
```

</details>
npm package: @renproject/ren-js-common
Description: GatewayJS allows dApp to easily and securely integrate with RenVM
Latest version: 0.1.14

# `ren-js-common`

Types and utils that are shared across RenJS, GatewayJS and gateway.renproject.io.

# Documentation

## [All Documentation](https://renproject.github.io/ren-js-common/globals.html)

### Utils

* [PromiEvent](https://renproject.github.io/ren-js-common/globals.html#promievent) - A fork of Web3's PromiEvent with some improvements.
* [Ox](https://renproject.github.io/ren-js-common/globals.html#ox), [strip0x](https://renproject.github.io/ren-js-common/globals.html#ox), [randomBytes](https://renproject.github.io/ren-js-common/globals.html#randombytes), [sleep](https://renproject.github.io/ren-js-common/globals.html#sleep), [NULL](https://renproject.github.io/ren-js-common/globals.html#null)
* RenJS's [abiToParams](https://renproject.github.io/ren-js-common/globals.html#abiToParams)

### Types

* RenJS's [ShiftInParams](https://renproject.github.io/ren-js-common/globals.html#shiftparams) and [ShiftOutParams](https://renproject.github.io/ren-js-common/globals.html#shiftparams)
npm package: @renproject/utils
Description: This package is part of [RenJS](https://github.com/renproject.ren-js).
Author: Ren
Latest version: 3.5.2

# `@renproject/utils`

This package is part of [RenJS](https://github.com/renproject.ren-js).

See [`@renproject/utils` docs](https://renproject.github.io/ren-js-v3-docs/modules/_renproject_utils.html)
npm package: @renpwn/fb-downloader
Description: Downloads HD videos from Facebook (forked & updated to Axios v1.13.2).
Author: REN PWN
Latest version: 1.0.16

# fb-downloader v1.0.16

#### Download HD videos from Facebook (Axios 1.13.2)

##### Maintained & Forked By

<strong style="font-size: 32px">[@renpwn](https://github.com/renpwn)</strong>

<br/>

Originally developed by:

* **TIKAM CHAND MEGHWANSHI**
* **RFS-ADRENO / XaviaBot**

This package is a **fork & maintained version** of `@xaviabot/fb-downloader`, updated to use **Axios v1.13.2 (locked)** for better stability and long-term compatibility.

The library provides a simple JavaScript API to extract **SD & HD Facebook video URLs**, title, and thumbnail.

✔ Promise-based
✔ Axios 1.x compatible
✔ Node.js ≥ 16 recommended
✔ MIT License

---

## 📦 Installation

```sh
npm install @renpwn/fb-downloader
```

---

## 🚀 Usage Example

### CommonJS

```js
const getFBInfo = require("@renpwn/fb-downloader");

getFBInfo("https://www.facebook.com/watch?v=272591278381388")
  .then((result) => console.log("Result:", result))
  .catch((error) => console.log("Error:", error));
```

---

### ES Module

```js
import getFBInfo from "@renpwn/fb-downloader";

const result = await getFBInfo(
  "https://www.facebook.com/watch?v=272591278381388"
);

console.log(result);
```

---

### Async / Await

```js
async function printFBInfo() {
  try {
    const result = await getFBInfo(
      "https://www.facebook.com/watch?v=272591278381388"
    );
    console.log("Result:", result);
  } catch (error) {
    console.error("Error:", error);
  }
}

printFBInfo();
```

---

## 🍪 Cookies & User-Agent (Optional)

For **private / age-restricted videos**, pass Facebook cookies and user-agent:

```js
const cookies = "your-facebook-cookies";
const userAgent = "your-user-agent";

getFBInfo(
  "https://www.facebook.com/watch?v=272591278381388",
  cookies,
  userAgent
)
  .then(console.log)
  .catch(console.error);
```

---

## 📤 Output Format

```json
{
  "url": "https://www.facebook.com/watch?v=272591278381388",
  "sd": "https://video.fbcdn.net/....mp4",
  "hd": "https://scontent.fbcdn.net/....mp4",
  "title": "Date Gone Wrong 😆🤦‍♂️",
  "thumbnail": "https://scontent.fbcdn.net/....jpg"
}
```

---

## 🔒 Dependency Policy

This package **locks Axios version** to avoid breaking changes:

```json
"axios": "1.13.2"
```

---

## ⚠️ Notes & Limitations

* ❌ Live videos not supported
* ❌ Some private videos may fail without cookies
* ⚠️ Facebook may change markup at any time

---

## 📜 License

MIT License
Original work by **TIKAM CHAND MEGHWANSHI** & **RFS-ADRENO**
Maintained & updated by **@renpwn**

---

## ⭐ Credits

* Original repo: [https://github.com/RFS-ADRENO/fb-downloader](https://github.com/RFS-ADRENO/fb-downloader)
* Axios: [https://github.com/axios/axios](https://github.com/axios/axios)
npm package: @renpy/ast
Description: Syntax parsing for the Ren'Py language
Author: Sky Leite
Latest version: 0.1.0

# Ren'Py AST

Library for parsing an abstract syntax tree from an `.rpy` file. Extracted from https://github.com/renpy/vscode-language-renpy.

## Usage

``` typescript
import { parseFile } from "@renpy/ast";

const { document, nodes } = await parseFile("screens.rpy");

nodes.forEach(node => console.log(node));
```