jpcaulfi 3 anni fa
parent
commit
a785330be3

+ 1 - 1
tokens/mint-to/anchor/Anchor.toml

@@ -1,7 +1,7 @@
 [features]
 seeds = false
 [programs.devnet]
-mint_token_to = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS"
+mint_token_to = "DDvuxbzPh3aSb67Kc7kvxb7SsU6bNmPBfqsqvQFHcqWu"
 
 [registry]
 url = "https://anchor.projectserum.com"

+ 1 - 1
tokens/mint-to/anchor/programs/mint-token-to/src/instructions/mint_to_wallet.rs

@@ -41,7 +41,7 @@ pub fn mint_to_wallet(
                 authority: ctx.accounts.mint_authority.to_account_info(),
             },
         ),
-        1,
+        amount,
     )?;
 
     msg!("Token minted to wallet successfully.");

+ 4 - 1
tokens/mint-to/anchor/programs/mint-token-to/src/instructions/mod.rs

@@ -1,2 +1,5 @@
 pub mod create_token_mint;
-pub mod mint_to_wallet;
+pub mod mint_to_wallet;
+
+pub use create_token_mint::*;
+pub use mint_to_wallet::*;

+ 3 - 3
tokens/mint-to/anchor/programs/mint-token-to/src/lib.rs

@@ -5,7 +5,7 @@ pub mod instructions;
 use instructions::*;
 
 
-declare_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
+declare_id!("DDvuxbzPh3aSb67Kc7kvxb7SsU6bNmPBfqsqvQFHcqWu");
 
 
 #[program]
