npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@meteora-ag/position-nft-distribution-sdk

v1.0.3

Published

A Typescript SDK for interacting with the Position NFT Distribution Program on Meteora.

Readme

Position NFT Distribution

A simple program for distribution of DAMM v2 NFT positions.

Process

There are 2 main processes:

  1. Register:

In order to get a position NFT, MET's user would need to register firstly

  • Admin would send an instruction initialize_vault, that includes creation_fee and end_time for registering
  • User send register instruction to confirm they would join in position NFT distribution, they would need to pay creation_fee as prepaid for rent fee when creating position NFT and transaction fee
  • After end_time, admin can withdraw total fee to an operator wallet to prepare for distributing position NFT
  1. Distribution position NFT

Operator would need to prepare a script that including following instructions for each transaction:

  • Create position (damm v2)
  • Add liquidity (damm v2)
  • Transfer position NFT (damm v2)
  • record_txwith hash as user to get that NFT

Because record_tx is PDA of Operator and user, so it can't be double spending

Note: The whole process is trusted, we just add some simple steps to:

  • Record user to register in position NFT distribution
  • Collect prepaid fee for position NFT
  • Avoid double spending to create position NFT for an user

Program

Program ID: opp8FuZQ47KoEAmQgdeyiyCFDahnfxLEX15zoo51Z8t

Build Program

anchor build

SDK

This SDK provides a set of tools and methods to interact with the Meteora Position NFT Distribution Program. It enables developers to distribute DAMM v2 position NFTs as an airdrop.

Installation

npm install @meteora-ag/position-nft-distribution-sdk
# or
pnpm install @meteora-ag/position-nft-distribution-sdk
# or
yarn add @meteora-ag/position-nft-distribution-sdk

Initialization

import { Connection } from "@solana/web3.js";
import { PositionNftDistributionClient } from "@meteora-ag/position-nft-distribution-sdk";

const connection = new Connection("https://api.mainnet-beta.solana.com");
const client = new PositionNftDistributionClient(connection, "confirmed");

Usage

Refer to the docs for how to use the functions.

Test

pnpm install
pnpm test