0.1.0 • Published 2 years ago
@solflare-wallet/pfp v0.1.0
@solflare-wallet/pfp
Description
The Solana Profile Picture Protocol allows Solana users to set a single Metaplex-standard NFT as a universal PFP for the Solana blockchain.
Individual Solana protocols can use the documentation below both to show PFPs in their FE, and to provide functionality within their own FE to allow users to set a new PFP.
Example
import { Connection, PublicKey } from '@solana/web3.js';
import { getProfilePicture } from '@solflare-wallet/pfp';
const connection = new Connection('https://api.mainnet-beta.solana.com');
const walletPubkey = new PublicKey('ES8rZr16f5eAc9PkUcAbafwg5JjEJANbpwu92CF2Cbox');
const { isAvailable, url } = await getProfilePicture(connection, walletPubkey);
API
Get the wallet's profile picture
function getProfilePicture (connection: Connection, publicKey: PublicKey, config: ProfilePictureConfig): Promise<ProfilePicture>
Params
connection
- RPC connection objectpublicKey
- The public key of the walletconfig
(optional)fallback
- Boolean, use a fallback generated image (defaulttrue
)resize
- Object with Cloudflare image resize params (default{ width: 100 }
)
Return value
Object with the following fields:
isAvailable
- Boolean,true
if there is a profile picture for the given walleturl
- The URL of the profile image, always populated (either a fallback image or an empty-image icon), you can choose to ignore it ifisAvailable
is falsename
- NFT name (only ifisAvailable: true
)metadata
- NFT metadata object (only ifisAvailable: true
)tokenAccount
- The public key of the token account that holds the NFT (only ifisAvailable: true
)mintAccount
- The public key of the NFT's mint (only ifisAvailable: true
)
Transactions for setting an NFT for the profile picture
function createSetProfilePictureTransaction (ownerPublicKey: PublicKey, mintPublicKey: PublicKey, tokenAccountPublicKey: PublicKey): Promise<Transaction>
Params
ownerPublicKey
- The public key of the walletmintPublicKey
- The public key of the NFT's minttokenAccountPublicKey
- The public key of the token account that holds the NFT
Return value
A Web3 Transaction object
Transaction for removing the profile picture
function createRemoveProfilePictureTransaction (ownerPublicKey: PublicKey): Promise<Transaction>
Params
ownerPublicKey
- The public key of the wallet
Return value
A Web3 Transaction object