jpcaulfi před 3 roky
rodič
revize
c674edf253
84 změnil soubory, kde provedl 144 přidání a 64 odebrání
  1. 0 7
      1-program-basics/4-custom-instruction-data-expanded/README.md
  2. 0 15
      2-accounts/create-system-account/anchor/programs/create-system-account/src/lib.rs
  3. 0 16
      2-accounts/create-system-account/anchor/tests/anchor.ts
  4. 0 0
      2-accounts/create-system-account/native/test.ts
  5. 9 10
      README.md
  6. 0 0
      accounts/create-system-account/README.md
  7. 1 1
      accounts/create-system-account/anchor/Anchor.toml
  8. 0 0
      accounts/create-system-account/anchor/Cargo.toml
  9. 0 0
      accounts/create-system-account/anchor/package.json
  10. 1 1
      accounts/create-system-account/anchor/programs/create-system-account/Cargo.toml
  11. 0 0
      accounts/create-system-account/anchor/programs/create-system-account/Xargo.toml
  12. 43 0
      accounts/create-system-account/anchor/programs/create-system-account/src/lib.rs
  13. 26 0
      accounts/create-system-account/anchor/tests/test.ts
  14. 0 0
      accounts/create-system-account/anchor/tsconfig.json
  15. 0 0
      accounts/create-system-account/native/cicd.sh
  16. 0 0
      accounts/create-system-account/native/package.json
  17. 0 0
      accounts/create-system-account/native/program/Cargo.toml
  18. 11 7
      accounts/create-system-account/native/program/src/lib.rs
  19. 45 0
      accounts/create-system-account/native/tests/test.ts
  20. 0 0
      accounts/create-system-account/native/tsconfig.json
  21. 0 0
      program-basics/custom-instruction-data/README.md
  22. 0 0
      program-basics/custom-instruction-data/anchor/Anchor.toml
  23. 0 0
      program-basics/custom-instruction-data/anchor/Cargo.toml
  24. 0 0
      program-basics/custom-instruction-data/anchor/package.json
  25. 0 0
      program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/Cargo.toml
  26. 0 0
      program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/Xargo.toml
  27. 0 0
      program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/src/lib.rs
  28. 0 0
      program-basics/custom-instruction-data/anchor/tests/test.ts
  29. 0 0
      program-basics/custom-instruction-data/anchor/tsconfig.json
  30. 0 0
      program-basics/custom-instruction-data/native/cicd.sh
  31. 0 0
      program-basics/custom-instruction-data/native/package.json
  32. 0 0
      program-basics/custom-instruction-data/native/program/Cargo.toml
  33. 0 0
      program-basics/custom-instruction-data/native/program/src/lib.rs
  34. 0 0
      program-basics/custom-instruction-data/native/tests/test.ts
  35. 0 0
      program-basics/custom-instruction-data/native/tsconfig.json
  36. 0 0
      program-basics/hello-solana/README.md
  37. 0 0
      program-basics/hello-solana/anchor/Anchor.toml
  38. 0 0
      program-basics/hello-solana/anchor/Cargo.toml
  39. 0 0
      program-basics/hello-solana/anchor/package.json
  40. 0 0
      program-basics/hello-solana/anchor/programs/hello-solana/Cargo.toml
  41. 0 0
      program-basics/hello-solana/anchor/programs/hello-solana/Xargo.toml
  42. 0 0
      program-basics/hello-solana/anchor/programs/hello-solana/src/lib.rs
  43. 0 0
      program-basics/hello-solana/anchor/tests/test.ts
  44. 0 0
      program-basics/hello-solana/anchor/tsconfig.json
  45. 0 0
      program-basics/hello-solana/native/cicd.sh
  46. 0 0
      program-basics/hello-solana/native/package.json
  47. 0 0
      program-basics/hello-solana/native/program/Cargo.toml
  48. 0 0
      program-basics/hello-solana/native/program/src/lib.rs
  49. 0 0
      program-basics/hello-solana/native/tests/test.ts
  50. 0 0
      program-basics/hello-solana/native/tsconfig.json
  51. 0 0
      program-basics/recommended-program-layout/README.md
  52. 0 0
      program-basics/recommended-program-layout/anchor/Anchor.toml
  53. 0 0
      program-basics/recommended-program-layout/anchor/Cargo.toml
  54. 3 3
      program-basics/recommended-program-layout/anchor/package.json
  55. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/Cargo.toml
  56. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/Xargo.toml
  57. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/error.rs
  58. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/eat_food.rs
  59. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/get_on_ride.rs
  60. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/mod.rs
  61. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/play_game.rs
  62. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/lib.rs
  63. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/state/food.rs
  64. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/state/game.rs
  65. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/state/mod.rs
  66. 0 0
      program-basics/recommended-program-layout/anchor/programs/carnival/src/state/ride.rs
  67. 0 0
      program-basics/recommended-program-layout/anchor/tests/test.ts
  68. 0 0
      program-basics/recommended-program-layout/anchor/tsconfig.json
  69. 2 2
      program-basics/recommended-program-layout/native/cicd.sh
  70. 3 2
      program-basics/recommended-program-layout/native/package.json
  71. 0 0
      program-basics/recommended-program-layout/native/program/Cargo.toml
  72. 0 0
      program-basics/recommended-program-layout/native/program/src/error.rs
  73. 0 0
      program-basics/recommended-program-layout/native/program/src/instructions/eat_food.rs
  74. 0 0
      program-basics/recommended-program-layout/native/program/src/instructions/get_on_ride.rs
  75. 0 0
      program-basics/recommended-program-layout/native/program/src/instructions/mod.rs
  76. 0 0
      program-basics/recommended-program-layout/native/program/src/instructions/play_game.rs
  77. 0 0
      program-basics/recommended-program-layout/native/program/src/lib.rs
  78. 0 0
      program-basics/recommended-program-layout/native/program/src/processor.rs
  79. 0 0
      program-basics/recommended-program-layout/native/program/src/state/food.rs
  80. 0 0
      program-basics/recommended-program-layout/native/program/src/state/game.rs
  81. 0 0
      program-basics/recommended-program-layout/native/program/src/state/mod.rs
  82. 0 0
      program-basics/recommended-program-layout/native/program/src/state/ride.rs
  83. 0 0
      program-basics/recommended-program-layout/native/tests/test.ts
  84. 0 0
      program-basics/recommended-program-layout/native/tsconfig.json

