open-index/open-npm huggingface dataset:
npm package: @grapp/wave
Description: Bring the power of reactive programming to your React applications.
Author: Marcin Dziewulski
Latest version: 0.2.2

# Wave &middot; [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/grapp-dev/wave/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@grapp/wave.svg?style=flat-square&amp;logo=npm)](https://www.npmjs.com/package/@grapp/wave)

<img src="https://raw.githubusercontent.com/grapp-dev/wave/main/assets/wave-logo.png" alt="Bring the power of reactive programming to your React applications." align="right" width="100" height="100">

> Wave is a reactive programming library powered by the [Wonka](https://github.com/0no-co/wonka) library that seamlessly combines React hooks with Wonka sources and operators. It bridges the gap between React's declarative approach and the functional reactive programming paradigm.

Wave provides a comprehensive set of hooks to bring the power of reactive programming to your React applications seamlessly. With Wave, you can easily create reactive updates for your UI components based on changing data streams. Whether you're building a simple or complex React app, Wave can help you create a highly responsive and interactive UI.

## Documentation

Full documentation can be found [here](https://wave.grapp.dev).

## Installation

To install Wave, you should use your preferred package manager.

```shell
bun add @grapp/wave
```

```shell
pnpm add @grapp/wave
```

```shell
yarn add @grapp/wave
```

```shell
npm install @grapp/wave --save
```

## Discord

Join [Discord](https://discord.gg/DhS6neVJBK) to get involved with the community, ask questions, and share tips.

## License

The MIT License.

See [LICENSE](LICENSE)
npm package: @grappafinance/grappa-contracts
Description: option protocol built with forge template
Author: antoncoding
Latest version: 1.1.1

<div align="center">
  <h1 > Grappa</h1>
  <h3 style="font-size:2.2vw;color:grey">
  An option protocol that focus on composability and capital efficiency.
  </h3>
  <img height=60 src="https://i.imgur.com/vSIO8xJ.png"> </image>
  <br/>
  <br/>
  <a href="https://github.com/foundry-rs/foundry"><img src="https://img.shields.io/static/v1?label=foundry-rs&message=foundry&color=blue&logo=github"/></a>
  <a href=https://github.com/antoncoding/grappa/actions/workflows/Slither.yml""><img src="https://github.com/antoncoding/grappa/actions/workflows/Slither.yml/badge.svg?branch=master" > </a>
  <a href=https://github.com/grappafinance/core/actions/workflows/CI.yml""><img src="https://github.com/grappafinance/core/actions/workflows/CI.yml/badge.svg?branch=master"> </a>

  <!-- reopen coverage badge again after foundry official launch coverage -->
  <a href="https://codecov.io/gh/grappafinance/core" >
<img src="https://codecov.io/gh/grappafinance/core/branch/master/graph/badge.svg?token=G52EOD1X5B"/>
</a>
  <h5 align="center"> Don't waste your capital.</h5>
  
</div>


## Introduction

This is the repository of the core component of Grappa, which is a decentralized settlement layer for options and spreads.

In our design, a option (derivative) token can be created by different **margin engine**. Users with different risk tolerance can choose among different engines based on gas cost, capital efficiency and risk of liquidation.

We also natively support call spread and put spread that can increase capital efficiency by a lot while being fully collateralized.


## Documentation

For detailed documentation about how the system architecture is designed, please visit [docs](./docs/)

## Get Started

```shell
forge build
forge test
```

For auto linting and running gas snapshot, you will also need to setup npm environment, and install husky hooks

```shell
# install yarn dependencies
yarn
# install hooks
npx husky install
```

### Test locally

```shell
forge test
```

### Run Coverage

```shell
forge coverage
```

### Linting

```shell
forge fmt
```


### Deployment

Simulate deployment for launch

```shell
forge script script/deploy-launch.sol --private-key <your PK> --fork-url <RPC-endpoint> 
```
## Run Slither

installation

```shell
pip3 install slither-analyzer
pip3 install solc-select
solc-select install 0.8.13
solc-select use 0.8.13
```

Run analysis

```shell
slither ./src/core/FullMargin
slither ./src/core/
```


## Install Grappa into your project

With hardhat

```shell
yarn add @grappafinance/grappa-contracts

// or

npm install @grappafinance/grappa-contracts
```

With Foundry

```shell
forge install grappafinance/core
```

Then you will be able to import the libraries or contract interface

```solidity
pragma solidity ^0.8.0;

import "@grappafinance/grappa-contracts/src/libraries/ActionUtil.sol";

```