spl-simplified 0.2.8

Simplified Version of the SPL Token.
Documentation
# SPL Token Helper Crate

**Status:** ✅ Initial Version Released ✅

This crate simplifies the process of creating SPL tokens on the Solana blockchain by providing a user-friendly abstraction layer. Our goal is to streamline the token creation process with minimal setup while also offering flexibility for advanced users. You can use the following functions:

- `mint_simple`: Mint SPL tokens with associated metadata.
- `transfer_simple`: Transfer SPL tokens between accounts.
- `burn_simple`: Burn SPL tokens from an account.

## Features

- **Easy SPL Token Creation:** Quickly create and manage SPL tokens with metadata in just a few steps.
- **Manual Setup Options:** Advanced users can manually configure token parameters and metadata through the provided functions.
- **Token Transfer Support:** Transfer SPL tokens between accounts using a simplified interface.
- **Metadata Integration:** Automatically creates token metadata using the `mpl_token_metadata` program, with support for custom metadata attributes like name, symbol, URI, and seller fees.
- **Token Burning:** Burn SPL tokens from an account with ease.
- **Developer-Friendly:** The crate is modular and well-documented, making it easy to integrate into existing Solana projects.

## Usage

### Minting Tokens with Metadata

The `mint_simple` function allows you to mint SPL tokens and automatically create the associated metadata.

```rust
use spl_token_helper::mint_simple;
use anchor_lang::solana_program::account_info::AccountInfo;

// Mint SPL tokens with metadata
let result = mint_simple(
    "TokenName".to_string(),
    "TKN".to_string(),
    "https://example.com/token-metadata".to_string(),
    500, // 5% seller fee
    payer_account_info,
    token_metadata_program_info,
    update_authority_info,
    metadata_account_info,
    mint_authority_info,
    system_program_info,
    rent_sysvar_info,
    token_program_info,
    mint_account_info,
    to_account_info,
    owner_account_info,
    &[&signer_seeds],
    1000 // Mint 1000 tokens
).unwrap();
```

### Transferring SPL Tokens

The `transfer_simple` function lets you transfer SPL tokens between accounts using a minimal setup.

```rust
use spl_token_helper::transfer_simple;

// Transfer SPL tokens between accounts
let result = transfer_simple(
    mint_account_info,
    token_program_account_info,
    source_pubkey,
    destination_account_info,
    authority_account_info,
    500, // Transfer 500 tokens
    &[&signer_seeds],
).unwrap();
```

### Burning SPL Tokens

The `burn_simple` function allows you to burn (destroy) SPL tokens from a specified account.

```rust
use spl_token_helper::burn_simple;

// Burn SPL tokens from an account
let result = burn_simple(
    mint_account_info,
    token_program_id,
    source_pubkey,
    authority_account_info,
    500, // Burn 500 tokens
    &[&signer_seeds],
).unwrap();
```

## Example Implementations

You can find example implementations of each version of this crate in the [spl-simplified-demo](https://github.com/Chirag-Jani/spl-simplified-demo) repository. Check specific commits for version numbers included in the messages, such as "feat: demo v0.2.8".

## Contributing

This project is under active development, and we welcome contributions from the community! If you're interested in contributing, please feel free to:

- Fork the repository
- Open issues or feature requests
- Submit pull requests with improvements

## Call to Action

If you find this project useful or want to stay updated on its progress, please consider:

- ⭐ Starring this repository
- 👁️‍🗨️ Following the updates
- 🍴 Forking the repo to explore and contribute

Your support and feedback will help us build a better tool for the Solana developer community!

---

We look forward to your contributions! 🚀