Skip to content

Commit e5c5e15

Browse files
committed
fix
1 parent 4c75d78 commit e5c5e15

File tree

11 files changed

+54
-158
lines changed

11 files changed

+54
-158
lines changed

magicblock-api/src/tickers.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ use tokio_util::sync::CancellationToken;
2222

2323
use crate::slot::advance_slot_and_update_ledger;
2424

25-
// ER chain
2625
pub fn init_slot_ticker<C: ScheduledCommitsProcessor>(
2726
accountsdb: Arc<AccountsDb>,
2827
committor_processor: &Option<Arc<C>>,
@@ -80,7 +79,6 @@ pub fn init_slot_ticker<C: ScheduledCommitsProcessor>(
8079
})
8180
}
8281

83-
// ER chain
8482
async fn handle_scheduled_commits<C: ScheduledCommitsProcessor>(
8583
committor_processor: &Arc<C>,
8684
transaction_scheduler: &TransactionSchedulerHandle,

magicblock-committor-program/src/instruction.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
use borsh::{BorshDeserialize, BorshSerialize};
22
use solana_pubkey::Pubkey;
33

4-
// this is deployed on Base chain as user-program
5-
64
#[derive(BorshSerialize, BorshDeserialize, Debug, Clone)]
75
pub enum CommittorInstruction {
86
/// Initializes the buffer and [Chunks] accounts which will be used to

magicblock-committor-service/src/intent_executor/single_stage_executor.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ where
6262
Err(err) => err,
6363
};
6464

65-
error!("execution_err: {}", execution_err);
66-
6765
// Attempt patching
6866
let flow = self
6967
.patch_strategy(
@@ -81,7 +79,6 @@ where
8179
cleanup
8280
}
8381
ControlFlow::Break(()) => {
84-
info!("base_intent: {:?}", base_intent);
8582
error!("Could not patch failed intent: {}", base_intent.id);
8683
break (execution_err, transaction_strategy);
8784
}

magicblock-committor-service/src/service.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ pub struct LookupTables {
3030
pub released: Vec<Pubkey>,
3131
}
3232

33-
// this is a part of ER.. and communicates with Base chain
34-
3533
#[derive(Debug)]
3634
pub enum CommittorMessage {
3735
ReservePubkeysForCommittee {

run-schedulecommit-ephm.sh

Lines changed: 0 additions & 7 deletions
This file was deleted.

test-integration/programs/schedulecommit/src/api.rs

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use solana_program::{
99
};
1010

1111
use crate::{
12-
BookUpdate, DelegateCpiArgs, ScheduleCommitCpiArgs,
12+
BookUpdate, DelegateCpiArgs, DelegateOrderBookArgs, ScheduleCommitCpiArgs,
1313
ScheduleCommitInstruction,
1414
};
1515

@@ -35,13 +35,14 @@ pub fn init_account_instruction(
3535

3636
pub fn init_order_book_instruction(
3737
payer: Pubkey,
38+
book_manager: Pubkey,
3839
order_book: Pubkey,
3940
) -> Instruction {
4041
let program_id = crate::id();
4142
let account_metas = vec![
4243
AccountMeta::new(payer, true),
44+
AccountMeta::new_readonly(book_manager, true),
4345
AccountMeta::new(order_book, false),
44-
//AccountMeta::new_readonly(system_program::id(), false),
4546
AccountMeta::new_readonly(system_program::id(), false),
4647
];
4748

@@ -54,14 +55,15 @@ pub fn init_order_book_instruction(
5455

5556
pub fn grow_order_book_instruction(
5657
payer: Pubkey,
58+
book_manager: Pubkey,
5759
order_book: Pubkey,
5860
additional_space: u64,
5961
) -> Instruction {
6062
let program_id = crate::id();
6163
let account_metas = vec![
6264
AccountMeta::new(payer, true),
65+
AccountMeta::new_readonly(book_manager, false),
6366
AccountMeta::new(order_book, false),
64-
//AccountMeta::new_readonly(system_program::id(), false),
6567
AccountMeta::new_readonly(system_program::id(), false),
6668
];
6769

@@ -97,18 +99,14 @@ pub fn init_payer_escrow(payer: Pubkey) -> [Instruction; 2] {
9799

98100
pub fn delegate_account_cpi_instruction(
99101
payer: Pubkey,
100-
player: Pubkey,
102+
player_or_book_manager: Pubkey,
101103
user_seed: &[u8],
102104
) -> Instruction {
103105
let program_id = crate::id();
104-
let (pda, _) =
105-
Pubkey::find_program_address(&[user_seed, player.as_ref()], &crate::ID);
106-
107-
let args = DelegateCpiArgs {
108-
valid_until: i64::MAX,
109-
commit_frequency_ms: 1_000_000_000,
110-
player,
111-
};
106+
let (pda, _) = Pubkey::find_program_address(
107+
&[user_seed, player_or_book_manager.as_ref()],
108+
&crate::ID,
109+
);
112110

113111
let delegate_accounts = DelegateAccounts::new(pda, program_id);
114112
let delegate_metas = DelegateAccountMetas::from(delegate_accounts);
@@ -126,9 +124,18 @@ pub fn delegate_account_cpi_instruction(
126124
Instruction::new_with_borsh(
127125
program_id,
128126
&if user_seed == b"magic_schedule_commit" {
129-
ScheduleCommitInstruction::DelegateCpi(args)
127+
ScheduleCommitInstruction::DelegateCpi(DelegateCpiArgs {
128+
valid_until: i64::MAX,
129+
commit_frequency_ms: 1_000_000_000,
130+
player: player_or_book_manager,
131+
})
130132
} else {
131-
ScheduleCommitInstruction::DelegateOrderBook(args)
133+
ScheduleCommitInstruction::DelegateOrderBook(
134+
DelegateOrderBookArgs {
135+
commit_frequency_ms: 1_000_000_000,
136+
book_manager: player_or_book_manager,
137+
},
138+
)
132139
},
133140
account_metas,
134141
)

test-integration/programs/schedulecommit/src/lib.rs

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ pub struct DelegateCpiArgs {
5050
player: Pubkey,
5151
}
5252

53+
#[derive(BorshSerialize, BorshDeserialize, Debug, Clone)]
54+
pub struct DelegateOrderBookArgs {
55+
commit_frequency_ms: u32,
56+
book_manager: Pubkey,
57+
}
58+
5359
#[derive(BorshSerialize, BorshDeserialize, Debug, Clone)]
5460
pub struct ScheduleCommitCpiArgs {
5561
/// Pubkeys of players from which PDAs were derived
@@ -122,7 +128,7 @@ pub enum ScheduleCommitInstruction {
122128
GrowOrderBook(u64), // additional_space
123129

124130
/// Delegate order book to ER nodes
125-
DelegateOrderBook(DelegateCpiArgs),
131+
DelegateOrderBook(DelegateOrderBookArgs),
126132

127133
/// Update order book
128134
UpdateOrderBook(BookUpdate),
@@ -275,32 +281,29 @@ fn process_init_order_book<'a>(
275281
accounts: &'a [AccountInfo<'a>],
276282
) -> entrypoint::ProgramResult {
277283
msg!("Init OrderBook account");
278-
let [payer, order_book, _system_program] = accounts else {
279-
return Err(ProgramError::Immutable);
284+
let [payer, book_manager, order_book, _system_program] = accounts else {
285+
return Err(ProgramError::NotEnoughAccountKeys);
280286
};
281287

282288
assert_is_signer(payer, "payer")?;
283289

284290
let (pda, bump) = Pubkey::find_program_address(
285-
&[b"order_book", payer.key.as_ref()],
291+
&[b"order_book", book_manager.key.as_ref()],
286292
&crate::ID,
287293
);
288-
let seeds = &[b"order_book", payer.key.as_ref(), &[bump]];
289-
msg!("payer: {}", payer.key);
290-
msg!("pda: {}", pda);
291-
msg!("seeds: {:?}", seeds);
292-
msg!("seedsnb: {:?}", &[b"order_book", payer.key.as_ref()]);
294+
293295
assert_keys_equal(order_book.key, &pda, || {
294296
format!(
295-
"PDA for the account ('{}') and for payer ('{}') is incorrect",
296-
order_book.key, payer.key
297+
"PDA for the account ('{}') and for book_manager ('{}') is incorrect",
298+
order_book.key, book_manager.key
297299
)
298300
})?;
301+
299302
allocate_account_and_assign_owner(AllocateAndAssignAccountArgs {
300303
payer_info: payer,
301304
account_info: order_book,
302305
owner: &crate::ID,
303-
signer_seeds: seeds,
306+
signer_seeds: &[b"order_book", book_manager.key.as_ref(), &[bump]],
304307
size: 10 * 1024,
305308
})?;
306309

@@ -312,20 +315,20 @@ fn process_grow_order_book<'a>(
312315
additional_space: u64,
313316
) -> entrypoint::ProgramResult {
314317
msg!("Grow OrderBook account");
315-
let [payer, order_book, system_program] = accounts else {
316-
return Err(ProgramError::Immutable);
318+
let [payer, book_manager, order_book, system_program] = accounts else {
319+
return Err(ProgramError::NotEnoughAccountKeys);
317320
};
318321

319322
assert_is_signer(payer, "payer")?;
320323

321324
let (pda, _bump) = Pubkey::find_program_address(
322-
&[b"order_book", payer.key.as_ref()],
325+
&[b"order_book", book_manager.key.as_ref()],
323326
&crate::ID,
324327
);
325328

326329
assert_keys_equal(order_book.key, &pda, || {
327330
format!(
328-
"PDA for the account ('{}') and for payer ('{}') is incorrect",
331+
"PDA for the account ('{}') and for book_manager ('{}') is incorrect",
329332
order_book.key, payer.key
330333
)
331334
})?;
@@ -356,19 +359,17 @@ fn process_grow_order_book<'a>(
356359
// -----------------
357360
pub fn process_delegate_order_book(
358361
accounts: &[AccountInfo],
359-
args: DelegateCpiArgs,
362+
args: DelegateOrderBookArgs,
360363
) -> Result<(), ProgramError> {
361364
msg!("Processing delegate_order_book instruction");
362365

363366
let [payer, order_book, owner_program, buffer, delegation_record, delegation_metadata, delegation_program, system_program] =
364367
accounts
365368
else {
366-
return Err(ProgramError::Custom(959));
369+
return Err(ProgramError::NotEnoughAccountKeys);
367370
};
368371

369-
let seeds_no_bump = [b"order_book", args.player.as_ref()];
370-
371-
msg!("seeds: {:?}", seeds_no_bump);
372+
let seeds_no_bump = [b"order_book", args.book_manager.as_ref()];
372373

373374
delegate_account(
374375
DelegateAccounts {

test-integration/run-shecdulecommit-test-validator.sh

Lines changed: 0 additions & 53 deletions
This file was deleted.

test-integration/run-test-validator.sh

Lines changed: 0 additions & 50 deletions
This file was deleted.

test-integration/schedulecommit/client/src/schedule_commit_context.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,15 +170,21 @@ impl ScheduleCommitTestContext {
170170
if self.user_seed == b"magic_schedule_commit" {
171171
ixs.extend(self.committees.iter().map(|(player, committee)| {
172172
init_account_instruction(
173-
self.payer_ephem.pubkey(),
173+
self.payer_chain.pubkey(),
174174
player.pubkey(),
175175
*committee,
176176
)
177177
}));
178178
} else {
179-
ixs.extend(self.committees.iter().map(|(payer, committee)| {
180-
init_order_book_instruction(payer.pubkey(), *committee)
181-
}));
179+
ixs.extend(self.committees.iter().map(
180+
|(book_manager, committee)| {
181+
init_order_book_instruction(
182+
self.payer_chain.pubkey(),
183+
book_manager.pubkey(),
184+
*committee,
185+
)
186+
},
187+
));
182188

183189
//// TODO (snawaz): currently the size of delegatable-account cannot be
184190
//// more than 10K, else delegation will fail. So Let's revisit this when

0 commit comments

Comments
 (0)