Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update some token program (anchor) example to latest version #61

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
685 changes: 423 additions & 262 deletions Cargo.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions tokens/create-token/anchor/Anchor.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ seeds = false
skip-lint = false

[programs.localnet]
create_token = "2B6MrsKB2pVq6W6tY8dJLcnSd3Uv1KE7yRaboBjdQoEX"
create_token = "MZR2aPTCNAFLTHkTPRb2CCtqqrvuhsHA27SeRDxrsYL"

[registry]
url = "https://api.apr.dev"

[provider]
cluster = "localnet"
cluster = "devnet"
wallet = "~/.config/solana/id.json"

[scripts]
Expand Down
7 changes: 5 additions & 2 deletions tokens/create-token/anchor/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{
"dependencies": {
"@coral-xyz/anchor": "^0.28.1-beta.2",
"@metaplex-foundation/mpl-token-metadata": "^2.5.2"
"@coral-xyz/anchor": "^0.29.0",
"@metaplex-foundation/mpl-token-metadata": "^3.1.2",
"@metaplex-foundation/umi": "^0.9.1",
"@solana/spl-token": "^0.3.10",
"@solana/web3.js": "^1.87.6"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
Expand Down
5 changes: 2 additions & 3 deletions tokens/create-token/anchor/programs/create-token/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = "0.28.0"
anchor-spl = { version = "0.28.0", features = ["metadata"] }
mpl-token-metadata = { version = "1.13.1", features = ["no-entrypoint"] }
anchor-lang = "0.29.0"
anchor-spl = { version = "0.29.0", features = ["metadata"] }
12 changes: 8 additions & 4 deletions tokens/create-token/anchor/programs/create-token/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@
use {
anchor_lang::prelude::*,
anchor_spl::{
metadata::{create_metadata_accounts_v3, CreateMetadataAccountsV3, Metadata},
metadata::{
create_metadata_accounts_v3,
mpl_token_metadata::{accounts::Metadata as mpl_metadata, types::DataV2},
CreateMetadataAccountsV3, Metadata,
},
token::{Mint, Token},
},
mpl_token_metadata::{pda::find_metadata_account, state::DataV2},
};

declare_id!("2B6MrsKB2pVq6W6tY8dJLcnSd3Uv1KE7yRaboBjdQoEX");
declare_id!("MZR2aPTCNAFLTHkTPRb2CCtqqrvuhsHA27SeRDxrsYL");

#[program]
pub mod create_token {
Expand Down Expand Up @@ -72,9 +75,10 @@ pub struct CreateTokenMint<'info> {
/// CHECK: Address validated using constraint
#[account(
mut,
address=find_metadata_account(&mint_account.key()).0
address=mpl_metadata::find_pda(&mint_account.key()).0
)]
pub metadata_account: UncheckedAccount<'info>,

// Create new mint account
#[account(
init,
Expand Down
4 changes: 3 additions & 1 deletion tokens/create-token/anchor/tests/test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import { MPL_TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import * as anchor from "@coral-xyz/anchor";
import { TOKEN_PROGRAM_ID } from "@coral-xyz/anchor/dist/cjs/utils/token";
import { CreateToken } from "../target/types/create_token";
Expand All @@ -21,6 +21,8 @@ describe("Create Tokens", () => {
uri: "https://raw.githubusercontent.com/solana-developers/program-examples/new-examples/tokens/tokens/.assets/spl-token.json",
};

const TOKEN_METADATA_PROGRAM_ID = new PublicKey(MPL_TOKEN_METADATA_PROGRAM_ID);

it("Create an SPL Token!", async () => {
// Generate new keypair to use as address for mint account.
const mintKeypair = new Keypair();
Expand Down
4 changes: 2 additions & 2 deletions tokens/nft-minter/anchor/Anchor.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ seeds = false
skip-lint = false

[programs.localnet]
nft_minter = "3qHNM98iLTaQtwmj2NkViXnHZQjNBS5PTHT2AuPxHXYN"
nft_minter = "BPZWMnoR6bAvw3jGZc7B2dcUQekAqFTCWyutY8PEXaao"

[provider]
cluster = "localnet"
cluster = "devnet"
wallet = "~/.config/solana/id.json"

[scripts]
Expand Down
7 changes: 4 additions & 3 deletions tokens/nft-minter/anchor/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"dependencies": {
"@coral-xyz/anchor": "^0.28.1-beta.2",
"@metaplex-foundation/mpl-token-metadata": "^2.5.2",
"@solana/spl-token": "^0.3.8"
"@coral-xyz/anchor": "^0.29.0",
"@metaplex-foundation/mpl-token-metadata": "^3.1.2",
"@metaplex-foundation/umi": "^0.9.1",
"@solana/spl-token": "^0.3.9"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
Expand Down
5 changes: 2 additions & 3 deletions tokens/nft-minter/anchor/programs/nft-minter/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = { version = "0.28.0", features = ["init-if-needed"] }
anchor-spl = { version = "0.28.0", features = ["metadata"] }
mpl-token-metadata = { version = "1.13.1", features = ["no-entrypoint"] }
anchor-lang = { version = "0.29.0", features = ["init-if-needed"]}
anchor-spl = { version = "0.29.0", features = ["metadata"] }
18 changes: 9 additions & 9 deletions tokens/nft-minter/anchor/programs/nft-minter/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ use {
anchor_spl::{
associated_token::AssociatedToken,
metadata::{
create_master_edition_v3, create_metadata_accounts_v3, CreateMasterEditionV3,
CreateMetadataAccountsV3, Metadata,
create_master_edition_v3, create_metadata_accounts_v3,
mpl_token_metadata::{
accounts::{MasterEdition as mpl_master_edition, Metadata as mpl_metadata},
types::DataV2,
},
CreateMasterEditionV3, CreateMetadataAccountsV3, Metadata,
},
token::{mint_to, Mint, MintTo, Token, TokenAccount},
},
mpl_token_metadata::{
pda::{find_master_edition_account, find_metadata_account},
state::DataV2,
},
};

declare_id!("3qHNM98iLTaQtwmj2NkViXnHZQjNBS5PTHT2AuPxHXYN");
declare_id!("BPZWMnoR6bAvw3jGZc7B2dcUQekAqFTCWyutY8PEXaao");

#[program]
pub mod nft_minter {
Expand Down Expand Up @@ -108,14 +108,14 @@ pub struct CreateToken<'info> {
/// CHECK: Address validated using constraint
#[account(
mut,
address=find_metadata_account(&mint_account.key()).0
address=mpl_metadata::find_pda(&mint_account.key()).0
)]
pub metadata_account: UncheckedAccount<'info>,

/// CHECK: Address validated using constraint
#[account(
mut,
address=find_master_edition_account(&mint_account.key()).0
address=mpl_master_edition::find_pda(&mint_account.key()).0
)]
pub edition_account: UncheckedAccount<'info>,

Expand Down
5 changes: 3 additions & 2 deletions tokens/nft-minter/anchor/tests/test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import { MPL_TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import * as anchor from "@coral-xyz/anchor";
import { NftMinter } from "../target/types/nft_minter";
import {
Expand All @@ -18,6 +18,7 @@ describe("NFT Minter", () => {
anchor.setProvider(provider);
const payer = provider.wallet as anchor.Wallet;
const program = anchor.workspace.NftMinter as anchor.Program<NftMinter>;
const TOKEN_METADATA_PROGRAM_ID = new PublicKey(MPL_TOKEN_METADATA_PROGRAM_ID);

// The metadata for our NFT
const metadata = {
Expand Down Expand Up @@ -72,7 +73,7 @@ describe("NFT Minter", () => {
rent: SYSVAR_RENT_PUBKEY,
})
.signers([mintKeypair])
.rpc({ skipPreflight: true });
.rpc();

console.log("Success!");
console.log(` Mint Address: ${mintKeypair.publicKey}`);
Expand Down
4 changes: 2 additions & 2 deletions tokens/pda-mint-authority/anchor/Anchor.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ seeds = false
skip-lint = false

[programs.localnet]
token_minter = "A5gNtapBvMLD6i7D2t3SSyJeFtBdfb6ibvZu1hoBLzCo"
token_minter = "5h9b7fSe2QcpXkwrriGktL4zcLme3epHKdK4egKsVbkK"

[registry]
url = "https://api.apr.dev"

[provider]
cluster = "Localnet"
cluster = "devnet"
wallet = "~/.config/solana/id.json"

[scripts]
Expand Down
7 changes: 4 additions & 3 deletions tokens/pda-mint-authority/anchor/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"dependencies": {
"@coral-xyz/anchor": "^0.28.1-beta.2",
"@metaplex-foundation/mpl-token-metadata": "^2.5.2",
"@solana/spl-token": "^0.3.8"
"@coral-xyz/anchor": "^0.29.0",
"@metaplex-foundation/mpl-token-metadata": "^3.1.2",
"@metaplex-foundation/umi": "^0.9.1",
"@solana/spl-token": "^0.3.9"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = { version = "0.28.0", features = ["init-if-needed"] }
anchor-spl = { version = "0.28.0", features = ["metadata"] }
mpl-token-metadata = { version = "1.13.1", features = ["no-entrypoint"] }
anchor-lang = { version = "0.29.0", features = ["init-if-needed"]}
anchor-spl = { version = "0.29.0", features = ["metadata"] }
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
use {
anchor_lang::prelude::*,
anchor_spl::{
metadata::{create_metadata_accounts_v3, CreateMetadataAccountsV3, Metadata},
metadata::{
create_metadata_accounts_v3,
mpl_token_metadata::{accounts::Metadata as mpl_metadata, types::DataV2},
CreateMetadataAccountsV3, Metadata,
},
token::{Mint, Token},
},
mpl_token_metadata::{pda::find_metadata_account, state::DataV2},
};

#[derive(Accounts)]
Expand All @@ -31,7 +34,7 @@ pub struct CreateToken<'info> {
/// CHECK: Address validated using constraint
#[account(
mut,
address=find_metadata_account(&mint_account.key()).0
address=mpl_metadata::find_pda(&mint_account.key()).0
)]
pub metadata_account: UncheckedAccount<'info>,

Expand All @@ -50,7 +53,7 @@ pub fn create_token(
msg!("Creating metadata account");

// PDA signer seeds
let signer_seeds: &[&[&[u8]]] = &[&[b"mint", &[*ctx.bumps.get("mint_account").unwrap()]]];
let signer_seeds: &[&[&[u8]]] = &[&[b"mint", &[ctx.bumps.mint_account][..]]];

// Cross Program Invocation (CPI) signed by PDA
// Invoking the create_metadata_account_v3 instruction on the token metadata program
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ pub fn mint_token(ctx: Context<MintToken>, amount: u64) -> Result<()> {
);

// PDA signer seeds
let signer_seeds: &[&[&[u8]]] = &[&[b"mint", &[*ctx.bumps.get("mint_account").unwrap()]]];
let signer_seeds: &[&[&[u8]]] = &[&[b"mint", &[ctx.bumps.mint_account][..]]];

// Invoke the mint_to instruction on the token program
mint_to(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use anchor_lang::prelude::*;
use instructions::*;
pub mod instructions;

declare_id!("A5gNtapBvMLD6i7D2t3SSyJeFtBdfb6ibvZu1hoBLzCo");
declare_id!("5h9b7fSe2QcpXkwrriGktL4zcLme3epHKdK4egKsVbkK");

#[program]
pub mod token_minter {
Expand Down
6 changes: 4 additions & 2 deletions tokens/pda-mint-authority/anchor/tests/test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import { MPL_TOKEN_METADATA_PROGRAM_ID as PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import * as anchor from "@coral-xyz/anchor";
import { TokenMinter } from "../target/types/token_minter";
import { PublicKey, SYSVAR_RENT_PUBKEY, SystemProgram } from "@solana/web3.js";
Expand All @@ -14,9 +14,11 @@ describe("NFT Minter", () => {
const payer = provider.wallet as anchor.Wallet;
const program = anchor.workspace.TokenMinter as anchor.Program<TokenMinter>;

const TOKEN_METADATA_PROGRAM_ID = new PublicKey(PROGRAM_ID);

// Derive the PDA to use as mint account address.
// This same PDA is also used as the mint authority.
const [mintPDA] = PublicKey.findProgramAddressSync(
const [mintPDA, mintBump] = PublicKey.findProgramAddressSync(
[Buffer.from("mint")],
program.programId
);
Expand Down
4 changes: 2 additions & 2 deletions tokens/spl-token-minter/anchor/Anchor.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ seeds = false
skip-lint = false

[programs.localnet]
spl_token_minter = "77p9WmpzQW29RUEzTEef2ym7AHePBE9yNWJ9acikXfZS"
spl_token_minter = "FjtvWn2LZhezA7fwsBoAKYYyp7cFLfnqQPNWTLqZjs4S"

[provider]
cluster = "localnet"
cluster = "devnet"
wallet = "~/.config/solana/id.json"

[scripts]
Expand Down
7 changes: 4 additions & 3 deletions tokens/spl-token-minter/anchor/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"dependencies": {
"@coral-xyz/anchor": "^0.28.1-beta.2",
"@metaplex-foundation/mpl-token-metadata": "^2.5.2",
"@solana/spl-token": "^0.3.8"
"@coral-xyz/anchor": "^0.29.0",
"@metaplex-foundation/mpl-token-metadata": "^3.1.2",
"@metaplex-foundation/umi": "^0.9.1",
"@solana/spl-token": "^0.3.10"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ cpi = ["no-entrypoint"]
default = []

[dependencies]
anchor-lang = { version = "0.28.0", features = ["init-if-needed"] }
anchor-spl = { version = "0.28.0", features = ["metadata"] }
mpl-token-metadata = { version = "1.13.1", features = ["no-entrypoint"] }
anchor-lang = { version = "0.29.0", features = ["init-if-needed"]}
anchor-spl = { version = "0.29.0", features = ["metadata"] }
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
use {
anchor_lang::prelude::*,
anchor_spl::{
metadata::{create_metadata_accounts_v3, CreateMetadataAccountsV3, Metadata},
metadata::{
create_metadata_accounts_v3,
mpl_token_metadata::{accounts::Metadata as mpl_metadata, types::DataV2},
CreateMetadataAccountsV3, Metadata,
},
token::{Mint, Token},
},
mpl_token_metadata::{pda::find_metadata_account, state::DataV2},
};

#[derive(Accounts)]
Expand All @@ -24,7 +27,7 @@ pub struct CreateToken<'info> {
/// CHECK: Address validated using constraint
#[account(
mut,
address=find_metadata_account(&mint_account.key()).0
address=mpl_metadata::find_pda(&mint_account.key()).0
)]
pub metadata_account: UncheckedAccount<'info>,

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use anchor_lang::prelude::*;
pub mod instructions;
use instructions::*;

declare_id!("77p9WmpzQW29RUEzTEef2ym7AHePBE9yNWJ9acikXfZS");
declare_id!("FjtvWn2LZhezA7fwsBoAKYYyp7cFLfnqQPNWTLqZjs4S");

#[program]
pub mod spl_token_minter {
Expand Down
3 changes: 2 additions & 1 deletion tokens/spl-token-minter/anchor/tests/test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import { MPL_TOKEN_METADATA_PROGRAM_ID as PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata";
import * as anchor from "@coral-xyz/anchor";
import { SplTokenMinter } from "../target/types/spl_token_minter";
import {
Expand All @@ -19,6 +19,7 @@ describe("SPL Token Minter", () => {
const payer = provider.wallet as anchor.Wallet;
const program = anchor.workspace
.SplTokenMinter as anchor.Program<SplTokenMinter>;
const TOKEN_METADATA_PROGRAM_ID = new PublicKey(PROGRAM_ID);

const metadata = {
name: "Solana Gold",
Expand Down
6 changes: 3 additions & 3 deletions tokens/transfer-tokens/anchor/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"dependencies": {
"@coral-xyz/anchor": "^0.28.1-beta.2",
"@metaplex-foundation/mpl-token-metadata": "^2.5.2",
"@solana/spl-token": "^0.3.8"
"@coral-xyz/anchor": "^0.29.0",
"@metaplex-foundation/mpl-token-metadata": "^3.1.2",
"@solana/spl-token": "^0.3.10"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
Expand Down
Loading