open-index/open-npm huggingface dataset:
npm package: @ragetrade/delta-neutral-gmx-vaults
Description: This repository contains the Delta Neutral GMX Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/4TdI-overview).
Latest version: 2.0.0

<p>
    <a href="https://github.com/RageTrade/vaults/actions"><img alt="test status" src="https://github.com/RageTrade/vaults/actions/workflows/tests.yml/badge.svg"></a>
    <a href="https://solidity.readthedocs.io/en/v0.8.17/"><img alt="solidity v0.8.13" src="https://badgen.net/badge/solidity/v0.8.17/blue"></a>
</p>

# Rage Trade Vaults

This repository contains the Delta Neutral GMX Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/4TdI-overview).

## Bug Bounty

This repository is subject to the Rage Trade Bug Bounty program, per the terms defined [here](./BUG_BOUNTY.md).

## Scripts:

- `yarn compile`: compiles contracts
- `yarn test`: runs tests
- `yarn coverage`: runs tests and generates coverage report
- `yarn deploy --network localhost`: for local deployment
- `yarn deploy --network arbtest`: for testnet deployment
- `yarn deploy --network arbmain`: for mainnet deployment

## Licensing

The license for respective source files are mentioned as SPDX License Identifiers.
npm package: @ragetrade/dn-lb-vault
Description: This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).
Latest version: 1.0.0-arbgoerli.3

<p>
    <a href="https://github.com/RageTrade/vaults/actions"><img alt="test status" src="https://github.com/RageTrade/vaults/actions/workflows/tests.yml/badge.svg"></a>
    <a href="https://solidity.readthedocs.io/en/v0.8.13/"><img alt="solidity v0.8.13" src="https://badgen.net/badge/solidity/v0.8.13/blue"></a>
</p>

# Rage Trade Vaults

This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).

## Bug Bounty

This repository is subject to the Rage Trade Bug Bounty program, per the terms defined [here](./BUG_BOUNTY.md).

## Scripts:

- `yarn compile`: compiles contracts
- `yarn test`: runs tests
- `yarn coverage`: runs tests and generates coverage report
- `yarn deploy --network localhost`: for local deployment
- `yarn deploy --network arbtest`: for testnet deployment
- `yarn deploy --network arbmain`: for mainnet deployment

## Licensing

The license for respective source files are mentioned as SPDX License Identifiers.
npm package: @ragetrade/gmx-vault
Description: This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).
Latest version: 1.0.1-arbgoerli.4

<p>
    <a href="https://github.com/RageTrade/vaults/actions"><img alt="test status" src="https://github.com/RageTrade/vaults/actions/workflows/tests.yml/badge.svg"></a>
    <a href="https://solidity.readthedocs.io/en/v0.8.13/"><img alt="solidity v0.8.13" src="https://badgen.net/badge/solidity/v0.8.13/blue"></a>
</p>

# Rage Trade Vaults

This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).

## Bug Bounty

This repository is subject to the Rage Trade Bug Bounty program, per the terms defined [here](./BUG_BOUNTY.md).

## Scripts:

- `yarn compile`: compiles contracts
- `yarn test`: runs tests
- `yarn coverage`: runs tests and generates coverage report
- `yarn deploy --network localhost --tags GmxVault`: for local deployment
- `yarn deploy --network arbgoerli --tags GmxVault`: for testnet deployment
- `yarn deploy --network arbmain --tags GmxVault`: for mainnet deployment

## Licensing

The license for respective source files are mentioned as SPDX License Identifiers.
npm package: @ragetrade/tricrypto-vault
Description: This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).
Latest version: 1.0.0-arbgoerli.5

<p>
    <a href="https://github.com/RageTrade/vaults/actions"><img alt="test status" src="https://github.com/RageTrade/vaults/actions/workflows/tests.yml/badge.svg"></a>
    <a href="https://solidity.readthedocs.io/en/v0.8.13/"><img alt="solidity v0.8.13" src="https://badgen.net/badge/solidity/v0.8.13/blue"></a>
</p>

# Rage Trade Vaults

This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).

## Bug Bounty

> Coming soon

## Scripts:

- `yarn compile`: compiles contracts
- `yarn test`: runs tests
- `yarn coverage`: runs tests and generates coverage report
- `yarn deploy --network localhost --tags TricryptoVault`: for local deployment
- `yarn deploy --network arbgoerli --tags TricryptoVault`: for testnet deployment
- `yarn deploy --network arbmain --tags TricryptoVault`: for mainnet deployment

## Licensing