+ 0 - 7
1-program-basics/4-custom-instruction-data-expanded/README.md

@@ -1,7 +0,0 @@
-# Custom Instruction Data - Expanded
-
-:gem: Here's where Anchor really shines. :gem:   
-
-You'll notice in these examples that the `native` version of the program is much more verbose on the client side - due to the fact that we have to re-create every custom data type from our Rust code.   
-
-This is one of Anchor's greatest features. The framework will extract all of that information out of the Rust source and into JSON and TypeScript files. This makes it much easier and more dynamic to re-create these data types on the client side. Although it's still necessary to do (which can be trivial), it's >100x easier with Anchor.

+ 0 - 15
2-accounts/create-system-account/anchor/programs/create-system-account/src/lib.rs

@@ -1,15 +0,0 @@
-use anchor_lang::prelude::*;
-
-declare_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
-
-#[program]
-pub mod anchor {
-    use super::*;
-
-    pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
-        Ok(())
-    }
-}
-
-#[derive(Accounts)]
-pub struct Initialize {}

+ 0 - 16
2-accounts/create-system-account/anchor/tests/anchor.ts

@@ -1,16 +0,0 @@
-import * as anchor from "@project-serum/anchor";
-import { Program } from "@project-serum/anchor";
-import { CreateSystemAccount } from "../target/types/create_system_account";
-
-describe("anchor", () => {
-  // Configure the client to use the local cluster.
-  anchor.setProvider(anchor.AnchorProvider.env());
-
-  const program = anchor.workspace.Anchor as Program<CreateSystemAccount>;
-
-  it("Is initialized!", async () => {
-    // Add your test here.
-    const tx = await program.methods.initialize().rpc();
-    console.log("Your transaction signature", tx);
-  });
-});

+ 0 - 0
2-accounts/create-system-account/native/test.ts


+ 9 - 10
README.md

@@ -32,7 +32,7 @@ This collection is organized into the following sections:
 - `tokens` - Examples of working with SPL Tokens from on-chain.
 - `nfts` - Examples for various NFT use cases (including MetaPlex).
 - `pdas` - Everything you need to know about working with Program Derived Addresses & program-owned accounts.
