Skip to content

Commit 2d25800

Browse files
committed
fix: failing ci
1 parent af10959 commit 2d25800

29 files changed

Lines changed: 148 additions & 143 deletions

File tree

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use quasar_lang::prelude::*;
1+
use quasar_lang::{prelude::*, sysvars::Sysvar};
22

33
/// Accounts for creating a new system-owned account.
44
/// Both payer and new_account must sign the transaction.
@@ -15,17 +15,11 @@ pub struct CreateSystemAccount {
1515
pub fn handle_create_system_account(
1616
accounts: &mut CreateSystemAccount,
1717
) -> Result<(), ProgramError> {
18-
// Create a zero-data account owned by the system program,
19-
// funded with the minimum rent-exempt balance.
2018
let system_program_address = Address::default();
19+
let rent = Rent::get()?;
20+
let lamports = rent.minimum_balance_unchecked(0);
2121
accounts
2222
.system_program
23-
.create_account_with_minimum_balance(
24-
&accounts.payer,
25-
&accounts.new_account,
26-
0, // space: zero bytes of data
27-
&system_program_address,
28-
None, // fetch Rent sysvar automatically
29-
)?
30-
.invoke();
23+
.create_account(&accounts.payer, &accounts.new_account, lamports, 0u64, &system_program_address)
24+
.invoke()
3125
}
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use {
2-
crate::state::Favorites,
3-
quasar_lang::prelude::*,
2+
crate::state::{Favorites, FavoritesInner},
3+
quasar_lang::{prelude::*, sysvars::Sysvar},
44
};
55

66
/// Accounts for setting user favourites. Uses `init_if_needed` so the same
@@ -10,16 +10,17 @@ pub struct SetFavorites {
1010
#[account(mut)]
1111
pub user: Signer,
1212
#[account(mut, init_if_needed, payer = user, seeds = Favorites::seeds(user), bump)]
13-
pub favorites: Account<Favorites<'_>>,
13+
pub favorites: Account<Favorites>,
1414
pub system_program: Program<System>,
1515
}
1616

1717
#[inline(always)]
1818
pub fn handle_set_favorites(accounts: &mut SetFavorites, number: u64, color: &str) -> Result<(), ProgramError> {
19+
let rent = Rent::get()?;
1920
accounts.favorites.set_inner(
20-
number,
21-
color,
21+
FavoritesInner { number, color },
2222
accounts.user.to_account_view(),
23-
None,
23+
rent.lamports_per_byte(),
24+
rent.exemption_threshold_raw(),
2425
)
2526
}

basics/favorites/quasar/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ mod quasar_favorites {
2222
pub fn set_favorites(
2323
ctx: Ctx<SetFavorites>,
2424
number: u64,
25-
color: String,
25+
color: String<50>,
2626
) -> Result<(), ProgramError> {
2727
instructions::handle_set_favorites(&mut ctx.accounts, number, color)
2828
}

basics/favorites/quasar/src/state.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ use quasar_lang::prelude::*;
55
/// The Anchor version also stores `hobbies: Vec<String>`, but Quasar doesn't
66
/// support nested dynamic types (Vec<String>). We keep number + color, which
77
/// demonstrates fixed + dynamic field mixing in Quasar.
8-
#[account(discriminator = 1)]
8+
#[account(discriminator = 1, set_inner)]
99
#[seeds(b"favorites", user: Address)]
10-
pub struct Favorites<'a> {
10+
pub struct Favorites {
1111
pub number: u64,
1212
pub color: String<50>,
1313
}

basics/pda-rent-payer/quasar/src/instructions/create_new_account.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use quasar_lang::prelude::*;
1+
use quasar_lang::{prelude::*, sysvars::Sysvar};
22

33
/// Accounts for creating a new account funded by the rent vault PDA.
44
/// The rent vault signs the create_account CPI via PDA seeds.
@@ -21,15 +21,10 @@ pub fn handle_create_new_account(accounts: &mut CreateNewAccount, rent_vault_bum
2121
];
2222

2323
let system_program_address = Address::default();
24+
let rent = Rent::get()?;
25+
let lamports = rent.minimum_balance_unchecked(0);
2426

25-
// Create a zero-data system-owned account, funded from the vault.
2627
accounts.system_program
27-
.create_account_with_minimum_balance(
28-
&accounts.rent_vault,
29-
&accounts.new_account,
30-
0, // space: zero bytes of data
31-
&system_program_address,
32-
None, // fetch Rent sysvar automatically
33-
)?
28+
.create_account(&accounts.rent_vault, &accounts.new_account, lamports, 0u64, &system_program_address)
3429
.invoke_signed(seeds)
3530
}

basics/processing-instructions/quasar/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ mod quasar_processing_instructions {
1717
/// Quasar can parse String instruction args (u32-prefixed wire format) but
1818
/// can't interpolate them into log messages (no format! in no_std).
1919
#[instruction(discriminator = 0)]
20-
pub fn go_to_park(ctx: Ctx<Park>, name: String, height: u32) -> Result<(), ProgramError> {
20+
pub fn go_to_park(ctx: Ctx<Park>, height: u32, name: String<50>) -> Result<(), ProgramError> {
2121
instructions::handle_go_to_park(&mut ctx.accounts, name, height)
2222
}
2323
}

basics/program-derived-addresses/quasar/src/instructions/create.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use {
2-
crate::state::PageVisits,
2+
crate::state::{PageVisits, PageVisitsInner},
33
quasar_lang::prelude::*,
44
};
55

@@ -16,6 +16,6 @@ pub struct CreatePageVisits {
1616

1717
#[inline(always)]
1818
pub fn handle_create_page_visits(accounts: &mut CreatePageVisits) -> Result<(), ProgramError> {
19-
accounts.page_visits.set_inner(0u64);
19+
accounts.page_visits.set_inner(PageVisitsInner { page_visits: 0 });
2020
Ok(())
2121
}

basics/program-derived-addresses/quasar/src/state/page_visits.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use quasar_lang::prelude::*;
22

33
/// PDA account that tracks page visits for a user.
44
/// Derived from seeds: ["page_visits", user_pubkey].
5-
#[account(discriminator = 1)]
5+
#[account(discriminator = 1, set_inner)]
66
#[seeds(b"page_visits", payer: Address)]
77
pub struct PageVisits {
88
pub page_visits: u64,
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use {
2-
crate::state::MessageAccount,
3-
quasar_lang::prelude::*,
2+
crate::state::{MessageAccount, MessageAccountInner},
3+
quasar_lang::{prelude::*, sysvars::Sysvar},
44
};
55

66
/// Accounts for initialising a new message account.
@@ -10,15 +10,17 @@ pub struct Initialize {
1010
#[account(mut)]
1111
pub payer: Signer,
1212
#[account(mut, init, payer = payer)]
13-
pub message_account: Account<MessageAccount<'_>>,
13+
pub message_account: Account<MessageAccount>,
1414
pub system_program: Program<System>,
1515
}
1616

1717
#[inline(always)]
1818
pub fn handle_initialize(accounts: &mut Initialize, message: &str) -> Result<(), ProgramError> {
19+
let rent = Rent::get()?;
1920
accounts.message_account.set_inner(
20-
message,
21+
MessageAccountInner { message },
2122
accounts.payer.to_account_view(),
22-
None,
23+
rent.lamports_per_byte(),
24+
rent.exemption_threshold_raw(),
2325
)
2426
}
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use {
2-
crate::state::MessageAccount,
3-
quasar_lang::prelude::*,
2+
crate::state::{MessageAccount, MessageAccountInner},
3+
quasar_lang::{prelude::*, sysvars::Sysvar},
44
};
55

66
/// Accounts for updating a message account.
@@ -11,15 +11,17 @@ pub struct Update {
1111
#[account(mut)]
1212
pub payer: Signer,
1313
#[account(mut)]
14-
pub message_account: Account<MessageAccount<'_>>,
14+
pub message_account: Account<MessageAccount>,
1515
pub system_program: Program<System>,
1616
}
1717

1818
#[inline(always)]
1919
pub fn handle_update(accounts: &mut Update, message: &str) -> Result<(), ProgramError> {
20+
let rent = Rent::get()?;
2021
accounts.message_account.set_inner(
21-
message,
22+
MessageAccountInner { message },
2223
accounts.payer.to_account_view(),
23-
None,
24+
rent.lamports_per_byte(),
25+
rent.exemption_threshold_raw(),
2426
)
2527
}

0 commit comments

Comments
 (0)