open-index/open-npm huggingface dataset:
npm package: @skalable-finance/eslint-config-skalable
Description: Eslint config for Skalable
Latest version: 0.0.1

# eslint-config-skalable

Skalable Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @skalable-libs/eslint-config-skalable
```

Add `"extends": "@skalable-libs/eslint-config-skalable"` to your eslint config file.
npm package: @skalable-finance/sdk
Description: 🛠 An SDK for building applications on top of Skalable.
Latest version: 0.0.1

# Skalable SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

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/skalable-finance/skalable-sdk.git
```

Move into the skalable-sdk working directory

```sh
cd skalable-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: @skalable-finance/uikit
Description: Set of UI components for Skalable projects
Latest version: 0.0.1

# Skalable UIkit

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

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

## Install

`yarn add skalable-uikit`

## Setup

### Theme

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

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

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from 'skalable-uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.
npm package: @skalable/sdk
Description: 🛠 An SDK for building applications on top of Crosswise.
Latest version: 0.0.4

# Crosswise SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

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/crosswise-finance/crosswise-sdk.git
```

Move into the crosswise-sdk working directory

```sh
cd crosswise-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: @skalaio/node
Description: Skala abuse scoring SDK for Node and Bun
Latest version: 0.2.1

# Skala Node SDK

TypeScript SDK for the [Skala](https://github.com/SKALA-sec/SKALA-TS-SDK) abuse scoring API.

Requires Node 18+ or Bun 1.0+.

## Install

```bash
npm install @skalaio/node
```

## Quick Start

```ts
import { Skala } from '@skalaio/node';

const skala = new Skala({ apiKey: 'sk_live_...' });

const result = await skala.score({
  event_type: 'signup',
  ip: req.ip,
  email: body.email,
  user_agent: req.headers['user-agent'],
});

if (result.decision === 'block') {
  return res.status(403).json({ error: 'Request blocked' });
}

if (result.decision === 'step_up') {
  return res.status(200).json({ requires_verification: true });
}
```

## Report an Outcome

Feed back fraud signals to improve future scoring:

```ts
await skala.outcome({
  request_id: result.request_id,
  outcome: 'confirmed_fraud',
});
```

## Timeout Fallback

`score()` auto-allows when the API is unreachable (timeout or network failure), so scoring does not block user traffic.

HTTP API responses (for example 4xx/5xx) still throw errors.

```ts
const result = await skala.score({ ... });

if ('fallback' in result) {
  // request was auto-allowed by SDK fallback
  // result.reason_codes is SDK_TIMEOUT_FALLBACK or SDK_NETWORK_FALLBACK
}
```

## Error Handling

Use structured SDK errors for predictable handling:

```ts
import {
  Skala,
  SkalaApiError,
  SkalaNetworkError,
  SkalaTimeoutError,
} from '@skalaio/node';

try {
  await skala.outcome({ request_id: 'req_123', outcome: 'confirmed_fraud' });
} catch (error) {
  if (error instanceof SkalaTimeoutError) {
    // request timed out
  } else if (error instanceof SkalaNetworkError) {
    // API unreachable (DNS/TLS/connectivity)
  } else if (error instanceof SkalaApiError) {
    // API returned non-2xx
    console.error(error.status, error.body, error.requestId);
  } else {
    throw error;
  }
}
```

## Configuration

```ts
const skala = new Skala({
  apiKey: 'sk_live_...',
  baseUrl: 'https://api.skala.dev', // default
  timeoutMs: 5000,                  // default
  retries: 2,                       // default, only retries 5xx
});
```

## License

MIT