-- `pda-programming-model` - Common Web2 design patterns implemented with PDAs on Solana.
+- `advanced-pdas` - Common Web2 design patterns implemented with PDAs on Solana.
 
 Each example contains two folders:
 - `native` - Written using Solana's native Rust crates and vanilla Rust.
@@ -45,29 +45,28 @@ How to build & run:
 
 ## To-Do:
 **Got something you want to see here? Add it to the list. Or better yet, write one & create a PR!*
-- ### Program Basics
+- ### [x] Program Basics
 - [x] 1. Hello Solana
 - [x] 2. Custom instruction data
 - [x] 3. Recommended program layout
-- [ ] 4. Custom instruction data expanded
-- ### Accounts
-- [ ] 1. Creating a system account
-- [ ] 2. Modifying an account's data
+- ### [ ] Accounts
+- [x] 1. Creating a system account
+- [ ] 2. Rent
 - [ ] 3. Transferring SOL
 - [ ] 4. Transferring an account's ownership
 - [ ] 5. Destroying an account
-- ### Tokens
+- ### [ ] Tokens
 - [ ] 1. Creating an SPL Token
 - [ ] 2. Transferring tokens
-- ### NFTs
+- ### [ ] NFTs
 - [ ] 1. Creating an NFT
 - [ ] 2. Transferring an NFT
 - [ ] 3. Adding metadata to an NFT
 - [ ] 4. NFT metadata expanded
-- ### PDAs
+- ### [ ] PDAs
 - [ ] 1. A simple PDA
 - [ ] 2. Dynamic PDA creation
-- ### PDA Programming Model
+- ### [ ] Advanced PDAs
 - [ ] 1. Twitter
 - [ ] 2. Amazon
 - [ ] 3. OpenSea

+ 0 - 0
2-accounts/create-system-account/README.md → accounts/create-system-account/README.md


+ 1 - 1
2-accounts/create-system-account/anchor/Anchor.toml → accounts/create-system-account/anchor/Anchor.toml

@@ -1,7 +1,7 @@
 [features]
 seeds = false
 [programs.localnet]
-anchor = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS"
+create_system_account = "6gUwvaZPvC8ZxKuC1h5aKz4mRd7pFyEfUZckiEsBZSbk"
 
 [registry]
 url = "https://anchor.projectserum.com"

+ 0 - 0
1-program-basics/1-hello-solana/anchor/Cargo.toml → accounts/create-system-account/anchor/Cargo.toml


+ 0 - 0
1-program-basics/1-hello-solana/anchor/package.json → accounts/create-system-account/anchor/package.json


+ 1 - 1
2-accounts/create-system-account/anchor/programs/create-system-account/Cargo.toml → accounts/create-system-account/anchor/programs/create-system-account/Cargo.toml

@@ -1,5 +1,5 @@
 [package]
-name = "create_system_account"
+name = "create-system-account"
 version = "0.1.0"
 description = "Created with Anchor"
 edition = "2021"

+ 0 - 0
1-program-basics/1-hello-solana/anchor/programs/hello-solana/Xargo.toml → accounts/create-system-account/anchor/programs/create-system-account/Xargo.toml


+ 43 - 0
accounts/create-system-account/anchor/programs/create-system-account/src/lib.rs

@@ -0,0 +1,43 @@
+use anchor_lang::prelude::*;
+use anchor_lang::system_program;
+
+
+declare_id!("6gUwvaZPvC8ZxKuC1h5aKz4mRd7pFyEfUZckiEsBZSbk");
+
+const LAMPORTS_PER_SOL: u64 = 1000000000;
+
+#[program]
+pub mod create_system_account {
+    use super::*;
+
+    pub fn create_system_account(ctx: Context<CreateSystemAccount>) -> Result<()> {
+
+        msg!("Program invoked. Creating a system account...");
+        msg!("  New public key will be: {}", &ctx.accounts.new_account.key().to_string());
+
+        system_program::create_account(
+            CpiContext::new(
+                ctx.accounts.system_program.to_account_info(),
+                system_program::CreateAccount {
+                    from: ctx.accounts.payer.to_account_info(),
+                    to: ctx.accounts.new_account.to_account_info(),
+                },
+            ),
+            LAMPORTS_PER_SOL,
+            32,
+            &ctx.accounts.system_program.key(),
+        )?;
+
+        msg!("Account created succesfully.");
+        Ok(())
+    }
+}
+
+#[derive(Accounts)]
+pub struct CreateSystemAccount<'info> {
+    #[account(mut)]
+    pub payer: Signer<'info>,
+    #[account(mut)]
+    pub new_account: Signer<'info>,
+    pub system_program: Program<'info, System>,
+}

