This commit is contained in:
Hardhat Chad
2025-06-25 08:52:12 -05:00
parent f27870fdbb
commit 0c2b6a087e
4 changed files with 246 additions and 37 deletions

View File

@@ -11,11 +11,15 @@ pub fn open(signer: Pubkey, id: u64) -> Instruction {
let block_adddress = block_pda(id).0;
let market_address = market_pda(id).0;
let base_mint_address = mint_pda(id).0;
let collateral_address = get_associated_token_address(&block_adddress, &MINT_ADDRESS);
let commitment_address = get_associated_token_address(&block_adddress, &base_mint_address);
// let collateral_address = get_associated_token_address(&block_adddress, &MINT_ADDRESS);
let collateral_address = collateral_pda(id).0;
// let commitment_address = get_associated_token_address(&block_adddress, &base_mint_address);
let commitment_address = commitment_pda(id).0;
let sender_address = get_associated_token_address(&signer, &MINT_ADDRESS);
let vault_base_address = get_associated_token_address(&market_address, &base_mint_address);
let vault_quote_address = get_associated_token_address(&market_address, &MINT_ADDRESS);
// let vault_base_address = get_associated_token_address(&market_address, &base_mint_address);
let vault_base_address = vault_base_pda(id).0;
// let vault_quote_address = get_associated_token_address(&market_address, &MINT_ADDRESS);
let vault_quote_address = vault_quote_pda(id).0;
Instruction {
program_id: crate::ID,
accounts: vec![

View File

@@ -50,6 +50,56 @@ pub fn mint_pda(id: u64) -> (Pubkey, u8) {
Pubkey::find_program_address(&[MINT, &id.to_le_bytes()], &crate::ID)
}
pub fn collateral_pda(block_id: u64) -> (Pubkey, u8) {
let block_address = block_pda(block_id).0;
Pubkey::find_program_address(
&[
&block_address.to_bytes(),
&spl_token::ID.to_bytes(),
&MINT_ADDRESS.to_bytes(),
],
&crate::ID,
)
}
pub fn commitment_pda(block_id: u64) -> (Pubkey, u8) {
let block_address = block_pda(block_id).0;
let mint_address = mint_pda(block_id).0;
Pubkey::find_program_address(
&[
&block_address.to_bytes(),
&spl_token::ID.to_bytes(),
&mint_address.to_bytes(),
],
&crate::ID,
)
}
pub fn vault_base_pda(block_id: u64) -> (Pubkey, u8) {
let market_address = market_pda(block_id).0;
let mint_address = mint_pda(block_id).0;
Pubkey::find_program_address(
&[
&market_address.to_bytes(),
&spl_token::ID.to_bytes(),
&mint_address.to_bytes(),
],
&crate::ID,
)
}
pub fn vault_quote_pda(block_id: u64) -> (Pubkey, u8) {
let market_address = market_pda(block_id).0;
Pubkey::find_program_address(
&[
&market_address.to_bytes(),
&spl_token::ID.to_bytes(),
&MINT_ADDRESS.to_bytes(),
],
&crate::ID,
)
}
pub fn permit_pda(authority: Pubkey, block_id: u64) -> (Pubkey, u8) {
Pubkey::find_program_address(
&[PERMIT, &authority.to_bytes(), &block_id.to_le_bytes()],