This project is licensed under [GNU GENERAL PUBLIC LICENSE](./LICENSE).
npm package: @ragetrade/vaults
Description: This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).
Latest version: 1.0.1
Deprecated: Please use @ragetrade/tricrypto-vault or @ragetrade/gmx-vault

<p>
    <a href="https://github.com/RageTrade/vaults/actions"><img alt="test status" src="https://github.com/RageTrade/vaults/actions/workflows/tests.yml/badge.svg"></a>
    <a href="https://solidity.readthedocs.io/en/v0.8.13/"><img alt="solidity v0.8.13" src="https://badgen.net/badge/solidity/v0.8.13/blue"></a>
</p>

# Rage Trade Vaults

This repository contains the 80-20 Curve TriCrypto Vault smart contracts for the Rage Trade Protocol. You can find more info in the [docs](https://docs.rage.trade/80-20-vaults).

## Bug Bounty

> Coming soon

## Scripts:

- `yarn compile`: compiles contracts
- `yarn test`: runs tests
- `yarn coverage`: runs tests and generates coverage report
- `yarn deploy --network localhost`: for local deployment
- `yarn deploy --network arbtest`: for testnet deployment
- `yarn deploy --network arbmain`: for mainnet deployment

## Licensing

This project is licensed under [GNU GENERAL PUBLIC LICENSE](./LICENSE).
npm package: @ragg/fleur
Description: An Fully-typed Flux framework inspired by Fluxible. Runs on Node / Web.
Author: Ragg
Latest version: 0.0.17
Deprecated: @ragg/fleur is deprecated, use @fleur/fleur instead

# 🌼 Fleur 🌼 [![npm version](https://badge.fury.io/js/%40ragg%2Ffleur.svg)](https://www.npmjs.com/package/@ragg/fleur) [![travis](https://travis-ci.org/ra-gg/fleur.svg?branch=master)](https://travis-ci.org/ra-gg/fleur)
An Fully-typed Flux framework inspired by Fluxible.
Runs on Node / Web.

(No dependence to React. see [this](https://www.npmjs.com/package/@ragg/fleur-react) if you want to use with React.)

## Example

``` typescript
// actions.ts (Action typings)
import { action } from '@ragg/fleur'

export const CounterActions = actions('CounterAction', {
    increase: action<{ amount: number }>(),
    decrease: action<{ amount: number }>(),
}
```

``` typescript
// store.ts (Store)
import { listen, Store } from '@ragg/fleur'
import { CounterActions } from './actions.ts'

export default class SomeStore extends Store {
    public state: { count: number } = { count: 0 }

    private handleIncrease = listen(CounterActions.increase, (payload) => {
        // `this.updateWith` is immutable changing `this.state` with `immer.js`
        this.updateWith(draft => draft.count += payload.amount)
    })

    private handleDecrease = listen(CounterActions.decrease, (payload) => {
        this.updateWith(draft => draft.count -= payload.amount)
    })

    public getCount() {
        return this.state.count
    }
}
```

``` typescript
// operations.ts (Action Creator)
import { operation } from '@ragg/fleur'
import { CounterActions } from './actions.ts'

export const increaseOperation = operation((ctx, { amount }: { amount: number }) => {
    ctx.dispatch(CounterActions.increase, { amount })
})

export const decreaseOperation = operation((ctx, { amount }: { amount: number }) => {
    ctx.dispatch(CounterActions.decrease, { amount })
})
```

``` typescript
// app.ts
import Fleur from '@ragg/fleur'
import SomeStore from './store.ts'

const app = new Fleur({
    stores: [SomeStore],
})

const ctx = app.createContext()
ctx.executeOperation(increaseOperation, { amount: 10 })
console.log(ctx.getStore(SomeStore).getCount()) // => 10
```

## How to use with React?
See [`@ragg/fleur-react`](https://www.npmjs.com/package/@ragg/fleur-react).
npm package: @ragg/fleur-di
Description: Simply DI container without any dependency for TypeScript
Author: Ragg
Latest version: 1.0.2
Deprecated: @ragg/fleur-di is deprecated, use @fleur/di instead

# 🌼 fleur-di 💉 [![npm version](https://badge.fury.io/js/%40ragg%2Ffleur-di.svg)](https://www.npmjs.com/package/@ragg/fleur-di) [![travis](https://travis-ci.org/ra-gg/fleur.svg?branch=master)](https://travis-ci.org/ra-gg/fleur)

Simply DI container without any dependency for TypeScript

## Example

```typescript
import { inject } from '@ragg/fleur-di'
import { getUser } from './api'

const fetchUser = inject({ getUser })(
  (injects) => async (userId: string) => {
    await injects.getUser(userId)
  },
)

// Fetch user data
await fetchUser('1')

// Inject mock
const getUserMock = async (userId: string) => ({ id: userId })
await fetchUser.inject({ getUser: getUserMock }).exec('1')

// with redux-thunk
export const fetchUserAction = inject({ getUser })(
  (injects) => (userId: string) => async (dispatch, getState) => {
    const user = await injects.getUser(userId)
    dispatch({ type: 'FETCH_USER_SUCCESS', payload: user })
  },
)

// in tests
dispatch(fetchUserAction.inject({ getUser: getUserMock }).exec('1'))
```
npm package: @ragg/fleur-react
Description: `@ragg/fleur` connector for React. (See [`@ragg/fleur`](https://www.npmjs.com/package/@ragg/fleur) for basic usage.)
Author: ragg
Latest version: 0.0.19
Deprecated: @ragg/fleur-react is deprecated, use @fleur/fleur-react instead

# 🌼 fleur-react ⚛️ [![npm version](https://badge.fury.io/js/%40ragg%2Ffleur-react.svg)](https://www.npmjs.com/package/@ragg/fleur-react) [![travis](https://travis-ci.org/ra-gg/fleur.svg?branch=master)](https://travis-ci.org/ra-gg/fleur)

`@ragg/fleur` connector for React.
(See [`@ragg/fleur`](https://www.npmjs.com/package/@ragg/fleur) for basic usage.)

## Example

Hooks style:

```tsx
// ./components/AppRoot.tsx
import React, { useCallback } from 'react'
import { useComponentContext, useStore } from '@ragg/fleur-react'
import { increaseOp } from './operations'

export const AppRoot = props => {
  const context = useComponentContext()

  const { count } = useStore([CountStore], getStore => ({
    count: getStore(CountStore).getCount(),
  }))

  const handleCountClick = useCallback(() => {
    context.executeOperation(increaseOp)
  }, [])

  return <div onClick={handleCountClick}>{count}</div>
}
```

Class style:

```tsx
// ./components/AppRoot.tsx

import React from 'react'

import {
  createElementWithContext,
  connectToStores,
  withComponentContext,
} from '@ragg/fleur-react'
import { increaseOp } from './operations'
import CountStore from './stores/CountStore'

export default withComponentContext(
  // pick Props from Store with `connectToStores()`
  connectToStores([CountStore], getStore => ({
    count: getStore(CountStore).getCount(),
  }))(
    class AppRoot extends React.PureComponent {
      private handleCountClick = () => {
        // ** `this.props.{executeOperation, getStore}` provide by `withComponentContext()`
        this.props.executeOperation(increaseOp)
      }

      render() {
        return <div onClick={this.handleCountClick}>{this.props.count}</div>
      }
    },
  ),
)
```

```tsx
import Fleur, { Store, listen, operation, action } from '@ragg/fleur'
import { createElementWithContext, FleurContext } from '@ragg/fleur-react'
import AppRoot from './components/AppRoot'
import CountStore from './stores/CountStore'

const app = new Fleur({ stores: [ CountStore ] })

const context = app.createContext()
ReactDOM.render(<FleurContext value={context}><AppRoot /></FluerContext>, {})
```
npm package: @ragg/fleur-route-store
Description: Router for fleur
Author: Ragg
Latest version: 0.0.1
Deprecated: Use `@ragg/fleur-route-store-dom` instead

# fleur-route-store
fluxible-route inspired router for [fleur](https://www.npmjs.com/package/@ragg/fleur)

## Usage

``` tsx
// RouteStore.ts
import * as Loadable from 'react-loadable'
import { withStaticRoutes, Route } from '@ragg/fleur-route-store'
import { fetchUserSession, fetchArticle } from './operations'

export default withStaticRoutes({
    articleShow: {
        path: '/article/:id',
        action: (context, route: Route) => Promise.all([
            context.executeOperation(fetchUserSession, {}),
            context.executeOperation(fetchArticle, { id: route.param.id })
        ])
        handler: Loadable({ loader: () => import('./ArticleContainer') }),
        meta: {
            noHeader: true,
        },
    }
})

// App.ts
import { connectToStores, withComponentContext, ContextProp } from '@ragg/fleur-react'
import { RouteStore } from './RouteStore'

type Props = {
    route: Route | null
} & ContextProp

export default withComponentContext(
    connectToStores([ RouteStore ], (context) => ({
        // get routed route
        route: context.getStore(RouteStore).getCurrentRoute()
    }))
)(class App extends React.Component<Props> {
    render() {
        const routeStore = this.props.context.getStore(RouteStore)

        const { route } = this.props
        const Handler = route ? route.handler : null

        return (
            <html>
                <head>
                    {/* heading... */}
                </head>
                <body>
                    <div>
                        {/* get .meta property from route.meta */}
                        {!route.meta.noHeader && <header />}

                        {/* mount Handler component here */}
                        {handler && <Handler />}

                        {/* URL Builder */}
                        <a href={routeStore.makePath('articleShow', { id: 100 })}>
                            Jump to Article
                        </a>
                    </div>
                </body>
            </html>
        )
    }
})

// server.ts
import Fleur from '@ragg/fleur'
import { navigateOperation } from '@ragg/fleur-route-store'
import express from 'express'
import RouteStore, from './RouteStore'
import App from './App'

const server = express()
const app = new Fleur({ stores: [ RouteStore ] })

server.use((req) => {
    const context = req.context = app.createContext();

    context.executeOperation(navigateOperation, {
        url: req.url,
        method: req.method
    })
})

server.use((req, res) => {
    res.write('<!doctype html>')
    res.write(
        ReactDOM.renderToString(
            createElementWithContext(req.context, App, {})
        )
    )
})

```
npm package: @ragg/fluer-test
Description: Test utils for fleurs
Author: Ragg
Latest version: 0.1.2
Deprecated: @ragg/fluer-test is deprecated, use @fleur/test-utils instead

# 🌼 fleur-test 🌼 [![npm version](https://badge.fury.io/js/%40ragg%2Ffleur-test.svg)](https://www.npmjs.com/package/@ragg/fleur-test) [![travis](https://travis-ci.org/ra-gg/fleur.svg?branch=master)](https://travis-ci.org/ra-gg/fleur)

Test utils for fleurs

## Example

See [this spec](./src/mockOperationContext.spec.ts)
npm package: @ragg/inline-attachment
Description: Adds upload functionality to a textarea instance by either drag-dropping or pasting (only in chrome) an image inside it.
Latest version: 5.0.2

# Inline Attachment 5.0.2 [![Master Branch Build Status](https://api.travis-ci.org/ra-gg/InlineAttachment.png?branch=master)](http://travis-ci.org/ra-gg/InlineAttachment)

Adds upload functionality to a textarea instance by either drag-dropping or pasting (only in chrome) an image inside it.

It's similar to pasting images in Github.

![demo](https://f.cloud.github.com/assets/21/678/248aac6a-40a2-11e2-9a76-fd59ded28bbe.gif)

## Supported

* Input and textarea
* jQuery
* CodeMirror 3
* CodeMirror 4
* Angular 1

## Getting started

The latest versions are available [here](https://github.com/ra-gg/InlineAttachment/tree/master/dist)

**NPM**

The package can be installed using [NPM](https://www.npmjs.com)

```
npm install @ragg/inline-attachment
```

## Documentation

Documentation can be found on [ReadTheDocs](http://inlineattachment.readthedocs.org/en/latest/)

## Handling image uploads

The Demo folder contains an example in PHP on how to handle uploads.

## Build

To build the project you need node, npm and gulp installed. These tools can be installed on Ubuntu as follows:

Follow the Node.js guide: [Node.js installation](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager)

Go to the project folder and run the following:

```sh
npm install
npm build
```

This should build the project and the files will appear in the `dist/` folder

## Changelog

[See Github releases](https://github.com/ra-gg/InlineAttachment/releases)
npm package: @ragg/rektia
Description: A strong typed Node.js backend framework
Author: Ragg-
Latest version: 0.0.0

# Raktia
A strong typed Node.js backend framework

<!--
# Install
```
npm install -g rektia
```
-->

# License
maya.js licensed under `MIT License`.
See [LICENSE](https://github.com/Ragg-/maya.js/blob/master/LICENSE).
npm package: @raggesilver/field-encryption
Description: A simple MongooseSchema field encryption plugin
Author: Paulo Queiroz
Latest version: 1.1.1

# Field Encryption

Zero-dep encryption library for Mongoose schemas.

## Install

```bash
yarn add @raggesilver/field-encryption
# or npm i @raggesilver/field-encryption # if you're into that
```

## Use

```javascript
const mongoose = require('mongoose');
const fieldEncryption = require('@raggesilver/field-encryption');

const schema = new mongoose.Schema({
  name: String,
  documents: {
    ssn: String,
  },
  address: String,
});

schema.plugin(fieldEncryption, {
  // Secret used to encrypt/decrypt data
  secret: 'MY_SUPER_SECRET',
  // These fields will be encrypted
  fields: ['documents.ssn', 'address'],
});

const model = mongoose.model('user', schema);
```

Encryption and decryption are automatic, when you `.save()` a document the
right fields will be encrypted and sent to the database (same goes for update
queries). Upon fetch all encrypted fields will be decrypted.

Field Encryption will also add two **methods** to your documents: `.encrypt()`
and `.decrypt()`. You don't need to use these functions for anything, unless
you want the local document to be encrypted (`.encrypt()`), then to undo the
local encryption (`.decrypt()`).

# Credits

This library is mostly derivative work from
[mongoose-field-encryption](https://github.com/wheresvic/mongoose-field-encryption).
It's reason to exist is that `mongoose-field-encryption` doesn't handle nested
fields.
npm package: @raggesilver/not-jquery
Description: A simple jQuery-inspired library for DOM manipulation.
Author: Paulo Queiroz
Latest version: 0.0.5

# not-jquery

This is a simple, jQuery-inspired library for manipulating the DOM. It is a work
in progress and is not intended to be a full replacement for jQuery. It is
intended to be a lightweight alternative for simple DOM manipulation for
projects I'm not allowed to use frameworks in.

## How to Use

not-jquery currently needs to be bundled in a project to be used — that means
you must use Vite, Webpack, Rollup, or another bundler of your preference.

### jQuery-inspired API

```ts
import { $ } from "@raggesilver/not-jquery";

$("button").el; // returns the first button element

// You can easily add event listeners to elements.
$("button").on("click", () => {
  console.log("Button clicked!");
});

$("button").hide(); // adds inline style display: none to the button

$("button").show(); // removes inline style display: none from the button

$("button").html("<span>Click Me</span>"); // change button's innerHTML
```

### Framework-inspired API

```ts
// The reactiveList method allows you to bind an array to a root DOM element.
// Adding or removing elements from the array will automatically update the DOM.
//
// This function returns the reactive array.
const myArray = $.reactiveList(
  // List root element
  $("#list").el,
  // Item identifier. This is used to track changes in the array. This must be
  // a property present on every item in the array.
  "id",
  // Callback to create a DOM element for each item in the array.
  (item, index) => {
    const li = document.createElement("li");
    li.textContent = item.name;
    return li;
  },
  // (optional) initial items
  [
    { id: 1, name: "Ederth" },
    { id: 2, name: "Ragge Silver" },
  ],
);

// The initial items are appended to the DOM as soon as the function is called.
// From then on, items will be appended to or removed from the DOM when you call
// `push`, `pop`, `unshift`, or `splice` on the reactive array.

// This will add a new item to the array, which will be appended to the DOM.
myArray.push({ id: 3, name: "John Doe" });

// This will remove the second item from the array and the DOM.
myArray.splice(1, 1);
```
npm package: @raghavp/gen-commit
Description: Auto-generate git commit messages using AI
Author: Raghav Pillai
Latest version: 2.0.2

# Gen Commit

**Gen Commit** uses LLMs to automatically generate git commit messages. I'm lazy and don't like to write commit messages. Inspired by [scommit](https://github.com/Globe-Engineer/semantic-commit).

<p align="center">
  <img src="assets/logs.png" alt="Wow!" width="300" height="auto">
</p>

---

## Usage

**gencommit** works exactly like git commit, but it generates the commit message and description for you.

```bash
gencommit
```

is the same as

```bash
git commit -m "..." -m "..."
```

but with a generated commit message.

You can also pass in the same arguments as git commit.

```bash
gencommit -a
```

is the same as

```bash
git commit -a -m "..." -m "..."
```

I recommend aliasing it, personally I alias it to `gc`. You can do this by adding the following to your shell configuration file (`.zshrc`, `.bashrc`, etc.)

```bash
alias gc="gencommit"
```

## Installation

```bash
npm install -g @raghavp/gen-commit
```

### Initialization

Once you have it installed, initialize gencommit

```bash
gencommit --init
```

Go to `~/.gen-commit` and add your OpenAI, Anthropic, or Google API key.

### Configuration

```bash
MODEL=<provider:model (i.e. openai:gpt-5-mini, anthropic:claude-haiku-4-5, or google:gemini-2.5-flash-lite)>
OPENAI_API_KEY=<your openai api key>
ANTHROPIC_API_KEY=<your anthropic api key>
GOOGLE_API_KEY=<your google api key>
```

OPTIONAL:

```
MAX_TOKENS_ALLOWED=<number>
```