lib.rs 1.5 KB

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