open-index/open-npm huggingface dataset:
npm package: @heavy-duty/calculate-leaderboard
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 1.0.0

# leaderboard

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build leaderboard` to build the library.

## Running unit tests

Run `nx test leaderboard` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @heavy-duty/mpl-utils
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.1.9

# mpl-utils

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build mpl-utils` to build the library.

## Running unit tests

Run `nx test mpl-utils` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @heavy-duty/ng-anchor
Description: This library works as a wrapper on top of @project-serum/anchor for Angular applications.
Latest version: 0.1.3

# @heavy-duty/ng-anchor

This library works as a wrapper on top of @project-serum/anchor for Angular applications.

## How it works

You inject a configuration object per program you want to connect to. The configuration consists of a program id and it's IDL.

```typescript
import { PROGRAM_CONFIGS } from '@heavy-duty/ng-anchor';

@NgModule({
  ...,
  providers: [
    {
      provide: PROGRAM_CONFIGS,
      useValue: {
        "<your-program-name>": {
          id: "<your-program-id>",
          idl: "<your-program-idl>"
        }
      }
    }
  ]
  ...
})
```

We recommend injecting this provider in the `AppModule`, that way everything will have access to it. Now you can use DI to inject a `ProgramStore`.

The `ProgramStore` needs to know about the Connection and Wallet, we recommend doing this before using the `ProgramStore`:

```typescript
class AppComponent {
  constructor(
    private programStore: ProgramStore,
    private connectionStore: ConnectionStore,
    private walletStore: WalletStore
  ) {}

  ngOnInit() {
    this.programStore.loadConnection(this.connectionStore.connection$);
    this.programStore.loadWallet(this.walletStore.anchorWallet$);
  }
}
```

You should have a ConnectionStore and a WalletStore to manage the RPC connection and Wallet connection. We use this package with @heavy-duty/wallet-adapter, and use the stores it provides.

The ProgramStore has two methods: `getReader` and `getWriter`, given a program name they return a Program instance or null. `getReader` returns null when the connection is not available, while `getWriter` fails if the connection or wallet are not available.

The idea of splitting reader and writer is because Anchor programs require a wallet connection, meaning that it's not possible to read any data until a wallet has connected. The reader uses a dummy value and trying to write with it results in a runtime error. The writer does allow users to sign transactions, it can read too, but we recommend separating the responsibilities.

## Dependencies

- @angular/common
- @angular/core
- @ngrx/component-store
- @project-serum/anchor
- @solana/web3.js
- rxjs
npm package: @heavy-duty/nx-anchor
Description: This is Nx plugin gives you the ability to create @coral-xyz/anchor workspaces inside an Nx workspace.
Latest version: 0.1.0

# @heavy-duty/nx-anchor

This is Nx plugin gives you the ability to create @coral-xyz/anchor workspaces inside an Nx workspace.

## Anchor versions 

| Anchor  | @heavy-duty/nx-anchor      |
| ------- | -------------------------- |
| 0.27.0  | 0.1.0                      |
npm package: @heavy-duty/solana-utils
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.1.9

# solana-utils

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build solana-utils` to build the library.

## Running unit tests

Run `nx test solana-utils` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @heavy-duty/spl-utils
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.1.9

# spl-utils

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build spl-utils` to build the library.

## Running unit tests

Run `nx test spl-utils` to execute the unit tests via [Jest](https://jestjs.io).