+ 26 - 0
accounts/create-system-account/anchor/tests/test.ts

@@ -0,0 +1,26 @@
+import * as anchor from "@project-serum/anchor";
+import { CreateSystemAccount } from "../target/types/create_system_account";
+
+
+describe("Create a system account", () => {
+
+  const provider = anchor.AnchorProvider.env();
+  anchor.setProvider(provider);
+  const wallet = provider.wallet as anchor.Wallet;
+  const program = anchor.workspace.CreateSystemAccount as anchor.Program<CreateSystemAccount>;
+
+  it("Create the account", async () => {
+
+    const newKeypair = anchor.web3.Keypair.generate();
+    
+    await program.methods.createSystemAccount()
+    .accounts({
+      payer: wallet.publicKey,
+      newAccount: newKeypair.publicKey,
+      systemProgram: anchor.web3.SystemProgram.programId
+    })
+    .signers([wallet.payer, newKeypair])
+    .rpc();
+
+  });
+});

+ 0 - 0
1-program-basics/1-hello-solana/anchor/tsconfig.json → accounts/create-system-account/anchor/tsconfig.json


+ 0 - 0
1-program-basics/1-hello-solana/native/cicd.sh → accounts/create-system-account/native/cicd.sh


+ 0 - 0
1-program-basics/1-hello-solana/native/package.json → accounts/create-system-account/native/package.json


+ 0 - 0
1-program-basics/1-hello-solana/native/program/Cargo.toml → accounts/create-system-account/native/program/Cargo.toml


+ 11 - 7
2-accounts/create-system-account/native/program/src/lib.rs → accounts/create-system-account/native/program/src/lib.rs

