diff --git a/forester/src/compressible/compressor.rs b/forester/src/compressible/compressor.rs index 21cf3862ab..ccff682bed 100644 --- a/forester/src/compressible/compressor.rs +++ b/forester/src/compressible/compressor.rs @@ -3,7 +3,7 @@ use std::{str::FromStr, sync::Arc}; use anchor_lang::{InstructionData, ToAccountMetas}; use forester_utils::rpc_pool::SolanaRpcPool; use light_client::rpc::Rpc; -use light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseAccounts as CTokenAccounts; +use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenAccounts; use light_compressible::config::CompressibleConfig; use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; use light_registry::{ diff --git a/forester/tests/test_compressible_ctoken.rs b/forester/tests/test_compressible_ctoken.rs index 53bfedc5a9..c82725d69f 100644 --- a/forester/tests/test_compressible_ctoken.rs +++ b/forester/tests/test_compressible_ctoken.rs @@ -9,7 +9,7 @@ use light_client::{ local_test_validator::{spawn_validator, LightValidatorConfig}, rpc::{LightClient, LightClientConfig, Rpc}, }; -use light_compressed_token_sdk::instructions::create_compressed_mint; +use light_compressed_token_sdk::compressed_token::create_compressed_mint; use light_ctoken_types::state::TokenDataVersion; use light_registry::{ protocol_config::state::ProtocolConfigPda, diff --git a/program-tests/compressed-token-test/tests/ctoken/compress_and_close.rs b/program-tests/compressed-token-test/tests/ctoken/compress_and_close.rs index b41ccaa264..5775220fca 100644 --- a/program-tests/compressed-token-test/tests/ctoken/compress_and_close.rs +++ b/program-tests/compressed-token-test/tests/ctoken/compress_and_close.rs @@ -110,7 +110,7 @@ async fn test_compress_and_close_owner_scenarios() { .await; // Set token balance on ATA - use light_compressed_token_sdk::instructions::create_associated_token_account::derive_ctoken_ata; + use light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata; let (ata_pubkey, _bump) = derive_ctoken_ata(&context.owner_keypair.pubkey(), &context.mint_pubkey); @@ -440,8 +440,8 @@ async fn test_compressible_account_with_custom_rent_payer_close_with_compression // Initialize compressible token account let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey, mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), diff --git a/program-tests/compressed-token-test/tests/ctoken/create.rs b/program-tests/compressed-token-test/tests/ctoken/create.rs index 4ea62aeba8..21f9098655 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create.rs @@ -227,8 +227,8 @@ async fn test_create_compressible_token_account_failing() { let token_account_pubkey = Keypair::new(); let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey.pubkey(), mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), @@ -364,8 +364,8 @@ async fn test_create_compressible_token_account_failing() { }; let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey, mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), @@ -412,8 +412,8 @@ async fn test_create_compressible_token_account_failing() { .unwrap(); let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: context.token_account_keypair.pubkey(), mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), @@ -452,8 +452,8 @@ async fn test_create_compressible_token_account_failing() { let wrong_account_type = context.rpc.test_accounts.protocol.governance_authority_pda; let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: context.token_account_keypair.pubkey(), mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), diff --git a/program-tests/compressed-token-test/tests/ctoken/create_ata.rs b/program-tests/compressed-token-test/tests/ctoken/create_ata.rs index d306180aa1..2e0873df87 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create_ata.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create_ata.rs @@ -275,8 +275,8 @@ async fn test_create_ata_failing() { context.mint_pubkey = solana_sdk::pubkey::Pubkey::new_unique(); let new_owner = solana_sdk::signature::Keypair::new(); - let create_ata_ix = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let create_ata_ix = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: poor_payer_pubkey, owner: new_owner.pubkey(), mint: context.mint_pubkey, @@ -442,7 +442,7 @@ async fn test_create_ata_failing() { // Compressible config must be owned by the compressed-token program // Error: 14 (InvalidAccountOwner) { - use light_compressed_token_sdk::instructions::create_compressible_associated_token_account; + use light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account; // Use different mint for this test context.mint_pubkey = solana_sdk::pubkey::Pubkey::new_unique(); @@ -451,7 +451,7 @@ async fn test_create_ata_failing() { let fake_config = solana_sdk::system_program::ID; let create_ata_ix = create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: context.owner_keypair.pubkey(), mint: context.mint_pubkey, @@ -478,7 +478,7 @@ async fn test_create_ata_failing() { // Using the protocol config account which has a different discriminator. // Error: 20000 (InvalidDiscriminator from account-checks) { - use light_compressed_token_sdk::instructions::create_compressible_associated_token_account; + use light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account; // Use different mint for this test context.mint_pubkey = solana_sdk::pubkey::Pubkey::new_unique(); @@ -487,7 +487,7 @@ async fn test_create_ata_failing() { let wrong_account_type = context.rpc.test_accounts.protocol.governance_authority_pda; let create_ata_ix = create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: context.owner_keypair.pubkey(), mint: context.mint_pubkey, @@ -601,8 +601,8 @@ async fn test_ata_multiple_owners_same_mint() { }; // Create ATAs for each owner with the same mint - let create_ata_ix1 = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let create_ata_ix1 = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner1, mint, @@ -632,8 +632,8 @@ async fn test_ata_multiple_owners_same_mint() { ) .await; - let create_ata_ix2 = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let create_ata_ix2 = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner2, mint, @@ -663,8 +663,8 @@ async fn test_ata_multiple_owners_same_mint() { ) .await; - let create_ata_ix3 = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let create_ata_ix3 = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner3, mint, diff --git a/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs b/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs index 084190d51b..8d514a4e08 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs @@ -15,13 +15,13 @@ async fn create_and_assert_ata2( let create_ata_ix = if let Some(compressible) = compressible_data.as_ref() { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account2_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account2_idempotent } else { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account2 + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account2 }; create_fn( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner_pubkey, mint: context.mint_pubkey, @@ -35,9 +35,9 @@ async fn create_and_assert_ata2( .unwrap() } else { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_associated_token_account2_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account2_idempotent } else { - light_compressed_token_sdk::instructions::create_associated_token_account2 + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account2 }; create_fn(payer_pubkey, owner_pubkey, context.mint_pubkey).unwrap() diff --git a/program-tests/compressed-token-test/tests/ctoken/functional.rs b/program-tests/compressed-token-test/tests/ctoken/functional.rs index 222ff42845..e38d0bf39a 100644 --- a/program-tests/compressed-token-test/tests/ctoken/functional.rs +++ b/program-tests/compressed-token-test/tests/ctoken/functional.rs @@ -123,8 +123,8 @@ async fn test_compressible_account_with_compression_authority_lifecycle() { // Initialize compressible token account let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey, mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), diff --git a/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs b/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs index af40b47fea..c9d2f1b296 100644 --- a/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs +++ b/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs @@ -1,4 +1,4 @@ -use light_compressed_token_sdk::instructions::create_associated_token_account_idempotent; +use light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account_idempotent; use light_test_utils::assert_create_token_account::assert_create_associated_token_account; use super::shared::*; @@ -18,7 +18,7 @@ async fn test_associated_token_account_operations() { let owner_pubkey = context.owner_keypair.pubkey(); // Create basic ATA using SDK function - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer_pubkey, owner_pubkey, context.mint_pubkey, @@ -47,8 +47,8 @@ async fn test_associated_token_account_operations() { let num_prepaid_epochs = 0; let lamports_per_write = Some(150); // Create compressible ATA - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: compressible_owner_pubkey, mint: context.mint_pubkey, @@ -139,7 +139,7 @@ async fn test_create_ata_idempotent() { let payer_pubkey = context.payer.pubkey(); let owner_pubkey = context.owner_keypair.pubkey(); // Create ATA using non-idempotent instruction (first creation) - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer_pubkey, owner_pubkey, context.mint_pubkey, @@ -162,7 +162,7 @@ async fn test_create_ata_idempotent() { .await; // Attempt to create the same ATA again using non-idempotent instruction (should fail) - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer_pubkey, owner_pubkey, context.mint_pubkey, diff --git a/program-tests/compressed-token-test/tests/ctoken/shared.rs b/program-tests/compressed-token-test/tests/ctoken/shared.rs index c54f568295..4343bb9db4 100644 --- a/program-tests/compressed-token-test/tests/ctoken/shared.rs +++ b/program-tests/compressed-token-test/tests/ctoken/shared.rs @@ -1,8 +1,8 @@ // Re-export all necessary imports for test modules -pub use light_compressed_token_sdk::instructions::{ +pub use light_compressed_token_sdk::ctoken::{ close::{close_account, close_compressible_account}, create_associated_token_account::derive_ctoken_ata, - create_token_account, + create_token_account::create_token_account, }; pub use light_compressible::rent::{RentConfig, SLOTS_PER_EPOCH}; pub use light_ctoken_types::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; @@ -91,8 +91,8 @@ pub async fn create_and_assert_token_account( let token_account_pubkey = context.token_account_keypair.pubkey(); let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey, mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), @@ -143,8 +143,8 @@ pub async fn create_and_assert_token_account_fails( let token_account_pubkey = context.token_account_keypair.pubkey(); let create_token_account_ix = - light_compressed_token_sdk::instructions::create_compressible_token_account_instruction( - light_compressed_token_sdk::instructions::CreateCompressibleTokenAccount { + light_compressed_token_sdk::ctoken::create_token_account::create_compressible_token_account_instruction( + light_compressed_token_sdk::ctoken::create_token_account::CreateCompressibleTokenAccount { account_pubkey: token_account_pubkey, mint_pubkey: context.mint_pubkey, owner_pubkey: context.owner_keypair.pubkey(), @@ -415,13 +415,13 @@ pub async fn create_and_assert_ata( // Build instruction based on whether it's compressible let create_ata_ix = if let Some(compressible) = compressible_data.as_ref() { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account_idempotent } else { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account }; create_fn( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner_pubkey, mint: context.mint_pubkey, @@ -435,9 +435,9 @@ pub async fn create_and_assert_ata( .unwrap() } else { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_associated_token_account_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account_idempotent } else { - light_compressed_token_sdk::instructions::create_associated_token_account + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account }; create_fn(payer_pubkey, owner_pubkey, context.mint_pubkey).unwrap() @@ -477,13 +477,13 @@ pub async fn create_and_assert_ata_fails( // Build instruction based on whether it's compressible let create_ata_ix = if let Some(compressible) = compressible_data.as_ref() { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account_idempotent } else { - light_compressed_token_sdk::instructions::create_compressible_associated_token_account + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account }; create_fn( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer_pubkey, owner: owner_pubkey, mint: context.mint_pubkey, @@ -497,9 +497,9 @@ pub async fn create_and_assert_ata_fails( .unwrap() } else { let create_fn = if idempotent { - light_compressed_token_sdk::instructions::create_associated_token_account_idempotent + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account_idempotent } else { - light_compressed_token_sdk::instructions::create_associated_token_account + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account }; create_fn(payer_pubkey, owner_pubkey, context.mint_pubkey).unwrap() @@ -846,7 +846,7 @@ pub async fn compress_and_close_forester_with_invalid_output( }; // Add system accounts - use light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; + use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; let config = CTokenCompressAndCloseAccounts { compressed_token_program: compressed_token_program_id, cpi_authority_pda: Pubkey::find_program_address( diff --git a/program-tests/compressed-token-test/tests/mint/cpi_context.rs b/program-tests/compressed-token-test/tests/mint/cpi_context.rs index 1c2194d452..6fc915b9e9 100644 --- a/program-tests/compressed-token-test/tests/mint/cpi_context.rs +++ b/program-tests/compressed-token-test/tests/mint/cpi_context.rs @@ -2,10 +2,13 @@ use anchor_lang::InstructionData; use compressed_token_test::ID as WRAPPER_PROGRAM_ID; use light_client::indexer::Indexer; use light_compressed_account::instruction_data::traits::LightInstructionData; -use light_compressed_token_sdk::instructions::{ - derive_compressed_mint_address, find_spl_mint_address, - get_mint_action_instruction_account_metas, get_mint_action_instruction_account_metas_cpi_write, - mint_action::{MintActionMetaConfig, MintActionMetaConfigCpiWrite}, +use light_compressed_token_sdk::compressed_token::{ + create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, + mint_action::{ + get_mint_action_instruction_account_metas, + get_mint_action_instruction_account_metas_cpi_write, MintActionMetaConfig, + MintActionMetaConfigCpiWrite, + }, }; use light_ctoken_types::{ instructions::mint_action::{ diff --git a/program-tests/compressed-token-test/tests/mint/edge_cases.rs b/program-tests/compressed-token-test/tests/mint/edge_cases.rs index fb696bc888..7e42daf537 100644 --- a/program-tests/compressed-token-test/tests/mint/edge_cases.rs +++ b/program-tests/compressed-token-test/tests/mint/edge_cases.rs @@ -1,11 +1,13 @@ use anchor_lang::prelude::borsh::BorshDeserialize; use light_client::indexer::Indexer; -use light_compressed_token_sdk::instructions::{ - create_associated_token_account::{ +use light_compressed_token_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken::create_associated_token_account::{ create_compressible_associated_token_account, CreateCompressibleAssociatedTokenAccountInputs, }, - derive_compressed_mint_address, find_spl_mint_address, }; use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint, TokenDataVersion}; use light_program_test::{LightProgramTest, ProgramTestConfig}; @@ -181,7 +183,7 @@ async fn functional_all_in_one_instruction() { }, // 2. MintToCToken - mint to decompressed account MintActionType::MintToCToken { - account: light_compressed_token_sdk::instructions::derive_ctoken_ata( + account: light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata( &recipient.pubkey(), &spl_mint_pda, ) diff --git a/program-tests/compressed-token-test/tests/mint/failing.rs b/program-tests/compressed-token-test/tests/mint/failing.rs index e492ef273b..ddfe626f81 100644 --- a/program-tests/compressed-token-test/tests/mint/failing.rs +++ b/program-tests/compressed-token-test/tests/mint/failing.rs @@ -2,7 +2,7 @@ use anchor_lang::prelude::borsh::BorshDeserialize; use light_client::indexer::Indexer; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::create_compressed_mint::{ derive_compressed_mint_address, find_spl_mint_address, }; use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint}; @@ -397,7 +397,7 @@ async fn functional_and_failing_tests() { let recipient = Keypair::new(); let create_ata_ix = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), spl_mint_pda, @@ -454,7 +454,7 @@ async fn functional_and_failing_tests() { let recipient2 = Keypair::new(); let create_ata_ix2 = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient2.pubkey(), spl_mint_pda, @@ -465,11 +465,12 @@ async fn functional_and_failing_tests() { .await .unwrap(); - let recipient_ata = light_compressed_token_sdk::instructions::derive_ctoken_ata( - &recipient2.pubkey(), - &spl_mint_pda, - ) - .0; + let recipient_ata = + light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata( + &recipient2.pubkey(), + &spl_mint_pda, + ) + .0; // Try to mint with valid NEW authority (since we updated it) let result = light_token_client::actions::mint_action_comprehensive( diff --git a/program-tests/compressed-token-test/tests/mint/functional.rs b/program-tests/compressed-token-test/tests/mint/functional.rs index 51b95818a1..e1afae9099 100644 --- a/program-tests/compressed-token-test/tests/mint/functional.rs +++ b/program-tests/compressed-token-test/tests/mint/functional.rs @@ -1,11 +1,13 @@ use anchor_lang::{prelude::borsh::BorshDeserialize, solana_program::program_pack::Pack}; use light_client::indexer::Indexer; -use light_compressed_token_sdk::instructions::{ - create_associated_token_account::{ +use light_compressed_token_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken::create_associated_token_account::{ create_associated_token_account, create_compressible_associated_token_account, - CreateCompressibleAssociatedTokenAccountInputs, + derive_ctoken_ata, CreateCompressibleAssociatedTokenAccountInputs, }, - derive_compressed_mint_address, derive_ctoken_ata, find_spl_mint_address, }; use light_ctoken_types::{ instructions::{ @@ -1031,7 +1033,7 @@ async fn test_create_compressed_mint_with_token_metadata() { &[COMPRESSED_MINT_SEED, mint_seed.pubkey().as_ref()], &light_compressed_token::ID, ); - let compressed_mint_address = light_compressed_token_sdk::instructions::create_compressed_mint::derive_compressed_mint_address(&mint_seed.pubkey(), &address_tree_pubkey); + let compressed_mint_address = light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address(&mint_seed.pubkey(), &address_tree_pubkey); // Verify the compressed mint was created let compressed_mint_account = rpc diff --git a/program-tests/compressed-token-test/tests/mint/random.rs b/program-tests/compressed-token-test/tests/mint/random.rs index f57d21fa7b..a599a940ff 100644 --- a/program-tests/compressed-token-test/tests/mint/random.rs +++ b/program-tests/compressed-token-test/tests/mint/random.rs @@ -1,7 +1,7 @@ use anchor_lang::prelude::borsh::BorshDeserialize; use light_batched_merkle_tree::initialize_state_tree::InitStateTreeAccountsInstructionData; use light_client::indexer::Indexer; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::create_compressed_mint::{ derive_compressed_mint_address, find_spl_mint_address, }; use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint}; @@ -128,7 +128,7 @@ async fn test_random_mint_action() { for _ in 0..5 { let recipient = Keypair::new(); let create_ata_ix = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), spl_mint_pda, @@ -139,11 +139,12 @@ async fn test_random_mint_action() { .await .unwrap(); - let ata = light_compressed_token_sdk::instructions::derive_ctoken_ata( - &recipient.pubkey(), - &spl_mint_pda, - ) - .0; + let ata = + light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata( + &recipient.pubkey(), + &spl_mint_pda, + ) + .0; ctoken_atas.push(ata); } diff --git a/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs b/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs index 1c0c4335c7..dbde5de8cc 100644 --- a/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs @@ -36,14 +36,16 @@ // use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::{ - create_associated_token_account::create_compressible_associated_token_account, - derive_ctoken_ata, find_spl_mint_address, + compressed_token::{ + create_compressed_mint::find_spl_mint_address, transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, Transfer2Inputs, }, + CTokenAccount2, + }, + ctoken::create_associated_token_account::{ + create_compressible_associated_token_account, derive_ctoken_ata, CreateCompressibleAssociatedTokenAccountInputs, }, ValidityProof, diff --git a/program-tests/compressed-token-test/tests/transfer2/compress_spl_failing.rs b/program-tests/compressed-token-test/tests/transfer2/compress_spl_failing.rs index 2087290e97..fbdb57d886 100644 --- a/program-tests/compressed-token-test/tests/transfer2/compress_spl_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/compress_spl_failing.rs @@ -30,14 +30,14 @@ use anchor_spl::token_2022::spl_token_2022; use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::{ - create_associated_token_account::derive_ctoken_ata, + compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, Transfer2Inputs, }, + CTokenAccount2, }, + ctoken::create_associated_token_account::derive_ctoken_ata, token_pool::find_token_pool_pda_with_index, ValidityProof, }; @@ -100,7 +100,7 @@ async fn setup_spl_compression_test( airdrop_lamports(&mut rpc, &recipient.pubkey(), 1_000_000_000).await?; // Create compressed token ATA for recipient - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), mint, diff --git a/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs b/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs index c48f9e6846..9c41415e66 100644 --- a/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs @@ -33,14 +33,16 @@ use light_client::indexer::{CompressedTokenAccount, Indexer}; use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::{ - create_associated_token_account::create_compressible_associated_token_account, - derive_ctoken_ata, find_spl_mint_address, + compressed_token::{ + create_compressed_mint::find_spl_mint_address, transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, Transfer2Inputs, }, + CTokenAccount2, + }, + ctoken::create_associated_token_account::{ + create_compressible_associated_token_account, derive_ctoken_ata, CreateCompressibleAssociatedTokenAccountInputs, }, ValidityProof, diff --git a/program-tests/compressed-token-test/tests/transfer2/no_system_program_cpi_failing.rs b/program-tests/compressed-token-test/tests/transfer2/no_system_program_cpi_failing.rs index e7f55013f8..84540557d5 100644 --- a/program-tests/compressed-token-test/tests/transfer2/no_system_program_cpi_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/no_system_program_cpi_failing.rs @@ -44,8 +44,8 @@ // ============================================================================ use light_compressed_token_sdk::{ - instructions::{derive_ctoken_ata, find_spl_mint_address}, - ValidityProof, + compressed_token::create_compressed_mint::find_spl_mint_address, + ctoken::create_associated_token_account::derive_ctoken_ata, ValidityProof, }; use light_ctoken_types::instructions::{mint_action::Recipient, transfer2::Compression}; use light_program_test::{ @@ -105,7 +105,7 @@ async fn setup_no_system_program_cpi_test( let (recipient_ata, _) = derive_ctoken_ata(&recipient.pubkey(), &mint); // Create CToken ATA for owner (source) - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), owner.pubkey(), mint, @@ -117,7 +117,7 @@ async fn setup_no_system_program_cpi_test( .unwrap(); // Create CToken ATA for recipient - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), mint, @@ -714,7 +714,7 @@ async fn test_too_many_mints() { // Create source ATA let instruction = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( context.payer.pubkey(), context.owner.pubkey(), mint, @@ -728,7 +728,7 @@ async fn test_too_many_mints() { // Create recipient ATA let instruction = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( context.payer.pubkey(), context.recipient.pubkey(), mint, diff --git a/program-tests/compressed-token-test/tests/transfer2/shared.rs b/program-tests/compressed-token-test/tests/transfer2/shared.rs index b9fb618418..ed9eae8209 100644 --- a/program-tests/compressed-token-test/tests/transfer2/shared.rs +++ b/program-tests/compressed-token-test/tests/transfer2/shared.rs @@ -2,8 +2,9 @@ use std::collections::HashMap; use anchor_lang::AnchorDeserialize; use light_client::{indexer::Indexer, rpc::Rpc}; -use light_compressed_token_sdk::instructions::{ - find_spl_mint_address, CreateCompressibleAssociatedTokenAccountInputs, +use light_compressed_token_sdk::{ + compressed_token::create_compressed_mint::find_spl_mint_address, + ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs, }; use light_ctoken_types::{ instructions::{mint_action::Recipient, transfer2::CompressedTokenInstructionDataTransfer2}, @@ -447,7 +448,7 @@ impl TestContext { "Creating compressible CToken ATA for signer {} mint {}", signer_index, mint_index ); - light_compressed_token_sdk::instructions::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: signer.pubkey(), @@ -461,7 +462,7 @@ impl TestContext { ) .unwrap() } else { - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), signer.pubkey(), mint, @@ -473,7 +474,7 @@ impl TestContext { .await .unwrap(); - let ata = light_compressed_token_sdk::instructions::derive_ctoken_ata( + let ata = light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata( &signer.pubkey(), &mint, ) @@ -490,7 +491,7 @@ impl TestContext { // Get the compressed mint address let address_tree_pubkey = rpc.get_address_tree_v2().tree; let compressed_mint_address = - light_compressed_token_sdk::instructions::derive_compressed_mint_address( + light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address( &mint_seed.pubkey(), &address_tree_pubkey, ); diff --git a/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs b/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs index 032a4836ad..5ab48c1266 100644 --- a/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs +++ b/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs @@ -1,6 +1,6 @@ // Re-export all necessary imports for test modules pub use anchor_spl::token_2022::spl_token_2022; -pub use light_compressed_token_sdk::instructions::create_associated_token_account::derive_ctoken_ata; +pub use light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata; pub use light_program_test::{LightProgramTest, ProgramTestConfig}; pub use light_test_utils::{ airdrop_lamports, @@ -52,7 +52,7 @@ async fn test_spl_to_ctoken_transfer() { .unwrap(); // Create compressed token ATA for recipient - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), mint, @@ -189,7 +189,8 @@ async fn test_spl_to_ctoken_transfer() { #[tokio::test] async fn test_ctoken_to_spl_with_compress_and_close() { use light_compressed_token_sdk::{ - instructions::CtokenToSplTransferAndClose, token_pool::find_token_pool_pda_with_index, + ctoken::transfer_interface::CtokenToSplTransferAndClose, + token_pool::find_token_pool_pda_with_index, }; let mut rpc = LightProgramTest::new(ProgramTestConfig::new(true, None)) @@ -228,7 +229,7 @@ async fn test_ctoken_to_spl_with_compress_and_close() { .unwrap(); // Create compressed token ATA for recipient - let instruction = light_compressed_token_sdk::instructions::create_associated_token_account( + let instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), recipient.pubkey(), mint, diff --git a/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs b/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs index c0ba240901..06ca021b37 100644 --- a/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs @@ -6,10 +6,12 @@ use light_client::indexer::{CompressedTokenAccount, Indexer}; use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::transfer2::{ - account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, - Transfer2Inputs, + compressed_token::{ + transfer2::{ + account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, + Transfer2Config, Transfer2Inputs, + }, + CTokenAccount2, }, ValidityProof, }; @@ -71,7 +73,7 @@ async fn setup_transfer_test( .await?; let mint = - light_compressed_token_sdk::instructions::find_spl_mint_address(&mint_seed.pubkey()).0; + light_compressed_token_sdk::compressed_token::create_compressed_mint::find_spl_mint_address(&mint_seed.pubkey()).0; // Mint tokens to owner if amount > 0 if token_amount > 0 { @@ -679,7 +681,7 @@ async fn setup_transfer_test_with_delegate( .await?; let mint = - light_compressed_token_sdk::instructions::find_spl_mint_address(&mint_seed.pubkey()).0; + light_compressed_token_sdk::compressed_token::create_compressed_mint::find_spl_mint_address(&mint_seed.pubkey()).0; // Mint tokens to owner if amount > 0 if token_amount > 0 { diff --git a/program-tests/registry-test/tests/compressible.rs b/program-tests/registry-test/tests/compressible.rs index cf3b18842d..547fcc4d72 100644 --- a/program-tests/registry-test/tests/compressible.rs +++ b/program-tests/registry-test/tests/compressible.rs @@ -3,7 +3,7 @@ use std::str::FromStr; // TODO: refactor into dir use anchor_lang::{AnchorDeserialize, InstructionData, ToAccountMetas}; -use light_compressed_token_sdk::instructions::derive_ctoken_ata; +use light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata; use light_compressible::{ config::CompressibleConfig, error::CompressibleError, rent::SLOTS_PER_EPOCH, }; @@ -483,8 +483,8 @@ async fn test_pause_compressible_config_with_valid_authority() -> Result<(), Rpc // Test 1: Cannot create new token accounts with paused config - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: payer.pubkey(), mint: Pubkey::new_unique(), @@ -605,8 +605,8 @@ async fn test_unpause_compressible_config_with_valid_authority() -> Result<(), R assert_eq!(config.state, 0, "Config should be paused before unpausing"); // Verify cannot create account while paused - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: payer.pubkey(), mint: Pubkey::new_unique(), @@ -640,8 +640,8 @@ async fn test_unpause_compressible_config_with_valid_authority() -> Result<(), R assert_eq!(config.state, 1, "Config state should be active (1)"); // Test: CAN create new token accounts after unpausing - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: payer.pubkey(), mint: Pubkey::new_unique(), @@ -718,8 +718,8 @@ async fn test_deprecate_compressible_config_with_valid_authority() -> Result<(), let token_account_keypair = Keypair::new(); let mint = Pubkey::new_unique(); - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: token_account_keypair.pubkey(), mint, @@ -754,8 +754,8 @@ async fn test_deprecate_compressible_config_with_valid_authority() -> Result<(), // Test 1: Cannot create new token accounts with deprecated config let token_account_keypair2 = Keypair::new(); - let compressible_instruction = light_compressed_token_sdk::instructions::create_compressible_associated_token_account( - light_compressed_token_sdk::instructions::CreateCompressibleAssociatedTokenAccountInputs { + let compressible_instruction = light_compressed_token_sdk::ctoken::create_associated_token_account::create_compressible_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::CreateCompressibleAssociatedTokenAccountInputs { payer: payer.pubkey(), owner: token_account_keypair2.pubkey(), mint, diff --git a/program-tests/utils/src/assert_create_token_account.rs b/program-tests/utils/src/assert_create_token_account.rs index b57f9b0398..2a24339a7f 100644 --- a/program-tests/utils/src/assert_create_token_account.rs +++ b/program-tests/utils/src/assert_create_token_account.rs @@ -1,6 +1,6 @@ use anchor_spl::token_2022::spl_token_2022; use light_client::rpc::Rpc; -use light_compressed_token_sdk::instructions::create_associated_token_account::derive_ctoken_ata; +use light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata; use light_compressible::rent::RentConfig; use light_ctoken_types::{ state::{ctoken::CToken, extensions::CompressionInfo, AccountState}, diff --git a/program-tests/utils/src/assert_mint_to_compressed.rs b/program-tests/utils/src/assert_mint_to_compressed.rs index 52c3bf5fa4..5a3eead762 100644 --- a/program-tests/utils/src/assert_mint_to_compressed.rs +++ b/program-tests/utils/src/assert_mint_to_compressed.rs @@ -5,7 +5,7 @@ use light_client::{ rpc::Rpc, }; use light_compressed_token::instructions::create_token_pool::find_token_pool_pda_with_index; -use light_compressed_token_sdk::instructions::derive_cmint_from_spl_mint; +use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_cmint_from_spl_mint; use light_ctoken_types::{ instructions::mint_action::Recipient, state::CompressedMint, COMPRESSED_TOKEN_PROGRAM_ID, }; diff --git a/sdk-libs/compressed-token-sdk/src/ctoken_instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/ctoken_instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken_instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/ctoken_instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/mod.rs new file mode 100644 index 0000000000..eb8943d216 --- /dev/null +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/mod.rs @@ -0,0 +1,8 @@ +mod v1; +mod v2; + +pub mod ctoken_instruction; + +// Re-export everything from v1 and v2 +pub use v1::*; +pub use v2::*; diff --git a/sdk-libs/compressed-token-sdk/src/account.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/account.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/account.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/account.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/approve/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/account_metas.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/approve/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/account_metas.rs index 82ff51ffcc..e5969c8179 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/approve/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for approve instruction #[derive(Debug, Copy, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/approve/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs similarity index 95% rename from sdk-libs/compressed-token-sdk/src/instructions/approve/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs index 970f1963fd..7789eb478b 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/approve/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs @@ -6,12 +6,10 @@ use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::Instruction; use solana_pubkey::Pubkey; +use super::account_metas::{get_approve_instruction_account_metas, ApproveMetaConfig}; use crate::{ - account::CTokenAccount, + compressed_token::v1::CTokenAccount, error::{Result, TokenSdkError}, - instructions::approve::account_metas::{ - get_approve_instruction_account_metas, ApproveMetaConfig, - }, }; #[derive(Debug, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/approve/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/approve/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/batch_compress/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/account_metas.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/batch_compress/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/account_metas.rs index f0812f5f4b..e35a0a05bc 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/batch_compress/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for batch compress instruction #[derive(Debug, Copy, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/batch_compress/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs similarity index 95% rename from sdk-libs/compressed-token-sdk/src/instructions/batch_compress/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs index 814eb12707..ac585dade5 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/batch_compress/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs @@ -5,11 +5,9 @@ use light_ctoken_types; use solana_instruction::Instruction; use solana_pubkey::Pubkey; +use super::account_metas::{get_batch_compress_instruction_account_metas, BatchCompressMetaConfig}; use crate::{ error::{Result, TokenSdkError}, - instructions::batch_compress::account_metas::{ - get_batch_compress_instruction_account_metas, BatchCompressMetaConfig, - }, AnchorDeserialize, AnchorSerialize, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/batch_compress/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/batch_compress/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/mod.rs new file mode 100644 index 0000000000..043258adb4 --- /dev/null +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/mod.rs @@ -0,0 +1,6 @@ +mod account; +pub mod approve; +pub mod batch_compress; +pub mod transfer; + +pub use account::*; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer/account_infos.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_infos.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer/account_infos.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_infos.rs index c67187d332..e6a03a7d8f 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer/account_infos.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_infos.rs @@ -3,7 +3,7 @@ use solana_account_info::AccountInfo; use solana_instruction::Instruction; use solana_msg::msg; -use crate::{account::CTokenAccount, error::Result}; +use crate::{compressed_token::v1::CTokenAccount, error::Result}; pub const MAX_ACCOUNT_INFOS: usize = 20; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_metas.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_metas.rs index b1749c0fbc..49bb428a33 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for compressed token instructions #[derive(Debug, Default, Copy, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs similarity index 97% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs index d84cf9ddd4..3e4823201e 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs @@ -6,12 +6,10 @@ use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::{AccountMeta, Instruction}; use solana_pubkey::Pubkey; +use super::account_metas::{get_transfer_instruction_account_metas, TokenAccountsMetaConfig}; use crate::{ - account::CTokenAccount, + compressed_token::v1::account::CTokenAccount, error::{Result, TokenSdkError}, - instructions::transfer::account_metas::{ - get_transfer_instruction_account_metas, TokenAccountsMetaConfig, - }, AnchorSerialize, }; // CTokenAccount abstraction to bundle inputs and create outputs. @@ -172,8 +170,7 @@ pub fn compress(inputs: CompressInputs) -> Result { output_tree_index, tree_accounts, } = inputs; - let mut token_account = - crate::account::CTokenAccount::new_empty(mint, recipient, output_tree_index); + let mut token_account = CTokenAccount::new_empty(mint, recipient, output_tree_index); token_account.compress(amount).unwrap(); solana_msg::msg!("spl_token_program {:?}", spl_token_program); let config = transfer_config.unwrap_or_default(); diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/account2.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/account2.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/compress_and_close.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/compress_and_close.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs index 0ddee8502a..e200733c39 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/compress_and_close.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs @@ -14,18 +14,14 @@ use solana_instruction::{AccountMeta, Instruction}; use solana_msg::msg; use solana_pubkey::Pubkey; -use crate::{ +use super::{ account2::CTokenAccount2, - error::TokenSdkError, - instructions::{ - transfer2::{ - account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, - Transfer2Config, Transfer2Inputs, - }, - CTokenDefaultAccounts, + transfer2::{ + account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, + Transfer2Inputs, }, - AccountInfoToCompress, }; +use crate::{error::TokenSdkError, utils::CTokenDefaultAccounts, AccountInfoToCompress}; /// Struct to hold all the indices needed for CompressAndClose operation #[derive(Debug, Copy, Clone, crate::AnchorSerialize, crate::AnchorDeserialize)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs index b95ed1e553..dd0134f607 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for create compressed mint instruction #[derive(Debug, Copy, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs index f903078e36..de293e91cd 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs @@ -14,12 +14,12 @@ use solana_msg::msg; use solana_pubkey::Pubkey; use crate::{ - error::{Result, TokenSdkError}, - instructions::mint_action::{ + compressed_token::mint_action::{ get_mint_action_instruction_account_metas, get_mint_action_instruction_account_metas_cpi_write, MintActionMetaConfig, MintActionMetaConfigCpiWrite, }, + error::{Result, TokenSdkError}, AnchorDeserialize, AnchorSerialize, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/create_compressed_mint/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/decompress_full.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs similarity index 96% rename from sdk-libs/compressed-token-sdk/src/instructions/decompress_full.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs index 9e0e827234..3f958ef1dc 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/decompress_full.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs @@ -11,19 +11,14 @@ use solana_account_info::AccountInfo; use solana_instruction::{AccountMeta, Instruction}; use solana_pubkey::Pubkey; -use crate::{ +use super::{ account2::CTokenAccount2, - compat::TokenData, - error::TokenSdkError, - instructions::{ - transfer2::{ - account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, - Transfer2Config, Transfer2Inputs, - }, - CTokenDefaultAccounts, + transfer2::{ + account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, + Transfer2Inputs, }, - ValidityProof, }; +use crate::{compat::TokenData, error::TokenSdkError, utils::CTokenDefaultAccounts, ValidityProof}; /// Struct to hold all the data needed for DecompressFull operation /// Contains the complete compressed account data and destination index diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs similarity index 97% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_action/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs index 2f364dcfc3..ff5a81fc92 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs @@ -2,7 +2,7 @@ use light_program_profiler::profile; use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; #[derive(Debug, Clone)] pub struct MintActionMetaConfig { @@ -194,7 +194,10 @@ pub fn get_mint_action_instruction_account_metas( if config.spl_mint_initialized { if let Some(mint_signer) = config.mint_signer { - let (spl_mint_pda, _) = crate::instructions::find_spl_mint_address(&mint_signer); + let (spl_mint_pda, _) = + crate::compressed_token::create_compressed_mint::find_spl_mint_address( + &mint_signer, + ); metas.push(AccountMeta::new(spl_mint_pda, false)); let (token_pool_pda, _) = diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/cpi_accounts.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_action/cpi_accounts.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs similarity index 96% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_action/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs index 5d9ce41c7e..aa3c6a5e41 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs @@ -6,11 +6,8 @@ use solana_instruction::Instruction; use solana_msg::msg; use solana_program_error::ProgramError; -use crate::{ - ctoken_instruction::CTokenInstruction, - error::TokenSdkError, - instructions::mint_action::{cpi_accounts::MintActionCpiAccounts, MintActionCpiWriteAccounts}, -}; +use super::{cpi_accounts::MintActionCpiAccounts, MintActionCpiWriteAccounts}; +use crate::{compressed_token::ctoken_instruction::CTokenInstruction, error::TokenSdkError}; impl CTokenInstruction for MintActionCompressedInstructionData { type ExecuteAccounts<'info, A: light_account_checks::AccountInfoTrait + Clone + 'info> = diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_action/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_action/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs index ef69506a15..7a26906920 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for mint_to_compressed instruction #[derive(Debug, Copy, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs similarity index 96% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs index 96ec982fdd..afb36f66a4 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs @@ -8,8 +8,10 @@ use solana_instruction::Instruction; use solana_pubkey::Pubkey; use crate::{ + compressed_token::mint_action::{ + get_mint_action_instruction_account_metas, MintActionMetaConfig, + }, error::{Result, TokenSdkError}, - instructions::mint_action::{get_mint_action_instruction_account_metas, MintActionMetaConfig}, TokenPool, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/mint_to_compressed/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mod.rs new file mode 100644 index 0000000000..fe0eb8c70f --- /dev/null +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mod.rs @@ -0,0 +1,11 @@ +mod account2; +pub mod compress_and_close; +pub mod create_compressed_mint; +pub mod decompress_full; +pub mod mint_action; +pub mod mint_to_compressed; +pub mod token_metadata_ui; +pub mod transfer2; +pub mod update_compressed_mint; + +pub use account2::*; diff --git a/sdk-libs/compressed-token-sdk/src/token_metadata_ui.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/token_metadata_ui.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/token_metadata_ui.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/token_metadata_ui.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/account_metas.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer2/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/account_metas.rs index 3dc487a6c2..3239fb2865 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/account_metas.rs @@ -3,7 +3,7 @@ use light_sdk::constants::LIGHT_SYSTEM_PROGRAM_ID; use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Account metadata configuration for compressed token multi-transfer instructions #[derive(Debug, Default, Clone, PartialEq)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/cpi_accounts.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer2/cpi_accounts.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs similarity index 97% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer2/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs index d49233a03b..dfc7e884df 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs @@ -7,12 +7,10 @@ use light_program_profiler::profile; use solana_instruction::Instruction; use solana_pubkey::Pubkey; +use super::account_metas::{get_transfer2_instruction_account_metas, Transfer2AccountsMetaConfig}; use crate::{ - account2::CTokenAccount2, + compressed_token::CTokenAccount2, error::{Result, TokenSdkError}, - instructions::transfer2::account_metas::{ - get_transfer2_instruction_account_metas, Transfer2AccountsMetaConfig, - }, AnchorSerialize, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/mod.rs similarity index 87% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer2/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/mod.rs index 0b14efcd81..316020bb0d 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer2/mod.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/mod.rs @@ -3,6 +3,7 @@ pub mod cpi_accounts; //pub mod cpi_helpers; pub mod instruction; +pub use account_metas::*; pub use cpi_accounts::Transfer2CpiAccounts; //pub use cpi_helpers::*; pub use instruction::*; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/account_metas.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs index 480e42a421..a6a41b70dc 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs @@ -1,7 +1,7 @@ use solana_instruction::AccountMeta; use solana_pubkey::Pubkey; -use crate::instructions::CTokenDefaultAccounts; +use crate::utils::CTokenDefaultAccounts; /// Configuration for generating account metas for update compressed mint instruction #[derive(Debug, Clone)] diff --git a/sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/instruction.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs index f95ef9fdd4..72f3f2baea 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs @@ -10,12 +10,12 @@ use solana_instruction::Instruction; use solana_pubkey::Pubkey; use crate::{ - error::{Result, TokenSdkError}, - instructions::mint_action::{ + compressed_token::mint_action::{ get_mint_action_instruction_account_metas, get_mint_action_instruction_account_metas_cpi_write, MintActionMetaConfig, MintActionMetaConfigCpiWrite, }, + error::{Result, TokenSdkError}, AnchorDeserialize, AnchorSerialize, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/mod.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/update_compressed_mint/mod.rs rename to sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/claim.rs b/sdk-libs/compressed-token-sdk/src/compressible/claim.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/claim.rs rename to sdk-libs/compressed-token-sdk/src/compressible/claim.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressible/mod.rs b/sdk-libs/compressed-token-sdk/src/compressible/mod.rs new file mode 100644 index 0000000000..0c0086d41b --- /dev/null +++ b/sdk-libs/compressed-token-sdk/src/compressible/mod.rs @@ -0,0 +1,5 @@ +pub mod claim; +pub mod withdraw_funding_pool; + +pub use claim::*; +pub use withdraw_funding_pool::*; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/withdraw_funding_pool.rs b/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/withdraw_funding_pool.rs rename to sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/close.rs b/sdk-libs/compressed-token-sdk/src/ctoken/close.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/close.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/close.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_associated_token_account.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create_associated_token_account.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/create_associated_token_account.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/create_associated_token_account.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_token_account/instruction.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create_token_account/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/create_token_account/instruction.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/create_token_account/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/create_token_account/mod.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create_token_account/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/create_token_account/mod.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/create_token_account/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken.rs b/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs similarity index 88% rename from sdk-libs/compressed-token-sdk/src/ctoken.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/mod.rs index 5e02ced318..c19f6ae589 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs @@ -1,3 +1,9 @@ +pub mod close; +pub mod create_associated_token_account; +pub mod create_token_account; +pub mod transfer_ctoken; +pub mod transfer_interface; + use light_compressed_token_types::POOL_SEED; use light_compressible::config::CompressibleConfig; use solana_pubkey::{pubkey, Pubkey}; @@ -33,7 +39,7 @@ pub fn get_associated_ctoken_address_and_bump(owner: &Pubkey, mint: &Pubkey) -> ) } -pub use crate::instructions::create_compressed_mint::{ +pub use crate::compressed_token::create_compressed_mint::{ derive_cmint_from_spl_mint, find_spl_mint_address, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer_ctoken.rs b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer_ctoken.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken.rs diff --git a/sdk-libs/compressed-token-sdk/src/instructions/transfer_interface.rs b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_interface.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/src/instructions/transfer_interface.rs rename to sdk-libs/compressed-token-sdk/src/ctoken/transfer_interface.rs index afdb76f8b2..de9130410a 100644 --- a/sdk-libs/compressed-token-sdk/src/instructions/transfer_interface.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_interface.rs @@ -9,12 +9,14 @@ use solana_pubkey::Pubkey; use super::transfer_ctoken::TransferCtokenAccountInfos; use crate::{ - account2::CTokenAccount2, - error::TokenSdkError, - instructions::transfer2::{ - account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, - Transfer2Inputs, + compressed_token::{ + transfer2::{ + create_transfer2_instruction, Transfer2AccountsMetaConfig, Transfer2Config, + Transfer2Inputs, + }, + CTokenAccount2, }, + error::TokenSdkError, utils::is_ctoken_account, }; diff --git a/sdk-libs/compressed-token-sdk/src/instructions/burn.rs b/sdk-libs/compressed-token-sdk/src/instructions/burn.rs deleted file mode 100644 index f652eab803..0000000000 --- a/sdk-libs/compressed-token-sdk/src/instructions/burn.rs +++ /dev/null @@ -1,40 +0,0 @@ -// /// Get account metas for burn instruction -// pub fn get_burn_instruction_account_metas( -// fee_payer: Pubkey, -// authority: Pubkey, -// mint: Pubkey, -// token_pool_pda: Pubkey, -// token_program: Option, -// ) -> Vec { -// let default_pubkeys = CTokenDefaultAccounts::default(); -// let token_program = token_program.unwrap_or(Pubkey::from(SPL_TOKEN_PROGRAM_ID)); - -// vec![ -// // fee_payer (mut, signer) -// AccountMeta::new(fee_payer, true), -// // authority (signer) -// AccountMeta::new_readonly(authority, true), -// // cpi_authority_pda -// AccountMeta::new_readonly(default_pubkeys.cpi_authority_pda, false), -// // mint (mut) -// AccountMeta::new(mint, false), -// // token_pool_pda (mut) -// AccountMeta::new(token_pool_pda, false), -// // token_program -// AccountMeta::new_readonly(token_program, false), -// // light_system_program -// AccountMeta::new_readonly(default_pubkeys.light_system_program, false), -// // registered_program_pda -// AccountMeta::new_readonly(default_pubkeys.registered_program_pda, false), -// // noop_program -// AccountMeta::new_readonly(default_pubkeys.noop_program, false), -// // account_compression_authority -// AccountMeta::new_readonly(default_pubkeys.account_compression_authority, false), -// // account_compression_program -// AccountMeta::new_readonly(default_pubkeys.account_compression_program, false), -// // self_program -// AccountMeta::new_readonly(default_pubkeys.self_program, false), -// // system_program -// AccountMeta::new_readonly(default_pubkeys.system_program, false), -// ] -// } diff --git a/sdk-libs/compressed-token-sdk/src/instructions/ctoken_accounts.rs b/sdk-libs/compressed-token-sdk/src/instructions/ctoken_accounts.rs deleted file mode 100644 index 8651634066..0000000000 --- a/sdk-libs/compressed-token-sdk/src/instructions/ctoken_accounts.rs +++ /dev/null @@ -1,36 +0,0 @@ -use light_compressed_token_types::{ - ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, CPI_AUTHORITY_PDA, - LIGHT_SYSTEM_PROGRAM_ID, NOOP_PROGRAM_ID, PROGRAM_ID as LIGHT_COMPRESSED_TOKEN_PROGRAM_ID, -}; -use light_sdk::constants::{C_TOKEN_PROGRAM_ID, REGISTERED_PROGRAM_PDA}; -use solana_pubkey::Pubkey; - -/// Standard pubkeys for compressed token instructions -#[derive(Debug, Copy, Clone)] -pub struct CTokenDefaultAccounts { - pub light_system_program: Pubkey, - pub registered_program_pda: Pubkey, - pub noop_program: Pubkey, - pub account_compression_authority: Pubkey, - pub account_compression_program: Pubkey, - pub self_program: Pubkey, - pub cpi_authority_pda: Pubkey, - pub system_program: Pubkey, - pub compressed_token_program: Pubkey, -} - -impl Default for CTokenDefaultAccounts { - fn default() -> Self { - Self { - light_system_program: Pubkey::from(LIGHT_SYSTEM_PROGRAM_ID), - registered_program_pda: Pubkey::from(REGISTERED_PROGRAM_PDA), - noop_program: Pubkey::from(NOOP_PROGRAM_ID), - account_compression_authority: Pubkey::from(ACCOUNT_COMPRESSION_AUTHORITY_PDA), - account_compression_program: Pubkey::from(ACCOUNT_COMPRESSION_PROGRAM_ID), - self_program: Pubkey::from(LIGHT_COMPRESSED_TOKEN_PROGRAM_ID), - cpi_authority_pda: Pubkey::from(CPI_AUTHORITY_PDA), - system_program: Pubkey::default(), - compressed_token_program: Pubkey::from(C_TOKEN_PROGRAM_ID), - } - } -} diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mint_to.rs b/sdk-libs/compressed-token-sdk/src/instructions/mint_to.rs deleted file mode 100644 index c96bbf3dcd..0000000000 --- a/sdk-libs/compressed-token-sdk/src/instructions/mint_to.rs +++ /dev/null @@ -1,43 +0,0 @@ -// /// Get account metas for mint_to instruction -// pub fn get_mint_to_instruction_account_metas( -// fee_payer: Pubkey, -// authority: Pubkey, -// mint: Pubkey, -// token_pool_pda: Pubkey, -// merkle_tree: Pubkey, -// token_program: Option, -// ) -> Vec { -// let default_pubkeys = CTokenDefaultAccounts::default(); -// let token_program = token_program.unwrap_or(Pubkey::from(SPL_TOKEN_PROGRAM_ID)); - -// vec![ -// // fee_payer (mut, signer) -// AccountMeta::new(fee_payer, true), -// // authority (signer) -// AccountMeta::new_readonly(authority, true), -// // cpi_authority_pda -// AccountMeta::new_readonly(default_pubkeys.cpi_authority_pda, false), -// // mint (optional, mut) -// AccountMeta::new(mint, false), -// // token_pool_pda (mut) -// AccountMeta::new(token_pool_pda, false), -// // token_program -// AccountMeta::new_readonly(token_program, false), -// // light_system_program -// AccountMeta::new_readonly(default_pubkeys.light_system_program, false), -// // registered_program_pda -// AccountMeta::new_readonly(default_pubkeys.registered_program_pda, false), -// // noop_program -// AccountMeta::new_readonly(default_pubkeys.noop_program, false), -// // account_compression_authority -// AccountMeta::new_readonly(default_pubkeys.account_compression_authority, false), -// // account_compression_program -// AccountMeta::new_readonly(default_pubkeys.account_compression_program, false), -// // merkle_tree (mut) -// AccountMeta::new(merkle_tree, false), -// // self_program -// AccountMeta::new_readonly(default_pubkeys.self_program, false), -// // system_program -// AccountMeta::new_readonly(default_pubkeys.system_program, false), -// ] -// } diff --git a/sdk-libs/compressed-token-sdk/src/instructions/mod.rs b/sdk-libs/compressed-token-sdk/src/instructions/mod.rs deleted file mode 100644 index d792f07df7..0000000000 --- a/sdk-libs/compressed-token-sdk/src/instructions/mod.rs +++ /dev/null @@ -1,60 +0,0 @@ -pub mod approve; -pub mod batch_compress; -pub mod claim; -pub mod close; -pub mod compress_and_close; -pub mod create_associated_token_account; -pub mod create_compressed_mint; -pub mod create_token_account; -pub mod ctoken_accounts; -pub mod decompress_full; -pub mod mint_action; -pub mod mint_to_compressed; -pub mod transfer; -pub mod transfer2; -pub mod transfer_ctoken; -pub mod transfer_interface; -pub mod update_compressed_mint; -pub mod withdraw_funding_pool; - -// Re-export all instruction utilities -pub use approve::{ - approve, create_approve_instruction, get_approve_instruction_account_metas, ApproveInputs, - ApproveMetaConfig, -}; -pub use batch_compress::{ - create_batch_compress_instruction, get_batch_compress_instruction_account_metas, - BatchCompressInputs, BatchCompressMetaConfig, Recipient, -}; -pub use claim::claim; -pub use compress_and_close::{ - compress_and_close_ctoken_accounts, compress_and_close_ctoken_accounts_with_indices, - CompressAndCloseIndices, -}; -pub use create_associated_token_account::*; -pub use create_compressed_mint::*; -pub use create_token_account::{ - create_compressible_token_account_instruction, create_ctoken_account_signed, - create_token_account, CreateCompressibleTokenAccount, -}; -pub use ctoken_accounts::*; -pub use decompress_full::{decompress_full_ctoken_accounts_with_indices, DecompressFullIndices}; -pub use mint_action::{ - get_mint_action_instruction_account_metas, get_mint_action_instruction_account_metas_cpi_write, - MintActionCpiAccounts, MintActionMetaConfig, MintActionMetaConfigCpiWrite, -}; -pub use mint_to_compressed::{ - create_mint_to_compressed_instruction, get_mint_to_compressed_instruction_account_metas, - DecompressedMintConfig, MintToCompressedInputs, MintToCompressedMetaConfig, -}; -pub use transfer_ctoken::{TransferCtoken, TransferCtokenAccountInfos}; -pub use transfer_interface::{ - CtokenToSplTransferAndClose, CtokenToSplTransferAndCloseAccountInfos, SplBridgeConfig, - TransferCtokenToSpl, TransferCtokenToSplAccountInfos, TransferInterface, TransferSplToCtoken, - TransferSplToCtokenAccountInfos, -}; -pub use update_compressed_mint::{ - update_compressed_mint, update_compressed_mint_cpi, UpdateCompressedMintInputs, - UPDATE_COMPRESSED_MINT_DISCRIMINATOR, -}; -pub use withdraw_funding_pool::withdraw_funding_pool; diff --git a/sdk-libs/compressed-token-sdk/src/lib.rs b/sdk-libs/compressed-token-sdk/src/lib.rs index c2d5da50f3..d66cdd4f30 100644 --- a/sdk-libs/compressed-token-sdk/src/lib.rs +++ b/sdk-libs/compressed-token-sdk/src/lib.rs @@ -1,11 +1,8 @@ -pub mod account; -pub mod account2; +pub mod compressed_token; +pub mod compressible; pub mod ctoken; -pub mod ctoken_instruction; pub mod error; -pub mod instructions; pub mod pack; -pub mod token_metadata_ui; pub mod token_pool; pub mod utils; @@ -14,8 +11,6 @@ pub mod utils; use anchor_lang::{AnchorDeserialize, AnchorSerialize}; #[cfg(not(feature = "anchor"))] use borsh::{BorshDeserialize as AnchorDeserialize, BorshSerialize as AnchorSerialize}; -// Re-export -pub use ctoken_instruction::CTokenInstruction; pub use light_compressed_token_types::*; pub use pack::{compat, Pack, Unpack}; pub use token_pool::TokenPool; diff --git a/sdk-libs/compressed-token-sdk/src/utils.rs b/sdk-libs/compressed-token-sdk/src/utils.rs index 220be9a846..b244c05afa 100644 --- a/sdk-libs/compressed-token-sdk/src/utils.rs +++ b/sdk-libs/compressed-token-sdk/src/utils.rs @@ -58,3 +58,38 @@ pub struct AccountInfoToCompress<'info> { pub account_info: AccountInfo<'info>, pub signer_seeds: Vec>, } +use light_compressed_token_types::{ + ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, CPI_AUTHORITY_PDA, + LIGHT_SYSTEM_PROGRAM_ID, NOOP_PROGRAM_ID, PROGRAM_ID as LIGHT_COMPRESSED_TOKEN_PROGRAM_ID, +}; +use light_sdk::constants::REGISTERED_PROGRAM_PDA; + +/// Standard pubkeys for compressed token instructions +#[derive(Debug, Copy, Clone)] +pub struct CTokenDefaultAccounts { + pub light_system_program: Pubkey, + pub registered_program_pda: Pubkey, + pub noop_program: Pubkey, + pub account_compression_authority: Pubkey, + pub account_compression_program: Pubkey, + pub self_program: Pubkey, + pub cpi_authority_pda: Pubkey, + pub system_program: Pubkey, + pub compressed_token_program: Pubkey, +} + +impl Default for CTokenDefaultAccounts { + fn default() -> Self { + Self { + light_system_program: Pubkey::from(LIGHT_SYSTEM_PROGRAM_ID), + registered_program_pda: Pubkey::from(REGISTERED_PROGRAM_PDA), + noop_program: Pubkey::from(NOOP_PROGRAM_ID), + account_compression_authority: Pubkey::from(ACCOUNT_COMPRESSION_AUTHORITY_PDA), + account_compression_program: Pubkey::from(ACCOUNT_COMPRESSION_PROGRAM_ID), + self_program: Pubkey::from(LIGHT_COMPRESSED_TOKEN_PROGRAM_ID), + cpi_authority_pda: Pubkey::from(CPI_AUTHORITY_PDA), + system_program: Pubkey::default(), + compressed_token_program: Pubkey::from(C_TOKEN_PROGRAM_ID), + } + } +} diff --git a/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs b/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs index fd8e79a612..687b5a40bf 100644 --- a/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs +++ b/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs @@ -1,8 +1,12 @@ use anchor_lang::ToAccountMetas; -use light_compressed_token_sdk::instructions::{ - batch_compress::{get_batch_compress_instruction_account_metas, BatchCompressMetaConfig}, - transfer::account_metas::{get_transfer_instruction_account_metas, TokenAccountsMetaConfig}, - CTokenDefaultAccounts, +use light_compressed_token_sdk::{ + compressed_token::{ + batch_compress::{get_batch_compress_instruction_account_metas, BatchCompressMetaConfig}, + transfer::account_metas::{ + get_transfer_instruction_account_metas, TokenAccountsMetaConfig, + }, + }, + utils::CTokenDefaultAccounts, }; use light_compressed_token_types::constants::{ ACCOUNT_COMPRESSION_PROGRAM_ID, CPI_AUTHORITY_PDA, LIGHT_SYSTEM_PROGRAM_ID, NOOP_PROGRAM_ID, diff --git a/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs b/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs index c6fc3c7847..00387df4fc 100644 --- a/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs +++ b/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs @@ -1,4 +1,4 @@ -use light_compressed_token_sdk::instructions::create_associated_token_account::*; +use light_compressed_token_sdk::ctoken::create_associated_token_account::*; use solana_pubkey::Pubkey; /// Discriminators for create ATA instructions diff --git a/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs b/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs index 2a3c92967f..b92025c733 100644 --- a/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs +++ b/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs @@ -1,7 +1,7 @@ #![cfg(test)] use light_account_checks::account_info::test_account_info::pinocchio::get_account_info; -use light_compressed_token_sdk::instructions::mint_action::{ +use light_compressed_token_sdk::compressed_token::mint_action::{ cpi_accounts::MintActionCpiAccountsConfig, MintActionCpiAccounts, }; use light_compressed_token_types::CPI_AUTHORITY_PDA; diff --git a/sdk-libs/program-test/src/forester/compress_and_close_forester.rs b/sdk-libs/program-test/src/forester/compress_and_close_forester.rs index 0f0639b55e..5d62a1df00 100644 --- a/sdk-libs/program-test/src/forester/compress_and_close_forester.rs +++ b/sdk-libs/program-test/src/forester/compress_and_close_forester.rs @@ -5,7 +5,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; +use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; use light_compressible::config::CompressibleConfig; use light_registry::{ accounts::CompressAndCloseContext as CompressAndCloseAccounts, diff --git a/sdk-libs/token-client/src/actions/create_compressible_token_account.rs b/sdk-libs/token-client/src/actions/create_compressible_token_account.rs index 54f0ce4598..7c1065c1a2 100644 --- a/sdk-libs/token-client/src/actions/create_compressible_token_account.rs +++ b/sdk-libs/token-client/src/actions/create_compressible_token_account.rs @@ -1,5 +1,5 @@ use light_client::rpc::{Rpc, RpcError}; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::ctoken::create_token_account::{ create_compressible_token_account_instruction as create_instruction, CreateCompressibleTokenAccount, }; diff --git a/sdk-libs/token-client/src/actions/mint_action.rs b/sdk-libs/token-client/src/actions/mint_action.rs index f50f5615cb..51723373e4 100644 --- a/sdk-libs/token-client/src/actions/mint_action.rs +++ b/sdk-libs/token-client/src/actions/mint_action.rs @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::instructions::derive_compressed_mint_address; +use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address; use light_ctoken_types::instructions::mint_action::Recipient; use solana_keypair::Keypair; use solana_pubkey::Pubkey; @@ -99,7 +99,10 @@ pub async fn mint_action_comprehensive( } if !mint_to_decompressed_recipients.is_empty() { - use light_compressed_token_sdk::instructions::{derive_ctoken_ata, find_spl_mint_address}; + use light_compressed_token_sdk::{ + compressed_token::create_compressed_mint::find_spl_mint_address, + ctoken::create_associated_token_account::derive_ctoken_ata, + }; let (spl_mint_pda, _) = find_spl_mint_address(&mint_seed.pubkey()); diff --git a/sdk-libs/token-client/src/actions/transfer2/ctoken_to_spl.rs b/sdk-libs/token-client/src/actions/transfer2/ctoken_to_spl.rs index 656c455fa5..86640cb707 100644 --- a/sdk-libs/token-client/src/actions/transfer2/ctoken_to_spl.rs +++ b/sdk-libs/token-client/src/actions/transfer2/ctoken_to_spl.rs @@ -3,7 +3,7 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_token_sdk::{ - instructions::TransferCtokenToSpl, token_pool::find_token_pool_pda_with_index, + ctoken::transfer_interface::TransferCtokenToSpl, token_pool::find_token_pool_pda_with_index, SPL_TOKEN_PROGRAM_ID, }; use solana_keypair::Keypair; diff --git a/sdk-libs/token-client/src/actions/transfer2/spl_to_ctoken.rs b/sdk-libs/token-client/src/actions/transfer2/spl_to_ctoken.rs index c928275e8f..2edbc270cf 100644 --- a/sdk-libs/token-client/src/actions/transfer2/spl_to_ctoken.rs +++ b/sdk-libs/token-client/src/actions/transfer2/spl_to_ctoken.rs @@ -3,7 +3,7 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_token_sdk::{ - instructions::TransferSplToCtoken, token_pool::find_token_pool_pda_with_index, + ctoken::transfer_interface::TransferSplToCtoken, token_pool::find_token_pool_pda_with_index, SPL_TOKEN_PROGRAM_ID, }; use solana_keypair::Keypair; diff --git a/sdk-libs/token-client/src/instructions/create_mint.rs b/sdk-libs/token-client/src/instructions/create_mint.rs index 622dc0ea55..7aad312709 100644 --- a/sdk-libs/token-client/src/instructions/create_mint.rs +++ b/sdk-libs/token-client/src/instructions/create_mint.rs @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::instructions::create_compressed_mint::{ +use light_compressed_token_sdk::compressed_token::create_compressed_mint::{ create_compressed_mint, derive_compressed_mint_address, CreateCompressedMintInputs, }; use light_ctoken_types::instructions::extensions::{ diff --git a/sdk-libs/token-client/src/instructions/mint_action.rs b/sdk-libs/token-client/src/instructions/mint_action.rs index bd57618abc..661404df35 100644 --- a/sdk-libs/token-client/src/instructions/mint_action.rs +++ b/sdk-libs/token-client/src/instructions/mint_action.rs @@ -4,9 +4,9 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_account::instruction_data::traits::LightInstructionData; -use light_compressed_token_sdk::instructions::{ - derive_compressed_mint_address, find_spl_mint_address, - get_mint_action_instruction_account_metas, mint_action::MintActionMetaConfig, +use light_compressed_token_sdk::compressed_token::{ + create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, + mint_action::{get_mint_action_instruction_account_metas, MintActionMetaConfig}, }; use light_ctoken_types::{ instructions::{ diff --git a/sdk-libs/token-client/src/instructions/mint_to_compressed.rs b/sdk-libs/token-client/src/instructions/mint_to_compressed.rs index 74b67d73c4..46272b5f95 100644 --- a/sdk-libs/token-client/src/instructions/mint_to_compressed.rs +++ b/sdk-libs/token-client/src/instructions/mint_to_compressed.rs @@ -4,9 +4,11 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_token_sdk::{ - instructions::{ - create_mint_to_compressed_instruction, derive_cmint_from_spl_mint, DecompressedMintConfig, - MintToCompressedInputs, + compressed_token::{ + create_compressed_mint::derive_cmint_from_spl_mint, + mint_to_compressed::{ + create_mint_to_compressed_instruction, DecompressedMintConfig, MintToCompressedInputs, + }, }, token_pool::{derive_token_pool, find_token_pool_pda_with_index}, }; diff --git a/sdk-libs/token-client/src/instructions/transfer2.rs b/sdk-libs/token-client/src/instructions/transfer2.rs index 5f6df78ace..f5758116d1 100644 --- a/sdk-libs/token-client/src/instructions/transfer2.rs +++ b/sdk-libs/token-client/src/instructions/transfer2.rs @@ -3,12 +3,14 @@ use light_client::{ rpc::Rpc, }; use light_compressed_token_sdk::{ - account2::CTokenAccount2, - error::TokenSdkError, - instructions::transfer2::{ - account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, - Transfer2Inputs, + compressed_token::{ + transfer2::{ + account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, + Transfer2Config, Transfer2Inputs, + }, + CTokenAccount2, }, + error::TokenSdkError, token_pool::find_token_pool_pda_with_index, }; use light_ctoken_types::{ diff --git a/sdk-libs/token-client/src/instructions/update_compressed_mint.rs b/sdk-libs/token-client/src/instructions/update_compressed_mint.rs index a59049792c..9a84d826ae 100644 --- a/sdk-libs/token-client/src/instructions/update_compressed_mint.rs +++ b/sdk-libs/token-client/src/instructions/update_compressed_mint.rs @@ -4,7 +4,9 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_token_sdk::{ - instructions::update_compressed_mint::{update_compressed_mint, UpdateCompressedMintInputs}, + compressed_token::update_compressed_mint::{ + update_compressed_mint, UpdateCompressedMintInputs, + }, CompressedMintAuthorityType, }; use light_ctoken_types::{ diff --git a/sdk-tests/sdk-compressible-test/src/instructions/create_user_record_and_game_session.rs b/sdk-tests/sdk-compressible-test/src/instructions/create_user_record_and_game_session.rs index 258b68b7c3..2b86fee7b4 100644 --- a/sdk-tests/sdk-compressible-test/src/instructions/create_user_record_and_game_session.rs +++ b/sdk-tests/sdk-compressible-test/src/instructions/create_user_record_and_game_session.rs @@ -3,8 +3,8 @@ use anchor_lang::{ solana_program::{instruction::Instruction, program::invoke, sysvar::clock::Clock}, }; use light_compressed_account::instruction_data::traits::LightInstructionData; -use light_compressed_token_sdk::instructions::{ - find_spl_mint_address, +use light_compressed_token_sdk::compressed_token::{ + create_compressed_mint::find_spl_mint_address, mint_action::{get_mint_action_instruction_account_metas, MintActionMetaConfig}, }; use light_ctoken_types::instructions::mint_action::{MintToCompressedAction, Recipient}; diff --git a/sdk-tests/sdk-compressible-test/src/instructions/decompress_accounts_idempotent.rs b/sdk-tests/sdk-compressible-test/src/instructions/decompress_accounts_idempotent.rs index de7bb34f5f..311489b984 100644 --- a/sdk-tests/sdk-compressible-test/src/instructions/decompress_accounts_idempotent.rs +++ b/sdk-tests/sdk-compressible-test/src/instructions/decompress_accounts_idempotent.rs @@ -1,6 +1,6 @@ // Auto-generated by compressible_instructions macro. use anchor_lang::prelude::*; -use light_compressed_token_sdk::instructions::create_token_account::create_ctoken_account_signed; +use light_compressed_token_sdk::ctoken::create_token_account::create_ctoken_account_signed; use light_sdk::{ compressible::{ decompress_idempotent::{ @@ -165,7 +165,7 @@ pub fn decompress_accounts_idempotent<'info>( has_pdas: bool, ) -> Result<()> { let mut token_decompress_indices: Box< - Vec, + Vec, > = Box::new(Vec::with_capacity(ctoken_accounts.len())); // Collect per-owner signer seed groups; invoke_signed requires one seed group per PDA signer let mut token_signers_seed_groups: Vec>> = @@ -232,7 +232,7 @@ pub fn decompress_accounts_idempotent<'info>( root_index: meta.tree_info.root_index, }; let decompress_index = - light_compressed_token_sdk::instructions::DecompressFullIndices { + light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices { source, destination_index: owner_index, }; @@ -241,7 +241,7 @@ pub fn decompress_accounts_idempotent<'info>( } let ctoken_ix = - light_compressed_token_sdk::instructions::decompress_full_ctoken_accounts_with_indices( + light_compressed_token_sdk::compressed_token::decompress_full::decompress_full_ctoken_accounts_with_indices( fee_payer.key(), proof, if has_pdas { diff --git a/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs b/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs index 291992b3f1..49fbee5944 100644 --- a/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs +++ b/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs @@ -4,8 +4,10 @@ use anchor_lang::{ use light_client::indexer::CompressedAccount; use light_compressed_account::address::derive_address; use light_compressed_token_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, ctoken, - instructions::{create_compressed_mint::find_spl_mint_address, derive_compressed_mint_address}, pack::compat::CTokenDataWithVariant, }; use light_compressed_token_types::CPI_AUTHORITY_PDA; diff --git a/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs b/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs index 7d7e26089c..f8c5eb8ac3 100644 --- a/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs +++ b/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs @@ -1,6 +1,6 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ - ctoken_instruction::CTokenInstruction, instructions::mint_action::MintActionCpiWriteAccounts, +use light_compressed_token_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, }; use light_ctoken_types::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, UpdateAuthority, diff --git a/sdk-tests/sdk-token-test/src/lib.rs b/sdk-tests/sdk-token-test/src/lib.rs index c42ce949e6..f880c1f1f7 100644 --- a/sdk-tests/sdk-token-test/src/lib.rs +++ b/sdk-tests/sdk-token-test/src/lib.rs @@ -3,7 +3,9 @@ #![allow(deprecated)] use anchor_lang::prelude::*; -use light_compressed_token_sdk::{instructions::Recipient, TokenAccountMeta, ValidityProof}; +use light_compressed_token_sdk::{ + compressed_token::batch_compress::Recipient, TokenAccountMeta, ValidityProof, +}; use light_sdk::instruction::{PackedAddressTreeInfo, ValidityProof as LightValidityProof}; mod ctoken_pda; @@ -140,7 +142,7 @@ pub mod sdk_token_test { pub fn compress_and_close_cpi_with_cpi_context<'info>( ctx: Context<'_, '_, 'info, 'info, Generic<'info>>, indices: Vec< - light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseIndices, + light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseIndices, >, params: MintCompressedTokensCpiWriteParams, ) -> Result<()> { @@ -152,7 +154,7 @@ pub mod sdk_token_test { pub fn compress_and_close_cpi_indices<'info>( ctx: Context<'_, '_, 'info, 'info, Generic<'info>>, indices: Vec< - light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseIndices, + light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseIndices, >, system_accounts_offset: u8, ) -> Result<()> { @@ -164,7 +166,7 @@ pub mod sdk_token_test { pub fn decompress_full_cpi<'info>( ctx: Context<'_, '_, '_, 'info, Generic<'info>>, indices: Vec< - light_compressed_token_sdk::instructions::decompress_full::DecompressFullIndices, + light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices, >, validity_proof: light_compressed_token_sdk::ValidityProof, ) -> Result<()> { @@ -176,7 +178,7 @@ pub mod sdk_token_test { pub fn decompress_full_cpi_with_cpi_context<'info>( ctx: Context<'_, '_, '_, 'info, Generic<'info>>, indices: Vec< - light_compressed_token_sdk::instructions::decompress_full::DecompressFullIndices, + light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices, >, validity_proof: light_compressed_token_sdk::ValidityProof, params: Option, diff --git a/sdk-tests/sdk-token-test/src/mint_compressed_tokens_cpi_write.rs b/sdk-tests/sdk-token-test/src/mint_compressed_tokens_cpi_write.rs index 2bd739ab0f..dd68c0c2bc 100644 --- a/sdk-tests/sdk-token-test/src/mint_compressed_tokens_cpi_write.rs +++ b/sdk-tests/sdk-token-test/src/mint_compressed_tokens_cpi_write.rs @@ -1,7 +1,7 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ - ctoken_instruction::CTokenInstruction, - instructions::{mint_action::MintActionCpiWriteAccounts, transfer2::Transfer2CpiAccounts}, +use light_compressed_token_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, + transfer2::Transfer2CpiAccounts, }; use light_ctoken_types::instructions::mint_action::{ CompressedMintWithContext, MintActionCompressedInstructionData, MintToCompressedAction, diff --git a/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs b/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs index fe20a8eb2c..b35d6bbbf5 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs @@ -1,6 +1,6 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ - ctoken_instruction::CTokenInstruction, instructions::mint_action::MintActionCpiAccounts, +use light_compressed_token_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiAccounts, }; use light_ctoken_types::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCTokenAction, MintToCompressedAction, diff --git a/sdk-tests/sdk-token-test/src/process_batch_compress_tokens.rs b/sdk-tests/sdk-token-test/src/process_batch_compress_tokens.rs index 58100ec998..1b7226b467 100644 --- a/sdk-tests/sdk-token-test/src/process_batch_compress_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_batch_compress_tokens.rs @@ -1,9 +1,8 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::{ account_infos::BatchCompressAccountInfos, - instructions::{ - batch_compress::{create_batch_compress_instruction, BatchCompressInputs}, - Recipient, + compressed_token::batch_compress::{ + create_batch_compress_instruction, BatchCompressInputs, Recipient, }, }; @@ -21,16 +20,13 @@ pub fn process_batch_compress_tokens<'info>( ctx.remaining_accounts, ); - let sdk_recipients: Vec = - recipients - .into_iter() - .map( - |r| light_compressed_token_sdk::instructions::batch_compress::Recipient { - pubkey: r.pubkey, - amount: r.amount, - }, - ) - .collect(); + let sdk_recipients: Vec = recipients + .into_iter() + .map(|r| Recipient { + pubkey: r.pubkey, + amount: r.amount, + }) + .collect(); let batch_compress_inputs = BatchCompressInputs { fee_payer: *ctx.accounts.signer.key, diff --git a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi.rs b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi.rs index 2c50ae3810..2848567627 100644 --- a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi.rs +++ b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::instructions::compress_and_close_ctoken_accounts; +use light_compressed_token_sdk::compressed_token::compress_and_close::compress_and_close_ctoken_accounts; use light_sdk_types::cpi_accounts::{v2::CpiAccounts as CpiAccountsSmall, CpiAccountsConfig}; use crate::OneCTokenAccount; diff --git a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_context.rs b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_context.rs index 1875c52344..31d5bd456e 100644 --- a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_context.rs +++ b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_context.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::{ compress_and_close::{ compress_and_close_ctoken_accounts_with_indices, CompressAndCloseIndices, }, diff --git a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_indices.rs b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_indices.rs index b8db85bd1b..72ddfbc1c3 100644 --- a/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_indices.rs +++ b/sdk-tests/sdk-token-test/src/process_compress_and_close_cpi_indices.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::{ compress_and_close::{ compress_and_close_ctoken_accounts_with_indices, CompressAndCloseIndices, }, diff --git a/sdk-tests/sdk-token-test/src/process_compress_full_and_close.rs b/sdk-tests/sdk-token-test/src/process_compress_full_and_close.rs index f05c709d81..840a9a176f 100644 --- a/sdk-tests/sdk-token-test/src/process_compress_full_and_close.rs +++ b/sdk-tests/sdk-token-test/src/process_compress_full_and_close.rs @@ -1,13 +1,13 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::{ - close::close_account, + compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Inputs, }, + CTokenAccount2, }, + ctoken::close::close_account, }; use light_sdk_types::cpi_accounts::{v2::CpiAccounts, CpiAccountsConfig}; diff --git a/sdk-tests/sdk-token-test/src/process_compress_tokens.rs b/sdk-tests/sdk-token-test/src/process_compress_tokens.rs index d3e82cfefa..940325a586 100644 --- a/sdk-tests/sdk-token-test/src/process_compress_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_compress_tokens.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::instructions::transfer::{ +use light_compressed_token_sdk::compressed_token::transfer::{ instruction::{compress, CompressInputs}, TransferAccountInfos, }; diff --git a/sdk-tests/sdk-token-test/src/process_create_compressed_account.rs b/sdk-tests/sdk-token-test/src/process_create_compressed_account.rs index cfc621b790..36e9abd9ff 100644 --- a/sdk-tests/sdk-token-test/src/process_create_compressed_account.rs +++ b/sdk-tests/sdk-token-test/src/process_create_compressed_account.rs @@ -1,8 +1,10 @@ use anchor_lang::{prelude::*, solana_program::log::sol_log_compute_units}; use light_compressed_account::instruction_data::cpi_context::CompressedCpiContext; use light_compressed_token_sdk::{ - account::CTokenAccount, - instructions::transfer::instruction::{TransferConfig, TransferInputs}, + compressed_token::{ + transfer::instruction::{TransferConfig, TransferInputs}, + CTokenAccount, + }, TokenAccountMeta, }; use light_sdk::{ @@ -97,8 +99,10 @@ pub fn deposit_tokens<'a, 'info>( amount, }; let instruction = - light_compressed_token_sdk::instructions::transfer::instruction::transfer(transfer_inputs) - .unwrap(); + light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( + transfer_inputs, + ) + .unwrap(); // msg!("instruction {:?}", instruction); // We can use the property that account infos don't have to be in order if you use // solana program invoke. diff --git a/sdk-tests/sdk-token-test/src/process_create_ctoken_with_compress_to_pubkey.rs b/sdk-tests/sdk-token-test/src/process_create_ctoken_with_compress_to_pubkey.rs index 2eedefe23d..c55a897477 100644 --- a/sdk-tests/sdk-token-test/src/process_create_ctoken_with_compress_to_pubkey.rs +++ b/sdk-tests/sdk-token-test/src/process_create_ctoken_with_compress_to_pubkey.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke_signed}; -use light_compressed_token_sdk::instructions::create_token_account::{ +use light_compressed_token_sdk::ctoken::create_token_account::{ create_compressible_token_account_instruction, CreateCompressibleTokenAccount, }; use light_ctoken_types::instructions::extensions::compressible::CompressToPubkey; diff --git a/sdk-tests/sdk-token-test/src/process_decompress_full_cpi_context.rs b/sdk-tests/sdk-token-test/src/process_decompress_full_cpi_context.rs index 8e3fa26445..9c6dcd4bfe 100644 --- a/sdk-tests/sdk-token-test/src/process_decompress_full_cpi_context.rs +++ b/sdk-tests/sdk-token-test/src/process_decompress_full_cpi_context.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::{ decompress_full::{decompress_full_ctoken_accounts_with_indices, DecompressFullIndices}, transfer2::Transfer2CpiAccounts, }; diff --git a/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs b/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs index 24aa94a0b8..57e398a3b6 100644 --- a/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs @@ -1,8 +1,11 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::{ - instructions::transfer::{ - instruction::{decompress, DecompressInputs}, - TransferAccountInfos, + compressed_token::{ + transfer::{ + instruction::{decompress, DecompressInputs}, + TransferAccountInfos, + }, + CTokenAccount, }, TokenAccountMeta, ValidityProof, }; @@ -16,7 +19,7 @@ pub fn process_decompress_tokens<'info>( output_tree_index: u8, mint: Pubkey, ) -> Result<()> { - let sender_account = light_compressed_token_sdk::account::CTokenAccount::new( + let sender_account = CTokenAccount::new( mint, ctx.accounts.signer.key(), token_data, diff --git a/sdk-tests/sdk-token-test/src/process_four_invokes.rs b/sdk-tests/sdk-token-test/src/process_four_invokes.rs index 3c85dde7f7..82243752ad 100644 --- a/sdk-tests/sdk-token-test/src/process_four_invokes.rs +++ b/sdk-tests/sdk-token-test/src/process_four_invokes.rs @@ -1,9 +1,11 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_account::instruction_data::cpi_context::CompressedCpiContext; use light_compressed_token_sdk::{ - account::CTokenAccount, - instructions::transfer::instruction::{ - compress, transfer, CompressInputs, TransferConfig, TransferInputs, + compressed_token::{ + transfer::instruction::{ + compress, transfer, CompressInputs, TransferConfig, TransferInputs, + }, + CTokenAccount, }, TokenAccountMeta, }; diff --git a/sdk-tests/sdk-token-test/src/process_four_transfer2.rs b/sdk-tests/sdk-token-test/src/process_four_transfer2.rs index 703ace5298..6253580e1e 100644 --- a/sdk-tests/sdk-token-test/src/process_four_transfer2.rs +++ b/sdk-tests/sdk-token-test/src/process_four_transfer2.rs @@ -1,10 +1,10 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ - account2::CTokenAccount2, - instructions::transfer2::{ +use light_compressed_token_sdk::compressed_token::{ + transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, Transfer2Inputs, }, + CTokenAccount2, }; use light_ctoken_types::instructions::transfer2::MultiInputTokenDataWithContext; use light_sdk::{ diff --git a/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs b/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs index 0f51dc2948..642a332412 100644 --- a/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs @@ -1,9 +1,11 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::{ - account::CTokenAccount, - instructions::transfer::{ - instruction::{transfer, TransferInputs}, - TransferAccountInfos, + compressed_token::{ + transfer::{ + instruction::{transfer, TransferInputs}, + TransferAccountInfos, + }, + CTokenAccount, }, TokenAccountMeta, ValidityProof, }; diff --git a/sdk-tests/sdk-token-test/src/process_update_deposit.rs b/sdk-tests/sdk-token-test/src/process_update_deposit.rs index 9303d1355a..2585d5ae91 100644 --- a/sdk-tests/sdk-token-test/src/process_update_deposit.rs +++ b/sdk-tests/sdk-token-test/src/process_update_deposit.rs @@ -2,8 +2,10 @@ use anchor_lang::prelude::*; use light_batched_merkle_tree::queue::BatchedQueueAccount; use light_compressed_account::instruction_data::cpi_context::CompressedCpiContext; use light_compressed_token_sdk::{ - account::CTokenAccount, - instructions::transfer::instruction::{TransferConfig, TransferInputs}, + compressed_token::{ + transfer::instruction::{TransferConfig, TransferInputs}, + CTokenAccount, + }, TokenAccountMeta, }; use light_sdk::{ @@ -106,8 +108,10 @@ fn merge_escrow_token_accounts<'info>( amount: total_escrowed_amount, }; let instruction = - light_compressed_token_sdk::instructions::transfer::instruction::transfer(transfer_inputs) - .unwrap(); + light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( + transfer_inputs, + ) + .unwrap(); let account_infos = [&[fee_payer, authority][..], remaining_accounts].concat(); @@ -196,8 +200,10 @@ pub fn transfer_tokens_to_escrow_pda<'a, 'info>( amount, }; let instruction = - light_compressed_token_sdk::instructions::transfer::instruction::transfer(transfer_inputs) - .unwrap(); + light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( + transfer_inputs, + ) + .unwrap(); let account_infos = [&[cpi_accounts.fee_payer().clone()][..], remaining_accounts].concat(); diff --git a/sdk-tests/sdk-token-test/tests/compress_and_close_cpi.rs b/sdk-tests/sdk-token-test/tests/compress_and_close_cpi.rs index e6f6ca48b5..e75604e4c7 100644 --- a/sdk-tests/sdk-token-test/tests/compress_and_close_cpi.rs +++ b/sdk-tests/sdk-token-test/tests/compress_and_close_cpi.rs @@ -1,9 +1,9 @@ //#![cfg(feature = "test-sbf")] use anchor_lang::InstructionData; -use light_compressed_token_sdk::instructions::{ +use light_compressed_token_sdk::compressed_token::{ compress_and_close::{pack_for_compress_and_close, CompressAndCloseAccounts}, - find_spl_mint_address, + create_compressed_mint::find_spl_mint_address, }; use light_ctoken_types::instructions::mint_action::Recipient; use light_program_test::{Indexer, LightProgramTest, ProgramTestConfig, Rpc}; @@ -74,7 +74,7 @@ async fn setup_compress_and_close_test( // Create ATA accounts for each owner let mut token_account_pubkeys = Vec::with_capacity(num_ctoken_accounts); - use light_compressed_token_sdk::instructions::{ + use light_compressed_token_sdk::ctoken::create_associated_token_account::{ create_associated_token_account, create_compressible_associated_token_account, derive_ctoken_ata, CreateCompressibleAssociatedTokenAccountInputs, }; @@ -477,7 +477,7 @@ async fn test_compress_and_close_cpi_with_context() { // Derive compressed mint address using utility function let address_tree_info = rpc.get_address_tree_v2(); let compressed_mint_address = - light_compressed_token_sdk::instructions::derive_compressed_mint_address( + light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address( &ctx.mint_seed.pubkey(), &address_tree_info.tree, ); @@ -496,7 +496,7 @@ async fn test_compress_and_close_cpi_with_context() { .cpi_context .expect("CPI context required for this test"); // Add light system program accounts (following the pattern from other tests) - use light_compressed_token_sdk::instructions::compress_and_close::CompressAndCloseAccounts; + use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts; let config = CompressAndCloseAccounts::new_with_cpi_context(Some(cpi_context_pubkey), None); remaining_accounts .add_custom_system_accounts(config) diff --git a/sdk-tests/sdk-token-test/tests/ctoken_pda.rs b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs index f7bf1c1c08..9ccfa938f3 100644 --- a/sdk-tests/sdk-token-test/tests/ctoken_pda.rs +++ b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs @@ -2,7 +2,9 @@ use anchor_lang::{AnchorDeserialize, InstructionData, ToAccountMetas}; use light_client::indexer::Indexer; use light_compressed_account::{address::derive_address, hash_to_bn254_field_size_be}; use light_compressed_token_sdk::{ - instructions::{create_compressed_mint::find_spl_mint_address, derive_compressed_mint_address}, + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, CPI_AUTHORITY_PDA, }; use light_ctoken_types::{ diff --git a/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs b/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs index a554169508..59f9936d77 100644 --- a/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs +++ b/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs @@ -4,8 +4,8 @@ use anchor_lang::{AnchorDeserialize, InstructionData}; /// Test input range for multi-input tests const TEST_INPUT_RANGE: [usize; 4] = [1, 2, 3, 4]; -use light_compressed_token_sdk::instructions::{ - decompress_full::DecompressFullAccounts, find_spl_mint_address, +use light_compressed_token_sdk::compressed_token::{ + create_compressed_mint::find_spl_mint_address, decompress_full::DecompressFullAccounts, }; use light_ctoken_types::instructions::mint_action::{CompressedMintWithContext, Recipient}; use light_program_test::{Indexer, LightProgramTest, ProgramTestConfig, Rpc}; @@ -54,7 +54,7 @@ async fn setup_decompress_full_test(num_inputs: usize) -> (LightProgramTest, Tes .await .unwrap(); - use light_compressed_token_sdk::instructions::{ + use light_compressed_token_sdk::ctoken::create_associated_token_account::{ create_compressible_associated_token_account, derive_ctoken_ata, CreateCompressibleAssociatedTokenAccountInputs, }; @@ -226,7 +226,7 @@ async fn test_decompress_full_cpi() { ) .zip(ctx.destination_accounts.iter()) .map(|((token, tree_info), &dest_pubkey)| { - light_compressed_token_sdk::instructions::decompress_full::pack_for_decompress_full( + light_compressed_token_sdk::compressed_token::decompress_full::pack_for_decompress_full( token, tree_info, dest_pubkey, @@ -332,7 +332,7 @@ async fn test_decompress_full_cpi_with_context() { let address_tree_info = rpc.get_address_tree_v2(); let compressed_mint_address = - light_compressed_token_sdk::instructions::derive_compressed_mint_address( + light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address( &ctx.mint_seed.pubkey(), &address_tree_info.tree, ); @@ -419,7 +419,7 @@ async fn test_decompress_full_cpi_with_context() { ) .zip(ctx.destination_accounts.iter()) .map(|((token, tree_info), &dest_pubkey)| { - light_compressed_token_sdk::instructions::decompress_full::pack_for_decompress_full( + light_compressed_token_sdk::compressed_token::decompress_full::pack_for_decompress_full( token, tree_info, dest_pubkey, diff --git a/sdk-tests/sdk-token-test/tests/pda_ctoken.rs b/sdk-tests/sdk-token-test/tests/pda_ctoken.rs index ca2e7997f3..bebed8b1ad 100644 --- a/sdk-tests/sdk-token-test/tests/pda_ctoken.rs +++ b/sdk-tests/sdk-token-test/tests/pda_ctoken.rs @@ -5,13 +5,12 @@ use anchor_spl::token_interface::spl_token_2022; use light_client::indexer::Indexer; use light_compressed_account::{address::derive_address, hash_to_bn254_field_size_be}; use light_compressed_token_sdk::{ - instructions::{ - create_associated_token_account::{ - create_compressible_associated_token_account, derive_ctoken_ata, - CreateCompressibleAssociatedTokenAccountInputs, - }, - create_compressed_mint::find_spl_mint_address, - derive_compressed_mint_address, + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken::create_associated_token_account::{ + create_compressible_associated_token_account, derive_ctoken_ata, + CreateCompressibleAssociatedTokenAccountInputs, }, CPI_AUTHORITY_PDA, }; diff --git a/sdk-tests/sdk-token-test/tests/test.rs b/sdk-tests/sdk-token-test/tests/test.rs index 2cd0d623cf..2277224a77 100644 --- a/sdk-tests/sdk-token-test/tests/test.rs +++ b/sdk-tests/sdk-token-test/tests/test.rs @@ -4,7 +4,7 @@ use anchor_lang::{AccountDeserialize, InstructionData}; use anchor_spl::token::TokenAccount; use light_client::indexer::CompressedTokenAccount; use light_compressed_token_sdk::{ - instructions::{ + compressed_token::{ batch_compress::{ get_batch_compress_instruction_account_metas, BatchCompressMetaConfig, Recipient, }, diff --git a/sdk-tests/sdk-token-test/tests/test_4_invocations.rs b/sdk-tests/sdk-token-test/tests/test_4_invocations.rs index a5b9293277..7078f38a0d 100644 --- a/sdk-tests/sdk-token-test/tests/test_4_invocations.rs +++ b/sdk-tests/sdk-token-test/tests/test_4_invocations.rs @@ -1,12 +1,10 @@ use anchor_lang::{prelude::AccountMeta, AccountDeserialize, InstructionData}; use light_compressed_token_sdk::{ - instructions::{ - transfer::account_metas::{ - get_transfer_instruction_account_metas, TokenAccountsMetaConfig, - }, - CTokenDefaultAccounts, + compressed_token::transfer::account_metas::{ + get_transfer_instruction_account_metas, TokenAccountsMetaConfig, }, token_pool::get_token_pool_pda, + utils::CTokenDefaultAccounts, SPL_TOKEN_PROGRAM_ID, }; use light_program_test::{AddressWithTree, Indexer, LightProgramTest, ProgramTestConfig, Rpc}; diff --git a/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs b/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs index 989f2f46f2..f320819d07 100644 --- a/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs +++ b/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs @@ -1,7 +1,10 @@ use anchor_lang::{prelude::AccountMeta, InstructionData}; -use light_compressed_token_sdk::instructions::{ - create_compressed_mint, create_mint_to_compressed_instruction, CTokenDefaultAccounts, - CreateCompressedMintInputs, MintToCompressedInputs, +use light_compressed_token_sdk::{ + compressed_token::{ + create_compressed_mint::{create_compressed_mint, CreateCompressedMintInputs}, + mint_to_compressed::{create_mint_to_compressed_instruction, MintToCompressedInputs}, + }, + utils::CTokenDefaultAccounts, }; use light_ctoken_types::{ instructions::{ @@ -91,9 +94,12 @@ async fn create_compressed_mints_and_tokens( // Create associated token account for mint1 decompression let (token_account1_pubkey, _bump) = - light_compressed_token_sdk::instructions::derive_ctoken_ata(&payer.pubkey(), &mint1_pda); + light_compressed_token_sdk::ctoken::create_associated_token_account::derive_ctoken_ata( + &payer.pubkey(), + &mint1_pda, + ); let create_ata_instruction = - light_compressed_token_sdk::instructions::create_associated_token_account( + light_compressed_token_sdk::ctoken::create_associated_token_account::create_associated_token_account( payer.pubkey(), payer.pubkey(), mint1_pda, diff --git a/sdk-tests/sdk-token-test/tests/test_compress_full_and_close.rs b/sdk-tests/sdk-token-test/tests/test_compress_full_and_close.rs index b7672ba7dc..cffee28392 100644 --- a/sdk-tests/sdk-token-test/tests/test_compress_full_and_close.rs +++ b/sdk-tests/sdk-token-test/tests/test_compress_full_and_close.rs @@ -2,9 +2,12 @@ use anchor_lang::{ prelude::{AccountMeta, Pubkey}, InstructionData, }; -use light_compressed_token_sdk::instructions::{ - create_associated_token_account, create_compressed_mint, create_mint_to_compressed_instruction, - derive_ctoken_ata, CreateCompressedMintInputs, MintToCompressedInputs, +use light_compressed_token_sdk::{ + compressed_token::{ + create_compressed_mint::{create_compressed_mint, CreateCompressedMintInputs}, + mint_to_compressed::{create_mint_to_compressed_instruction, MintToCompressedInputs}, + }, + ctoken::create_associated_token_account::{create_associated_token_account, derive_ctoken_ata}, }; use light_ctoken_types::{ instructions::mint_action::{CompressedMintWithContext, Recipient}, diff --git a/sdk-tests/sdk-token-test/tests/test_deposit.rs b/sdk-tests/sdk-token-test/tests/test_deposit.rs index d833b5fc41..ae20de39a1 100644 --- a/sdk-tests/sdk-token-test/tests/test_deposit.rs +++ b/sdk-tests/sdk-token-test/tests/test_deposit.rs @@ -1,13 +1,11 @@ use anchor_lang::InstructionData; use light_client::indexer::{CompressedAccount, CompressedTokenAccount, IndexerRpcConfig}; use light_compressed_token_sdk::{ - instructions::{ - batch_compress::{ - get_batch_compress_instruction_account_metas, BatchCompressMetaConfig, Recipient, - }, - CTokenDefaultAccounts, + compressed_token::batch_compress::{ + get_batch_compress_instruction_account_metas, BatchCompressMetaConfig, Recipient, }, token_pool::find_token_pool_pda_with_index, + utils::CTokenDefaultAccounts, TokenAccountMeta, SPL_TOKEN_PROGRAM_ID, }; use light_program_test::{AddressWithTree, Indexer, LightProgramTest, ProgramTestConfig, Rpc}; diff --git a/typedoc.stateless.json b/typedoc.stateless.json deleted file mode 100644 index c838aa0f84..0000000000 --- a/typedoc.stateless.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "https://typedoc.org/schema.json", - "name": "@lightprotocol/stateless.js", - "entryPoints": ["js/stateless.js/src/index.ts"], - "out": "api-docs/stateless.js", - "exclude": [ - "**/node_modules/**", - "**/*.test.ts", - "**/*.spec.ts", - "**/tests/**", - "**/dist/**", - "**/playwright.config.ts" - ], - "excludePrivate": true, - "excludeProtected": false, - "excludeInternal": true, - "skipErrorChecking": true, - "readme": "js/stateless.js/README.md", - "tsconfig": "js/stateless.js/tsconfig.json", - "compilerOptions": { - "skipLibCheck": true - }, - "plugin": [], - "navigation": { - "includeCategories": true, - "includeGroups": true - }, - "categorizeByGroup": true, - "sort": ["source-order"], - "kindSortOrder": [ - "Function", - "Class", - "Interface", - "TypeAlias", - "Variable", - "Enum" - ], - "searchInComments": true, - "visibilityFilters": { - "protected": true, - "private": false, - "inherited": true, - "external": false - }, - "hideGenerator": false, - "includeVersion": true, - "githubPages": true, - "navigationLinks": { - "Other Libraries": "../index.html", - "Documentation": "https://www.zkcompression.com", - "GitHub": "https://github.com/Lightprotocol/light-protocol" - } -}