open-index/open-npm huggingface dataset:
npm package: @locklessfi/core-typechain
Description: Typechain codegen for generating Typescript classes and types for lkl-contracts
Latest version: 1.0.2

# lkl-contracts-typechain

Typechain codegen for generating Typescript classes and types for lkl-contracts

## Install
Run

``` bash
npm i --save-dev @lkl/core-typechain
```

## Development
Run 

```
npm ci
```

This will run the build process constructing dist/ in the postinstall phase

Make changes or add new contracts in the `src/localContracts` directory then run the build command:
```
npm run build
```

This will produce new files in `dist/` that can be checked in.

## Here, take this!
Since this repo is not an npm package, it can be helpful to include this simple script to upgrade your project to the latest commit:

```
  "scripts": {
    "update-lkl-contracts-typechain": "npm install git+https://github.com/LocklessFinance/lkl-contracts-typechain.git"
  },
```

## Publishing elf-contracts-typechain
To release and publish the new token list:

First create a new version commit using npm: 
```bash
npm version major|minor|patch # this will create a git commit
```
Then push up the changes to Github:
```bash
git push
git push --tags
```

Then in GH:

1. Go to tags
2. Click the ellipses to the far right of the new tag and click "Create release"
3. On the new release, click "Auto-generate release notes" (edit the description if needed)
4. Click "Publish release"
5. Check the Actions tab to monitor the build and publish progress.
npm package: @locklessfi/test11
Description: The Tokenlist for Lockless.finance
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# lkl-tokenlist

The Tokenlist for Lockless.finance

## Install

```bash
npm install @locklessfi/tokenlist
```

## Setup

To setup this repo you need to run the following:

```bash
npm ci
```

You'll also need to add api keys listed in lkl.default.env to your local lkl.env file.

##

### Deploying a new term

When a new term is deployed in the lkl-deploy repo, run this command to
regenerate the tokenlist:

```bash
# build the new tokenlists, lkl-deploy repo must have the updated list
npm run build
```

Once complete, commit all file changes and submit a PR to `main`.

Any project that wants the latest tokenlist will now need to update their
dependency on this repo. See below for handy script that makes upgrading easy
for consumers.

## Usage Examples

### List the open principal tokens

This is how to get a list of currently open principal tokens.

```ts
import { LocklessTokenTag, mainnetTokenList } from "lkl-tokenlist";

// Get the list of principal tokens that have not yet reached maturity
const principalTokens = mainnetTokenList.tokens
  .filter(
    (token) => token.tags?.includes(LocklessTokenTag.PRINCIPAL)
  )
  .filter(
    (token) => token.extensions.unlockTimestamp > Date.now() * 1000
  ).
```

## Developer Config

To build this repo you need to configure some env variables. For linux and mac run the following:

1. Copy `lkl.default.env`

```bash
cp lkl.default.env lkl.env
```

2. Update lkl.env with your alchemy api key

```bash
export ALCHEMY_MAINNET_API_KEY=
export ALCHEMY_GOERLI_API_KEY=
```

3. Source the env file

```bash
source lkl.env
```
npm package: @locklessfi/tokenlist
Description: The Tokenlist for Lockless.finance
Latest version: 1.0.1

# lkl-tokenlist

The Tokenlist for Lockless.finance

## Install

```bash
npm install @locklessfi/tokenlist
```

## Setup

To setup this repo you need to run the following:

```bash
npm ci
```

You'll also need to add api keys listed in lkl.default.env to your local lkl.env file.

##

### Deploying a new term

When a new term is deployed in the lkl-deploy repo, run this command to
regenerate the tokenlist:

```bash
# build the new tokenlists, lkl-deploy repo must have the updated list
npm run build
```

Once complete, commit all file changes and submit a PR to `main`.

Any project that wants the latest tokenlist will now need to update their
dependency on this repo. See below for handy script that makes upgrading easy
for consumers.

## Usage Examples

### List the open principal tokens

This is how to get a list of currently open principal tokens.

```ts
import { LocklessTokenTag, mainnetTokenList } from "lkl-tokenlist";

// Get the list of principal tokens that have not yet reached maturity
const principalTokens = mainnetTokenList.tokens
  .filter(
    (token) => token.tags?.includes(LocklessTokenTag.PRINCIPAL)
  )
  .filter(
    (token) => token.extensions.unlockTimestamp > Date.now() * 1000
  ).
```

## Developer Config

To build this repo you need to configure some env variables. For linux and mac run the following:

1. Copy `lkl.default.env`

```bash
cp lkl.default.env lkl.env
```

2. Update lkl.env with your alchemy api key

```bash
export ALCHEMY_MAINNET_API_KEY=
export ALCHEMY_GOERLI_API_KEY=
```

3. Source the env file

```bash
source lkl.env
```