open-index/open-npm huggingface dataset:
npm package: @keepix/wallets
Description: Wallets library
Author: jguyet@keepix.io
Latest version: 0.0.25

# Keepix.Wallets

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc?: any,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    getTokenInformation: (tokenAddress: string) => Promise<{ "symbol": string, "decimals": number, "name": string } | undefined>;

    // amount is always like 1.20 ETH 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-algo
Description: Wallets ALGO library
Author: jguyet@keepix.io
Latest version: 0.0.1

# Keepix.Wallets.Algo

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.

```js
class Wallet {
    constructor({}: {
        password?: string
        mnemonic?: string
        privateKey?: string
        type: string
        keepixTokens?: { coins: any; tokens: any } // whitelisted coins & tokens
        rpc?: any
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ALGO
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-atom
Description: Wallets ATOM library
Author: jguyet@keepix.io
Latest version: 0.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Keepix.Wallets.ATOM

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor() {}

    init({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc: string,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ATOM 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-bitcoin
Description: Wallets bitcoin library
Author: jguyet@keepix.io
Latest version: 0.0.25

# Keepix.Wallets.bitcoin


## Install

```bash
npm i @keepix/wallets-bitcoin
```

## Use

```ts
import { Wallet } from '@keepix/wallets-bitcoin';

const wallet = new Wallet({ password: 'test', type: 'bitcoin' });

console.log(await wallet.getCoinBalance());
// 0.00000000

console.log(wallet.getPrivateKey());
// xxxxxxxxxxx

console.log(wallet.getAddress());
// 1HxJKBJso1jGJNoo5XmkiygE6c1gB1PQDo

```

## Information

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        apis?: any,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    btcToSatoshi: (btc: number) => number;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ETH 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-cosmos
Description: Wallets Cosmos library
Author: jguyet@keepix.io
Latest version: 0.0.2

# Keepix.Wallets.cosmos

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor() {}

    init({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc: string,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ATOM 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-evm
Description: Wallets EVM library
Author: jguyet@keepix.io
Latest version: 0.0.12

# Keepix.Wallets.EVM

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc?: any,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ETH 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-helios
Description: Wallets Helios library
Author: jguyet@keepix.io
Latest version: 0.0.2

# Keepix.Wallets.cosmos

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.

```js
class Wallet {
    constructor() {}