@@ -1,5 +1,5 @@
 use solana_program::{
-    account_info::AccountInfo, 
+    account_info::{AccountInfo, next_account_info}, 
     entrypoint, 
     entrypoint::ProgramResult, 
     msg, 
@@ -15,26 +15,30 @@ entrypoint!(process_instruction);
 
 
 fn process_instruction(
-    program_id: &Pubkey,
+    _program_id: &Pubkey,
     accounts: &[AccountInfo],
-    instruction_data: &[u8],
+    _instruction_data: &[u8],
 ) -> ProgramResult {
 
     let accounts_iter = &mut accounts.iter();
     let payer = next_account_info(accounts_iter)?;
+    let new_account = next_account_info(accounts_iter)?;
+    let system_program = next_account_info(accounts_iter)?;
     
     msg!("Program invoked. Creating a system account...");
-    msg!("New public key will be: {}", &new_pubkey);
+    msg!("  New public key will be: {}", &new_account.key.to_string());
     
     invoke(
         &system_instruction::create_account(
-            &payer,                 // From pubkey
-            &new_pubkey,            // To pubkey
+            &payer.key,             // From pubkey
+            &new_account.key,       // To pubkey
             LAMPORTS_PER_SOL,       // Lamports
             32,                     // Space
             &system_program::ID,    // Owner
         ),
-        &[payer]                // Signers
+        &[
+            payer.clone(), new_account.clone(), system_program.clone()  // Accounts involved
+        ]
     )?;
 
     msg!("Account created succesfully.");

+ 45 - 0
accounts/create-system-account/native/tests/test.ts

@@ -0,0 +1,45 @@
+import {
+    Connection,
+    Keypair,
+    sendAndConfirmTransaction,
+    SystemProgram,
+    Transaction,
+    TransactionInstruction,
+} from '@solana/web3.js';
+
+
+function createKeypairFromFile(path: string): Keypair {
+    return Keypair.fromSecretKey(
+        Buffer.from(JSON.parse(require('fs').readFileSync(path, "utf-8")))
+    )
+};
+
+
+describe("Create a system account", async () => {
+
+    const connection = new Connection(`http://localhost:8899`, 'confirmed');
+    const payer = createKeypairFromFile(require('os').homedir() + '/.config/solana/id.json');
+    const program = createKeypairFromFile('./program/target/so/program-keypair.json');
+  
+    it("Create the account", async () => {
+
+        const newKeypair = Keypair.generate();
+
+        let ix = new TransactionInstruction({
+            keys: [
+                {pubkey: payer.publicKey, isSigner: true, isWritable: true},
+                {pubkey: newKeypair.publicKey, isSigner: true, isWritable: true},
+                {pubkey: SystemProgram.programId, isSigner: false, isWritable: false}
+            ],
+            programId: program.publicKey,
+            data: Buffer.alloc(0),
+        });
+
+        await sendAndConfirmTransaction(
+            connection, 
+            new Transaction().add(ix),
+            [payer, newKeypair]
+        );
+    });
+  });
+  

+ 0 - 0
1-program-basics/1-hello-solana/native/tsconfig.json → accounts/create-system-account/native/tsconfig.json


+ 0 - 0
1-program-basics/2-custom-instruction-data/README.md → program-basics/custom-instruction-data/README.md


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/Anchor.toml → program-basics/custom-instruction-data/anchor/Anchor.toml


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/Cargo.toml → program-basics/custom-instruction-data/anchor/Cargo.toml


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/package.json → program-basics/custom-instruction-data/anchor/package.json


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/programs/custom-instruction-data/Cargo.toml → program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/Cargo.toml


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/programs/custom-instruction-data/Xargo.toml → program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/Xargo.toml


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/programs/custom-instruction-data/src/lib.rs → program-basics/custom-instruction-data/anchor/programs/custom-instruction-data/src/lib.rs


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/tests/test.ts → program-basics/custom-instruction-data/anchor/tests/test.ts


+ 0 - 0
1-program-basics/2-custom-instruction-data/anchor/tsconfig.json → program-basics/custom-instruction-data/anchor/tsconfig.json


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/cicd.sh → program-basics/custom-instruction-data/native/cicd.sh


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/package.json → program-basics/custom-instruction-data/native/package.json


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/program/Cargo.toml → program-basics/custom-instruction-data/native/program/Cargo.toml


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/program/src/lib.rs → program-basics/custom-instruction-data/native/program/src/lib.rs


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/tests/test.ts → program-basics/custom-instruction-data/native/tests/test.ts


+ 0 - 0
1-program-basics/2-custom-instruction-data/native/tsconfig.json → program-basics/custom-instruction-data/native/tsconfig.json


+ 0 - 0
1-program-basics/1-hello-solana/README.md → program-basics/hello-solana/README.md


+ 0 - 0
1-program-basics/1-hello-solana/anchor/Anchor.toml → program-basics/hello-solana/anchor/Anchor.toml


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/Cargo.toml → program-basics/hello-solana/anchor/Cargo.toml


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/package.json → program-basics/hello-solana/anchor/package.json


+ 0 - 0
1-program-basics/1-hello-solana/anchor/programs/hello-solana/Cargo.toml → program-basics/hello-solana/anchor/programs/hello-solana/Cargo.toml


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/Xargo.toml → program-basics/hello-solana/anchor/programs/hello-solana/Xargo.toml


+ 0 - 0
1-program-basics/1-hello-solana/anchor/programs/hello-solana/src/lib.rs → program-basics/hello-solana/anchor/programs/hello-solana/src/lib.rs


+ 0 - 0
1-program-basics/1-hello-solana/anchor/tests/test.ts → program-basics/hello-solana/anchor/tests/test.ts


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/tsconfig.json → program-basics/hello-solana/anchor/tsconfig.json


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/cicd.sh → program-basics/hello-solana/native/cicd.sh


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/package.json → program-basics/hello-solana/native/package.json


+ 0 - 0
2-accounts/create-system-account/native/program/Cargo.toml → program-basics/hello-solana/native/program/Cargo.toml


+ 0 - 0
1-program-basics/1-hello-solana/native/program/src/lib.rs → program-basics/hello-solana/native/program/src/lib.rs


+ 0 - 0
1-program-basics/1-hello-solana/native/tests/test.ts → program-basics/hello-solana/native/tests/test.ts


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/tsconfig.json → program-basics/hello-solana/native/tsconfig.json


+ 0 - 0
1-program-basics/3-recommended-program-layout/README.md → program-basics/recommended-program-layout/README.md


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/Anchor.toml → program-basics/recommended-program-layout/anchor/Anchor.toml


+ 0 - 0
2-accounts/create-system-account/anchor/Cargo.toml → program-basics/recommended-program-layout/anchor/Cargo.toml


+ 3 - 3
2-accounts/create-system-account/anchor/package.json → program-basics/recommended-program-layout/anchor/package.json

@@ -3,12 +3,12 @@
         "@project-serum/anchor": "^0.24.2"
     },
     "devDependencies": {
-        "chai": "^4.3.4",
-        "mocha": "^9.0.3",
-        "ts-mocha": "^8.0.0",
         "@types/bn.js": "^5.1.0",
         "@types/chai": "^4.3.0",
         "@types/mocha": "^9.0.0",
+        "chai": "^4.3.4",
+        "mocha": "^9.0.3",
+        "ts-mocha": "^10.0.0",
         "typescript": "^4.3.5"
     }
 }