@@ -19,7 +19,7 @@ pub mod mint_token_to {
         metadata_uri: String,
     ) -> Result<()> {
 
-        instructions::create_token_mint::create_token_mint(
+        create_token_mint::create_token_mint(
             ctx, 
             metadata_title, 
             metadata_symbol, 
@@ -32,6 +32,6 @@ pub mod mint_token_to {
         amount: u64,
     ) -> Result<()> {
 
-        instructions::mint_to_wallet::mint_to_wallet(ctx, amount)
+        mint_to_wallet::mint_to_wallet(ctx, amount)
     }
 }

+ 33 - 10
tokens/mint-to/anchor/tests/test.ts

@@ -14,13 +14,15 @@ describe("mint-token", () => {
   const payer = provider.wallet as anchor.Wallet;
   const program = anchor.workspace.MintTokenTo as anchor.Program<MintTokenTo>;
 
-  it("Mint!", async () => {
+  const mintKeypair: anchor.web3.Keypair = anchor.web3.Keypair.generate();
+  console.log(`New token: ${mintKeypair.publicKey}`);
 
-    const mintKeypair: anchor.web3.Keypair = anchor.web3.Keypair.generate();
-    console.log(`New token: ${mintKeypair.publicKey}`);
+  const testTokenTitle = "Solana Gold";
+  const testTokenSymbol = "GOLDSOL";
+  const testTokenUri = "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/token_metadata.json";
+
+  it("Mint!", async () => {
 
-    // Derive the metadata account's address and set the metadata
-    //
     const metadataAddress = (await anchor.web3.PublicKey.findProgramAddress(
       [
         Buffer.from("metadata"),
@@ -29,13 +31,10 @@ describe("mint-token", () => {
       ],
       TOKEN_METADATA_PROGRAM_ID
     ))[0];
-    const testTokenTitle = "Solana Gold";
-    const testTokenSymbol = "GOLDSOL";
-    const testTokenUri = "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/mint/native/assets/token_metadata.json";
 
-    // Transact with the "mint_token" function in our on-chain program
+    // Transact with the "create_token_mint" function in our on-chain program
     //
-    await program.methods.mintToken(
+    await program.methods.createTokenMint(
       testTokenTitle, testTokenSymbol, testTokenUri
     )
     .accounts({
@@ -49,4 +48,28 @@ describe("mint-token", () => {
     .signers([payer.payer, mintKeypair])
     .rpc();
   });
+
+  it("Mint to a wallet!", async () => {
+
+    const amountToMint = 1;
+
+    const tokenAddress = await anchor.utils.token.associatedAddress({
+        mint: mintKeypair.publicKey,
+        owner: payer.publicKey
+    });
+
+    // Transact with the "mint_to_wallet" function in our on-chain program
+    //
+    await program.methods.mintToWallet(new anchor.BN(amountToMint))
+    .accounts({
+      mintAccount: mintKeypair.publicKey,
+      tokenAccount: tokenAddress,
+      mintAuthority: payer.publicKey,
+      systemProgram: anchor.web3.SystemProgram.programId,
+      tokenProgram: anchor.utils.token.TOKEN_PROGRAM_ID,
+      associatedTokenProgram: anchor.utils.token.ASSOCIATED_PROGRAM_ID,
+    })
+    .signers([payer.payer, mintKeypair])
+    .rpc();
+});
 });

+ 0 - 6
tokens/mint-to/native/assets/token_metadata.json

@@ -1,6 +0,0 @@
-{
-    "name": "Solana Gold",
-    "symbol": "GOLDSOL",
-    "description": "A gold Solana SPL token :)",
-    "image": "https://images.all-free-download.com/images/graphiclarge/solana_coin_sign_icon_shiny_golden_symmetric_geometrical_design_6919941.jpg"
-}

+ 2 - 2
tokens/mint-to/native/tests/test.ts

@@ -95,10 +95,10 @@ describe("mint-token", () => {
         const metadataInstructionData = new TokenMetadata({
             title: "Solana Gold",
             symbol: "GOLDSOL",
-            uri: "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/mint/native/assets/token_metadata.json",
+            uri: "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/token_metadata.json",
         });
 
-        // Transact with the "mint_token" function in our on-chain program
+        // Transact with the "create_mint" function in our on-chain program
         //
         let ix = new TransactionInstruction({
             keys: [

+ 0 - 6
tokens/mint/anchor/assets/token_metadata.json

@@ -1,6 +0,0 @@
-{
-    "name": "Solana Gold",
-    "symbol": "GOLDSOL",
-    "description": "A gold Solana SPL token :)",
-    "image": "https://images.all-free-download.com/images/graphiclarge/solana_coin_sign_icon_shiny_golden_symmetric_geometrical_design_6919941.jpg"
-}

+ 1 - 1
tokens/mint/anchor/tests/test.ts

@@ -31,7 +31,7 @@ describe("mint-token", () => {
     ))[0];
     const testTokenTitle = "Solana Gold";
     const testTokenSymbol = "GOLDSOL";
-    const testTokenUri = "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/mint/native/assets/token_metadata.json";
+    const testTokenUri = "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/token_metadata.json";
 
     // Transact with the "mint_token" function in our on-chain program
     //

+ 0 - 6
tokens/mint/native/assets/token_metadata.json

@@ -1,6 +0,0 @@
-{
-    "name": "Solana Gold",
-    "symbol": "GOLDSOL",
-    "description": "A gold Solana SPL token :)",
-    "image": "https://images.all-free-download.com/images/graphiclarge/solana_coin_sign_icon_shiny_golden_symmetric_geometrical_design_6919941.jpg"
-}

+ 1 - 1
tokens/mint/native/tests/test.ts

@@ -76,7 +76,7 @@ describe("mint-token", () => {
         const metadata = new TokenMetadata({
             title: "Solana Gold",
             symbol: "GOLDSOL",
-            uri: "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/mint/native/assets/token_metadata.json",
+            uri: "https://raw.githubusercontent.com/solana-developers/program-examples/main/tokens/token_metadata.json",
         });
 
         // Transact with the "mint_token" function in our on-chain program

+ 0 - 0
tokens/mint-to/anchor/assets/token_metadata.json → tokens/token_metadata.json