lib.rs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. use anchor_lang::prelude::*;
  2. pub mod error;
  3. pub mod instructions;
  4. pub mod state;
  5. use crate::instructions::{
  6. get_on_ride,
  7. play_game,
  8. eat_food,
  9. };
  10. // For setting up modules & configs
  11. declare_id!("8t94SEJh9jVjDwV7cbiuT6BvEsHo4YHP9x9a5rYH1NpP");
  12. #[program]
  13. pub mod carnival {
  14. use super::*;
  15. pub fn go_on_ride(
  16. _ctx: Context<CarnivalContext>,
  17. name: String,
  18. height: u32,
  19. ticket_count: u32,
  20. ride_name: String,
  21. ) -> Result<()> {
  22. get_on_ride::get_on_ride(get_on_ride::GetOnRideInstructionData {
  23. rider_name: name,
  24. rider_height: height,
  25. rider_ticket_count: ticket_count,
  26. ride: ride_name,
  27. })
  28. }
  29. pub fn play_game(
  30. _ctx: Context<CarnivalContext>,
  31. name: String,
  32. ticket_count: u32,
  33. game_name: String,
  34. ) -> Result<()> {
  35. play_game::play_game(play_game::PlayGameInstructionData {
  36. gamer_name: name,
  37. gamer_ticket_count: ticket_count,
  38. game: game_name,
  39. })
  40. }
  41. pub fn eat_food(
  42. _ctx: Context<CarnivalContext>,
  43. name: String,
  44. ticket_count: u32,
  45. food_stand_name: String,
  46. ) -> Result<()> {
  47. eat_food::eat_food(eat_food::EatFoodInstructionData {
  48. eater_name: name,
  49. eater_ticket_count: ticket_count,
  50. food_stand: food_stand_name,
  51. })
  52. }
  53. }
  54. #[derive(Accounts)]
  55. pub struct CarnivalContext<'info> {
  56. #[account(mut)]
  57. pub payer: Signer<'info>,
  58. }