+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/Cargo.toml → program-basics/recommended-program-layout/anchor/programs/carnival/Cargo.toml


+ 0 - 0
2-accounts/create-system-account/anchor/programs/create-system-account/Xargo.toml → program-basics/recommended-program-layout/anchor/programs/carnival/Xargo.toml


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/error.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/error.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/instructions/eat_food.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/eat_food.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/instructions/get_on_ride.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/get_on_ride.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/instructions/mod.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/mod.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/instructions/play_game.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/instructions/play_game.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/lib.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/lib.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/state/food.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/state/food.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/state/game.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/state/game.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/state/mod.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/state/mod.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/programs/carnival/src/state/ride.rs → program-basics/recommended-program-layout/anchor/programs/carnival/src/state/ride.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/anchor/tests/test.ts → program-basics/recommended-program-layout/anchor/tests/test.ts


+ 0 - 0
2-accounts/create-system-account/anchor/tsconfig.json → program-basics/recommended-program-layout/anchor/tsconfig.json


+ 2 - 2
2-accounts/create-system-account/native/cicd.sh → program-basics/recommended-program-layout/native/cicd.sh

@@ -4,5 +4,5 @@
 # It also serves as a reference for the commands used for building & deploying Solana programs.
 # Run this bad boy with "bash cicd.sh" or "./cicd.sh"
 
-cargo build-bpf --manifest-path=./program/Cargo.toml --bpf-out-dir=./target/so
-solana program deploy /target/so/program.so
+cargo build-bpf --manifest-path=./program/Cargo.toml --bpf-out-dir=./program/target/so
+solana program deploy ./program/target/so/program.so

+ 3 - 2
2-accounts/create-system-account/native/package.json → program-basics/recommended-program-layout/native/package.json

@@ -1,9 +1,10 @@
 {
   "scripts": {
-    "test": "yarn run ts-mocha -p ./tsconfig.json -t 1000000 ./test.ts"
+    "test": "yarn run ts-mocha -p ./tsconfig.json -t 1000000 ./tests/test.ts"
   },
   "dependencies": {
-    "@solana/web3.js": "^1.47.3"
+    "@solana/web3.js": "^1.47.3",
+    "fs": "^0.0.1-security"
   },
   "devDependencies": {
     "@types/bn.js": "^5.1.0",

+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/Cargo.toml → program-basics/recommended-program-layout/native/program/Cargo.toml


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/error.rs → program-basics/recommended-program-layout/native/program/src/error.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/instructions/eat_food.rs → program-basics/recommended-program-layout/native/program/src/instructions/eat_food.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/instructions/get_on_ride.rs → program-basics/recommended-program-layout/native/program/src/instructions/get_on_ride.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/instructions/mod.rs → program-basics/recommended-program-layout/native/program/src/instructions/mod.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/instructions/play_game.rs → program-basics/recommended-program-layout/native/program/src/instructions/play_game.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/lib.rs → program-basics/recommended-program-layout/native/program/src/lib.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/processor.rs → program-basics/recommended-program-layout/native/program/src/processor.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/state/food.rs → program-basics/recommended-program-layout/native/program/src/state/food.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/state/game.rs → program-basics/recommended-program-layout/native/program/src/state/game.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/state/mod.rs → program-basics/recommended-program-layout/native/program/src/state/mod.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/program/src/state/ride.rs → program-basics/recommended-program-layout/native/program/src/state/ride.rs


+ 0 - 0
1-program-basics/3-recommended-program-layout/native/tests/test.ts → program-basics/recommended-program-layout/native/tests/test.ts


+ 0 - 0
2-accounts/create-system-account/native/tsconfig.json → program-basics/recommended-program-layout/native/tsconfig.json