    init({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc: string,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    getTokenInformation: (tokenAddress: string) => Promise<{ symbol: string, decimals: number, name: string } | undefined>;

    // amount is always like 1.20 ATOM
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-massa
Description: Wallets Massa library
Author: jguyet@keepix.io
Latest version: 0.0.3

# Keepix.Wallets.Massa

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.

```js
class Wallet {
    constructor() {}

    init({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc?: any,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 Massa
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-solana
Description: Wallets solana library
Author: jguyet@keepix.io
Latest version: 0.0.3

# Keepix.Wallets.Solana

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.  
  
```js
class Wallet {
    constructor({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 ETH 
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-tezos
Description: Wallets Tezos library
Author: jguyet@keepix.io
Latest version: 0.0.1

# Keepix.Wallets.Tezos

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.

```js
class Wallet {
    constructor() {}

    init: ({}: {
        networkId: NETWORK
        password?: string
        mnemonic?: string
        privateKey?: string
        type: string
        keepixTokens?: { coins: any; tokens: any } // whitelisted coins & tokens
        rpc?: any
        privateKeyTemplate?: string
    }) => void;

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    // amount is always like 1.20 XTZ
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string | number }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string | number }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepix/wallets-xrpl
Description: Wallets Xrpl library
Author: jguyet@keepix.io
Latest version: 0.0.3

# Keepix.Wallets.Xrpl

Library that respects the WalletLibraryInterface.  
This library is used to create wallets, hold coin and token balances and carry out transactions.

XRPL tokens explorer:

```https://xrpl.to/token/sologenic```  

```js
class Wallet {
    constructor({}: {
        password?: string,
        mnemonic?: string,
        privateKey?: string,
        type: string,
        keepixTokens?: { coins: any, tokens: any } // whitelisted coins & tokens
        rpc?: any,
        privateKeyTemplate?: string
    }) {}

    getPrivateKey: () => string;
    getMnemonic: () => string | undefined;
    getAddress: () => string;
    getProdiver: () => Promise<any>;

    // returns like 1.01 (Always in readable value)
    getCoinBalance: (walletAddress?: string) => Promise<string>;
    // returns like 1.01 (Always in readable value)
    getTokenBalance: (tokenAddress: string, walletAddress?: string) => Promise<string>;

    getTokenInformation: (tokenAddress: string) => Promise<{ symbol: string, decimals: number, name: string } | undefined>;

    // amount is always like 1.20 XRPL
    estimateCostSendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    estimateCostSendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendCoinTo: (receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
    sendTokenTo: (tokenAddress: string, receiverAddress: string, amount: string) => Promise<{ success: boolean, description: string }>;
}

export interface WalletLibraryInterface {
    Wallet: typeof Wallet;
};
```
npm package: @keepkey/asset-service
Description: Service to return supported asset details
Latest version: 8.1.6

# @shapeshiftoss/asset-service

This service provides all the information needed to support an asset in the shapeshift open source app.

It does not provide asset market data (price, volume, etc) or wallet balance information.

## Usage

1. Run `cp sample.env .env` to create an env file. Feel free to edit values to services of your choosing.
2. Run `yarn generate` to build the `generatedAssetData.json` used by the service to provide asset data.
3. Commit and push changes to `generatedAssetData.json` to GitHub
4. Use assetService to lookup assets as needed.

## Blacklist usage

You can contribute to blacklist a flagged token by adding its [caip19](https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-19.md) to the [blacklist.json](https://github.com/shapeshift/lib/blob/main/packages/asset-service/src/generateAssetData/blacklist.json) list.

## Overriding the description of an asset

You can contribute to override the description of an asset by adding it to [descriptions.json](https://github.com/shapeshift/lib/blob/main/packages/asset-service/src/service/descriptions.json) list.
npm package: @keepkey/chain-adapters
Description: > TODO: description
Latest version: 10.2.1

# @shapeshiftoss/chain-adapters

> TODO: description

## Usage

```typescript
const chainAdapters = require('@shapeshift/chain-adapters');

// TODO: DEMONSTRATE API
```

## Hot Reloading

To enable hot reloading, you need to have [WML](https://github.com/wix/wml) and [Watchman](https://facebook.github.io/watchman/docs/install.html) installed.

- Once WML is installed, add link(s) from packages to corresponding node_modules in project, ie:

// TODO: update package name once lib is published
```bash
wml add lib/packages/chain-adapters web/node_modules/@shapeshift/chain-adapters
```

- Check packages are linked correctly by running `wml list`, you should see a response similar to this:
```bash
Links:
enabled (0) /Users/userName/projectFolder/lib/packages/chain-adapters -> /Users/userName/projectFolder/web/node_modules/@shapeshift/chain-adapters
```

- Start `WML`
```bash
wml start
```

Note: If you start `wml` and nothing happens, or you see an error, a common cause is watchman is not watching the linked directory. Try "watching" the directory that was linked.

```bash
watchman watch [path-to-package]
```

- In a different terminal window, run the typescript server inside the package.

```bash
yarn dev
```
npm package: @keepkey/connection-indicator
Description: Connection status indicator for KeepKey Desktop
Author: KeepKey
Latest version: 0.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @keepkey/connection-indicator

A React component for displaying the connection status of KeepKey Desktop.

## Features

- Real-time status monitoring of KeepKey Desktop
- Customizable appearance
- Automatic polling
- Launch KeepKey Desktop functionality

## Installation

```bash
npm install @keepkey/connection-indicator
# or
yarn add @keepkey/connection-indicator
# or
pnpm add @keepkey/connection-indicator
```

## Usage

### Basic Usage

```tsx
import { ConnectionIndicator } from '@keepkey/connection-indicator';

function App() {
  return (
    <div>
      <h1>My KeepKey App</h1>
      <ConnectionIndicator />
    </div>
  );
}
```

### With Custom Options

```tsx
import { ConnectionIndicator } from '@keepkey/connection-indicator';

function App() {
  return (
    <div>
      <h1>My KeepKey App</h1>
      <ConnectionIndicator 
        connectionOptions={{
          pollingInterval: 5000, // Check every 5 seconds
          timeout: 1000, // 1 second timeout
        }}
        showTooltip={true}
        onClick={(e, isConnected) => {
          if (!isConnected) {
            console.log('Launching KeepKey Desktop...');
          }
        }}
      />
    </div>
  );
}
```

### Using the Hook Directly

```tsx
import { useDesktopConnection } from '@keepkey/connection-indicator';

function CustomIndicator() {
  const { isConnected, checkConnection, launchDesktop } = useDesktopConnection();
  
  return (
    <button 
      style={{ 
        backgroundColor: isConnected ? 'green' : 'red',
        color: 'white',
        padding: '8px 16px',
        borderRadius: '4px'
      }}
      onClick={() => !isConnected && launchDesktop()}
    >
      {isConnected ? 'Connected to KeepKey' : 'Launch KeepKey Desktop'}
    </button>
  );
}
```

## API

### ConnectionIndicator Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| className | string | '' | Custom class name for the indicator |
| style | CSSProperties | undefined | Custom style for the indicator |
| connectionOptions | UseDesktopConnectionOptions | {} | Options for the useDesktopConnection hook |
| showTooltip | boolean | true | Whether to show a tooltip with connection status |
| connectedIndicator | ReactNode | undefined | Custom connected indicator component |
| disconnectedIndicator | ReactNode | undefined | Custom disconnected indicator component |
| tooltipComponent | ReactNode | undefined | Custom tooltip component |
| onClick | function | undefined | Callback for when the indicator is clicked |

### UseDesktopConnectionOptions

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| pollingInterval | number | 15000 | Polling interval in milliseconds |
| timeout | number | 2000 | Timeout for connection check in milliseconds |
| endpoint | string | 'http://localhost:1646/docs' | Endpoint to check for KeepKey Desktop |

## License

MIT