# @parasail/projects

A comprehensive package containing project configurations and utilities for Parasail DePIN projects.

## Description

This package provides essential configurations, ABIs, and utilities for interacting with Parasail DePIN projects. It serves as a centralized repository for project-specific configurations and blockchain interaction tools.

## Installation

```bash
npm install @parasail/projects
# or
yarn add @parasail/projects
# or
pnpm add @parasail/projects
```

## Features

- DePIN project configurations
- Smart contract ABIs
- Utility functions for blockchain interactions
- TypeScript support

## Dependencies

- ethers: ^5.7.2

## Usage

```typescript
import { SilencioProject, xxxProject } from '@parasail/projects';

const project = new SilencioProject({
  isTestnet: false,
  contracts: {
    // your custome contracts if needed
  }
})

Class Project {
  abstract miningToken: {
    name: string
    symbol: string
    decimals: number
    isNative?: boolean
    icon: string
  }
  abstract pToken: {
    name: string
    symbol: string
    decimals: number
    icon: string
  }
  abstract chainConfig: Chain
  abstract contracts: {
    core?: string
    delegationPool: string
    pToken: string
    miningToken: string
    dataHelper?: string
    thawing?: string
    vesting?: string
  }
  isTestnet?: boolean
  metadata: {
    guideLink?: string
    description?: string
    website?: string
    aboutDepins?: string
  } = {
    description: string,
    guideLink: string,
    website: string,
    aboutDepins: string,
  }

  abstract getAssetsInfo: () => Promise<{
    apy: number
    lockedAssets: number
  }>
}
// Your code here
```

