From 5ed3dac8a94649396e42ccd8d1a9b4c737c5ef32 Mon Sep 17 00:00:00 2001 From: ananas-block Date: Fri, 5 Dec 2025 22:27:24 +0000 Subject: [PATCH 1/2] refactor: rename light-ctoken-types -> light-ctoken-interface --- .github/workflows/rust.yml | 2 +- CLAUDE.md | 2 +- Cargo.lock | 34 +++++++------- Cargo.toml | 4 +- DOCS.md | 4 +- forester/Cargo.toml | 2 +- forester/src/compressible/bootstrap.rs | 2 +- forester/src/compressible/compressor.rs | 5 ++- forester/src/compressible/state.rs | 2 +- forester/src/compressible/subscriber.rs | 2 +- forester/src/compressible/types.rs | 2 +- forester/tests/e2e_test.rs | 2 +- forester/tests/test_compressible_ctoken.rs | 4 +- program-libs/account-checks/CLAUDE.md | 2 +- program-libs/compressible/CLAUDE.md | 2 +- .../Cargo.toml | 4 +- .../src/constants.rs | 0 .../src/error.rs | 0 .../src/hash_cache.rs | 0 .../create_associated_token_account.rs | 0 .../src/instructions/create_ctoken_account.rs | 0 .../instructions/extensions/compressible.rs | 0 .../src/instructions/extensions/mod.rs | 0 .../instructions/extensions/token_metadata.rs | 0 .../src/instructions/mint_action/builder.rs | 0 .../instructions/mint_action/cpi_context.rs | 0 .../mint_action/create_spl_mint.rs | 0 .../mint_action/instruction_data.rs | 0 .../mint_action/mint_to_compressed.rs | 0 .../mint_action/mint_to_ctoken.rs | 0 .../src/instructions/mint_action/mod.rs | 0 .../mint_action/update_metadata.rs | 0 .../instructions/mint_action/update_mint.rs | 0 .../src/instructions/mod.rs | 0 .../src/instructions/transfer2/compression.rs | 0 .../src/instructions/transfer2/cpi_context.rs | 0 .../transfer2/instruction_data.rs | 0 .../src/instructions/transfer2/mod.rs | 0 .../src/lib.rs | 0 .../src/state/compressed_token/hash.rs | 0 .../src/state/compressed_token/mod.rs | 0 .../src/state/compressed_token/token_data.rs | 0 .../compressed_token/token_data_version.rs | 0 .../src/state/ctoken/borsh.rs | 0 .../src/state/ctoken/ctoken_struct.rs | 0 .../src/state/ctoken/mod.rs | 0 .../src/state/ctoken/zero_copy.rs | 0 .../src/state/extensions/extension_struct.rs | 0 .../src/state/extensions/extension_type.rs | 0 .../src/state/extensions/mod.rs | 0 .../src/state/extensions/token_metadata.rs | 0 .../src/state/mint/borsh.rs | 0 .../src/state/mint/compressed_mint.rs | 0 .../src/state/mint/mod.rs | 0 .../src/state/mint/zero_copy.rs | 0 .../src/state/mod.rs | 0 .../tests/compressed_mint.rs | 2 +- .../tests/ctoken/failing.rs | 2 +- .../tests/ctoken/mod.rs | 0 .../tests/ctoken/randomized_solana_ctoken.rs | 2 +- .../tests/ctoken/spl_compat.rs | 8 ++-- .../tests/ctoken/zero_copy_new.rs | 2 +- .../tests/hash_tests.rs | 2 +- .../tests/mint_borsh_zero_copy.rs | 6 +-- .../tests/mint_compat.rs | 2 +- .../tests/mod.rs | 0 .../tests/token_data.rs | 2 +- .../tests/token_data_hash.rs | 2 +- .../tests/token_metadata.rs | 2 +- .../compressed-token-test/Cargo.toml | 2 +- .../tests/ctoken/close.rs | 12 ++--- .../tests/ctoken/compress_and_close.rs | 12 ++--- .../tests/ctoken/create.rs | 30 ++++++------- .../tests/ctoken/create_ata.rs | 44 ++++++++++--------- .../tests/ctoken/create_ata2.rs | 6 +-- .../tests/ctoken/functional.rs | 4 +- .../tests/ctoken/functional_ata.rs | 4 +- .../tests/ctoken/shared.rs | 10 ++--- .../tests/ctoken/transfer.rs | 6 +-- .../tests/mint/cpi_context.rs | 2 +- .../tests/mint/edge_cases.rs | 8 ++-- .../tests/mint/failing.rs | 30 +++++++------ .../tests/mint/functional.rs | 12 ++--- .../tests/mint/random.rs | 6 +-- .../tests/transfer2/compress_failing.rs | 2 +- .../tests/transfer2/decompress_failing.rs | 2 +- .../tests/transfer2/functional.rs | 2 +- .../no_system_program_cpi_failing.rs | 8 ++-- .../tests/transfer2/random.rs | 2 +- .../tests/transfer2/shared.rs | 2 +- .../tests/transfer2/spl_ctoken.rs | 2 +- .../tests/transfer2/transfer_failing.rs | 2 +- program-tests/registry-test/Cargo.toml | 2 +- .../registry-test/tests/compressible.rs | 28 ++++++------ program-tests/utils/Cargo.toml | 2 +- program-tests/utils/src/assert_claim.rs | 2 +- .../utils/src/assert_close_token_account.rs | 4 +- .../utils/src/assert_create_token_account.rs | 6 +-- .../utils/src/assert_ctoken_transfer.rs | 11 ++--- program-tests/utils/src/assert_metadata.rs | 2 +- program-tests/utils/src/assert_mint_action.rs | 4 +- .../utils/src/assert_mint_to_compressed.rs | 2 +- program-tests/utils/src/assert_transfer2.rs | 4 +- program-tests/utils/src/conversions.rs | 2 +- program-tests/utils/src/mint_assert.rs | 4 +- program-tests/utils/src/spl.rs | 2 +- programs/compressed-token/anchor/Cargo.toml | 2 +- programs/compressed-token/anchor/src/burn.rs | 2 +- .../compressed-token/anchor/src/delegation.rs | 2 +- .../compressed-token/anchor/src/freeze.rs | 4 +- programs/compressed-token/anchor/src/lib.rs | 2 +- .../anchor/src/process_mint.rs | 2 +- .../anchor/src/process_transfer.rs | 4 +- programs/compressed-token/program/CLAUDE.md | 2 +- programs/compressed-token/program/Cargo.toml | 6 +-- .../compressed-token/program/docs/ACCOUNTS.md | 6 +-- .../compressed-token/program/src/claim.rs | 2 +- .../src/close_token_account/accounts.rs | 2 +- .../src/close_token_account/processor.rs | 4 +- .../src/create_associated_token_account.rs | 6 +-- .../program/src/create_token_account.rs | 2 +- .../program/src/ctoken_transfer.rs | 6 +-- .../program/src/extensions/mod.rs | 2 +- .../program/src/extensions/processor.rs | 2 +- .../program/src/extensions/token_metadata.rs | 2 +- programs/compressed-token/program/src/lib.rs | 2 +- .../program/src/mint_action/accounts.rs | 2 +- .../src/mint_action/actions/create_mint.rs | 2 +- .../create_spl_mint/create_mint_account.rs | 4 +- .../create_spl_mint/create_token_pool.rs | 2 +- .../actions/create_spl_mint/process.rs | 2 +- .../src/mint_action/actions/mint_to.rs | 2 +- .../src/mint_action/actions/mint_to_ctoken.rs | 4 +- .../mint_action/actions/process_actions.rs | 2 +- .../mint_action/actions/update_metadata.rs | 4 +- .../program/src/mint_action/mint_input.rs | 2 +- .../program/src/mint_action/mint_output.rs | 2 +- .../program/src/mint_action/processor.rs | 2 +- .../program/src/mint_action/queue_indices.rs | 2 +- .../src/mint_action/zero_copy_config.rs | 2 +- .../program/src/shared/cpi_bytes_size.rs | 8 ++-- .../src/shared/initialize_ctoken_account.rs | 2 +- .../program/src/shared/owner_validation.rs | 2 +- .../program/src/shared/token_input.rs | 2 +- .../program/src/shared/token_output.rs | 2 +- .../program/src/transfer2/change_account.rs | 2 +- .../compression/ctoken/compress_and_close.rs | 2 +- .../ctoken/compress_or_decompress_ctokens.rs | 4 +- .../transfer2/compression/ctoken/inputs.rs | 2 +- .../src/transfer2/compression/ctoken/mod.rs | 2 +- .../program/src/transfer2/compression/mod.rs | 2 +- .../program/src/transfer2/compression/spl.rs | 2 +- .../program/src/transfer2/config.rs | 2 +- .../program/src/transfer2/cpi.rs | 2 +- .../program/src/transfer2/processor.rs | 2 +- .../program/src/transfer2/sum_check.rs | 2 +- .../program/src/transfer2/token_inputs.rs | 2 +- .../program/src/transfer2/token_outputs.rs | 2 +- .../program/tests/allocation_test.rs | 2 +- .../program/tests/compress_and_close.rs | 4 +- .../program/tests/exact_allocation_test.rs | 2 +- .../compressed-token/program/tests/mint.rs | 4 +- .../program/tests/mint_action.rs | 2 +- .../tests/mint_action_accounts_validation.rs | 2 +- .../program/tests/multi_sum_check.rs | 2 +- .../program/tests/queue_indices.rs | 2 +- .../program/tests/token_input.rs | 2 +- .../program/tests/token_output.rs | 2 +- programs/registry/Cargo.toml | 2 +- .../compressed_token/compress_and_close.rs | 2 +- scripts/lint.sh | 6 +-- sdk-libs/compressed-token-sdk/Cargo.toml | 8 ++-- .../v1/approve/instruction.rs | 2 +- .../v1/batch_compress/instruction.rs | 4 +- .../v1/transfer/instruction.rs | 2 +- .../src/compressed_token/v2/account2.rs | 2 +- .../compressed_token/v2/compress_and_close.rs | 9 ++-- .../v2/create_compressed_mint/instruction.rs | 20 ++++----- .../compressed_token/v2/decompress_full.rs | 2 +- .../v2/mint_action/account_metas.rs | 2 +- .../v2/mint_action/cpi_accounts.rs | 2 +- .../v2/mint_action/instruction.rs | 16 ++++--- .../v2/mint_to_compressed/instruction.rs | 15 ++++--- .../v2/transfer2/cpi_accounts.rs | 2 +- .../v2/transfer2/instruction.rs | 2 +- .../v2/update_compressed_mint/instruction.rs | 14 +++--- .../src/compressible/claim.rs | 2 +- .../src/compressible/decompress_runtime.rs | 6 +-- .../src/compressible/withdraw_funding_pool.rs | 2 +- .../src/ctoken/compressible.rs | 2 +- .../compressed-token-sdk/src/ctoken/create.rs | 4 +- .../src/ctoken/create_ata.rs | 8 ++-- .../src/ctoken/create_cmint.rs | 20 ++++----- .../src/ctoken/mint_to.rs | 10 ++--- .../compressed-token-sdk/src/ctoken/mod.rs | 2 +- .../src/ctoken/transfer_ctoken_spl.rs | 2 +- .../src/ctoken/transfer_spl_ctoken.rs | 2 +- sdk-libs/compressed-token-sdk/src/error.rs | 2 +- sdk-libs/compressed-token-sdk/src/pack.rs | 16 +++---- .../compressed-token-sdk/src/token_pool.rs | 2 +- sdk-libs/compressed-token-sdk/src/utils.rs | 2 +- .../tests/mint_action_cpi_accounts_tests.rs | 2 +- sdk-libs/macros/src/compressible/GUIDE.md | 8 ++-- sdk-libs/program-test/Cargo.toml | 4 +- sdk-libs/program-test/src/compressible.rs | 2 +- .../forester/compress_and_close_forester.rs | 2 +- sdk-libs/token-client/Cargo.toml | 2 +- .../create_compressible_token_account.rs | 2 +- .../token-client/src/actions/create_mint.rs | 2 +- .../src/actions/ctoken_transfer.rs | 2 +- .../token-client/src/actions/mint_action.rs | 2 +- .../src/actions/mint_to_compressed.rs | 2 +- .../src/instructions/create_mint.rs | 2 +- .../src/instructions/mint_action.rs | 6 +-- .../src/instructions/mint_to_compressed.rs | 2 +- .../src/instructions/transfer2.rs | 4 +- .../instructions/update_compressed_mint.rs | 4 +- sdk-tests/csdk-anchor-derived-test/Cargo.toml | 4 +- sdk-tests/csdk-anchor-derived-test/src/lib.rs | 28 ++++++------ .../csdk-anchor-derived-test/src/state.rs | 2 +- .../tests/basic_test.rs | 2 +- .../csdk-anchor-full-derived-test/Cargo.toml | 3 +- .../csdk-anchor-full-derived-test/src/lib.rs | 28 ++++++------ .../src/state.rs | 2 +- .../tests/basic_test.rs | 2 +- sdk-tests/sdk-compressible-test/Cargo.toml | 4 +- .../create_user_record_and_game_session.rs | 8 ++-- .../decompress_accounts_idempotent.rs | 7 +-- sdk-tests/sdk-compressible-test/src/state.rs | 2 +- .../tests/multi_account_tests.rs | 2 +- sdk-tests/sdk-ctoken-test/Cargo.lock | 8 ++-- sdk-tests/sdk-ctoken-test/Cargo.toml | 2 +- .../sdk-ctoken-test/src/mint_to_ctoken.rs | 2 +- sdk-tests/sdk-ctoken-test/tests/shared.rs | 4 +- .../sdk-ctoken-test/tests/test_create_ata.rs | 4 +- .../tests/test_create_cmint.rs | 6 +-- .../tests/test_create_token_account.rs | 4 +- .../tests/test_mint_to_ctoken.rs | 18 ++++---- .../sdk-ctoken-test/tests/test_transfer.rs | 4 +- .../tests/test_transfer_interface.rs | 12 ++--- .../tests/test_transfer_spl_ctoken.rs | 8 ++-- sdk-tests/sdk-token-test/CLAUDE.md | 2 +- sdk-tests/sdk-token-test/Cargo.toml | 6 +-- .../sdk-token-test/src/ctoken_pda/mint.rs | 4 +- .../src/mint_compressed_tokens_cpi_write.rs | 4 +- .../sdk-token-test/src/pda_ctoken/mint.rs | 24 +++++----- .../src/pda_ctoken/processor.rs | 2 +- .../src/process_compress_full_and_close.rs | 2 +- ...s_create_ctoken_with_compress_to_pubkey.rs | 4 +- .../src/process_four_transfer2.rs | 4 +- sdk-tests/sdk-token-test/tests/ctoken_pda.rs | 6 +-- .../tests/decompress_full_cpi.rs | 16 +++---- sdk-tests/sdk-token-test/tests/pda_ctoken.rs | 8 ++-- .../sdk-token-test/tests/test_4_transfer2.rs | 6 +-- .../tests/test_compress_full_and_close.rs | 4 +- .../tests/test_compress_to_pubkey.rs | 2 +- 256 files changed, 539 insertions(+), 519 deletions(-) rename program-libs/{ctoken-types => ctoken-interface}/Cargo.toml (94%) rename program-libs/{ctoken-types => ctoken-interface}/src/constants.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/error.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/hash_cache.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/create_associated_token_account.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/create_ctoken_account.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/extensions/compressible.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/extensions/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/extensions/token_metadata.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/builder.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/cpi_context.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/create_spl_mint.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/instruction_data.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/mint_to_compressed.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/mint_to_ctoken.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/update_metadata.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mint_action/update_mint.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/transfer2/compression.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/transfer2/cpi_context.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/transfer2/instruction_data.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/instructions/transfer2/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/lib.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/compressed_token/hash.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/compressed_token/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/compressed_token/token_data.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/compressed_token/token_data_version.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/ctoken/borsh.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/ctoken/ctoken_struct.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/ctoken/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/ctoken/zero_copy.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/extensions/extension_struct.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/extensions/extension_type.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/extensions/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/extensions/token_metadata.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/mint/borsh.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/mint/compressed_mint.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/mint/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/mint/zero_copy.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/src/state/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/tests/compressed_mint.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/ctoken/failing.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/ctoken/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/tests/ctoken/randomized_solana_ctoken.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/ctoken/spl_compat.rs (98%) rename program-libs/{ctoken-types => ctoken-interface}/tests/ctoken/zero_copy_new.rs (98%) rename program-libs/{ctoken-types => ctoken-interface}/tests/hash_tests.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/mint_borsh_zero_copy.rs (97%) rename program-libs/{ctoken-types => ctoken-interface}/tests/mint_compat.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/mod.rs (100%) rename program-libs/{ctoken-types => ctoken-interface}/tests/token_data.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/token_data_hash.rs (99%) rename program-libs/{ctoken-types => ctoken-interface}/tests/token_metadata.rs (99%) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 51cf3aef08..e88a3d2e81 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -59,7 +59,7 @@ jobs: cargo test -p light-hash-set --all-features cargo test -p batched-merkle-tree-test -- --skip test_simulate_transactions --skip test_e2e cargo test -p light-concurrent-merkle-tree - cargo test -p light-ctoken-types --features poseidon + cargo test -p light-ctoken-interface --features poseidon cargo test -p light-compressible --all-features - name: program-libs-slow packages: light-bloom-filter light-indexed-merkle-tree batched-merkle-tree-test diff --git a/CLAUDE.md b/CLAUDE.md index b64c170c7a..d6944bbeda 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,7 +21,7 @@ light-protocol/ │ ├── compressed-account/ # Compressed account types and utilities │ ├── compressible/ # Configuration for compressible token accounts │ ├── concurrent-merkle-tree/ # Concurrent Merkle tree operations -│ ├── ctoken-types/ # Compressed token types and interfaces +│ ├── ctoken-interface/ # Compressed token types and interfaces │ ├── hash-set/ # Hash set implementation for Solana programs │ ├── hasher/ # Poseidon hash implementation │ ├── heap/ # Heap data structure for Solana programs diff --git a/Cargo.lock b/Cargo.lock index 42a98c0e90..829cd6b2f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -296,7 +296,7 @@ dependencies = [ "anchor-lang", "anchor-spl 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)", "light-compressed-account", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-heap", "light-system-program-anchor", @@ -1429,7 +1429,7 @@ dependencies = [ "light-compressed-token", "light-compressed-token-sdk", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-program-test", "light-prover-client", "light-registry", @@ -1647,7 +1647,7 @@ dependencies = [ "light-compressed-token-types", "light-compressible", "light-compressible-client", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-macros", "light-program-test", @@ -1682,7 +1682,7 @@ dependencies = [ "light-compressed-token-types", "light-compressible", "light-compressible-client", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-macros", "light-program-test", @@ -2352,7 +2352,7 @@ dependencies = [ "light-compressed-token", "light-compressed-token-sdk", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-hash-set", "light-hasher", "light-merkle-tree-metadata", @@ -3669,7 +3669,7 @@ dependencies = [ "light-array-map", "light-compressed-account", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-heap", "light-program-profiler", @@ -3706,7 +3706,7 @@ dependencies = [ "light-compressed-token", "light-compressed-token-types", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-macros", "light-program-profiler", "light-sdk", @@ -3799,7 +3799,7 @@ dependencies = [ ] [[package]] -name = "light-ctoken-types" +name = "light-ctoken-interface" version = "0.1.0" dependencies = [ "aligned-sized", @@ -3810,7 +3810,7 @@ dependencies = [ "light-array-map", "light-compressed-account", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-heap", "light-macros", @@ -4017,7 +4017,7 @@ dependencies = [ "light-compressible", "light-compressible-client", "light-concurrent-merkle-tree", - "light-ctoken-types", + "light-ctoken-interface", "light-event", "light-hasher", "light-indexed-array", @@ -4090,7 +4090,7 @@ dependencies = [ "light-account-checks", "light-batched-merkle-tree", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-macros", "light-merkle-tree-metadata", "light-program-profiler", @@ -4255,7 +4255,7 @@ dependencies = [ "light-compressed-token-sdk", "light-compressible", "light-concurrent-merkle-tree", - "light-ctoken-types", + "light-ctoken-interface", "light-event", "light-hasher", "light-indexed-array", @@ -4291,7 +4291,7 @@ dependencies = [ "light-compressed-account", "light-compressed-token-sdk", "light-compressed-token-types", - "light-ctoken-types", + "light-ctoken-interface", "light-sdk", "light-zero-copy", "solana-instruction", @@ -5616,7 +5616,7 @@ dependencies = [ "light-compressed-account", "light-compressed-token-sdk", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-program-test", "light-prover-client", @@ -6050,7 +6050,7 @@ dependencies = [ "light-compressed-token-types", "light-compressible", "light-compressible-client", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-macros", "light-program-test", @@ -6082,7 +6082,7 @@ dependencies = [ "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible-client", - "light-ctoken-types", + "light-ctoken-interface", "light-program-test", "light-sdk", "light-sdk-types", @@ -6157,7 +6157,7 @@ dependencies = [ "light-compressed-account", "light-compressed-token-sdk", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-program-profiler", "light-program-test", diff --git a/Cargo.toml b/Cargo.toml index 4051b7e9fb..707a846748 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ members = [ "program-libs/batched-merkle-tree", "program-libs/bloom-filter", "program-libs/compressible", - "program-libs/ctoken-types", + "program-libs/ctoken-interface", "program-libs/hasher", "program-libs/verifier", "program-libs/merkle-tree-metadata", @@ -188,7 +188,7 @@ light-sdk-types = { path = "sdk-libs/sdk-types", version = "0.16.0", default-fea light-compressed-account = { path = "program-libs/compressed-account", version = "0.6.2", default-features = false } light-compressible = { path = "program-libs/compressible", version = "0.1.0" } light-compressible-client = { path = "sdk-libs/compressible-client", version = "0.13.1" } -light-ctoken-types = { path = "program-libs/ctoken-types", version = "0.1.0" } +light-ctoken-interface = { path = "program-libs/ctoken-interface", version = "0.1.0" } light-account-checks = { path = "program-libs/account-checks", version = "0.5.1", default-features = false } light-verifier = { path = "program-libs/verifier", version = "5.0.0" } light-zero-copy = { path = "program-libs/zero-copy", version = "0.5.0", default-features = false } diff --git a/DOCS.md b/DOCS.md index 8e9167006e..7eb0d7fb09 100644 --- a/DOCS.md +++ b/DOCS.md @@ -161,11 +161,11 @@ Document all error codes that can be returned: - **Description** - What the error indicates - **Common causes** - Typical scenarios that trigger this error - **Resolution** - How to fix or avoid the error -- **Location** - Where error enum is defined (e.g., `anchor_compressed_token::ErrorCode`, `light_ctoken_types::CTokenError`) +- **Location** - Where error enum is defined (e.g., `anchor_compressed_token::ErrorCode`, `light_ctoken_interface::CTokenError`) **Common error crate locations in Light Protocol:** - `anchor_compressed_token::ErrorCode` - Compressed token program errors -- `light_ctoken_types::CTokenError` - CToken type errors (18001-18037 range) +- `light_ctoken_interface::CTokenError` - CToken type errors (18001-18037 range) - `light_compressible::CompressibleError` - Compressible account errors (19001-19002 range) - `light_account_checks::AccountError` - Account validation errors (12006-12021 range) - `light_hasher::HasherError` - Hasher operation errors diff --git a/forester/Cargo.toml b/forester/Cargo.toml index 9ee68178ce..8705f3e9c5 100644 --- a/forester/Cargo.toml +++ b/forester/Cargo.toml @@ -29,7 +29,7 @@ light-sparse-merkle-tree = { workspace = true } light-sdk = { workspace = true, features = ["anchor"] } light-program-test = { workspace = true } light-compressible = { workspace = true } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-compressed-token-sdk = { workspace = true } solana-rpc-client-api = { workspace = true } solana-transaction-status = { workspace = true } diff --git a/forester/src/compressible/bootstrap.rs b/forester/src/compressible/bootstrap.rs index b414b2402e..85e70c5ef2 100644 --- a/forester/src/compressible/bootstrap.rs +++ b/forester/src/compressible/bootstrap.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use base64::{engine::general_purpose, Engine as _}; use borsh::BorshDeserialize; -use light_ctoken_types::{ +use light_ctoken_interface::{ state::{extensions::ExtensionStruct, CToken}, COMPRESSED_TOKEN_PROGRAM_ID, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; diff --git a/forester/src/compressible/compressor.rs b/forester/src/compressible/compressor.rs index ccff682bed..b18feb6f9d 100644 --- a/forester/src/compressible/compressor.rs +++ b/forester/src/compressible/compressor.rs @@ -5,7 +5,7 @@ use forester_utils::rpc_pool::SolanaRpcPool; use light_client::rpc::Rpc; 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_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_registry::{ accounts::CompressAndCloseContext, compressible::compressed_token::CompressAndCloseIndices, instruction::CompressAndClose, @@ -116,7 +116,8 @@ impl Compressor { .as_ref() .and_then(|exts| { exts.iter().find_map(|ext| { - if let light_ctoken_types::state::ExtensionStruct::Compressible(comp) = ext + if let light_ctoken_interface::state::ExtensionStruct::Compressible(comp) = + ext { Some(comp) } else { diff --git a/forester/src/compressible/state.rs b/forester/src/compressible/state.rs index a795dd30fd..82a047a57d 100644 --- a/forester/src/compressible/state.rs +++ b/forester/src/compressible/state.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use borsh::BorshDeserialize; use dashmap::DashMap; -use light_ctoken_types::{ +use light_ctoken_interface::{ state::{extensions::ExtensionStruct, CToken}, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, COMPRESSIBLE_TOKEN_RENT_EXEMPTION, }; diff --git a/forester/src/compressible/subscriber.rs b/forester/src/compressible/subscriber.rs index 68ba25a44b..68f87ec181 100644 --- a/forester/src/compressible/subscriber.rs +++ b/forester/src/compressible/subscriber.rs @@ -1,7 +1,7 @@ use std::{str::FromStr, sync::Arc}; use futures::StreamExt; -use light_ctoken_types::{COMPRESSED_TOKEN_PROGRAM_ID, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE}; +use light_ctoken_interface::{COMPRESSED_TOKEN_PROGRAM_ID, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE}; use solana_account_decoder::UiAccountEncoding; use solana_client::{ nonblocking::pubsub_client::PubsubClient, diff --git a/forester/src/compressible/types.rs b/forester/src/compressible/types.rs index 06802bf131..4ac94b2a92 100644 --- a/forester/src/compressible/types.rs +++ b/forester/src/compressible/types.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::state::CToken; +use light_ctoken_interface::state::CToken; use solana_sdk::pubkey::Pubkey; /// State of a compressible CToken account diff --git a/forester/tests/e2e_test.rs b/forester/tests/e2e_test.rs index 909de310ad..2728013d32 100644 --- a/forester/tests/e2e_test.rs +++ b/forester/tests/e2e_test.rs @@ -36,7 +36,7 @@ use light_compressed_token::process_transfer::{ TokenTransferOutputData, }; use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; -use light_ctoken_types::state::TokenDataVersion; +use light_ctoken_interface::state::TokenDataVersion; use light_hasher::Poseidon; use light_program_test::accounts::test_accounts::TestAccounts; use light_prover_client::prover::spawn_prover; diff --git a/forester/tests/test_compressible_ctoken.rs b/forester/tests/test_compressible_ctoken.rs index f8887ff863..c79e01e3ed 100644 --- a/forester/tests/test_compressible_ctoken.rs +++ b/forester/tests/test_compressible_ctoken.rs @@ -10,7 +10,7 @@ use light_client::{ rpc::{LightClient, LightClientConfig, Rpc}, }; use light_compressed_token_sdk::compressed_token::create_compressed_mint; -use light_ctoken_types::state::TokenDataVersion; +use light_ctoken_interface::state::TokenDataVersion; use light_registry::{ protocol_config::state::ProtocolConfigPda, sdk::{ @@ -521,7 +521,7 @@ async fn run_bootstrap_test( exts.iter().any(|ext| { matches!( ext, - light_ctoken_types::state::extensions::ExtensionStruct::Compressible(_) + light_ctoken_interface::state::extensions::ExtensionStruct::Compressible(_) ) }) }); diff --git a/program-libs/account-checks/CLAUDE.md b/program-libs/account-checks/CLAUDE.md index 41ee74adf8..f403bb2d1a 100644 --- a/program-libs/account-checks/CLAUDE.md +++ b/program-libs/account-checks/CLAUDE.md @@ -9,7 +9,7 @@ - `light-compressed-token` - Validates all account inputs in compressed token instructions - `light-system` - Core validation for compressed account operations - `light-compressible` - Validates CompressibleConfig accounts and PDAs -- `light-ctoken-types` - Uses AccountInfoTrait for runtime-agnostic account handling +- `light-ctoken-interface` - Uses AccountInfoTrait for runtime-agnostic account handling - `light-account-compression` - Merkle tree account validation - `light-batched-merkle-tree` - Batch operation account checks - `compressed-token-sdk` - Uses validation helpers in instruction builders diff --git a/program-libs/compressible/CLAUDE.md b/program-libs/compressible/CLAUDE.md index 5bca7ccbcc..cfb10734f7 100644 --- a/program-libs/compressible/CLAUDE.md +++ b/program-libs/compressible/CLAUDE.md @@ -6,7 +6,7 @@ # Used in - `light-compressed-token` - Uses CompressibleConfig for account creation, rent claiming, and closing -- `light-ctoken-types` - Imports CompressibleConfig for compressible extension in token accounts +- `light-ctoken-interface` - Imports CompressibleConfig for compressible extension in token accounts - `light-registry` - Validates CompressibleConfig for compress & close via registry operations - `compressed-token-sdk` - Uses rent functions in compress & close instruction builders - `token-client` - Imports rent calculation helpers for test utilities diff --git a/program-libs/ctoken-types/Cargo.toml b/program-libs/ctoken-interface/Cargo.toml similarity index 94% rename from program-libs/ctoken-types/Cargo.toml rename to program-libs/ctoken-interface/Cargo.toml index a4955d7b1d..95075d141d 100644 --- a/program-libs/ctoken-types/Cargo.toml +++ b/program-libs/ctoken-interface/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "light-ctoken-types" +name = "light-ctoken-interface" version = "0.1.0" edition = { workspace = true } @@ -49,7 +49,7 @@ light-account-checks = { workspace = true, features = [ "solana", ] } spl-token-metadata-interface = "0.6.0" -light-ctoken-types = { workspace = true, features = ["poseidon"] } +light-ctoken-interface = { workspace = true, features = ["poseidon"] } light-hasher = { workspace = true, features = ["keccak", "sha256"] } [lints.rust.unexpected_cfgs] diff --git a/program-libs/ctoken-types/src/constants.rs b/program-libs/ctoken-interface/src/constants.rs similarity index 100% rename from program-libs/ctoken-types/src/constants.rs rename to program-libs/ctoken-interface/src/constants.rs diff --git a/program-libs/ctoken-types/src/error.rs b/program-libs/ctoken-interface/src/error.rs similarity index 100% rename from program-libs/ctoken-types/src/error.rs rename to program-libs/ctoken-interface/src/error.rs diff --git a/program-libs/ctoken-types/src/hash_cache.rs b/program-libs/ctoken-interface/src/hash_cache.rs similarity index 100% rename from program-libs/ctoken-types/src/hash_cache.rs rename to program-libs/ctoken-interface/src/hash_cache.rs diff --git a/program-libs/ctoken-types/src/instructions/create_associated_token_account.rs b/program-libs/ctoken-interface/src/instructions/create_associated_token_account.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/create_associated_token_account.rs rename to program-libs/ctoken-interface/src/instructions/create_associated_token_account.rs diff --git a/program-libs/ctoken-types/src/instructions/create_ctoken_account.rs b/program-libs/ctoken-interface/src/instructions/create_ctoken_account.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/create_ctoken_account.rs rename to program-libs/ctoken-interface/src/instructions/create_ctoken_account.rs diff --git a/program-libs/ctoken-types/src/instructions/extensions/compressible.rs b/program-libs/ctoken-interface/src/instructions/extensions/compressible.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/extensions/compressible.rs rename to program-libs/ctoken-interface/src/instructions/extensions/compressible.rs diff --git a/program-libs/ctoken-types/src/instructions/extensions/mod.rs b/program-libs/ctoken-interface/src/instructions/extensions/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/extensions/mod.rs rename to program-libs/ctoken-interface/src/instructions/extensions/mod.rs diff --git a/program-libs/ctoken-types/src/instructions/extensions/token_metadata.rs b/program-libs/ctoken-interface/src/instructions/extensions/token_metadata.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/extensions/token_metadata.rs rename to program-libs/ctoken-interface/src/instructions/extensions/token_metadata.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/builder.rs b/program-libs/ctoken-interface/src/instructions/mint_action/builder.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/builder.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/builder.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/cpi_context.rs b/program-libs/ctoken-interface/src/instructions/mint_action/cpi_context.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/cpi_context.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/cpi_context.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/create_spl_mint.rs b/program-libs/ctoken-interface/src/instructions/mint_action/create_spl_mint.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/create_spl_mint.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/create_spl_mint.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/instruction_data.rs b/program-libs/ctoken-interface/src/instructions/mint_action/instruction_data.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/instruction_data.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/instruction_data.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/mint_to_compressed.rs b/program-libs/ctoken-interface/src/instructions/mint_action/mint_to_compressed.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/mint_to_compressed.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/mint_to_compressed.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/mint_to_ctoken.rs b/program-libs/ctoken-interface/src/instructions/mint_action/mint_to_ctoken.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/mint_to_ctoken.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/mint_to_ctoken.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/mod.rs b/program-libs/ctoken-interface/src/instructions/mint_action/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/mod.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/mod.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/update_metadata.rs b/program-libs/ctoken-interface/src/instructions/mint_action/update_metadata.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/update_metadata.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/update_metadata.rs diff --git a/program-libs/ctoken-types/src/instructions/mint_action/update_mint.rs b/program-libs/ctoken-interface/src/instructions/mint_action/update_mint.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mint_action/update_mint.rs rename to program-libs/ctoken-interface/src/instructions/mint_action/update_mint.rs diff --git a/program-libs/ctoken-types/src/instructions/mod.rs b/program-libs/ctoken-interface/src/instructions/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/mod.rs rename to program-libs/ctoken-interface/src/instructions/mod.rs diff --git a/program-libs/ctoken-types/src/instructions/transfer2/compression.rs b/program-libs/ctoken-interface/src/instructions/transfer2/compression.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/transfer2/compression.rs rename to program-libs/ctoken-interface/src/instructions/transfer2/compression.rs diff --git a/program-libs/ctoken-types/src/instructions/transfer2/cpi_context.rs b/program-libs/ctoken-interface/src/instructions/transfer2/cpi_context.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/transfer2/cpi_context.rs rename to program-libs/ctoken-interface/src/instructions/transfer2/cpi_context.rs diff --git a/program-libs/ctoken-types/src/instructions/transfer2/instruction_data.rs b/program-libs/ctoken-interface/src/instructions/transfer2/instruction_data.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/transfer2/instruction_data.rs rename to program-libs/ctoken-interface/src/instructions/transfer2/instruction_data.rs diff --git a/program-libs/ctoken-types/src/instructions/transfer2/mod.rs b/program-libs/ctoken-interface/src/instructions/transfer2/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/instructions/transfer2/mod.rs rename to program-libs/ctoken-interface/src/instructions/transfer2/mod.rs diff --git a/program-libs/ctoken-types/src/lib.rs b/program-libs/ctoken-interface/src/lib.rs similarity index 100% rename from program-libs/ctoken-types/src/lib.rs rename to program-libs/ctoken-interface/src/lib.rs diff --git a/program-libs/ctoken-types/src/state/compressed_token/hash.rs b/program-libs/ctoken-interface/src/state/compressed_token/hash.rs similarity index 100% rename from program-libs/ctoken-types/src/state/compressed_token/hash.rs rename to program-libs/ctoken-interface/src/state/compressed_token/hash.rs diff --git a/program-libs/ctoken-types/src/state/compressed_token/mod.rs b/program-libs/ctoken-interface/src/state/compressed_token/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/state/compressed_token/mod.rs rename to program-libs/ctoken-interface/src/state/compressed_token/mod.rs diff --git a/program-libs/ctoken-types/src/state/compressed_token/token_data.rs b/program-libs/ctoken-interface/src/state/compressed_token/token_data.rs similarity index 100% rename from program-libs/ctoken-types/src/state/compressed_token/token_data.rs rename to program-libs/ctoken-interface/src/state/compressed_token/token_data.rs diff --git a/program-libs/ctoken-types/src/state/compressed_token/token_data_version.rs b/program-libs/ctoken-interface/src/state/compressed_token/token_data_version.rs similarity index 100% rename from program-libs/ctoken-types/src/state/compressed_token/token_data_version.rs rename to program-libs/ctoken-interface/src/state/compressed_token/token_data_version.rs diff --git a/program-libs/ctoken-types/src/state/ctoken/borsh.rs b/program-libs/ctoken-interface/src/state/ctoken/borsh.rs similarity index 100% rename from program-libs/ctoken-types/src/state/ctoken/borsh.rs rename to program-libs/ctoken-interface/src/state/ctoken/borsh.rs diff --git a/program-libs/ctoken-types/src/state/ctoken/ctoken_struct.rs b/program-libs/ctoken-interface/src/state/ctoken/ctoken_struct.rs similarity index 100% rename from program-libs/ctoken-types/src/state/ctoken/ctoken_struct.rs rename to program-libs/ctoken-interface/src/state/ctoken/ctoken_struct.rs diff --git a/program-libs/ctoken-types/src/state/ctoken/mod.rs b/program-libs/ctoken-interface/src/state/ctoken/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/state/ctoken/mod.rs rename to program-libs/ctoken-interface/src/state/ctoken/mod.rs diff --git a/program-libs/ctoken-types/src/state/ctoken/zero_copy.rs b/program-libs/ctoken-interface/src/state/ctoken/zero_copy.rs similarity index 100% rename from program-libs/ctoken-types/src/state/ctoken/zero_copy.rs rename to program-libs/ctoken-interface/src/state/ctoken/zero_copy.rs diff --git a/program-libs/ctoken-types/src/state/extensions/extension_struct.rs b/program-libs/ctoken-interface/src/state/extensions/extension_struct.rs similarity index 100% rename from program-libs/ctoken-types/src/state/extensions/extension_struct.rs rename to program-libs/ctoken-interface/src/state/extensions/extension_struct.rs diff --git a/program-libs/ctoken-types/src/state/extensions/extension_type.rs b/program-libs/ctoken-interface/src/state/extensions/extension_type.rs similarity index 100% rename from program-libs/ctoken-types/src/state/extensions/extension_type.rs rename to program-libs/ctoken-interface/src/state/extensions/extension_type.rs diff --git a/program-libs/ctoken-types/src/state/extensions/mod.rs b/program-libs/ctoken-interface/src/state/extensions/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/state/extensions/mod.rs rename to program-libs/ctoken-interface/src/state/extensions/mod.rs diff --git a/program-libs/ctoken-types/src/state/extensions/token_metadata.rs b/program-libs/ctoken-interface/src/state/extensions/token_metadata.rs similarity index 100% rename from program-libs/ctoken-types/src/state/extensions/token_metadata.rs rename to program-libs/ctoken-interface/src/state/extensions/token_metadata.rs diff --git a/program-libs/ctoken-types/src/state/mint/borsh.rs b/program-libs/ctoken-interface/src/state/mint/borsh.rs similarity index 100% rename from program-libs/ctoken-types/src/state/mint/borsh.rs rename to program-libs/ctoken-interface/src/state/mint/borsh.rs diff --git a/program-libs/ctoken-types/src/state/mint/compressed_mint.rs b/program-libs/ctoken-interface/src/state/mint/compressed_mint.rs similarity index 100% rename from program-libs/ctoken-types/src/state/mint/compressed_mint.rs rename to program-libs/ctoken-interface/src/state/mint/compressed_mint.rs diff --git a/program-libs/ctoken-types/src/state/mint/mod.rs b/program-libs/ctoken-interface/src/state/mint/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/state/mint/mod.rs rename to program-libs/ctoken-interface/src/state/mint/mod.rs diff --git a/program-libs/ctoken-types/src/state/mint/zero_copy.rs b/program-libs/ctoken-interface/src/state/mint/zero_copy.rs similarity index 100% rename from program-libs/ctoken-types/src/state/mint/zero_copy.rs rename to program-libs/ctoken-interface/src/state/mint/zero_copy.rs diff --git a/program-libs/ctoken-types/src/state/mod.rs b/program-libs/ctoken-interface/src/state/mod.rs similarity index 100% rename from program-libs/ctoken-types/src/state/mod.rs rename to program-libs/ctoken-interface/src/state/mod.rs diff --git a/program-libs/ctoken-types/tests/compressed_mint.rs b/program-libs/ctoken-interface/tests/compressed_mint.rs similarity index 99% rename from program-libs/ctoken-types/tests/compressed_mint.rs rename to program-libs/ctoken-interface/tests/compressed_mint.rs index 72c4e0a6c8..2ee8708419 100644 --- a/program-libs/ctoken-types/tests/compressed_mint.rs +++ b/program-libs/ctoken-interface/tests/compressed_mint.rs @@ -1,6 +1,6 @@ use borsh::{BorshDeserialize, BorshSerialize}; use light_compressed_account::Pubkey; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ BaseMint, CompressedMint, CompressedMintConfig, CompressedMintMetadata, }; use light_zero_copy::traits::{ZeroCopyAt, ZeroCopyNew}; diff --git a/program-libs/ctoken-types/tests/ctoken/failing.rs b/program-libs/ctoken-interface/tests/ctoken/failing.rs similarity index 99% rename from program-libs/ctoken-types/tests/ctoken/failing.rs rename to program-libs/ctoken-interface/tests/ctoken/failing.rs index 60e08e5653..100e39d2e4 100644 --- a/program-libs/ctoken-types/tests/ctoken/failing.rs +++ b/program-libs/ctoken-interface/tests/ctoken/failing.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::{ +use light_ctoken_interface::{ error::CTokenError, state::{CToken, CompressedTokenConfig}, }; diff --git a/program-libs/ctoken-types/tests/ctoken/mod.rs b/program-libs/ctoken-interface/tests/ctoken/mod.rs similarity index 100% rename from program-libs/ctoken-types/tests/ctoken/mod.rs rename to program-libs/ctoken-interface/tests/ctoken/mod.rs diff --git a/program-libs/ctoken-types/tests/ctoken/randomized_solana_ctoken.rs b/program-libs/ctoken-interface/tests/ctoken/randomized_solana_ctoken.rs similarity index 99% rename from program-libs/ctoken-types/tests/ctoken/randomized_solana_ctoken.rs rename to program-libs/ctoken-interface/tests/ctoken/randomized_solana_ctoken.rs index 3b31629034..2e0b2f9aa8 100644 --- a/program-libs/ctoken-types/tests/ctoken/randomized_solana_ctoken.rs +++ b/program-libs/ctoken-interface/tests/ctoken/randomized_solana_ctoken.rs @@ -3,7 +3,7 @@ // //! // use light_compressed_account::Pubkey; -// use light_ctoken_types::state::{ +// use light_ctoken_interface::state::{ // extensions::ExtensionStructConfig, // solana_ctoken::{CompressedToken, CompressedTokenConfig}, // CompressionInfoConfig, ZExtensionStruct, ZExtensionStructMut, diff --git a/program-libs/ctoken-types/tests/ctoken/spl_compat.rs b/program-libs/ctoken-interface/tests/ctoken/spl_compat.rs similarity index 98% rename from program-libs/ctoken-types/tests/ctoken/spl_compat.rs rename to program-libs/ctoken-interface/tests/ctoken/spl_compat.rs index eca5cb71b7..762838b426 100644 --- a/program-libs/ctoken-types/tests/ctoken/spl_compat.rs +++ b/program-libs/ctoken-interface/tests/ctoken/spl_compat.rs @@ -6,7 +6,7 @@ //! 3. test_account_type_compatibility_with_spl_parsing use light_compressed_account::Pubkey; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ ctoken::{CToken, CompressedTokenConfig, ZCToken}, CompressionInfoConfig, ExtensionStructConfig, }; @@ -177,7 +177,7 @@ fn compare_compressed_token_with_pod_account( /// Compare all fields between our CToken mutable zero-copy implementation and Pod account fn compare_compressed_token_mut_with_pod_account( - compressed_token: &light_ctoken_types::state::ctoken::ZCompressedTokenMut, + compressed_token: &light_ctoken_interface::state::ctoken::ZCompressedTokenMut, pod_account: &PodAccount, ) -> bool { // Extensions should be None for basic SPL Token accounts @@ -490,7 +490,7 @@ fn test_account_type_compatibility_with_spl_parsing() { #[test] fn test_compressible_extension_partial_eq() { use light_compressible::{compression_info::CompressionInfo, rent::RentConfig}; - use light_ctoken_types::state::{ + use light_ctoken_interface::state::{ ctoken::AccountState as CtokenAccountState, extensions::ExtensionStruct, }; @@ -510,7 +510,7 @@ fn test_compressible_extension_partial_eq() { // Set extension fields if let Some(ref mut exts) = zctoken_mut.extensions { for ext in exts.iter_mut() { - if let light_ctoken_types::state::extensions::ZExtensionStructMut::Compressible( + if let light_ctoken_interface::state::extensions::ZExtensionStructMut::Compressible( ref mut comp, ) = ext { diff --git a/program-libs/ctoken-types/tests/ctoken/zero_copy_new.rs b/program-libs/ctoken-interface/tests/ctoken/zero_copy_new.rs similarity index 98% rename from program-libs/ctoken-types/tests/ctoken/zero_copy_new.rs rename to program-libs/ctoken-interface/tests/ctoken/zero_copy_new.rs index eeae1856a7..580dc9df02 100644 --- a/program-libs/ctoken-types/tests/ctoken/zero_copy_new.rs +++ b/program-libs/ctoken-interface/tests/ctoken/zero_copy_new.rs @@ -6,7 +6,7 @@ //! 2. test_compressed_token_new_zero_copy_with_delegate //! 3. test_compressed_token_new_zero_copy_all_options -use light_ctoken_types::state::ctoken::{CToken, CompressedTokenConfig}; +use light_ctoken_interface::state::ctoken::{CToken, CompressedTokenConfig}; use light_zero_copy::traits::ZeroCopyNew; #[test] diff --git a/program-libs/ctoken-types/tests/hash_tests.rs b/program-libs/ctoken-interface/tests/hash_tests.rs similarity index 99% rename from program-libs/ctoken-types/tests/hash_tests.rs rename to program-libs/ctoken-interface/tests/hash_tests.rs index 70ae371b71..39501471fc 100644 --- a/program-libs/ctoken-types/tests/hash_tests.rs +++ b/program-libs/ctoken-interface/tests/hash_tests.rs @@ -1,7 +1,7 @@ // #[cfg(test)] // mod hash_tests { // use light_compressed_account::Pubkey; -// use light_ctoken_types::state::{BaseMint, CompressedMint, CompressedMintMetadata}; +// use light_ctoken_interface::state::{BaseMint, CompressedMint, CompressedMintMetadata}; // use rand::Rng; // /// Hash Collision Detection Tests diff --git a/program-libs/ctoken-types/tests/mint_borsh_zero_copy.rs b/program-libs/ctoken-interface/tests/mint_borsh_zero_copy.rs similarity index 97% rename from program-libs/ctoken-types/tests/mint_borsh_zero_copy.rs rename to program-libs/ctoken-interface/tests/mint_borsh_zero_copy.rs index 481eaa961c..9592ea0e6d 100644 --- a/program-libs/ctoken-types/tests/mint_borsh_zero_copy.rs +++ b/program-libs/ctoken-interface/tests/mint_borsh_zero_copy.rs @@ -4,7 +4,7 @@ use borsh::{BorshDeserialize, BorshSerialize}; use light_compressed_account::Pubkey; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ extensions::{AdditionalMetadata, ExtensionStruct, TokenMetadata}, mint::{BaseMint, CompressedMint, CompressedMintMetadata}, }; @@ -109,12 +109,12 @@ fn generate_random_mint() -> CompressedMint { /// Reconstruct extensions from zero-copy format fn reconstruct_extensions( - zc_extensions: &Option>, + zc_extensions: &Option>, ) -> Option> { zc_extensions.as_ref().map(|exts| { exts.iter() .map(|ext| match ext { - light_ctoken_types::state::extensions::ZExtensionStruct::TokenMetadata( + light_ctoken_interface::state::extensions::ZExtensionStruct::TokenMetadata( zc_metadata, ) => ExtensionStruct::TokenMetadata(TokenMetadata { update_authority: zc_metadata.update_authority, diff --git a/program-libs/ctoken-types/tests/mint_compat.rs b/program-libs/ctoken-interface/tests/mint_compat.rs similarity index 99% rename from program-libs/ctoken-types/tests/mint_compat.rs rename to program-libs/ctoken-interface/tests/mint_compat.rs index 61c852fbcf..74b456be84 100644 --- a/program-libs/ctoken-types/tests/mint_compat.rs +++ b/program-libs/ctoken-interface/tests/mint_compat.rs @@ -4,7 +4,7 @@ use borsh::{BorshDeserialize, BorshSerialize}; use light_compressed_account::Pubkey; -use light_ctoken_types::state::BaseMint; +use light_ctoken_interface::state::BaseMint; use rand::{thread_rng, Rng}; use spl_token_2022::{solana_program::program_pack::Pack, state::Mint}; diff --git a/program-libs/ctoken-types/tests/mod.rs b/program-libs/ctoken-interface/tests/mod.rs similarity index 100% rename from program-libs/ctoken-types/tests/mod.rs rename to program-libs/ctoken-interface/tests/mod.rs diff --git a/program-libs/ctoken-types/tests/token_data.rs b/program-libs/ctoken-interface/tests/token_data.rs similarity index 99% rename from program-libs/ctoken-types/tests/token_data.rs rename to program-libs/ctoken-interface/tests/token_data.rs index e183ae7429..4598d5422e 100644 --- a/program-libs/ctoken-types/tests/token_data.rs +++ b/program-libs/ctoken-interface/tests/token_data.rs @@ -1,7 +1,7 @@ #![cfg(feature = "poseidon")] use light_compressed_account::{hash_to_bn254_field_size_be, Pubkey}; -use light_ctoken_types::state::{CompressedTokenAccountState, TokenData}; +use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; use light_hasher::HasherError; use num_bigint::BigUint; use rand::Rng; diff --git a/program-libs/ctoken-types/tests/token_data_hash.rs b/program-libs/ctoken-interface/tests/token_data_hash.rs similarity index 99% rename from program-libs/ctoken-types/tests/token_data_hash.rs rename to program-libs/ctoken-interface/tests/token_data_hash.rs index eeb4835b74..0a74e965b4 100644 --- a/program-libs/ctoken-types/tests/token_data_hash.rs +++ b/program-libs/ctoken-interface/tests/token_data_hash.rs @@ -1,5 +1,5 @@ use light_compressed_account::Pubkey; -use light_ctoken_types::state::{CompressedTokenAccountState, TokenData}; +use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; pub struct TestCase { pub name: String, diff --git a/program-libs/ctoken-types/tests/token_metadata.rs b/program-libs/ctoken-interface/tests/token_metadata.rs similarity index 99% rename from program-libs/ctoken-types/tests/token_metadata.rs rename to program-libs/ctoken-interface/tests/token_metadata.rs index 92d963a17d..e97ac221b2 100644 --- a/program-libs/ctoken-types/tests/token_metadata.rs +++ b/program-libs/ctoken-interface/tests/token_metadata.rs @@ -5,7 +5,7 @@ use borsh::{BorshDeserialize, BorshSerialize}; use light_compressed_account::Pubkey; -use light_ctoken_types::state::extensions::{ +use light_ctoken_interface::state::extensions::{ AdditionalMetadata, TokenMetadata as LightTokenMetadata, }; use rand::{distributions::Alphanumeric, thread_rng, Rng}; diff --git a/program-tests/compressed-token-test/Cargo.toml b/program-tests/compressed-token-test/Cargo.toml index 6be4045545..07a0a29afb 100644 --- a/program-tests/compressed-token-test/Cargo.toml +++ b/program-tests/compressed-token-test/Cargo.toml @@ -43,7 +43,7 @@ spl-token = { workspace = true } anchor-spl = { workspace = true } rand = { workspace = true } serial_test = { workspace = true } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-token-client = { workspace = true } light-compressible = { workspace = true } light-compressed-token-sdk = { workspace = true } diff --git a/program-tests/compressed-token-test/tests/ctoken/close.rs b/program-tests/compressed-token-test/tests/ctoken/close.rs index 4d006beafa..90b76392ce 100644 --- a/program-tests/compressed-token-test/tests/ctoken/close.rs +++ b/program-tests/compressed-token-test/tests/ctoken/close.rs @@ -171,7 +171,7 @@ async fn test_close_token_account_fails() { rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: context.payer.pubkey(), }; @@ -188,7 +188,7 @@ async fn test_close_token_account_fails() { .unwrap(); // Deserialize, modify amount, serialize back - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; use light_zero_copy::traits::ZeroCopyAtMut; let (mut ctoken, _) = CToken::zero_copy_at_mut(&mut account.data).unwrap(); *ctoken.amount = 1u64.into(); @@ -224,7 +224,7 @@ async fn test_close_token_account_fails() { rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: context.payer.pubkey(), }; @@ -241,7 +241,7 @@ async fn test_close_token_account_fails() { .unwrap(); // Deserialize, modify state to Uninitialized, serialize back - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; use light_zero_copy::traits::ZeroCopyAtMut; use spl_token_2022::state::AccountState; let (mut ctoken, _) = CToken::zero_copy_at_mut(&mut account.data).unwrap(); @@ -278,7 +278,7 @@ async fn test_close_token_account_fails() { rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: context.payer.pubkey(), }; @@ -294,7 +294,7 @@ async fn test_close_token_account_fails() { .unwrap(); // Deserialize, modify state to Frozen, serialize back - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; use light_zero_copy::traits::ZeroCopyAtMut; use spl_token_2022::state::AccountState; let (mut ctoken, _) = CToken::zero_copy_at_mut(&mut account.data).unwrap(); 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 6747e4b389..58a2c1d480 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 @@ -1,5 +1,5 @@ use light_client::rpc::Rpc; -use light_ctoken_types::state::ZExtensionStructMut; +use light_ctoken_interface::state::ZExtensionStructMut; use light_zero_copy::traits::ZeroCopyAtMut; use solana_sdk::signer::Signer; @@ -150,7 +150,7 @@ async fn test_compress_and_close_owner_scenarios() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -431,7 +431,7 @@ async fn test_compress_and_close_compress_to_pubkey() { .unwrap() .unwrap(); - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; // Parse the CToken account let (mut ctoken, _) = CToken::zero_copy_at_mut(&mut token_account.data) @@ -521,7 +521,7 @@ async fn test_compressible_account_with_custom_rent_payer_close_with_compression pre_pay_num_epochs: num_prepaid_epochs, lamports_per_write, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -564,7 +564,7 @@ async fn test_compressible_account_with_custom_rent_payer_close_with_compression num_prepaid_epochs, lamports_per_write, compress_to_pubkey: false, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, payer: payer_pubkey, }), ) @@ -768,7 +768,7 @@ async fn test_compress_and_close_output_validation_errors() { .unwrap() .unwrap(); - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; // Parse and modify the CToken account let (mut ctoken, _) = CToken::zero_copy_at_mut(&mut token_account.data) diff --git a/program-tests/compressed-token-test/tests/ctoken/create.rs b/program-tests/compressed-token-test/tests/ctoken/create.rs index a8570c56b6..d2c7c9cd4a 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::AccountMeta; -use light_ctoken_types::instructions::create_ctoken_account::CreateTokenAccountInstructionData; +use light_ctoken_interface::instructions::create_ctoken_account::CreateTokenAccountInstructionData; use rand::{ rngs::{StdRng, ThreadRng}, Rng, RngCore, SeedableRng, @@ -20,7 +20,7 @@ async fn test_create_compressible_token_account_instruction() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 0, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -37,7 +37,7 @@ async fn test_create_compressible_token_account_instruction() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -54,7 +54,7 @@ async fn test_create_compressible_token_account_instruction() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 10, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -71,7 +71,7 @@ async fn test_create_compressible_token_account_instruction() { rent_sponsor: payer_pubkey, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -85,7 +85,7 @@ async fn test_create_compressible_token_account_instruction() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 0, lamports_per_write: None, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -131,7 +131,7 @@ async fn test_create_account_random() { } else { None }, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, // Only V3 supported + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, // Only V3 supported compress_to_pubkey: false, // Can only be tested with cpi payer: payer_pubkey, }; @@ -168,7 +168,7 @@ async fn test_create_compressible_token_account_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 1, // Forbidden value lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -192,7 +192,7 @@ async fn test_create_compressible_token_account_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -233,7 +233,7 @@ async fn test_create_compressible_token_account_failing() { pre_pay_num_epochs: 10, // High number to require more lamports lamports_per_write: Some(1000), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -354,7 +354,7 @@ async fn test_create_compressible_token_account_failing() { // Providing invalid seeds should fail the PDA validation. // Error: 18002 (InvalidAccountData from CTokenError) { - use light_ctoken_types::instructions::extensions::compressible::CompressToPubkey; + use light_ctoken_interface::instructions::extensions::compressible::CompressToPubkey; context.token_account_keypair = Keypair::new(); let token_account_pubkey = context.token_account_keypair.pubkey(); @@ -372,7 +372,7 @@ async fn test_create_compressible_token_account_failing() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: Some(invalid_compress_to_pubkey), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -422,7 +422,7 @@ async fn test_create_compressible_token_account_failing() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -463,7 +463,7 @@ async fn test_create_compressible_token_account_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(excessive_lamports_per_write), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -493,7 +493,7 @@ async fn test_create_compressible_token_account_failing() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( 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 7d5d4bf44f..688647cfff 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create_ata.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create_ata.rs @@ -12,7 +12,7 @@ async fn test_create_compressible_ata() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 0, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -36,7 +36,7 @@ async fn test_create_compressible_ata() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -60,7 +60,7 @@ async fn test_create_compressible_ata() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 10, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -84,7 +84,7 @@ async fn test_create_compressible_ata() { rent_sponsor: payer_pubkey, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -108,7 +108,7 @@ async fn test_create_compressible_ata() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 0, lamports_per_write: None, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -135,7 +135,7 @@ async fn test_create_ata_idempotent() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -169,7 +169,7 @@ async fn test_create_ata_idempotent() { // Should still be 260 bytes (compressible) assert_eq!( account.data.len(), - light_ctoken_types::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE as usize, + light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE as usize, "Account should still be compressible size after idempotent recreation" ); } @@ -205,7 +205,7 @@ async fn test_create_ata_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 1, // Forbidden value lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -232,7 +232,7 @@ async fn test_create_ata_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -281,7 +281,7 @@ async fn test_create_ata_failing() { pre_pay_num_epochs: 10, // High number to require more lamports lamports_per_write: Some(1000), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_ix = CreateAssociatedTokenAccount::new( @@ -307,7 +307,7 @@ async fn test_create_ata_failing() { // Error: 2 (InvalidInstructionData) { use anchor_lang::prelude::borsh::BorshSerialize; - use light_ctoken_types::instructions::{ + use light_ctoken_interface::instructions::{ create_associated_token_account::CreateAssociatedTokenAccountInstructionData, extensions::compressible::{CompressToPubkey, CompressibleExtensionInstructionData}, }; @@ -329,7 +329,8 @@ async fn test_create_ata_failing() { bump, compressible_config: Some(CompressibleExtensionInstructionData { compression_only: 0, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat as u8, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat + as u8, rent_payment: 2, has_top_up: 1, write_top_up: 100, @@ -378,7 +379,7 @@ async fn test_create_ata_failing() { // Error: 21 (ProgramFailedToComplete - provided seeds do not result in valid address) { use anchor_lang::prelude::borsh::BorshSerialize; - use light_ctoken_types::instructions::{ + use light_ctoken_interface::instructions::{ create_associated_token_account::CreateAssociatedTokenAccountInstructionData, extensions::compressible::CompressibleExtensionInstructionData, }; @@ -401,7 +402,8 @@ async fn test_create_ata_failing() { bump: wrong_bump, // Wrong bump! compressible_config: Some(CompressibleExtensionInstructionData { compression_only: 0, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat as u8, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat + as u8, rent_payment: 2, has_top_up: 1, write_top_up: 100, @@ -469,7 +471,7 @@ async fn test_create_ata_failing() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_ix = CreateAssociatedTokenAccount::new( @@ -506,7 +508,7 @@ async fn test_create_ata_failing() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(excessive_lamports_per_write), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -538,7 +540,7 @@ async fn test_create_ata_failing() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_ix = CreateAssociatedTokenAccount::new( @@ -576,7 +578,7 @@ async fn test_ata_multiple_mints_same_owner() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -645,7 +647,7 @@ async fn test_ata_multiple_owners_same_mint() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -657,7 +659,7 @@ async fn test_ata_multiple_owners_same_mint() { pre_pay_num_epochs: 2, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_ix1 = CreateAssociatedTokenAccount::new(payer_pubkey, owner1, mint) @@ -796,7 +798,7 @@ async fn test_create_ata_random() { } else { None }, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, // Only V3 supported + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, // Only V3 supported compress_to_pubkey: false, // Cannot be used with ATAs payer: payer_pubkey, }; 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 1be5c8f663..e39f4fab13 100644 --- a/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs +++ b/program-tests/compressed-token-test/tests/ctoken/create_ata2.rs @@ -79,7 +79,7 @@ async fn test_create_ata2_basic() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -110,7 +110,7 @@ async fn test_create_ata2_idempotent() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 2, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -140,7 +140,7 @@ async fn test_create_ata2_idempotent() { assert_eq!( account.data.len(), - light_ctoken_types::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE as usize, + light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE as usize, "Account should still be compressible size after idempotent recreation" ); } diff --git a/program-tests/compressed-token-test/tests/ctoken/functional.rs b/program-tests/compressed-token-test/tests/ctoken/functional.rs index 3924336121..93eebc13c6 100644 --- a/program-tests/compressed-token-test/tests/ctoken/functional.rs +++ b/program-tests/compressed-token-test/tests/ctoken/functional.rs @@ -133,7 +133,7 @@ async fn test_compressible_account_with_compression_authority_lifecycle() { pre_pay_num_epochs: num_prepaid_epochs, lamports_per_write, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -182,7 +182,7 @@ async fn test_compressible_account_with_compression_authority_lifecycle() { num_prepaid_epochs, lamports_per_write, compress_to_pubkey: false, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, payer: payer_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 9c7a1fd517..a4e1f97642 100644 --- a/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs +++ b/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs @@ -61,7 +61,7 @@ async fn test_associated_token_account_operations() { pre_pay_num_epochs: num_prepaid_epochs, lamports_per_write, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = CreateAssociatedTokenAccount::new( @@ -94,7 +94,7 @@ async fn test_associated_token_account_operations() { num_prepaid_epochs, // Use actual balance with rent lamports_per_write, compress_to_pubkey: false, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, payer: payer_pubkey, }), ) diff --git a/program-tests/compressed-token-test/tests/ctoken/shared.rs b/program-tests/compressed-token-test/tests/ctoken/shared.rs index ce1149c6f0..1235306b5d 100644 --- a/program-tests/compressed-token-test/tests/ctoken/shared.rs +++ b/program-tests/compressed-token-test/tests/ctoken/shared.rs @@ -4,7 +4,7 @@ pub use light_compressed_token_sdk::ctoken::{ CreateCTokenAccount, }; pub use light_compressible::rent::{RentConfig, SLOTS_PER_EPOCH}; -pub use light_ctoken_types::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; +pub use light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; pub use light_program_test::{ forester::compress_and_close_forester, program_test::TestRpc, LightProgramTest, ProgramTestConfig, @@ -197,7 +197,7 @@ pub async fn setup_account_test_with_created_account( rent_sponsor, num_prepaid_epochs: epochs, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: context.payer.pubkey(), }; @@ -216,7 +216,7 @@ pub async fn create_non_compressible_token_account( token_keypair: Option<&Keypair>, ) { use anchor_lang::prelude::{borsh::BorshSerialize, AccountMeta}; - use light_ctoken_types::instructions::create_ctoken_account::CreateTokenAccountInstructionData; + use light_ctoken_interface::instructions::create_ctoken_account::CreateTokenAccountInstructionData; use solana_sdk::instruction::Instruction; let token_keypair = token_keypair.unwrap_or(&context.token_account_keypair); let payer_pubkey = context.payer.pubkey(); @@ -304,7 +304,7 @@ pub async fn close_and_assert_token_account( let close_ix = if is_compressible { // Read rent_sponsor from the account's compressible extension - use light_ctoken_types::state::{CToken, ZExtensionStruct}; + use light_ctoken_interface::state::{CToken, ZExtensionStruct}; use light_zero_copy::traits::ZeroCopyAt; let (ctoken, _) = CToken::zero_copy_at(&account_info.data).unwrap(); @@ -677,7 +677,7 @@ pub async fn compress_and_close_forester_with_invalid_output( use anchor_lang::{InstructionData, ToAccountMetas}; use light_compressible::config::CompressibleConfig; - use light_ctoken_types::state::{CToken, ZExtensionStruct}; + use light_ctoken_interface::state::{CToken, ZExtensionStruct}; use light_registry::{ accounts::CompressAndCloseContext as CompressAndCloseAccounts, instruction::CompressAndClose, utils::get_forester_epoch_pda_from_authority, diff --git a/program-tests/compressed-token-test/tests/ctoken/transfer.rs b/program-tests/compressed-token-test/tests/ctoken/transfer.rs index 8da303fe11..53b5061a3d 100644 --- a/program-tests/compressed-token-test/tests/ctoken/transfer.rs +++ b/program-tests/compressed-token-test/tests/ctoken/transfer.rs @@ -35,7 +35,7 @@ async fn setup_transfer_test( rent_sponsor, num_prepaid_epochs: epochs, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -53,7 +53,7 @@ async fn setup_transfer_test( rent_sponsor, num_prepaid_epochs: epochs, lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; @@ -484,7 +484,7 @@ async fn test_ctoken_transfer_mixed_compressible_non_compressible() { rent_sponsor: context.rent_sponsor, num_prepaid_epochs: 3, // 3 epochs for no top-up: epochs_funded_ahead = 3 - 1 = 2 >= 2 lamports_per_write: Some(100), - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, compress_to_pubkey: false, payer: payer_pubkey, }; 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 dcfff089f3..9754c7c05f 100644 --- a/program-tests/compressed-token-test/tests/mint/cpi_context.rs +++ b/program-tests/compressed-token-test/tests/mint/cpi_context.rs @@ -9,7 +9,7 @@ use light_compressed_token_sdk::compressed_token::{ MintActionMetaConfigCpiWrite, }, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{ CompressedMintInstructionData, CompressedMintWithContext, CpiContext, MintActionCompressedInstructionData, 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 3b42a5af65..46ea1fab3d 100644 --- a/program-tests/compressed-token-test/tests/mint/edge_cases.rs +++ b/program-tests/compressed-token-test/tests/mint/edge_cases.rs @@ -6,7 +6,9 @@ use light_compressed_token_sdk::{ }, ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint, TokenDataVersion}; +use light_ctoken_interface::state::{ + extensions::AdditionalMetadata, CompressedMint, TokenDataVersion, +}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -56,7 +58,7 @@ async fn functional_all_in_one_instruction() { 8, // decimals &authority, Some(authority.pubkey()), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -104,7 +106,7 @@ async fn functional_all_in_one_instruction() { 8, authority.pubkey(), authority.pubkey(), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), diff --git a/program-tests/compressed-token-test/tests/mint/failing.rs b/program-tests/compressed-token-test/tests/mint/failing.rs index b1fdf70de0..e2549dd40c 100644 --- a/program-tests/compressed-token-test/tests/mint/failing.rs +++ b/program-tests/compressed-token-test/tests/mint/failing.rs @@ -8,7 +8,7 @@ use light_compressed_token_sdk::{ }, ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint}; +use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; use light_program_test::{utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -72,7 +72,7 @@ async fn functional_and_failing_tests() { 8, // decimals &mint_authority, Some(freeze_authority.pubkey()), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(metadata_authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -102,7 +102,7 @@ async fn functional_and_failing_tests() { 8, mint_authority.pubkey(), freeze_authority.pubkey(), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(metadata_authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -124,7 +124,7 @@ async fn functional_and_failing_tests() { 8, // decimals &mint_authority, Some(freeze_authority.pubkey()), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(metadata_authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -192,12 +192,12 @@ async fn functional_and_failing_tests() { &mut rpc, spl_mint_pda, vec![ - light_ctoken_types::instructions::mint_action::Recipient::new( + light_ctoken_interface::instructions::mint_action::Recipient::new( Keypair::new().pubkey(), 1000u64, ), ], - light_ctoken_types::state::TokenDataVersion::V2, + light_ctoken_interface::state::TokenDataVersion::V2, &invalid_mint_authority, // Invalid authority &payer, ) @@ -229,8 +229,12 @@ async fn functional_and_failing_tests() { let result = light_token_client::actions::mint_to_compressed( &mut rpc, spl_mint_pda, - vec![light_ctoken_types::instructions::mint_action::Recipient::new(recipient, 1000u64)], - light_ctoken_types::state::TokenDataVersion::V2, + vec![ + light_ctoken_interface::instructions::mint_action::Recipient::new( + recipient, 1000u64, + ), + ], + light_ctoken_interface::state::TokenDataVersion::V2, &mint_authority, // Valid authority &payer, ) @@ -248,7 +252,7 @@ async fn functional_and_failing_tests() { recipient, amount: 1000u64, }], - token_account_version: light_ctoken_types::state::TokenDataVersion::V2 as u8, + token_account_version: light_ctoken_interface::state::TokenDataVersion::V2 as u8, }], ) .await; @@ -419,7 +423,7 @@ async fn functional_and_failing_tests() { &payer, vec![], // No compressed recipients vec![ - light_ctoken_types::instructions::mint_action::Recipient::new( + light_ctoken_interface::instructions::mint_action::Recipient::new( recipient.pubkey(), 1000u64, ), @@ -479,7 +483,7 @@ async fn functional_and_failing_tests() { &payer, vec![], // No compressed recipients vec![ - light_ctoken_types::instructions::mint_action::Recipient::new( + light_ctoken_interface::instructions::mint_action::Recipient::new( recipient2.pubkey(), 2000u64, ), @@ -813,7 +817,7 @@ async fn test_mint_to_ctoken_max_top_up_exceeded() { use light_compressed_token_sdk::compressed_token::{ create_compressed_mint::derive_compressed_mint_address, mint_action::MintActionMetaConfig, }; - use light_ctoken_types::{ + use light_ctoken_interface::{ instructions::mint_action::{ CompressedMintWithContext, MintActionCompressedInstructionData, MintToCTokenAction, }, @@ -893,7 +897,7 @@ async fn test_mint_to_ctoken_max_top_up_exceeded() { .value .unwrap(); - let compressed_mint: light_ctoken_types::state::CompressedMint = + let compressed_mint: light_ctoken_interface::state::CompressedMint = BorshDeserialize::deserialize(&mut compressed_mint_account.data.unwrap().data.as_slice()) .unwrap(); diff --git a/program-tests/compressed-token-test/tests/mint/functional.rs b/program-tests/compressed-token-test/tests/mint/functional.rs index 80f88cc56e..99464a841c 100644 --- a/program-tests/compressed-token-test/tests/mint/functional.rs +++ b/program-tests/compressed-token-test/tests/mint/functional.rs @@ -6,7 +6,7 @@ use light_compressed_token_sdk::{ }, ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, mint_action::Recipient, }, @@ -636,7 +636,7 @@ async fn test_update_compressed_mint_authority() { // Note: We need to get fresh account info after the updates let updated_compressed_accounts = rpc .get_compressed_accounts_by_owner( - &Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + &Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), None, None, ) @@ -709,7 +709,7 @@ async fn test_ctoken_transfer() { pre_pay_num_epochs: 10, lamports_per_write: Some(1000), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_instruction = @@ -1188,7 +1188,7 @@ async fn test_mint_actions() { supply:0, mint_authority: mint_authority.pubkey(), freeze_authority: Some(freeze_authority.pubkey()), - metadata: Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + metadata: Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(mint_authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -1223,8 +1223,8 @@ async fn test_mint_actions() { spl_mint_initialized: false, // Should be true after CreateSplMint action }, extensions: Some(vec![ - light_ctoken_types::state::extensions::ExtensionStruct::TokenMetadata( - light_ctoken_types::state::extensions::TokenMetadata { + light_ctoken_interface::state::extensions::ExtensionStruct::TokenMetadata( + light_ctoken_interface::state::extensions::TokenMetadata { update_authority: mint_authority.pubkey().into(), // Original authority in metadata mint: spl_mint_pda.into(), name: "Test Token".as_bytes().to_vec(), diff --git a/program-tests/compressed-token-test/tests/mint/random.rs b/program-tests/compressed-token-test/tests/mint/random.rs index 73b23bc4d8..dcf5f53f41 100644 --- a/program-tests/compressed-token-test/tests/mint/random.rs +++ b/program-tests/compressed-token-test/tests/mint/random.rs @@ -7,7 +7,7 @@ use light_compressed_token_sdk::{ }, ctoken::CreateAssociatedTokenAccount, }; -use light_ctoken_types::state::{extensions::AdditionalMetadata, CompressedMint}; +use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -84,7 +84,7 @@ async fn test_random_mint_action() { 8, // decimals &authority, Some(authority.pubkey()), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), @@ -111,7 +111,7 @@ async fn test_random_mint_action() { 8, authority.pubkey(), authority.pubkey(), - Some(light_ctoken_types::instructions::extensions::token_metadata::TokenMetadataInstructionData { + Some(light_ctoken_interface::instructions::extensions::token_metadata::TokenMetadataInstructionData { update_authority: Some(authority.pubkey().into()), name: "Test Token".as_bytes().to_vec(), symbol: "TEST".as_bytes().to_vec(), 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 eafb4d5538..955706cdc9 100644 --- a/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs @@ -47,7 +47,7 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_types::{instructions::mint_action::Recipient, state::TokenDataVersion}; +use light_ctoken_interface::{instructions::mint_action::Recipient, state::TokenDataVersion}; use light_program_test::{LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::instruction::PackedAccounts; use light_test_utils::RpcError; 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 fd9dc877f9..f2d3d90359 100644 --- a/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs @@ -44,7 +44,7 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, state::TokenDataVersion, }; diff --git a/program-tests/compressed-token-test/tests/transfer2/functional.rs b/program-tests/compressed-token-test/tests/transfer2/functional.rs index eb89504eec..2e894ad8d1 100644 --- a/program-tests/compressed-token-test/tests/transfer2/functional.rs +++ b/program-tests/compressed-token-test/tests/transfer2/functional.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::state::TokenDataVersion; +use light_ctoken_interface::state::TokenDataVersion; use serial_test::serial; use crate::transfer2::shared::{ 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 c5dff07fc6..6c8daf3ec5 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 @@ -48,7 +48,7 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_types::instructions::{mint_action::Recipient, transfer2::Compression}; +use light_ctoken_interface::instructions::{mint_action::Recipient, transfer2::Compression}; use light_program_test::{ utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, Rpc, }; @@ -223,12 +223,12 @@ fn create_compressions_and_packed_accounts( /// without any compressed-to-compressed token transfers. fn build_compressions_only_instruction( fee_payer: Pubkey, - compressions: Option>, + compressions: Option>, packed_account_metas: Vec, ) -> Result { use anchor_lang::AnchorSerialize; use light_compressed_token_sdk::constants::{CPI_AUTHORITY_PDA, TRANSFER2}; - use light_ctoken_types::instructions::transfer2::CompressedTokenInstructionDataTransfer2; + use light_ctoken_interface::instructions::transfer2::CompressedTokenInstructionDataTransfer2; use solana_sdk::instruction::AccountMeta; // For compressions-only mode (decompressed_accounts_only), the account order is: @@ -271,7 +271,7 @@ fn build_compressions_only_instruction( data.extend(serialized); Ok(solana_sdk::instruction::Instruction { - program_id: light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID.into(), + program_id: light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID.into(), accounts: account_metas, data, }) diff --git a/program-tests/compressed-token-test/tests/transfer2/random.rs b/program-tests/compressed-token-test/tests/transfer2/random.rs index 0795e5e079..bcff8d8a42 100644 --- a/program-tests/compressed-token-test/tests/transfer2/random.rs +++ b/program-tests/compressed-token-test/tests/transfer2/random.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::state::TokenDataVersion; +use light_ctoken_interface::state::TokenDataVersion; use rand::{ rngs::{StdRng, ThreadRng}, Rng, RngCore, SeedableRng, diff --git a/program-tests/compressed-token-test/tests/transfer2/shared.rs b/program-tests/compressed-token-test/tests/transfer2/shared.rs index b45e2fcc90..1d72e13c36 100644 --- a/program-tests/compressed-token-test/tests/transfer2/shared.rs +++ b/program-tests/compressed-token-test/tests/transfer2/shared.rs @@ -6,7 +6,7 @@ use light_compressed_token_sdk::{ compressed_token::create_compressed_mint::find_spl_mint_address, ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{mint_action::Recipient, transfer2::CompressedTokenInstructionDataTransfer2}, state::TokenDataVersion, }; 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 26b9cf5350..424273f917 100644 --- a/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs +++ b/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs @@ -13,7 +13,7 @@ use light_compressed_token_sdk::{ token_pool::find_token_pool_pda_with_index, ValidityProof, }; -use light_ctoken_types::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; +use light_ctoken_interface::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; use light_program_test::utils::assert::assert_rpc_error; pub use light_program_test::{LightProgramTest, ProgramTestConfig}; pub use light_test_utils::{ 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 06ca021b37..33ee741924 100644 --- a/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs @@ -15,7 +15,7 @@ use light_compressed_token_sdk::{ }, ValidityProof, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, state::TokenDataVersion, }; diff --git a/program-tests/registry-test/Cargo.toml b/program-tests/registry-test/Cargo.toml index 5f9d6506b1..b08a105fb8 100644 --- a/program-tests/registry-test/Cargo.toml +++ b/program-tests/registry-test/Cargo.toml @@ -40,6 +40,6 @@ light-account-checks = { workspace = true } light-compressed-token-sdk = { workspace = true } light-compressible = { workspace = true } light-token-client = { workspace = true } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-zero-copy = { workspace = true } borsh = { workspace = true } diff --git a/program-tests/registry-test/tests/compressible.rs b/program-tests/registry-test/tests/compressible.rs index 5b9f5026af..e5ebbefe45 100644 --- a/program-tests/registry-test/tests/compressible.rs +++ b/program-tests/registry-test/tests/compressible.rs @@ -9,7 +9,7 @@ use light_compressed_token_sdk::ctoken::{ use light_compressible::{ config::CompressibleConfig, error::CompressibleError, rent::SLOTS_PER_EPOCH, }; -use light_ctoken_types::state::{CToken, ExtensionStruct}; +use light_ctoken_interface::state::{CToken, ExtensionStruct}; use light_program_test::{ forester::claim_forester, program_test::TestRpc, utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, @@ -109,7 +109,7 @@ async fn test_claim_rent_for_completed_epochs() -> Result<(), RpcError> { payer: &payer, token_account_keypair: None, lamports_per_write, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }, ) .await @@ -168,7 +168,7 @@ async fn test_claim_multiple_accounts_different_epochs() { payer: &payer, token_account_keypair: None, lamports_per_write: Some(100), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }, ) .await @@ -494,7 +494,7 @@ async fn test_pause_compressible_config_with_valid_authority() -> Result<(), Rpc pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = @@ -627,7 +627,7 @@ async fn test_unpause_compressible_config_with_valid_authority() -> Result<(), R pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = @@ -673,7 +673,7 @@ async fn test_unpause_compressible_config_with_valid_authority() -> Result<(), R pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = @@ -762,7 +762,7 @@ async fn test_deprecate_compressible_config_with_valid_authority() -> Result<(), pre_pay_num_epochs: 10, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = @@ -809,7 +809,7 @@ async fn test_deprecate_compressible_config_with_valid_authority() -> Result<(), pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let compressible_instruction = @@ -1125,7 +1125,7 @@ async fn assert_not_compressible( name: &str, ) -> Result<(), RpcError> { use borsh::BorshDeserialize; - use light_ctoken_types::state::{CToken, ExtensionStruct}; + use light_ctoken_interface::state::{CToken, ExtensionStruct}; let account = rpc .get_account(account_pubkey) @@ -1149,7 +1149,7 @@ async fn assert_not_compressible( }; let is_compressible = state.is_compressible( &compressible_ext.rent_config, - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ); assert!( @@ -1164,7 +1164,7 @@ async fn assert_not_compressible( .get_last_funded_epoch( account.data.len() as u64, account.lamports, - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ) .map_err(|e| { RpcError::AssertRpcError(format!( @@ -1227,7 +1227,7 @@ async fn test_compressible_account_infinite_funding() -> Result<(), RpcError> { payer: &payer, token_account_keypair: None, lamports_per_write: Some(100), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }, ) .await @@ -1243,7 +1243,7 @@ async fn test_compressible_account_infinite_funding() -> Result<(), RpcError> { payer: &payer, token_account_keypair: None, lamports_per_write: Some(100), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }, ) .await @@ -1252,7 +1252,7 @@ async fn test_compressible_account_infinite_funding() -> Result<(), RpcError> { // Mint 1,000,000 tokens to Account A let transfer_amount = 1_000_000u64; { - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; use light_zero_copy::traits::ZeroCopyAtMut; let mut account_data = rpc.get_account(account_a).await?.unwrap(); diff --git a/program-tests/utils/Cargo.toml b/program-tests/utils/Cargo.toml index 056f368cc4..1ab763d238 100644 --- a/program-tests/utils/Cargo.toml +++ b/program-tests/utils/Cargo.toml @@ -21,7 +21,7 @@ solana-sdk = { workspace = true } thiserror = { workspace = true } account-compression = { workspace = true, features = ["cpi"] } light-compressed-token = { workspace = true, features = ["cpi"] } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-system-program-anchor = { workspace = true, features = ["cpi"] } light-registry = { workspace = true, features = ["cpi"] } spl-token = { workspace = true, features = ["no-entrypoint"] } diff --git a/program-tests/utils/src/assert_claim.rs b/program-tests/utils/src/assert_claim.rs index ad0d2705a7..b2d009c928 100644 --- a/program-tests/utils/src/assert_claim.rs +++ b/program-tests/utils/src/assert_claim.rs @@ -1,5 +1,5 @@ use light_client::rpc::Rpc; -use light_ctoken_types::{ +use light_ctoken_interface::{ state::{CToken, ZExtensionStruct, ZExtensionStructMut}, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; diff --git a/program-tests/utils/src/assert_close_token_account.rs b/program-tests/utils/src/assert_close_token_account.rs index 960cc1a620..6b62849fdb 100644 --- a/program-tests/utils/src/assert_close_token_account.rs +++ b/program-tests/utils/src/assert_close_token_account.rs @@ -1,6 +1,6 @@ use light_client::rpc::Rpc; use light_compressible::rent::AccountRentState; -use light_ctoken_types::state::{ctoken::CToken, ZExtensionStruct}; +use light_ctoken_interface::state::{ctoken::CToken, ZExtensionStruct}; use light_program_test::LightProgramTest; use light_zero_copy::traits::ZeroCopyAt; use solana_sdk::{pubkey::Pubkey, signer::Signer}; @@ -123,7 +123,7 @@ async fn assert_compressible_extension( let compressible_extension = extension .iter() .find_map(|ext| match ext { - light_ctoken_types::state::extensions::ZExtensionStruct::Compressible(comp) => { + light_ctoken_interface::state::extensions::ZExtensionStruct::Compressible(comp) => { Some(comp) } _ => None, diff --git a/program-tests/utils/src/assert_create_token_account.rs b/program-tests/utils/src/assert_create_token_account.rs index 7f3289d9e3..247b7df5df 100644 --- a/program-tests/utils/src/assert_create_token_account.rs +++ b/program-tests/utils/src/assert_create_token_account.rs @@ -2,7 +2,7 @@ use anchor_spl::token_2022::spl_token_2022; use light_client::rpc::Rpc; use light_compressed_token_sdk::ctoken::derive_ctoken_ata; use light_compressible::rent::RentConfig; -use light_ctoken_types::{ +use light_ctoken_interface::{ state::{ctoken::CToken, extensions::CompressionInfo, AccountState}, BASE_TOKEN_ACCOUNT_SIZE, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; @@ -17,7 +17,7 @@ pub struct CompressibleData { pub num_prepaid_epochs: u8, pub lamports_per_write: Option, pub compress_to_pubkey: bool, - pub account_version: light_ctoken_types::state::TokenDataVersion, + pub account_version: light_ctoken_interface::state::TokenDataVersion, pub payer: Pubkey, } @@ -90,7 +90,7 @@ pub async fn assert_create_token_account_internal( delegated_amount: 0, close_authority: None, extensions: Some(vec![ - light_ctoken_types::state::extensions::ExtensionStruct::Compressible( + light_ctoken_interface::state::extensions::ExtensionStruct::Compressible( CompressionInfo { config_account_version: 1, last_claimed_slot: current_slot, diff --git a/program-tests/utils/src/assert_ctoken_transfer.rs b/program-tests/utils/src/assert_ctoken_transfer.rs index 07ecce771c..7b1fa33570 100644 --- a/program-tests/utils/src/assert_ctoken_transfer.rs +++ b/program-tests/utils/src/assert_ctoken_transfer.rs @@ -1,6 +1,6 @@ use anchor_spl::token_2022::spl_token_2022::{self, solana_program::program_pack::Pack}; use light_client::rpc::Rpc; -use light_ctoken_types::state::CToken; +use light_ctoken_interface::state::CToken; use light_program_test::LightProgramTest; use light_zero_copy::traits::ZeroCopyAt; use solana_sdk::pubkey::Pubkey; @@ -51,7 +51,7 @@ pub async fn assert_compressible_for_account( if let (Some((token_before, _)), Some((token_after, _))) = (&token_before, &token_after) { if let Some(extensions_before) = &token_before.extensions { if let Some(compressible_before) = extensions_before.iter().find_map(|ext| { - if let light_ctoken_types::state::ZExtensionStruct::Compressible(comp) = ext { + if let light_ctoken_interface::state::ZExtensionStruct::Compressible(comp) = ext { Some(comp) } else { None @@ -62,8 +62,9 @@ pub async fn assert_compressible_for_account( .as_ref() .and_then(|extensions| { extensions.iter().find_map(|ext| { - if let light_ctoken_types::state::ZExtensionStruct::Compressible(comp) = - ext + if let light_ctoken_interface::state::ZExtensionStruct::Compressible( + comp, + ) = ext { Some(comp) } else { @@ -105,7 +106,7 @@ pub async fn assert_compressible_for_account( 260, current_slot, lamports_before, - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ) .unwrap(); // Check if top-up was applied diff --git a/program-tests/utils/src/assert_metadata.rs b/program-tests/utils/src/assert_metadata.rs index 7ab13db718..ce1c05d0ed 100644 --- a/program-tests/utils/src/assert_metadata.rs +++ b/program-tests/utils/src/assert_metadata.rs @@ -3,7 +3,7 @@ use light_client::{ indexer::{CompressedAccount, Indexer}, rpc::{Rpc, RpcError}, }; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ extensions::{AdditionalMetadata, ExtensionStruct, TokenMetadata}, CompressedMint, }; diff --git a/program-tests/utils/src/assert_mint_action.rs b/program-tests/utils/src/assert_mint_action.rs index 4a3f1da15b..03051855b9 100644 --- a/program-tests/utils/src/assert_mint_action.rs +++ b/program-tests/utils/src/assert_mint_action.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use anchor_lang::prelude::borsh::BorshDeserialize; use light_client::indexer::Indexer; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ extensions::{AdditionalMetadata, ExtensionStruct}, CToken, CompressedMint, }; @@ -186,7 +186,7 @@ pub async fn assert_mint_action( account_size, current_slot, pre_lamports, - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ) .unwrap(); diff --git a/program-tests/utils/src/assert_mint_to_compressed.rs b/program-tests/utils/src/assert_mint_to_compressed.rs index 5a3eead762..07ce077d3c 100644 --- a/program-tests/utils/src/assert_mint_to_compressed.rs +++ b/program-tests/utils/src/assert_mint_to_compressed.rs @@ -6,7 +6,7 @@ use light_client::{ }; use light_compressed_token::instructions::create_token_pool::find_token_pool_pda_with_index; use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_cmint_from_spl_mint; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::Recipient, state::CompressedMint, COMPRESSED_TOKEN_PROGRAM_ID, }; use solana_sdk::{program_pack::Pack, pubkey::Pubkey}; diff --git a/program-tests/utils/src/assert_transfer2.rs b/program-tests/utils/src/assert_transfer2.rs index 2eab0525c4..fa46dc09f4 100644 --- a/program-tests/utils/src/assert_transfer2.rs +++ b/program-tests/utils/src/assert_transfer2.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use anchor_spl::token_2022::spl_token_2022; use light_client::{indexer::Indexer, rpc::Rpc}; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_program_test::LightProgramTest; use light_token_client::instructions::transfer2::{ CompressInput, DecompressInput, Transfer2InstructionType, TransferInput, @@ -387,7 +387,7 @@ pub async fn assert_transfer2_with_delegate( .expect("Failed to unpack SPL token account"); // Check if compress_to_pubkey is set in the compressible extension - use light_ctoken_types::state::{ctoken::CToken, ZExtensionStruct}; + use light_ctoken_interface::state::{ctoken::CToken, ZExtensionStruct}; use light_zero_copy::traits::ZeroCopyAt; let compress_to_pubkey = if pre_account_data.data.len() > 165 { diff --git a/program-tests/utils/src/conversions.rs b/program-tests/utils/src/conversions.rs index b12d6ed4a7..2fe9e9d2fc 100644 --- a/program-tests/utils/src/conversions.rs +++ b/program-tests/utils/src/conversions.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::state::{CompressedTokenAccountState, TokenData as ProgramTokenData}; +use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData as ProgramTokenData}; // TODO: most of this seems to be legacy and can be replaced with into(). // pub fn sdk_to_program_merkle_context( // sdk_merkle_context: sdk::merkle_context::MerkleContext, diff --git a/program-tests/utils/src/mint_assert.rs b/program-tests/utils/src/mint_assert.rs index 4a9099e798..50d636c786 100644 --- a/program-tests/utils/src/mint_assert.rs +++ b/program-tests/utils/src/mint_assert.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::borsh::BorshDeserialize; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::extensions::TokenMetadataInstructionData, state::{BaseMint, CompressedMint, CompressedMintMetadata, ExtensionStruct}, }; @@ -20,7 +20,7 @@ pub fn assert_compressed_mint_account( // Create expected extensions if metadata is provided let expected_extensions = metadata.map(|meta| { vec![ExtensionStruct::TokenMetadata( - light_ctoken_types::state::extensions::TokenMetadata { + light_ctoken_interface::state::extensions::TokenMetadata { update_authority: meta .update_authority .unwrap_or_else(|| Pubkey::from([0u8; 32]).into()), diff --git a/program-tests/utils/src/spl.rs b/program-tests/utils/src/spl.rs index 6780f1e5f5..c6636a7ae1 100644 --- a/program-tests/utils/src/spl.rs +++ b/program-tests/utils/src/spl.rs @@ -26,7 +26,7 @@ use light_compressed_token::{ process_transfer::{transfer_sdk::create_transfer_instruction, TokenTransferOutputData}, }; use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; -use light_ctoken_types::state::{CompressedTokenAccountState, TokenData}; +use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; use light_hasher::Poseidon; use light_program_test::{indexer::TestIndexerExtensions, program_test::TestRpc}; use solana_banks_client::BanksClientError; diff --git a/programs/compressed-token/anchor/Cargo.toml b/programs/compressed-token/anchor/Cargo.toml index 47d93d62c3..5416f5bd53 100644 --- a/programs/compressed-token/anchor/Cargo.toml +++ b/programs/compressed-token/anchor/Cargo.toml @@ -36,7 +36,7 @@ light-compressed-account = { workspace = true, features = ["anchor"] } spl-token-2022 = { workspace = true } light-zero-copy = { workspace = true } zerocopy = { workspace = true } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } pinocchio-pubkey = { workspace = true } [target.'cfg(not(target_os = "solana"))'.dependencies] diff --git a/programs/compressed-token/anchor/src/burn.rs b/programs/compressed-token/anchor/src/burn.rs index ec1b9faf08..aa72457925 100644 --- a/programs/compressed-token/anchor/src/burn.rs +++ b/programs/compressed-token/anchor/src/burn.rs @@ -318,7 +318,7 @@ mod test { use account_compression::StateMerkleTreeAccount; use anchor_lang::{solana_program::account_info::AccountInfo, Discriminator}; use light_compressed_account::compressed_account::PackedMerkleContext; - use light_ctoken_types::state::CompressedTokenAccountState; + use light_ctoken_interface::state::CompressedTokenAccountState; use rand::Rng; use super::*; diff --git a/programs/compressed-token/anchor/src/delegation.rs b/programs/compressed-token/anchor/src/delegation.rs index f9b7739665..6a25bfe6c0 100644 --- a/programs/compressed-token/anchor/src/delegation.rs +++ b/programs/compressed-token/anchor/src/delegation.rs @@ -450,7 +450,7 @@ mod test { use account_compression::StateMerkleTreeAccount; use anchor_lang::{solana_program::account_info::AccountInfo, Discriminator}; use light_compressed_account::compressed_account::PackedMerkleContext; - use light_ctoken_types::state::CompressedTokenAccountState; + use light_ctoken_interface::state::CompressedTokenAccountState; use super::*; use crate::{freeze::test_freeze::create_expected_token_output_accounts, TokenData}; diff --git a/programs/compressed-token/anchor/src/freeze.rs b/programs/compressed-token/anchor/src/freeze.rs index ea233a8b03..1f0abce796 100644 --- a/programs/compressed-token/anchor/src/freeze.rs +++ b/programs/compressed-token/anchor/src/freeze.rs @@ -8,7 +8,7 @@ use light_compressed_account::{ data::OutputCompressedAccountWithPackedContext, with_readonly::InAccount, }, }; -use light_ctoken_types::state::CompressedTokenAccountState; +use light_ctoken_interface::state::CompressedTokenAccountState; use crate::{ process_transfer::{ @@ -321,7 +321,7 @@ pub mod test_freeze { use account_compression::StateMerkleTreeAccount; use anchor_lang::{solana_program::account_info::AccountInfo, Discriminator}; use light_compressed_account::{compressed_account::PackedMerkleContext, Pubkey}; - use light_ctoken_types::state::CompressedTokenAccountState; + use light_ctoken_interface::state::CompressedTokenAccountState; use rand::Rng; use super::*; diff --git a/programs/compressed-token/anchor/src/lib.rs b/programs/compressed-token/anchor/src/lib.rs index b442ca4b55..ad5608b6c5 100644 --- a/programs/compressed-token/anchor/src/lib.rs +++ b/programs/compressed-token/anchor/src/lib.rs @@ -10,7 +10,7 @@ pub mod process_mint; pub mod process_transfer; use process_compress_spl_token_account::process_compress_spl_token_account; pub mod spl_compression; -pub use light_ctoken_types::state::TokenData; +pub use light_ctoken_interface::state::TokenData; pub use process_mint::*; pub mod delegation; pub mod freeze; diff --git a/programs/compressed-token/anchor/src/process_mint.rs b/programs/compressed-token/anchor/src/process_mint.rs index 15196d6de2..8decfd93f1 100644 --- a/programs/compressed-token/anchor/src/process_mint.rs +++ b/programs/compressed-token/anchor/src/process_mint.rs @@ -534,7 +534,7 @@ mod test { data::OutputCompressedAccountWithPackedContext, invoke_cpi::InstructionDataInvokeCpi, }, }; - use light_ctoken_types::state::{CompressedTokenAccountState, TokenData}; + use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; use super::*; use crate::constants::TOKEN_COMPRESSED_ACCOUNT_DISCRIMINATOR; diff --git a/programs/compressed-token/anchor/src/process_transfer.rs b/programs/compressed-token/anchor/src/process_transfer.rs index c560879f7f..ed8cb8a24a 100644 --- a/programs/compressed-token/anchor/src/process_transfer.rs +++ b/programs/compressed-token/anchor/src/process_transfer.rs @@ -13,7 +13,7 @@ use light_compressed_account::{ }, pubkey::AsPubkey, }; -use light_ctoken_types::state::{CompressedTokenAccountState, TokenData}; +use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; use light_heap::{bench_sbf_end, bench_sbf_start}; use light_system_program::{ account_traits::{InvokeAccounts, SignerAccounts}, @@ -1137,7 +1137,7 @@ pub mod transfer_sdk { #[cfg(test)] mod test { - use light_ctoken_types::state::CompressedTokenAccountState; + use light_ctoken_interface::state::CompressedTokenAccountState; use super::*; diff --git a/programs/compressed-token/program/CLAUDE.md b/programs/compressed-token/program/CLAUDE.md index a5db1c788f..f68536429f 100644 --- a/programs/compressed-token/program/CLAUDE.md +++ b/programs/compressed-token/program/CLAUDE.md @@ -111,7 +111,7 @@ Every instruction description must include the sections: - **`lib.rs`** - Main entry point and instruction dispatch ## Data Structures -All state and instruction data structures are defined in **`program-libs/ctoken-types/`** (`light-ctoken-types` crate): +All state and instruction data structures are defined in **`program-libs/ctoken-types/`** (`light-ctoken-interface` crate): - **`state/`** - Account state structures (CompressedToken, TokenData, CompressedMint) - **`instructions/`** - Instruction data structures for all operations - **`state/extensions/`** - Extension data (Compressible, TokenMetadata) diff --git a/programs/compressed-token/program/Cargo.toml b/programs/compressed-token/program/Cargo.toml index 672b979bf6..d680cfd21e 100644 --- a/programs/compressed-token/program/Cargo.toml +++ b/programs/compressed-token/program/Cargo.toml @@ -22,13 +22,13 @@ bench-sbf = [] profile-program = [ "light-program-profiler/profile-program", "light-compressed-account/profile-program", - "light-ctoken-types/profile-program", + "light-ctoken-interface/profile-program", "light-compressible/profile-program", ] profile-heap = [ "light-program-profiler/profile-heap", "light-compressed-account/profile-heap", - "light-ctoken-types/profile-heap", + "light-ctoken-interface/profile-heap", ] cpi-context = [] cpi-without-program-ids = [] @@ -62,7 +62,7 @@ arrayvec = { workspace = true } tinyvec = { workspace = true } pinocchio = { workspace = true, features = ["std"] } light-sdk-pinocchio = { workspace = true } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-array-map = { workspace = true } pinocchio-pubkey = { workspace = true } pinocchio-system = { workspace = true } diff --git a/programs/compressed-token/program/docs/ACCOUNTS.md b/programs/compressed-token/program/docs/ACCOUNTS.md index 4b7d6a89db..7441761a7d 100644 --- a/programs/compressed-token/program/docs/ACCOUNTS.md +++ b/programs/compressed-token/program/docs/ACCOUNTS.md @@ -17,7 +17,7 @@ struct `CToken` ctoken solana account with spl token compatible state layout path: `program-libs/ctoken-types/src/state/ctoken/ctoken_struct.rs` - crate: `light-ctoken-types` + crate: `light-ctoken-interface` - **associated instructions** 1. `CreateTokenAccount` `18` 2. `CloseTokenAccount` `9` @@ -29,7 +29,7 @@ borsh and zero copy deserialization deserialize the compressible extension, spl serialization only deserialize the base token data. zero copy: (always use in programs) ```rust - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; use light_zero_copy::traits::{ZeroCopyAt, ZeroCopyAtMut}; let (token, _) = CToken::zero_copy_at(&account_data)?; @@ -39,7 +39,7 @@ borsh: (always use in client non solana program code) ```rust use borsh::BorshDeserialize; - use light_ctoken_types::state::ctoken::CToken; + use light_ctoken_interface::state::ctoken::CToken; let token = CToken::deserialize(&mut &account_data[..])?; ``` diff --git a/programs/compressed-token/program/src/claim.rs b/programs/compressed-token/program/src/claim.rs index 5a6c1d18eb..e247bf0dc6 100644 --- a/programs/compressed-token/program/src/claim.rs +++ b/programs/compressed-token/program/src/claim.rs @@ -2,7 +2,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_account_checks::{checks::check_owner, AccountInfoTrait, AccountIterator}; use light_compressible::{compression_info::ClaimAndUpdate, config::CompressibleConfig}; -use light_ctoken_types::state::{CToken, ZExtensionStructMut}; +use light_ctoken_interface::state::{CToken, ZExtensionStructMut}; use light_program_profiler::profile; use pinocchio::{account_info::AccountInfo, sysvars::Sysvar}; use spl_pod::solana_msg::msg; diff --git a/programs/compressed-token/program/src/close_token_account/accounts.rs b/programs/compressed-token/program/src/close_token_account/accounts.rs index 82dca4ad12..24036308f9 100644 --- a/programs/compressed-token/program/src/close_token_account/accounts.rs +++ b/programs/compressed-token/program/src/close_token_account/accounts.rs @@ -1,6 +1,6 @@ use anchor_lang::solana_program::program_error::ProgramError; use light_account_checks::checks::check_owner; -use light_ctoken_types::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; +use light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; use light_program_profiler::profile; use pinocchio::account_info::AccountInfo; diff --git a/programs/compressed-token/program/src/close_token_account/processor.rs b/programs/compressed-token/program/src/close_token_account/processor.rs index 829b045686..ebf96bffe3 100644 --- a/programs/compressed-token/program/src/close_token_account/processor.rs +++ b/programs/compressed-token/program/src/close_token_account/processor.rs @@ -2,7 +2,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_account_checks::{checks::check_signer, AccountInfoTrait}; use light_compressible::rent::{get_rent_exemption_lamports, AccountRentState}; -use light_ctoken_types::state::{CToken, ZCompressedTokenMut, ZExtensionStructMut}; +use light_ctoken_interface::state::{CToken, ZCompressedTokenMut, ZExtensionStructMut}; use light_program_profiler::profile; #[cfg(target_os = "solana")] use pinocchio::sysvars::Sysvar; @@ -161,7 +161,7 @@ pub fn distribute_lamports(accounts: &CloseTokenAccountAccounts<'_>) -> Result<( if let Some(extensions) = ctoken.extensions.as_ref() { for extension in extensions { - if let light_ctoken_types::state::ZExtensionStruct::Compressible(compressible_ext) = + if let light_ctoken_interface::state::ZExtensionStruct::Compressible(compressible_ext) = extension { // Calculate distribution based on rent and write_top_up diff --git a/programs/compressed-token/program/src/create_associated_token_account.rs b/programs/compressed-token/program/src/create_associated_token_account.rs index 90c31bd258..22b8380c63 100644 --- a/programs/compressed-token/program/src/create_associated_token_account.rs +++ b/programs/compressed-token/program/src/create_associated_token_account.rs @@ -2,7 +2,7 @@ use anchor_lang::prelude::ProgramError; use borsh::BorshDeserialize; use light_account_checks::AccountIterator; use light_compressible::config::CompressibleConfig; -use light_ctoken_types::instructions::{ +use light_ctoken_interface::instructions::{ create_associated_token_account::CreateAssociatedTokenAccountInstructionData, extensions::compressible::CompressibleExtensionInstructionData, }; @@ -112,9 +112,9 @@ pub(crate) fn process_create_associated_token_account_inner light_ctoken_types::BASE_TOKEN_ACCOUNT_SIZE as usize { + if transfer.account.data_len() > light_ctoken_interface::BASE_TOKEN_ACCOUNT_SIZE as usize { let account_data = transfer .account .try_borrow_data() @@ -105,7 +105,7 @@ fn calculate_and_execute_top_up_transfers( transfer.account.data_len() as u64, current_slot, transfer.account.lamports(), - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ) .map_err(|_| CTokenError::InvalidAccountData)?; diff --git a/programs/compressed-token/program/src/extensions/mod.rs b/programs/compressed-token/program/src/extensions/mod.rs index 11b99e4050..34564edf6d 100644 --- a/programs/compressed-token/program/src/extensions/mod.rs +++ b/programs/compressed-token/program/src/extensions/mod.rs @@ -2,7 +2,7 @@ pub mod processor; pub mod token_metadata; // Import from ctoken-types instead of local modules -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::{ZExtensionInstructionData, ZTokenMetadataInstructionData}, mint_action::ZAction, diff --git a/programs/compressed-token/program/src/extensions/processor.rs b/programs/compressed-token/program/src/extensions/processor.rs index 11abdae421..7c7d316703 100644 --- a/programs/compressed-token/program/src/extensions/processor.rs +++ b/programs/compressed-token/program/src/extensions/processor.rs @@ -1,6 +1,6 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; -use light_ctoken_types::state::ZExtensionStructMut; +use light_ctoken_interface::state::ZExtensionStructMut; use light_program_profiler::profile; use crate::extensions::{token_metadata::create_output_token_metadata, ZExtensionInstructionData}; diff --git a/programs/compressed-token/program/src/extensions/token_metadata.rs b/programs/compressed-token/program/src/extensions/token_metadata.rs index 7de668539c..cf368ad788 100644 --- a/programs/compressed-token/program/src/extensions/token_metadata.rs +++ b/programs/compressed-token/program/src/extensions/token_metadata.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::ProgramError; use light_compressed_account::Pubkey; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::extensions::token_metadata::ZTokenMetadataInstructionData, state::ZTokenMetadataMut, }; diff --git a/programs/compressed-token/program/src/lib.rs b/programs/compressed-token/program/src/lib.rs index 30d2637feb..12e98d3981 100644 --- a/programs/compressed-token/program/src/lib.rs +++ b/programs/compressed-token/program/src/lib.rs @@ -1,7 +1,7 @@ use std::mem::ManuallyDrop; use anchor_lang::solana_program::program_error::ProgramError; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_sdk::{cpi::CpiSigner, derive_light_cpi_signer}; use pinocchio::{account_info::AccountInfo, msg}; diff --git a/programs/compressed-token/program/src/mint_action/accounts.rs b/programs/compressed-token/program/src/mint_action/accounts.rs index 82815562a7..dd04083d62 100644 --- a/programs/compressed-token/program/src/mint_action/accounts.rs +++ b/programs/compressed-token/program/src/mint_action/accounts.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::{check_spl_token_pool_derivation_with_index, ErrorCode}; use anchor_lang::solana_program::program_error::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{ZAction, ZMintActionCompressedInstructionData}, CMINT_ADDRESS_TREE, }; diff --git a/programs/compressed-token/program/src/mint_action/actions/create_mint.rs b/programs/compressed-token/program/src/mint_action/actions/create_mint.rs index 53dd539903..9d79a51ab6 100644 --- a/programs/compressed-token/program/src/mint_action/actions/create_mint.rs +++ b/programs/compressed-token/program/src/mint_action/actions/create_mint.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_compressed_account::instruction_data::with_readonly::ZInstructionDataInvokeCpiWithReadOnlyMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::ZMintActionCompressedInstructionData, CMINT_ADDRESS_TREE, COMPRESSED_MINT_SEED, }; diff --git a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_mint_account.rs b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_mint_account.rs index cc231777eb..0219c573f2 100644 --- a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_mint_account.rs +++ b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_mint_account.rs @@ -1,5 +1,5 @@ use anchor_lang::solana_program::program_error::ProgramError; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::ZCompressedMintInstructionData, COMPRESSED_MINT_SEED, }; use light_program_profiler::profile; @@ -19,7 +19,7 @@ pub fn create_mint_account( mint_bump: u8, mint_signer: &AccountInfo, ) -> Result<(), ProgramError> { - let mint_account_size = light_ctoken_types::MINT_ACCOUNT_SIZE as usize; + let mint_account_size = light_ctoken_interface::MINT_ACCOUNT_SIZE as usize; let mint_account = executing_accounts .mint .ok_or(ProgramError::InvalidAccountData)?; diff --git a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_token_pool.rs b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_token_pool.rs index 69dcaad55c..04622dd2c7 100644 --- a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_token_pool.rs +++ b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/create_token_pool.rs @@ -16,7 +16,7 @@ pub fn create_token_pool_account_manual( _program_id: &Pubkey, token_pool_bump: u8, ) -> Result<(), ProgramError> { - let token_account_size = light_ctoken_types::BASE_TOKEN_ACCOUNT_SIZE as usize; + let token_account_size = light_ctoken_interface::BASE_TOKEN_ACCOUNT_SIZE as usize; // Get required accounts let mint_account = executing_accounts diff --git a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/process.rs b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/process.rs index d4eeb6857f..94096cefd7 100644 --- a/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/process.rs +++ b/programs/compressed-token/program/src/mint_action/actions/create_spl_mint/process.rs @@ -1,6 +1,6 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::solana_program::program_error::ProgramError; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{ZCompressedMintInstructionData, ZCreateSplMintAction}, CTokenError, }; diff --git a/programs/compressed-token/program/src/mint_action/actions/mint_to.rs b/programs/compressed-token/program/src/mint_action/actions/mint_to.rs index b0b4679884..9383917a72 100644 --- a/programs/compressed-token/program/src/mint_action/actions/mint_to.rs +++ b/programs/compressed-token/program/src/mint_action/actions/mint_to.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::solana_program::program_error::ProgramError; use light_compressed_account::Pubkey; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::mint_action::ZMintToCompressedAction, state::CompressedMint, }; diff --git a/programs/compressed-token/program/src/mint_action/actions/mint_to_ctoken.rs b/programs/compressed-token/program/src/mint_action/actions/mint_to_ctoken.rs index b1e82b94de..ec21f464a7 100644 --- a/programs/compressed-token/program/src/mint_action/actions/mint_to_ctoken.rs +++ b/programs/compressed-token/program/src/mint_action/actions/mint_to_ctoken.rs @@ -2,7 +2,9 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::solana_program::program_error::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::Pubkey; -use light_ctoken_types::{instructions::mint_action::ZMintToCTokenAction, state::CompressedMint}; +use light_ctoken_interface::{ + instructions::mint_action::ZMintToCTokenAction, state::CompressedMint, +}; use light_program_profiler::profile; use pinocchio::account_info::AccountInfo; use spl_pod::solana_msg::msg; diff --git a/programs/compressed-token/program/src/mint_action/actions/process_actions.rs b/programs/compressed-token/program/src/mint_action/actions/process_actions.rs index 0db452b410..1785ed01dc 100644 --- a/programs/compressed-token/program/src/mint_action/actions/process_actions.rs +++ b/programs/compressed-token/program/src/mint_action/actions/process_actions.rs @@ -3,7 +3,7 @@ use anchor_lang::prelude::ProgramError; use arrayvec::ArrayVec; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::instruction_data::data::ZOutputCompressedAccountWithPackedContextMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::mint_action::{ZAction, ZMintActionCompressedInstructionData}, state::CompressedMint, diff --git a/programs/compressed-token/program/src/mint_action/actions/update_metadata.rs b/programs/compressed-token/program/src/mint_action/actions/update_metadata.rs index 7ed9c326fb..5048ee7bdc 100644 --- a/programs/compressed-token/program/src/mint_action/actions/update_metadata.rs +++ b/programs/compressed-token/program/src/mint_action/actions/update_metadata.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_compressed_account::Pubkey; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{ ZRemoveMetadataKeyAction, ZUpdateMetadataAuthorityAction, ZUpdateMetadataFieldAction, }, @@ -87,7 +87,7 @@ pub fn process_update_metadata_field_action( } else { // TODO: Enable adding new keys for SPL Token-2022 compatibility // metadata.additional_metadata.push( - // light_ctoken_types::state::AdditionalMetadata { + // light_ctoken_interface::state::AdditionalMetadata { // key: action.key.to_vec(), // value: action.value.to_vec(), // } diff --git a/programs/compressed-token/program/src/mint_action/mint_input.rs b/programs/compressed-token/program/src/mint_action/mint_input.rs index 4059d3f912..4a5ed53d5d 100644 --- a/programs/compressed-token/program/src/mint_action/mint_input.rs +++ b/programs/compressed-token/program/src/mint_action/mint_input.rs @@ -1,7 +1,7 @@ use anchor_lang::solana_program::program_error::ProgramError; use borsh::BorshSerialize; use light_compressed_account::instruction_data::with_readonly::ZInAccountMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::ZMintActionCompressedInstructionData, state::CompressedMint, }; use light_hasher::{sha256::Sha256BE, Hasher}; diff --git a/programs/compressed-token/program/src/mint_action/mint_output.rs b/programs/compressed-token/program/src/mint_action/mint_output.rs index 4ea65c80ed..6fe0c70980 100644 --- a/programs/compressed-token/program/src/mint_action/mint_output.rs +++ b/programs/compressed-token/program/src/mint_action/mint_output.rs @@ -2,7 +2,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use borsh::BorshSerialize; use light_compressed_account::instruction_data::data::ZOutputCompressedAccountWithPackedContextMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::mint_action::ZMintActionCompressedInstructionData, state::CompressedMint, }; diff --git a/programs/compressed-token/program/src/mint_action/processor.rs b/programs/compressed-token/program/src/mint_action/processor.rs index f18a4630e5..c0452177b0 100644 --- a/programs/compressed-token/program/src/mint_action/processor.rs +++ b/programs/compressed-token/program/src/mint_action/processor.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_compressed_account::instruction_data::with_readonly::InstructionDataInvokeCpiWithReadOnly; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::mint_action::MintActionCompressedInstructionData, state::CompressedMint, CTokenError, }; diff --git a/programs/compressed-token/program/src/mint_action/queue_indices.rs b/programs/compressed-token/program/src/mint_action/queue_indices.rs index 6d7359c1dd..d60dc3fa33 100644 --- a/programs/compressed-token/program/src/mint_action/queue_indices.rs +++ b/programs/compressed-token/program/src/mint_action/queue_indices.rs @@ -1,5 +1,5 @@ use anchor_compressed_token::ErrorCode; -use light_ctoken_types::instructions::mint_action::ZCpiContext; +use light_ctoken_interface::instructions::mint_action::ZCpiContext; use light_program_profiler::profile; #[derive(Debug, PartialEq)] diff --git a/programs/compressed-token/program/src/mint_action/zero_copy_config.rs b/programs/compressed-token/program/src/mint_action/zero_copy_config.rs index 8b7e4cadc7..9020e01a56 100644 --- a/programs/compressed-token/program/src/mint_action/zero_copy_config.rs +++ b/programs/compressed-token/program/src/mint_action/zero_copy_config.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::solana_program::program_error::ProgramError; use light_compressed_account::instruction_data::with_readonly::InstructionDataInvokeCpiWithReadOnlyConfig; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{ZAction, ZMintActionCompressedInstructionData}, state::CompressedMintConfig, }; diff --git a/programs/compressed-token/program/src/shared/cpi_bytes_size.rs b/programs/compressed-token/program/src/shared/cpi_bytes_size.rs index cd8ae16750..12ad3c8dca 100644 --- a/programs/compressed-token/program/src/shared/cpi_bytes_size.rs +++ b/programs/compressed-token/program/src/shared/cpi_bytes_size.rs @@ -9,7 +9,7 @@ use light_compressed_account::{ }, }, }; -use light_ctoken_types::state::CompressedMint; +use light_ctoken_interface::state::CompressedMint; use light_program_profiler::profile; use light_zero_copy::ZeroCopyNew; use pinocchio::program_error::ProgramError; @@ -21,7 +21,7 @@ const MAX_OUTPUT_ACCOUNTS: usize = 35; /// Calculate data length for a compressed mint account #[profile] #[inline(always)] -pub fn mint_data_len(config: &light_ctoken_types::state::CompressedMintConfig) -> u32 { +pub fn mint_data_len(config: &light_ctoken_interface::state::CompressedMintConfig) -> u32 { CompressedMint::byte_len(config).unwrap() as u32 } @@ -49,7 +49,7 @@ impl CpiConfigInput { pub fn mint_to_compressed( num_recipients: usize, has_proof: bool, - output_mint_config: &light_ctoken_types::state::CompressedMintConfig, + output_mint_config: &light_ctoken_interface::state::CompressedMintConfig, ) -> Self { let mut outputs = ArrayVec::new(); @@ -73,7 +73,7 @@ impl CpiConfigInput { #[profile] pub fn update_mint( has_proof: bool, - output_mint_config: &light_ctoken_types::state::CompressedMintConfig, + output_mint_config: &light_ctoken_interface::state::CompressedMintConfig, ) -> Self { let mut inputs = ArrayVec::new(); inputs.push(true); // Input mint has address diff --git a/programs/compressed-token/program/src/shared/initialize_ctoken_account.rs b/programs/compressed-token/program/src/shared/initialize_ctoken_account.rs index dd7c91f9d6..b510959c5b 100644 --- a/programs/compressed-token/program/src/shared/initialize_ctoken_account.rs +++ b/programs/compressed-token/program/src/shared/initialize_ctoken_account.rs @@ -1,7 +1,7 @@ use anchor_lang::prelude::ProgramError; use light_account_checks::AccountInfoTrait; use light_compressible::{compression_info::ZCompressionInfoMut, config::CompressibleConfig}; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::extensions::compressible::CompressibleExtensionInstructionData, state::CompressionInfo, CTokenError, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; diff --git a/programs/compressed-token/program/src/shared/owner_validation.rs b/programs/compressed-token/program/src/shared/owner_validation.rs index 49dcda0df9..bee27117f6 100644 --- a/programs/compressed-token/program/src/shared/owner_validation.rs +++ b/programs/compressed-token/program/src/shared/owner_validation.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::solana_program::program_error::ProgramError; use light_account_checks::checks::check_signer; -use light_ctoken_types::state::ZCompressedTokenMut; +use light_ctoken_interface::state::ZCompressedTokenMut; use light_program_profiler::profile; use pinocchio::account_info::AccountInfo; diff --git a/programs/compressed-token/program/src/shared/token_input.rs b/programs/compressed-token/program/src/shared/token_input.rs index f8e4306f32..9471243260 100644 --- a/programs/compressed-token/program/src/shared/token_input.rs +++ b/programs/compressed-token/program/src/shared/token_input.rs @@ -4,7 +4,7 @@ use anchor_compressed_token::TokenData; use anchor_lang::solana_program::program_error::ProgramError; use light_account_checks::AccountError; use light_compressed_account::instruction_data::with_readonly::ZInAccountMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::transfer2::ZMultiInputTokenDataWithContext, state::{CompressedTokenAccountState, TokenDataVersion}, diff --git a/programs/compressed-token/program/src/shared/token_output.rs b/programs/compressed-token/program/src/shared/token_output.rs index 13d3383e97..a4da130dea 100644 --- a/programs/compressed-token/program/src/shared/token_output.rs +++ b/programs/compressed-token/program/src/shared/token_output.rs @@ -3,7 +3,7 @@ use anchor_lang::prelude::ProgramError; use light_compressed_account::{ instruction_data::data::ZOutputCompressedAccountWithPackedContextMut, Pubkey, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, state::{CompressedTokenAccountState, TokenData, TokenDataConfig, TokenDataVersion}, }; diff --git a/programs/compressed-token/program/src/transfer2/change_account.rs b/programs/compressed-token/program/src/transfer2/change_account.rs index 502c97c8d6..4c5bb6fdd4 100644 --- a/programs/compressed-token/program/src/transfer2/change_account.rs +++ b/programs/compressed-token/program/src/transfer2/change_account.rs @@ -3,7 +3,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::instruction_data::with_readonly::ZInstructionDataInvokeCpiWithReadOnlyMut; -use light_ctoken_types::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; +use light_ctoken_interface::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; use pinocchio::account_info::AccountInfo; use crate::transfer2::config::Transfer2Config; diff --git a/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_and_close.rs b/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_and_close.rs index f7e52b6086..bddf2d0ec7 100644 --- a/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_and_close.rs +++ b/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_and_close.rs @@ -2,7 +2,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use bitvec::prelude::*; use light_account_checks::{checks::check_signer, packed_accounts::ProgramPackedAccounts}; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{ZCompression, ZCompressionMode, ZMultiTokenTransferOutputData}, state::{ZCompressedTokenMut, ZExtensionStructMut}, }; diff --git a/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_or_decompress_ctokens.rs b/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_or_decompress_ctokens.rs index c90fce8cc1..c8ec72b2c2 100644 --- a/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_or_decompress_ctokens.rs +++ b/programs/compressed-token/program/src/transfer2/compression/ctoken/compress_or_decompress_ctokens.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_account_checks::checks::check_owner; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::ZCompressionMode, state::{CToken, ZExtensionStructMut}, CTokenError, @@ -140,7 +140,7 @@ fn process_compressible_extension( token_account_info.data_len() as u64, *current_slot, token_account_info.lamports(), - light_ctoken_types::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, + light_ctoken_interface::COMPRESSIBLE_TOKEN_RENT_EXEMPTION, ) .map_err(|_| CTokenError::InvalidAccountData)?; diff --git a/programs/compressed-token/program/src/transfer2/compression/ctoken/inputs.rs b/programs/compressed-token/program/src/transfer2/compression/ctoken/inputs.rs index 4d54b9e062..305555c75c 100644 --- a/programs/compressed-token/program/src/transfer2/compression/ctoken/inputs.rs +++ b/programs/compressed-token/program/src/transfer2/compression/ctoken/inputs.rs @@ -1,5 +1,5 @@ use light_account_checks::packed_accounts::ProgramPackedAccounts; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ ZCompressedTokenInstructionDataTransfer2, ZCompression, ZCompressionMode, ZMultiTokenTransferOutputData, }; diff --git a/programs/compressed-token/program/src/transfer2/compression/ctoken/mod.rs b/programs/compressed-token/program/src/transfer2/compression/ctoken/mod.rs index 3bf64a8cc3..92dd3bdf17 100644 --- a/programs/compressed-token/program/src/transfer2/compression/ctoken/mod.rs +++ b/programs/compressed-token/program/src/transfer2/compression/ctoken/mod.rs @@ -1,5 +1,5 @@ use light_account_checks::packed_accounts::ProgramPackedAccounts; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ ZCompressedTokenInstructionDataTransfer2, ZCompression, }; use light_program_profiler::profile; diff --git a/programs/compressed-token/program/src/transfer2/compression/mod.rs b/programs/compressed-token/program/src/transfer2/compression/mod.rs index ba91a46b13..4e67aaaeb8 100644 --- a/programs/compressed-token/program/src/transfer2/compression/mod.rs +++ b/programs/compressed-token/program/src/transfer2/compression/mod.rs @@ -3,7 +3,7 @@ use anchor_lang::prelude::ProgramError; use arrayvec::ArrayVec; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::pubkey::AsPubkey; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{ ZCompressedTokenInstructionDataTransfer2, ZCompression, ZCompressionMode, }, diff --git a/programs/compressed-token/program/src/transfer2/compression/spl.rs b/programs/compressed-token/program/src/transfer2/compression/spl.rs index 425d1e20b5..2ac126f752 100644 --- a/programs/compressed-token/program/src/transfer2/compression/spl.rs +++ b/programs/compressed-token/program/src/transfer2/compression/spl.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::check_spl_token_pool_derivation_with_index; use anchor_lang::prelude::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; -use light_ctoken_types::instructions::transfer2::{ZCompression, ZCompressionMode}; +use light_ctoken_interface::instructions::transfer2::{ZCompression, ZCompressionMode}; use light_program_profiler::profile; use light_sdk_types::CPI_AUTHORITY_PDA_SEED; use pinocchio::{ diff --git a/programs/compressed-token/program/src/transfer2/config.rs b/programs/compressed-token/program/src/transfer2/config.rs index 6e44b030ab..ed8c594bca 100644 --- a/programs/compressed-token/program/src/transfer2/config.rs +++ b/programs/compressed-token/program/src/transfer2/config.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::ProgramError; -use light_ctoken_types::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; +use light_ctoken_interface::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; /// Configuration for Transfer2 account validation /// Replaces complex boolean parameters with clean single config object diff --git a/programs/compressed-token/program/src/transfer2/cpi.rs b/programs/compressed-token/program/src/transfer2/cpi.rs index bfd991137c..1ec0736b58 100644 --- a/programs/compressed-token/program/src/transfer2/cpi.rs +++ b/programs/compressed-token/program/src/transfer2/cpi.rs @@ -1,5 +1,5 @@ use light_compressed_account::instruction_data::with_readonly::InstructionDataInvokeCpiWithReadOnlyConfig; -use light_ctoken_types::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; +use light_ctoken_interface::instructions::transfer2::ZCompressedTokenInstructionDataTransfer2; use light_program_profiler::profile; use pinocchio::program_error::ProgramError; use tinyvec::ArrayVec; diff --git a/programs/compressed-token/program/src/transfer2/processor.rs b/programs/compressed-token/program/src/transfer2/processor.rs index fe0f846ced..72e9c5f265 100644 --- a/programs/compressed-token/program/src/transfer2/processor.rs +++ b/programs/compressed-token/program/src/transfer2/processor.rs @@ -2,7 +2,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::prelude::ProgramError; use light_array_map::ArrayMap; use light_compressed_account::instruction_data::with_readonly::InstructionDataInvokeCpiWithReadOnly; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::transfer2::{ CompressedTokenInstructionDataTransfer2, ZCompressedTokenInstructionDataTransfer2, diff --git a/programs/compressed-token/program/src/transfer2/sum_check.rs b/programs/compressed-token/program/src/transfer2/sum_check.rs index a1cdf49d9f..ad55423ef1 100644 --- a/programs/compressed-token/program/src/transfer2/sum_check.rs +++ b/programs/compressed-token/program/src/transfer2/sum_check.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_array_map::ArrayMap; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ ZCompression, ZCompressionMode, ZMultiInputTokenDataWithContext, ZMultiTokenTransferOutputData, }; use light_program_profiler::profile; diff --git a/programs/compressed-token/program/src/transfer2/token_inputs.rs b/programs/compressed-token/program/src/transfer2/token_inputs.rs index 22004c9643..3a29999341 100644 --- a/programs/compressed-token/program/src/transfer2/token_inputs.rs +++ b/programs/compressed-token/program/src/transfer2/token_inputs.rs @@ -1,7 +1,7 @@ use anchor_lang::prelude::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::instruction_data::with_readonly::ZInstructionDataInvokeCpiWithReadOnlyMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::transfer2::ZCompressedTokenInstructionDataTransfer2, }; use light_program_profiler::profile; diff --git a/programs/compressed-token/program/src/transfer2/token_outputs.rs b/programs/compressed-token/program/src/transfer2/token_outputs.rs index 9444ac34c4..f4f04cff24 100644 --- a/programs/compressed-token/program/src/transfer2/token_outputs.rs +++ b/programs/compressed-token/program/src/transfer2/token_outputs.rs @@ -1,7 +1,7 @@ use anchor_lang::prelude::ProgramError; use light_account_checks::packed_accounts::ProgramPackedAccounts; use light_compressed_account::instruction_data::with_readonly::ZInstructionDataInvokeCpiWithReadOnlyMut; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::transfer2::ZCompressedTokenInstructionDataTransfer2, }; use light_program_profiler::profile; diff --git a/programs/compressed-token/program/tests/allocation_test.rs b/programs/compressed-token/program/tests/allocation_test.rs index 6f9f2fd10a..9d9700fd5c 100644 --- a/programs/compressed-token/program/tests/allocation_test.rs +++ b/programs/compressed-token/program/tests/allocation_test.rs @@ -3,7 +3,7 @@ use light_compressed_account::instruction_data::with_readonly::InstructionDataIn use light_compressed_token::shared::cpi_bytes_size::{ allocate_invoke_with_read_only_cpi_bytes, cpi_bytes_config, CpiConfigInput, }; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ extensions::TokenMetadataConfig, CompressedMint, CompressedMintConfig, ExtensionStructConfig, }; use light_zero_copy::{traits::ZeroCopyAt, ZeroCopyNew}; diff --git a/programs/compressed-token/program/tests/compress_and_close.rs b/programs/compressed-token/program/tests/compress_and_close.rs index 9c336a1aa6..aaed6f021f 100644 --- a/programs/compressed-token/program/tests/compress_and_close.rs +++ b/programs/compressed-token/program/tests/compress_and_close.rs @@ -7,7 +7,7 @@ use light_account_checks::{ use light_compressed_token::transfer2::{ accounts::Transfer2Accounts, compression::ctoken::close_for_compress_and_close, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{Compression, CompressionMode}, state::{CToken, CompressedTokenConfig}, }; @@ -36,7 +36,7 @@ fn create_compressible_ctoken_data( // Set compressible extension fields if let Some(extensions) = ctoken.extensions.as_mut() { - if let Some(light_ctoken_types::state::ZExtensionStructMut::Compressible(comp_ext)) = + if let Some(light_ctoken_interface::state::ZExtensionStructMut::Compressible(comp_ext)) = extensions.first_mut() { comp_ext.config_account_version.set(1); diff --git a/programs/compressed-token/program/tests/exact_allocation_test.rs b/programs/compressed-token/program/tests/exact_allocation_test.rs index 1cab6a47e2..ec2dd414d0 100644 --- a/programs/compressed-token/program/tests/exact_allocation_test.rs +++ b/programs/compressed-token/program/tests/exact_allocation_test.rs @@ -3,7 +3,7 @@ use light_compressed_account::instruction_data::with_readonly::InstructionDataIn use light_compressed_token::shared::cpi_bytes_size::{ allocate_invoke_with_read_only_cpi_bytes, cpi_bytes_config, CpiConfigInput, }; -use light_ctoken_types::state::{ +use light_ctoken_interface::state::{ extensions::{AdditionalMetadataConfig, TokenMetadataConfig}, CompressedMint, CompressedMintConfig, ExtensionStructConfig, }; diff --git a/programs/compressed-token/program/tests/mint.rs b/programs/compressed-token/program/tests/mint.rs index 35b5a46c7f..4557a8396a 100644 --- a/programs/compressed-token/program/tests/mint.rs +++ b/programs/compressed-token/program/tests/mint.rs @@ -9,7 +9,7 @@ use light_compressed_token::{ mint_input::create_input_compressed_mint_account, zero_copy_config::get_zero_copy_configs, }, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::{ExtensionInstructionData, TokenMetadataInstructionData}, mint_action::{CompressedMintInstructionData, MintActionCompressedInstructionData}, @@ -232,7 +232,7 @@ fn test_rnd_create_compressed_mint_account() { for (zc_ext, orig_ext) in zc_extensions.iter().zip(orig_extensions.iter()) { match (zc_ext, orig_ext) { ( - light_ctoken_types::instructions::extensions::ZExtensionInstructionData::TokenMetadata(zc_metadata), + light_ctoken_interface::instructions::extensions::ZExtensionInstructionData::TokenMetadata(zc_metadata), ExtensionInstructionData::TokenMetadata(orig_metadata), ) => { assert_eq!(zc_metadata.name, orig_metadata.name.as_slice()); diff --git a/programs/compressed-token/program/tests/mint_action.rs b/programs/compressed-token/program/tests/mint_action.rs index ae19c68487..a6923eb3a2 100644 --- a/programs/compressed-token/program/tests/mint_action.rs +++ b/programs/compressed-token/program/tests/mint_action.rs @@ -5,7 +5,7 @@ use borsh::BorshSerialize; use light_compressed_account::{instruction_data::compressed_proof::CompressedProof, Pubkey}; use light_compressed_token::mint_action::accounts::AccountsConfig; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::{token_metadata::TokenMetadataInstructionData, ExtensionInstructionData}, mint_action::{ diff --git a/programs/compressed-token/program/tests/mint_action_accounts_validation.rs b/programs/compressed-token/program/tests/mint_action_accounts_validation.rs index ced26009a5..aab9e2ea2c 100644 --- a/programs/compressed-token/program/tests/mint_action_accounts_validation.rs +++ b/programs/compressed-token/program/tests/mint_action_accounts_validation.rs @@ -4,7 +4,7 @@ // }; // use light_compressed_token::mint_action::accounts::{AccountsConfig, MintActionAccounts}; // use light_compressed_token::ErrorCode; -// use light_ctoken_types::CMINT_ADDRESS_TREE; +// use light_ctoken_interface::CMINT_ADDRESS_TREE; // use pinocchio::account_info::AccountInfo; // use pinocchio::pubkey::Pubkey; diff --git a/programs/compressed-token/program/tests/multi_sum_check.rs b/programs/compressed-token/program/tests/multi_sum_check.rs index e1233bcf0d..e3763017b6 100644 --- a/programs/compressed-token/program/tests/multi_sum_check.rs +++ b/programs/compressed-token/program/tests/multi_sum_check.rs @@ -9,7 +9,7 @@ use light_account_checks::{ use light_compressed_token::transfer2::sum_check::{ sum_check_multi_mint, validate_mint_uniqueness, }; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ Compression, CompressionMode, MultiInputTokenDataWithContext, MultiTokenTransferOutputData, }; use light_zero_copy::traits::ZeroCopyAt; diff --git a/programs/compressed-token/program/tests/queue_indices.rs b/programs/compressed-token/program/tests/queue_indices.rs index cfa11339e8..886d65e6c8 100644 --- a/programs/compressed-token/program/tests/queue_indices.rs +++ b/programs/compressed-token/program/tests/queue_indices.rs @@ -1,7 +1,7 @@ use anchor_compressed_token::ErrorCode; use anchor_lang::AnchorSerialize; use light_compressed_token::mint_action::queue_indices::QueueIndices; -use light_ctoken_types::instructions::mint_action::CpiContext; +use light_ctoken_interface::instructions::mint_action::CpiContext; use light_zero_copy::traits::ZeroCopyAt; #[derive(Debug)] diff --git a/programs/compressed-token/program/tests/token_input.rs b/programs/compressed-token/program/tests/token_input.rs index b26214c5dc..39578d41c5 100644 --- a/programs/compressed-token/program/tests/token_input.rs +++ b/programs/compressed-token/program/tests/token_input.rs @@ -17,7 +17,7 @@ use light_compressed_token::{ token_input::{set_input_compressed_account, set_input_compressed_account_frozen}, }, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, instructions::transfer2::MultiInputTokenDataWithContext, state::CompressedTokenAccountState, }; diff --git a/programs/compressed-token/program/tests/token_output.rs b/programs/compressed-token/program/tests/token_output.rs index 4395f47fc6..841020c3d2 100644 --- a/programs/compressed-token/program/tests/token_output.rs +++ b/programs/compressed-token/program/tests/token_output.rs @@ -18,7 +18,7 @@ use light_compressed_token::{ token_output::set_output_compressed_account, }, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ hash_cache::HashCache, state::CompressedTokenAccountState as AccountState, }; use light_zero_copy::ZeroCopyNew; diff --git a/programs/registry/Cargo.toml b/programs/registry/Cargo.toml index 0e03251499..b050302653 100644 --- a/programs/registry/Cargo.toml +++ b/programs/registry/Cargo.toml @@ -25,7 +25,7 @@ aligned-sized = { workspace = true } anchor-lang = { workspace = true, features = ["init-if-needed"] } account-compression = { workspace = true } light-compressible = { workspace = true, features = ["anchor"] } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-system-program-anchor = { workspace = true, features = ["cpi"] } light-account-checks = { workspace = true, features = ["solana", "std", "msg"] } light-program-profiler = { workspace = true } diff --git a/programs/registry/src/compressible/compressed_token/compress_and_close.rs b/programs/registry/src/compressible/compressed_token/compress_and_close.rs index 80a4291ff7..4515b22547 100644 --- a/programs/registry/src/compressible/compressed_token/compress_and_close.rs +++ b/programs/registry/src/compressible/compressed_token/compress_and_close.rs @@ -1,6 +1,6 @@ use anchor_lang::{prelude::ProgramError, pubkey, AnchorDeserialize, AnchorSerialize, Result}; use light_account_checks::packed_accounts::ProgramPackedAccounts; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{ CompressedTokenInstructionDataTransfer2, Compression, CompressionMode, MultiTokenTransferOutputData, diff --git a/scripts/lint.sh b/scripts/lint.sh index 8cbe6a259a..d5bbf8263e 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -18,7 +18,7 @@ NO_DEFAULT_CRATES=( "light-compressed-account" "light-compressible" "light-concurrent-merkle-tree" - "light-ctoken-types" + "light-ctoken-interface" "light-hash-set" "light-hasher" "light-indexed-merkle-tree" @@ -76,7 +76,7 @@ SOLANA_CRATES=( "light-compressed-account" "light-hash-set" "light-merkle-tree-metadata" - "light-ctoken-types" + "light-ctoken-interface" "light-macros" "light-batched-merkle-tree" "light-concurrent-merkle-tree" @@ -95,7 +95,7 @@ ANCHOR_CRATES=( "light-indexed-merkle-tree" "light-compressed-account" "light-merkle-tree-metadata" - "light-ctoken-types" + "light-ctoken-interface" "light-verifier" "light-compressible" "light-sdk-types" diff --git a/sdk-libs/compressed-token-sdk/Cargo.toml b/sdk-libs/compressed-token-sdk/Cargo.toml index 794c9d2b17..1d7b1b3f8a 100644 --- a/sdk-libs/compressed-token-sdk/Cargo.toml +++ b/sdk-libs/compressed-token-sdk/Cargo.toml @@ -5,17 +5,17 @@ edition = { workspace = true } [features] -anchor = ["anchor-lang", "light-compressed-token-types/anchor", "light-ctoken-types/anchor"] +anchor = ["anchor-lang", "light-compressed-token-types/anchor", "light-ctoken-interface/anchor"] cpi-context = ["light-sdk/cpi-context"] profile-program = [ "light-program-profiler/profile-program", "light-compressed-account/profile-program", - "light-ctoken-types/profile-program", + "light-ctoken-interface/profile-program", ] profile-heap = [ "light-program-profiler/profile-heap", "light-compressed-account/profile-heap", - "light-ctoken-types/profile-heap", + "light-ctoken-interface/profile-heap", ] [dependencies] @@ -23,7 +23,7 @@ profile-heap = [ light-compressed-token-types = { workspace = true } light-compressed-account = { workspace = true, features = ["std"] } light-compressible = { workspace = true } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-sdk = { workspace = true, features = ["v2"] } light-macros = { workspace = true } thiserror = { workspace = true } diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs index 7789eb478b..5f5979615b 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs @@ -2,7 +2,7 @@ use borsh::BorshSerialize; use light_compressed_token_types::{ instruction::delegation::CompressedTokenInstructionDataApprove, ValidityProof, }; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::Instruction; use solana_pubkey::Pubkey; diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs index ac585dade5..f6540c47a7 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs @@ -1,7 +1,7 @@ use light_compressed_token_types::{ instruction::batch_compress::BatchCompressInstructionData, BATCH_COMPRESS, }; -use light_ctoken_types; +use light_ctoken_interface; use solana_instruction::Instruction; use solana_pubkey::Pubkey; @@ -78,7 +78,7 @@ pub fn create_batch_compress_instruction(inputs: BatchCompressInputs) -> Result< let account_metas = get_batch_compress_instruction_account_metas(meta_config); Ok(Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }) diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs index 3e4823201e..081bff35f8 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs @@ -2,7 +2,7 @@ use light_compressed_token_types::{ constants::TRANSFER, instruction::transfer::CompressedTokenInstructionDataTransfer, CompressedCpiContext, ValidityProof, }; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::{AccountMeta, Instruction}; use solana_pubkey::Pubkey; diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs index 5cb87e7f42..f6c1fb5630 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs @@ -1,6 +1,6 @@ use std::ops::Deref; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ Compression, CompressionMode, MultiInputTokenDataWithContext, MultiTokenTransferOutputData, }; use light_program_profiler::profile; diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs index d7e461bcca..c3813aaf63 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::CompressedCpiContext, state::{CToken, ZExtensionStruct}, }; @@ -200,7 +200,7 @@ pub fn compress_and_close_ctoken_accounts_with_indices<'info>( .try_borrow_data() .map_err(|_| TokenSdkError::AccountBorrowFailed)?; - let amount = light_ctoken_types::state::CToken::amount_from_slice(&account_data)?; + let amount = light_ctoken_interface::state::CToken::amount_from_slice(&account_data)?; // Create CTokenAccount2 for CompressAndClose operation let mut token_account = CTokenAccount2::new_empty(idx.owner_index, idx.mint_index); @@ -307,8 +307,9 @@ pub fn compress_and_close_ctoken_accounts<'info>( .map_err(|_| TokenSdkError::AccountBorrowFailed)?; // Deserialize the full CToken including extensions - let (compressed_token, _) = light_ctoken_types::state::CToken::zero_copy_at(&account_data) - .map_err(|_| TokenSdkError::InvalidAccountData)?; + let (compressed_token, _) = + light_ctoken_interface::state::CToken::zero_copy_at(&account_data) + .map_err(|_| TokenSdkError::InvalidAccountData)?; // Extract pubkeys from the deserialized account let mint_pubkey = Pubkey::from(compressed_token.mint.to_bytes()); diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs index 8da07c527d..524db8d46f 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs @@ -1,7 +1,7 @@ use light_compressed_account::instruction_data::{ compressed_proof::CompressedProof, traits::LightInstructionData, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ self, instructions::{ extensions::ExtensionInstructionData, @@ -48,7 +48,7 @@ pub fn create_compressed_mint_cpi( let compressed_mint_instruction_data = CompressedMintInstructionData { supply: 0, decimals: input.decimals, - metadata: light_ctoken_types::state::CompressedMintMetadata { + metadata: light_ctoken_interface::state::CompressedMintMetadata { version: input.version, mint: find_spl_mint_address(&input.mint_signer) .0 @@ -69,7 +69,7 @@ pub fn create_compressed_mint_cpi( root_index: input.address_merkle_tree_root_index, }; - let mut instruction_data = light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new_mint( + let mut instruction_data = light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new_mint( mint_address, input.address_merkle_tree_root_index, input.proof, @@ -105,7 +105,7 @@ pub fn create_compressed_mint_cpi( Ok(Instruction { program_id: solana_pubkey::Pubkey::new_from_array( - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ), accounts: account_metas, data, @@ -141,7 +141,7 @@ pub fn create_compressed_mint_cpi_write( let compressed_mint_instruction_data = CompressedMintInstructionData { supply: 0, decimals: input.decimals, - metadata: light_ctoken_types::state::CompressedMintMetadata { + metadata: light_ctoken_interface::state::CompressedMintMetadata { version: input.version, mint: find_spl_mint_address(&input.mint_signer) .0 @@ -154,7 +154,7 @@ pub fn create_compressed_mint_cpi_write( extensions: input.extensions, }; - let instruction_data = light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new_mint_write_to_cpi_context( + let instruction_data = light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new_mint_write_to_cpi_context( input.mint_address, input.address_merkle_tree_root_index, compressed_mint_instruction_data,input.cpi_context @@ -175,7 +175,7 @@ pub fn create_compressed_mint_cpi_write( Ok(Instruction { program_id: solana_pubkey::Pubkey::new_from_array( - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ), accounts: account_metas, data, @@ -197,7 +197,7 @@ pub fn derive_compressed_mint_address( light_compressed_account::address::derive_address( &find_spl_mint_address(mint_seed).0.to_bytes(), &address_tree_pubkey.to_bytes(), - &light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + &light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ) } @@ -205,13 +205,13 @@ pub fn derive_cmint_from_spl_mint(mint: &Pubkey, address_tree_pubkey: &Pubkey) - light_compressed_account::address::derive_address( &mint.to_bytes(), &address_tree_pubkey.to_bytes(), - &light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + &light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ) } pub fn find_spl_mint_address(mint_seed: &Pubkey) -> (Pubkey, u8) { Pubkey::find_program_address( &[COMPRESSED_MINT_SEED, mint_seed.as_ref()], - &Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + &Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), ) } diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs index 3f958ef1dc..e3f485bb8e 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs @@ -1,5 +1,5 @@ use light_compressed_account::compressed_account::PackedMerkleContext; -use light_ctoken_types::instructions::transfer2::{ +use light_ctoken_interface::instructions::transfer2::{ CompressedCpiContext, MultiInputTokenDataWithContext, }; use light_program_profiler::profile; diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs index eb6d011f5c..2e1b094e44 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs @@ -62,7 +62,7 @@ impl MintActionMetaConfig { /// Create a new MintActionMetaConfig for CPI context operations. pub fn new_cpi_context( - instruction_data: &light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData, + instruction_data: &light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData, fee_payer: Pubkey, authority: Pubkey, cpi_context_pubkey: Pubkey, diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs index b2edcfbd49..fa5c461e31 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs @@ -1,6 +1,6 @@ use light_account_checks::{AccountError, AccountInfoTrait, AccountIterator}; use light_compressed_token_types::CPI_AUTHORITY_PDA; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_program_profiler::profile; use light_sdk_types::{ ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, LIGHT_SYSTEM_PROGRAM_ID, diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs index aa3c6a5e41..7d6f0c3bd3 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs @@ -1,5 +1,5 @@ use light_compressed_account::instruction_data::traits::LightInstructionData; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::MintActionCompressedInstructionData, COMPRESSED_TOKEN_PROGRAM_ID, }; use solana_instruction::Instruction; @@ -46,11 +46,12 @@ impl CTokenInstruction for MintActionCompressedInstructionData { cpi_ctx.first_set_context = true; cpi_ctx.set_context = false; } else { - instruction_data.cpi_context = - Some(light_ctoken_types::instructions::mint_action::CpiContext { + instruction_data.cpi_context = Some( + light_ctoken_interface::instructions::mint_action::CpiContext { first_set_context: true, ..Default::default() - }); + }, + ); } build_cpi_write_instruction(instruction_data, accounts) @@ -65,11 +66,12 @@ impl CTokenInstruction for MintActionCompressedInstructionData { cpi_ctx.set_context = true; cpi_ctx.first_set_context = false; } else { - instruction_data.cpi_context = - Some(light_ctoken_types::instructions::mint_action::CpiContext { + instruction_data.cpi_context = Some( + light_ctoken_interface::instructions::mint_action::CpiContext { set_context: true, ..Default::default() - }); + }, + ); } build_cpi_write_instruction(instruction_data, accounts) diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs index 5e09085f1a..f4e536ff5c 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs @@ -1,7 +1,7 @@ use light_compressed_account::instruction_data::traits::LightInstructionData; pub use light_compressed_token_types::account_infos::mint_to_compressed::DecompressedMintConfig; use light_compressed_token_types::CompressedProof; -use light_ctoken_types::instructions::mint_action::{ +use light_ctoken_interface::instructions::mint_action::{ CompressedMintWithContext, CpiContext, Recipient, }; use solana_instruction::Instruction; @@ -56,13 +56,14 @@ pub fn create_mint_to_compressed_instruction( token_pool: _, } = inputs; - let mint_to_action = light_ctoken_types::instructions::mint_action::MintToCompressedAction { - token_account_version, - recipients, - }; + let mint_to_action = + light_ctoken_interface::instructions::mint_action::MintToCompressedAction { + token_account_version, + recipients, + }; let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new( compressed_mint_inputs.clone(), proof, ) @@ -98,7 +99,7 @@ pub fn create_mint_to_compressed_instruction( Ok(Instruction { program_id: solana_pubkey::Pubkey::new_from_array( - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ), accounts: account_metas, data, diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs index 30e91d443a..2d7c8e0335 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs @@ -1,6 +1,6 @@ use light_account_checks::{AccountError, AccountInfoTrait, AccountIterator}; use light_compressed_token_types::CPI_AUTHORITY_PDA; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_program_profiler::profile; use light_sdk_types::{ ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, LIGHT_SYSTEM_PROGRAM_ID, diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs index 4cf5cebcef..9695e6dfea 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs @@ -1,5 +1,5 @@ use light_compressed_token_types::{constants::TRANSFER2, ValidityProof}; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{CompressedCpiContext, CompressedTokenInstructionDataTransfer2}, COMPRESSED_TOKEN_PROGRAM_ID, }; diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs index 34a579b7f9..139e6a662c 100644 --- a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs +++ b/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs @@ -2,7 +2,7 @@ use light_compressed_account::instruction_data::{ compressed_proof::CompressedProof, traits::LightInstructionData, }; use light_compressed_token_types::CompressedMintAuthorityType; -use light_ctoken_types::{ +use light_ctoken_interface::{ self, instructions::mint_action::{CompressedMintWithContext, CpiContext}, }; @@ -41,12 +41,12 @@ pub fn update_compressed_mint_cpi( cpi_context: Option, ) -> Result { let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new( input.compressed_mint_inputs.clone(), input.proof, ); - let update_authority = light_ctoken_types::instructions::mint_action::UpdateAuthority { + let update_authority = light_ctoken_interface::instructions::mint_action::UpdateAuthority { new_authority: input.new_authority.map(|auth| auth.to_bytes().into()), }; @@ -79,7 +79,7 @@ pub fn update_compressed_mint_cpi( Ok(Instruction { program_id: solana_pubkey::Pubkey::new_from_array( - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ), accounts: account_metas, data, @@ -112,12 +112,12 @@ pub fn create_update_compressed_mint_cpi_write( } let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new( inputs.compressed_mint_inputs.clone(), None, // No proof for CPI write ); - let update_authority = light_ctoken_types::instructions::mint_action::UpdateAuthority { + let update_authority = light_ctoken_interface::instructions::mint_action::UpdateAuthority { new_authority: inputs.new_authority.map(|auth| auth.to_bytes().into()), }; @@ -147,7 +147,7 @@ pub fn create_update_compressed_mint_cpi_write( Ok(Instruction { program_id: solana_pubkey::Pubkey::new_from_array( - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ), accounts: account_metas, data, diff --git a/sdk-libs/compressed-token-sdk/src/compressible/claim.rs b/sdk-libs/compressed-token-sdk/src/compressible/claim.rs index 9d140b926e..71ffdceee7 100644 --- a/sdk-libs/compressed-token-sdk/src/compressible/claim.rs +++ b/sdk-libs/compressed-token-sdk/src/compressible/claim.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::{AccountMeta, Instruction}; use solana_pubkey::Pubkey; diff --git a/sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs b/sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs index 4b5149e6cd..2995a875b4 100644 --- a/sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs +++ b/sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs @@ -1,5 +1,5 @@ //! Runtime helpers for token decompression. -use light_ctoken_types::instructions::transfer2::MultiInputTokenDataWithContext; +use light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext; use light_sdk::{cpi::v2::CpiAccounts, instruction::ValidityProof}; use light_sdk_types::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress; use solana_account_info::AccountInfo; @@ -131,7 +131,7 @@ where .take(ctoken_signer_seeds.len().saturating_sub(1)) .cloned() .collect(); - light_ctoken_types::instructions::extensions::compressible::CompressToPubkey { + light_ctoken_interface::instructions::extensions::compressible::CompressToPubkey { bump, program_id: program_id.to_bytes(), seeds: seeds_without_bump, @@ -153,7 +153,7 @@ where pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: compress_to_pubkey, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }), } .invoke_signed(&[seeds_slice])?; diff --git a/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs b/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs index 006be1856d..990c5dbce8 100644 --- a/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs +++ b/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use solana_instruction::{AccountMeta, Instruction}; use solana_pubkey::Pubkey; diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs b/sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs index b87fa234d1..365e0ebcf4 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::extensions::compressible::CompressToPubkey, state::TokenDataVersion, }; use solana_account_info::AccountInfo; diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create.rs index bc18ca3ea6..6f468f27b3 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/create.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/create.rs @@ -1,5 +1,5 @@ use borsh::BorshSerialize; -use light_ctoken_types::instructions::{ +use light_ctoken_interface::instructions::{ create_ctoken_account::CreateTokenAccountInstructionData, extensions::compressible::CompressibleExtensionInstructionData, }; @@ -83,7 +83,7 @@ impl CreateCTokenAccount { }; Ok(Instruction { - program_id: Pubkey::from(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::from(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts, data, }) diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs index c867ff0b1e..20a9381241 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs @@ -1,5 +1,5 @@ use borsh::BorshSerialize; -use light_ctoken_types::instructions::{ +use light_ctoken_interface::instructions::{ create_associated_token_account::CreateAssociatedTokenAccountInstructionData, extensions::compressible::CompressibleExtensionInstructionData, }; @@ -18,10 +18,10 @@ pub fn derive_ctoken_ata(owner: &Pubkey, mint: &Pubkey) -> (Pubkey, u8) { Pubkey::find_program_address( &[ owner.as_ref(), - light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID.as_ref(), + light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID.as_ref(), mint.as_ref(), ], - &Pubkey::from(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + &Pubkey::from(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), ) } @@ -126,7 +126,7 @@ impl CreateAssociatedTokenAccount { } Ok(Instruction { - program_id: Pubkey::from(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::from(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts, data, }) diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs b/sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs index 46dc0dc87c..e691885941 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs @@ -1,7 +1,7 @@ use light_compressed_account::instruction_data::{ compressed_proof::CompressedProof, traits::LightInstructionData, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::ExtensionInstructionData, mint_action::{CompressedMintInstructionData, CpiContext}, @@ -76,7 +76,7 @@ impl CreateCMint { let compressed_mint_instruction_data = CompressedMintInstructionData { supply: 0, decimals: self.params.decimals, - metadata: light_ctoken_types::state::CompressedMintMetadata { + metadata: light_ctoken_interface::state::CompressedMintMetadata { version: 3, mint: self.params.mint.to_bytes().into(), spl_mint_initialized: false, @@ -90,7 +90,7 @@ impl CreateCMint { }; let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new_mint( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new_mint( compression_address, self.params.address_merkle_tree_root_index, self.params.proof, @@ -119,7 +119,7 @@ impl CreateCMint { .map_err(|e| ProgramError::BorshIoError(e.to_string()))?; Ok(Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }) @@ -217,7 +217,7 @@ impl CreateCompressedMintCpiWrite { let compressed_mint_instruction_data = CompressedMintInstructionData { supply: 0, decimals: self.params.decimals, - metadata: light_ctoken_types::state::CompressedMintMetadata { + metadata: light_ctoken_interface::state::CompressedMintMetadata { version: self.params.version, mint: self.params.mint.to_bytes().into(), spl_mint_initialized: false, @@ -231,7 +231,7 @@ impl CreateCompressedMintCpiWrite { }; let instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new_mint_write_to_cpi_context( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new_mint_write_to_cpi_context( self.params.compression_address, self.params.address_merkle_tree_root_index, compressed_mint_instruction_data, @@ -252,7 +252,7 @@ impl CreateCompressedMintCpiWrite { .map_err(|e| ProgramError::BorshIoError(e.to_string()))?; Ok(Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }) @@ -451,7 +451,7 @@ pub fn derive_compressed_mint_address( light_compressed_account::address::derive_address( &find_spl_mint_address(mint_seed).0.to_bytes(), &address_tree_pubkey.to_bytes(), - &light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + &light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ) } @@ -460,7 +460,7 @@ pub fn derive_cmint_from_spl_mint(mint: &Pubkey, address_tree_pubkey: &Pubkey) - light_compressed_account::address::derive_address( &mint.to_bytes(), &address_tree_pubkey.to_bytes(), - &light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID, + &light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID, ) } @@ -468,6 +468,6 @@ pub fn derive_cmint_from_spl_mint(mint: &Pubkey, address_tree_pubkey: &Pubkey) - pub fn find_spl_mint_address(mint_seed: &Pubkey) -> (Pubkey, u8) { Pubkey::find_program_address( &[COMPRESSED_MINT_SEED, mint_seed.as_ref()], - &Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + &Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), ) } diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs b/sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs index 8ed157e59d..3e12014ee6 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs @@ -1,7 +1,7 @@ use light_compressed_account::instruction_data::{ compressed_proof::ValidityProof, traits::LightInstructionData, }; -use light_ctoken_types::instructions::mint_action::{ +use light_ctoken_interface::instructions::mint_action::{ CompressedMintWithContext, CpiContext, MintToCTokenAction, }; use solana_account_info::AccountInfo; @@ -100,7 +100,7 @@ impl MintToCToken { pub fn instruction(self) -> Result { // Build instruction data with mint_to_ctoken actions let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new( self.params.compressed_mint_inputs.clone(), self.params.proof.0, ); @@ -139,7 +139,7 @@ impl MintToCToken { .map_err(|e| ProgramError::BorshIoError(e.to_string()))?; Ok(Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }) @@ -223,7 +223,7 @@ impl MintToCTokenCpiWrite { // Build instruction data with mint_to_ctoken actions let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new( self.params.compressed_mint_inputs.clone(), None, // No proof for CPI write ); @@ -249,7 +249,7 @@ impl MintToCTokenCpiWrite { .map_err(|e| ProgramError::BorshIoError(e.to_string()))?; Ok(Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }) diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs b/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs index 130e4326ac..52f2d605a3 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs @@ -16,7 +16,7 @@ pub use create_ata::*; pub use create_cmint::*; use light_compressed_token_types::POOL_SEED; use light_compressible::config::CompressibleConfig; -pub use light_ctoken_types::{ +pub use light_ctoken_interface::{ instructions::extensions::{compressible::CompressToPubkey, ExtensionInstructionData}, state::TokenDataVersion, }; diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs index 2c39178f25..71179e53a9 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs @@ -1,5 +1,5 @@ use light_compressed_account::instruction_data::compressed_proof::ValidityProof; -use light_ctoken_types::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; +use light_ctoken_interface::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; use light_program_profiler::profile; use solana_account_info::AccountInfo; use solana_cpi::{invoke, invoke_signed}; diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs index 292590f303..b579a3d917 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs +++ b/sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs @@ -1,5 +1,5 @@ use light_compressed_account::instruction_data::compressed_proof::ValidityProof; -use light_ctoken_types::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; +use light_ctoken_interface::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; use solana_account_info::AccountInfo; use solana_cpi::{invoke, invoke_signed}; use solana_instruction::{AccountMeta, Instruction}; diff --git a/sdk-libs/compressed-token-sdk/src/error.rs b/sdk-libs/compressed-token-sdk/src/error.rs index aaf5dd0d41..bb1b260987 100644 --- a/sdk-libs/compressed-token-sdk/src/error.rs +++ b/sdk-libs/compressed-token-sdk/src/error.rs @@ -1,6 +1,6 @@ use light_account_checks::AccountError; use light_compressed_token_types::error::LightTokenSdkTypeError; -use light_ctoken_types::CTokenError; +use light_ctoken_interface::CTokenError; use light_sdk::error::LightSdkError; use light_sdk_types::error::LightSdkTypesError; use light_zero_copy::errors::ZeroCopyError; diff --git a/sdk-libs/compressed-token-sdk/src/pack.rs b/sdk-libs/compressed-token-sdk/src/pack.rs index 60eeab2330..d995e7443a 100644 --- a/sdk-libs/compressed-token-sdk/src/pack.rs +++ b/sdk-libs/compressed-token-sdk/src/pack.rs @@ -1,7 +1,7 @@ //! Pack implementation for TokenData types for c-tokens. use light_compressed_account::compressed_account::CompressedAccountWithMerkleContext; -pub use light_ctoken_types::state::TokenData; -use light_ctoken_types::state::TokenDataVersion; +pub use light_ctoken_interface::state::TokenData; +use light_ctoken_interface::state::TokenDataVersion; use light_sdk::{ instruction::PackedAccounts, light_hasher::{sha256::Sha256BE, HasherError}, @@ -25,7 +25,7 @@ pub trait Unpack { } impl Pack for TokenData { - type Packed = light_ctoken_types::instructions::transfer2::MultiTokenTransferOutputData; + type Packed = light_ctoken_interface::instructions::transfer2::MultiTokenTransferOutputData; fn pack(&self, remaining_accounts: &mut PackedAccounts) -> Self::Packed { Self::Packed { @@ -68,14 +68,14 @@ pub mod compat { Frozen = 1, } - impl From for light_ctoken_types::state::CompressedTokenAccountState { + impl From for light_ctoken_interface::state::CompressedTokenAccountState { fn from(state: AccountState) -> Self { match state { AccountState::Initialized => { - light_ctoken_types::state::CompressedTokenAccountState::Initialized + light_ctoken_interface::state::CompressedTokenAccountState::Initialized } AccountState::Frozen => { - light_ctoken_types::state::CompressedTokenAccountState::Frozen + light_ctoken_interface::state::CompressedTokenAccountState::Frozen } } } @@ -146,7 +146,7 @@ pub mod compat { impl From for crate::pack::TokenData { fn from(data: TokenData) -> Self { - use light_ctoken_types::state::CompressedTokenAccountState; + use light_ctoken_interface::state::CompressedTokenAccountState; Self { mint: data.mint.to_bytes().into(), @@ -321,7 +321,7 @@ pub mod compat { // TODO: remove aliases in separate PR pub type InputTokenDataCompressible = - light_ctoken_types::instructions::transfer2::MultiTokenTransferOutputData; + light_ctoken_interface::instructions::transfer2::MultiTokenTransferOutputData; pub type CompressibleTokenDataWithVariant = CTokenDataWithVariant; pub type PackedCompressibleTokenDataWithVariant = PackedCTokenDataWithVariant; pub type CTokenData = CTokenDataWithVariant; diff --git a/sdk-libs/compressed-token-sdk/src/token_pool.rs b/sdk-libs/compressed-token-sdk/src/token_pool.rs index e5a010e000..062bf409b4 100644 --- a/sdk-libs/compressed-token-sdk/src/token_pool.rs +++ b/sdk-libs/compressed-token-sdk/src/token_pool.rs @@ -1,5 +1,5 @@ use light_compressed_token_types::constants::POOL_SEED; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use solana_pubkey::Pubkey; use crate::{AnchorDeserialize, AnchorSerialize}; diff --git a/sdk-libs/compressed-token-sdk/src/utils.rs b/sdk-libs/compressed-token-sdk/src/utils.rs index b244c05afa..a0a9e9b1be 100644 --- a/sdk-libs/compressed-token-sdk/src/utils.rs +++ b/sdk-libs/compressed-token-sdk/src/utils.rs @@ -1,4 +1,4 @@ -use light_ctoken_types::instructions::transfer2::MultiInputTokenDataWithContext; +use light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext; use light_sdk_types::C_TOKEN_PROGRAM_ID; use solana_account_info::AccountInfo; use solana_instruction::AccountMeta; 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 b92025c733..cd8b14f599 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 @@ -5,7 +5,7 @@ use light_compressed_token_sdk::compressed_token::mint_action::{ cpi_accounts::MintActionCpiAccountsConfig, MintActionCpiAccounts, }; use light_compressed_token_types::CPI_AUTHORITY_PDA; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_sdk_types::{ ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, LIGHT_SYSTEM_PROGRAM_ID, REGISTERED_PROGRAM_PDA, diff --git a/sdk-libs/macros/src/compressible/GUIDE.md b/sdk-libs/macros/src/compressible/GUIDE.md index d5f9c0cd10..fb42fe362c 100644 --- a/sdk-libs/macros/src/compressible/GUIDE.md +++ b/sdk-libs/macros/src/compressible/GUIDE.md @@ -150,7 +150,7 @@ let ix = create_compressible_associated_token_account(CreateCompressibleAssociat rent_sponsor, pre_pay_num_epochs: 2, lamports_per_write: Some(1_000), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, })?; ``` @@ -161,7 +161,7 @@ use light_compressed_token_sdk::instructions::{ create_compressed_mint, CreateCompressedMintInputs, create_mint_to_compressed_instruction, MintToCompressedInputs }; -use light_ctoken_types::instructions::mint_action::Recipient; +use light_ctoken_interface::instructions::mint_action::Recipient; let create_cmint_ix = create_compressed_mint(CreateCompressedMintInputs { /* fill from RPC + keys */ })?; let mint_ix = create_mint_to_compressed_instruction(MintToCompressedInputs { @@ -177,10 +177,10 @@ use light_token_client::actions::{create_compressible_token_account, CreateCompr let token_acc = create_compressible_token_account(&mut rpc, CreateCompressibleTokenAccountInputs { owner, mint, num_prepaid_epochs: 2, payer: &payer, token_account_keypair: None, - lamports_per_write: None, token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat + lamports_per_write: None, token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat }).await?; -let sig = mint_to_compressed(&mut rpc, spl_mint_pda, vec![Recipient{ recipient: token_acc, amount: 1000 }], light_ctoken_types::state::TokenDataVersion::ShaFlat, &mint_authority, &payer).await?; +let sig = mint_to_compressed(&mut rpc, spl_mint_pda, vec![Recipient{ recipient: token_acc, amount: 1000 }], light_ctoken_interface::state::TokenDataVersion::ShaFlat, &mint_authority, &payer).await?; ``` ### TL;DR checklists diff --git a/sdk-libs/program-test/Cargo.toml b/sdk-libs/program-test/Cargo.toml index 9efe7b37fe..7993839fcb 100644 --- a/sdk-libs/program-test/Cargo.toml +++ b/sdk-libs/program-test/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [features] default = [] -devenv = ["v2","light-client/devenv", "light-prover-client/devenv", "dep:account-compression", "dep:light-compressed-token", "dep:light-ctoken-types", "dep:light-compressible", "dep:light-registry", "dep:light-batched-merkle-tree", "dep:light-concurrent-merkle-tree"] +devenv = ["v2","light-client/devenv", "light-prover-client/devenv", "dep:account-compression", "dep:light-compressed-token", "dep:light-ctoken-interface", "dep:light-compressible", "dep:light-registry", "dep:light-batched-merkle-tree", "dep:light-concurrent-merkle-tree"] v2 = ["light-client/v2"] [dependencies] @@ -18,7 +18,7 @@ light-merkle-tree-reference = { workspace = true } light-merkle-tree-metadata = { workspace = true, features = ["anchor"] } light-concurrent-merkle-tree = { workspace = true, optional = true } light-hasher = { workspace = true, features = ["poseidon", "sha256", "keccak", "std"] } -light-ctoken-types = { workspace = true, optional = true } +light-ctoken-interface = { workspace = true, optional = true } light-compressible = { workspace = true, optional = true } light-compressed-token-sdk = { workspace = true } light-compressed-account = { workspace = true, features = ["anchor", "poseidon"] } diff --git a/sdk-libs/program-test/src/compressible.rs b/sdk-libs/program-test/src/compressible.rs index 7a9acfee53..6753a79545 100644 --- a/sdk-libs/program-test/src/compressible.rs +++ b/sdk-libs/program-test/src/compressible.rs @@ -14,7 +14,7 @@ use light_compressible::rent::RentConfig; #[cfg(feature = "devenv")] use light_compressible::rent::SLOTS_PER_EPOCH; #[cfg(feature = "devenv")] -use light_ctoken_types::{ +use light_ctoken_interface::{ state::{CToken, ExtensionStruct}, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; 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 5d62a1df00..65972c44ce 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 @@ -83,7 +83,7 @@ pub async fn compress_and_close_forester( packed_accounts.insert_or_get(output_queue); // Parse the ctoken account to get required pubkeys - use light_ctoken_types::state::{CToken, ZExtensionStruct}; + use light_ctoken_interface::state::{CToken, ZExtensionStruct}; use light_zero_copy::traits::ZeroCopyAt; let mut indices_vec = Vec::with_capacity(solana_ctoken_accounts.len()); diff --git a/sdk-libs/token-client/Cargo.toml b/sdk-libs/token-client/Cargo.toml index 7790616f5b..2c6e0cb01f 100644 --- a/sdk-libs/token-client/Cargo.toml +++ b/sdk-libs/token-client/Cargo.toml @@ -9,7 +9,7 @@ edition = { workspace = true } # Light Protocol dependencies light-compressed-token-types = { workspace = true } light-compressed-account = { workspace = true, features = ["std"] } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-sdk = { workspace = true } light-client = { workspace = true, features = ["v2"] } light-compressed-token-sdk = { workspace = true } 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 dc182db510..187e593b49 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,6 +1,6 @@ use light_client::rpc::{Rpc, RpcError}; use light_compressed_token_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; -use light_ctoken_types::state::TokenDataVersion; +use light_ctoken_interface::state::TokenDataVersion; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signer::Signer; diff --git a/sdk-libs/token-client/src/actions/create_mint.rs b/sdk-libs/token-client/src/actions/create_mint.rs index 7440dfb7d1..97eb3dec40 100644 --- a/sdk-libs/token-client/src/actions/create_mint.rs +++ b/sdk-libs/token-client/src/actions/create_mint.rs @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_ctoken_types::instructions::extensions::TokenMetadataInstructionData; +use light_ctoken_interface::instructions::extensions::TokenMetadataInstructionData; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signature::Signature; diff --git a/sdk-libs/token-client/src/actions/ctoken_transfer.rs b/sdk-libs/token-client/src/actions/ctoken_transfer.rs index 38c9b9be54..4804812f91 100644 --- a/sdk-libs/token-client/src/actions/ctoken_transfer.rs +++ b/sdk-libs/token-client/src/actions/ctoken_transfer.rs @@ -56,7 +56,7 @@ pub fn create_transfer_ctoken_instruction( authority: Pubkey, ) -> Result { let transfer_instruction = Instruction { - program_id: Pubkey::from(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::from(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: vec![ AccountMeta::new(source, false), // Source token account AccountMeta::new(destination, false), // Destination token account diff --git a/sdk-libs/token-client/src/actions/mint_action.rs b/sdk-libs/token-client/src/actions/mint_action.rs index 7949486ec4..95b44c95d5 100644 --- a/sdk-libs/token-client/src/actions/mint_action.rs +++ b/sdk-libs/token-client/src/actions/mint_action.rs @@ -3,7 +3,7 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address; -use light_ctoken_types::instructions::mint_action::Recipient; +use light_ctoken_interface::instructions::mint_action::Recipient; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signature::Signature; diff --git a/sdk-libs/token-client/src/actions/mint_to_compressed.rs b/sdk-libs/token-client/src/actions/mint_to_compressed.rs index 98c5bd5f87..eccea7e0d5 100644 --- a/sdk-libs/token-client/src/actions/mint_to_compressed.rs +++ b/sdk-libs/token-client/src/actions/mint_to_compressed.rs @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_ctoken_types::{instructions::mint_action::Recipient, state::TokenDataVersion}; +use light_ctoken_interface::{instructions::mint_action::Recipient, state::TokenDataVersion}; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signature::Signature; diff --git a/sdk-libs/token-client/src/instructions/create_mint.rs b/sdk-libs/token-client/src/instructions/create_mint.rs index a446c55d78..f55afdbd1a 100644 --- a/sdk-libs/token-client/src/instructions/create_mint.rs +++ b/sdk-libs/token-client/src/instructions/create_mint.rs @@ -5,7 +5,7 @@ use light_client::{ use light_compressed_token_sdk::ctoken::{ derive_compressed_mint_address, find_spl_mint_address, CreateCMint, CreateCMintParams, }; -use light_ctoken_types::instructions::extensions::{ +use light_ctoken_interface::instructions::extensions::{ token_metadata::TokenMetadataInstructionData, ExtensionInstructionData, }; use solana_instruction::Instruction; diff --git a/sdk-libs/token-client/src/instructions/mint_action.rs b/sdk-libs/token-client/src/instructions/mint_action.rs index 9a067079ee..85067127d0 100644 --- a/sdk-libs/token-client/src/instructions/mint_action.rs +++ b/sdk-libs/token-client/src/instructions/mint_action.rs @@ -8,7 +8,7 @@ use light_compressed_token_sdk::compressed_token::{ create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, mint_action::MintActionMetaConfig, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::{token_metadata::TokenMetadataInstructionData, ExtensionInstructionData}, mint_action::{ @@ -121,10 +121,10 @@ pub async fn create_mint_action_instruction( })?; let mint_data = - light_ctoken_types::instructions::mint_action::CompressedMintInstructionData { + light_ctoken_interface::instructions::mint_action::CompressedMintInstructionData { supply: new_mint.supply, decimals: new_mint.decimals, - metadata: light_ctoken_types::state::CompressedMintMetadata { + metadata: light_ctoken_interface::state::CompressedMintMetadata { version: new_mint.version, mint: find_spl_mint_address(¶ms.mint_seed).0.to_bytes().into(), spl_mint_initialized: false, // Will be set to true if CreateSplMint action is present 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 46272b5f95..28c7123b4a 100644 --- a/sdk-libs/token-client/src/instructions/mint_to_compressed.rs +++ b/sdk-libs/token-client/src/instructions/mint_to_compressed.rs @@ -12,7 +12,7 @@ use light_compressed_token_sdk::{ }, token_pool::{derive_token_pool, find_token_pool_pda_with_index}, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintWithContext, Recipient}, state::{CompressedMint, TokenDataVersion}, }; diff --git a/sdk-libs/token-client/src/instructions/transfer2.rs b/sdk-libs/token-client/src/instructions/transfer2.rs index f5758116d1..64215cfbe4 100644 --- a/sdk-libs/token-client/src/instructions/transfer2.rs +++ b/sdk-libs/token-client/src/instructions/transfer2.rs @@ -13,7 +13,7 @@ use light_compressed_token_sdk::{ error::TokenSdkError, token_pool::find_token_pool_pda_with_index, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::transfer2::{MultiInputTokenDataWithContext, MultiTokenTransferOutputData}, state::TokenDataVersion, COMPRESSED_TOKEN_PROGRAM_ID, @@ -513,7 +513,7 @@ pub async fn create_generic_transfer2_instruction( .ok_or(TokenSdkError::InvalidAccountData)?; // Parse the compressed token account using zero-copy deserialization - use light_ctoken_types::state::{CToken, ZExtensionStruct}; + use light_ctoken_interface::state::{CToken, ZExtensionStruct}; use light_zero_copy::traits::ZeroCopyAt; let (compressed_token, _) = CToken::zero_copy_at(&token_account_info.data) .map_err(|_| TokenSdkError::InvalidAccountData)?; 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 9a84d826ae..aa6ec202c3 100644 --- a/sdk-libs/token-client/src/instructions/update_compressed_mint.rs +++ b/sdk-libs/token-client/src/instructions/update_compressed_mint.rs @@ -9,7 +9,7 @@ use light_compressed_token_sdk::{ }, CompressedMintAuthorityType, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMint, }; @@ -47,7 +47,7 @@ pub async fn update_compressed_mint_instruction( // Get compressed account from indexer let compressed_accounts = rpc .get_compressed_accounts_by_owner( - &Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + &Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), None, None, ) diff --git a/sdk-tests/csdk-anchor-derived-test/Cargo.toml b/sdk-tests/csdk-anchor-derived-test/Cargo.toml index 7c3f405d9b..cc0d4a49df 100644 --- a/sdk-tests/csdk-anchor-derived-test/Cargo.toml +++ b/sdk-tests/csdk-anchor-derived-test/Cargo.toml @@ -29,7 +29,7 @@ borsh = { workspace = true } light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-compressed-token-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } @@ -57,5 +57,3 @@ check-cfg = [ 'cfg(target_os, values("solana"))', 'cfg(feature, values("frozen-abi", "no-entrypoint"))', ] - - diff --git a/sdk-tests/csdk-anchor-derived-test/src/lib.rs b/sdk-tests/csdk-anchor-derived-test/src/lib.rs index 94958595ce..9053fd2c4f 100644 --- a/sdk-tests/csdk-anchor-derived-test/src/lib.rs +++ b/sdk-tests/csdk-anchor-derived-test/src/lib.rs @@ -28,7 +28,7 @@ pub mod csdk_anchor_derived_test { use light_compressed_token_sdk::compressed_token::{ create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, }; - use light_ctoken_types::instructions::mint_action::{ + use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; use light_sdk::{ @@ -154,17 +154,19 @@ pub mod csdk_anchor_derived_test { token_account_version: 3, recipients: vec![Recipient::new(token_account_address, 1000)], }) - .with_cpi_context(light_ctoken_types::instructions::mint_action::CpiContext { - address_tree_pubkey: address_tree_pubkey.to_bytes(), - set_context: false, - first_set_context: false, - in_tree_index: 1, - in_queue_index: 0, - out_queue_index: 0, - token_out_queue_index: 0, - assigned_account_index: 2, - read_only_address_trees: [0; 4], - }); + .with_cpi_context( + light_ctoken_interface::instructions::mint_action::CpiContext { + address_tree_pubkey: address_tree_pubkey.to_bytes(), + set_context: false, + first_set_context: false, + in_tree_index: 1, + in_queue_index: 0, + out_queue_index: 0, + token_out_queue_index: 0, + assigned_account_index: 2, + read_only_address_trees: [0; 4], + }, + ); // Build account metas let mut config = MintActionMetaConfig::new_create_mint( @@ -185,7 +187,7 @@ pub mod csdk_anchor_derived_test { // Build mint action instruction let mint_action_instruction = solana_program::instruction::Instruction { - program_id: light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID.into(), + program_id: light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID.into(), accounts: account_metas, data, }; diff --git a/sdk-tests/csdk-anchor-derived-test/src/state.rs b/sdk-tests/csdk-anchor-derived-test/src/state.rs index d09851f5c8..4ae5ce9f8f 100644 --- a/sdk-tests/csdk-anchor-derived-test/src/state.rs +++ b/sdk-tests/csdk-anchor-derived-test/src/state.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_ctoken_types::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; use light_sdk::{ compressible::CompressionInfo, instruction::{PackedAddressTreeInfo, ValidityProof}, diff --git a/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs b/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs index 4076231f51..aae4b75701 100644 --- a/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs +++ b/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs @@ -4,7 +4,7 @@ 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, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; diff --git a/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml b/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml index 898b0569a8..298553a72b 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml +++ b/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml @@ -31,7 +31,7 @@ borsh = { workspace = true } light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-compressed-token-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } @@ -59,4 +59,3 @@ check-cfg = [ 'cfg(target_os, values("solana"))', 'cfg(feature, values("frozen-abi", "no-entrypoint"))', ] - diff --git a/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs b/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs index 469afd563e..70fa8a5d0b 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs +++ b/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs @@ -65,7 +65,7 @@ pub mod csdk_anchor_full_derived_test { use light_compressed_token_sdk::compressed_token::{ create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, }; - use light_ctoken_types::instructions::mint_action::{ + use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; use light_sdk::{ @@ -195,17 +195,19 @@ pub mod csdk_anchor_full_derived_test { token_account_version: 3, recipients: vec![Recipient::new(token_account_address, 1000)], }) - .with_cpi_context(light_ctoken_types::instructions::mint_action::CpiContext { - address_tree_pubkey: address_tree_pubkey.to_bytes(), - set_context: false, - first_set_context: false, - in_tree_index: 1, - in_queue_index: 0, - out_queue_index: 0, - token_out_queue_index: 0, - assigned_account_index: 2, - read_only_address_trees: [0; 4], - }); + .with_cpi_context( + light_ctoken_interface::instructions::mint_action::CpiContext { + address_tree_pubkey: address_tree_pubkey.to_bytes(), + set_context: false, + first_set_context: false, + in_tree_index: 1, + in_queue_index: 0, + out_queue_index: 0, + token_out_queue_index: 0, + assigned_account_index: 2, + read_only_address_trees: [0; 4], + }, + ); // Build account metas let mut config = MintActionMetaConfig::new_create_mint( @@ -226,7 +228,7 @@ pub mod csdk_anchor_full_derived_test { // Build mint action instruction let mint_action_instruction = solana_program::instruction::Instruction { - program_id: light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID.into(), + program_id: light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID.into(), accounts: account_metas, data, }; diff --git a/sdk-tests/csdk-anchor-full-derived-test/src/state.rs b/sdk-tests/csdk-anchor-full-derived-test/src/state.rs index b6a12a44cd..1e9a13ea9c 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/src/state.rs +++ b/sdk-tests/csdk-anchor-full-derived-test/src/state.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_ctoken_types::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; use light_sdk::{ compressible::CompressionInfo, instruction::{PackedAddressTreeInfo, ValidityProof}, diff --git a/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs b/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs index c0e75494c4..f9b0c2ab47 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs +++ b/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs @@ -6,7 +6,7 @@ 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, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; diff --git a/sdk-tests/sdk-compressible-test/Cargo.toml b/sdk-tests/sdk-compressible-test/Cargo.toml index 64e044bd2c..efb1ea0f15 100644 --- a/sdk-tests/sdk-compressible-test/Cargo.toml +++ b/sdk-tests/sdk-compressible-test/Cargo.toml @@ -28,7 +28,7 @@ borsh = { workspace = true } light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-compressed-token-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } @@ -55,4 +55,4 @@ level = "allow" check-cfg = [ 'cfg(target_os, values("solana"))', 'cfg(feature, values("frozen-abi", "no-entrypoint"))', -] \ No newline at end of file +] 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 82ced54e46..ea8bc6a3b5 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 @@ -6,7 +6,7 @@ use light_compressed_account::instruction_data::traits::LightInstructionData; use light_compressed_token_sdk::compressed_token::{ create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, }; -use light_ctoken_types::instructions::mint_action::{MintToCompressedAction, Recipient}; +use light_ctoken_interface::instructions::mint_action::{MintToCompressedAction, Recipient}; use light_sdk::{ compressible::{ compress_account_on_init::prepare_compressed_account_on_init, CompressibleConfig, @@ -123,7 +123,7 @@ pub fn create_user_record_and_game_session<'info>( let proof = compression_params.proof.0.unwrap_or_default(); let mut instruction_data = - light_ctoken_types::instructions::mint_action::MintActionCompressedInstructionData::new_mint( + light_ctoken_interface::instructions::mint_action::MintActionCompressedInstructionData::new_mint( compression_params.mint_with_context.address, 0, // root_index proof, @@ -157,7 +157,7 @@ pub fn create_user_record_and_game_session<'info>( ])); instruction_data = instruction_data.with_cpi_context( - light_ctoken_types::instructions::mint_action::CpiContext { + light_ctoken_interface::instructions::mint_action::CpiContext { address_tree_pubkey: address_tree_pubkey.to_bytes(), set_context: false, first_set_context: false, @@ -191,7 +191,7 @@ pub fn create_user_record_and_game_session<'info>( // Build instruction let mint_action_instruction = Instruction { - program_id: Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID), + program_id: Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID), accounts: account_metas, data, }; 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 5d0c623c23..bb8f901660 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 @@ -217,7 +217,7 @@ pub fn decompress_accounts_idempotent<'info>( .cloned() .collect(); let compress_to_pubkey = - light_ctoken_types::instructions::extensions::compressible::CompressToPubkey { + light_ctoken_interface::instructions::extensions::compressible::CompressToPubkey { bump, program_id: crate::ID.to_bytes(), seeds: seeds_without_bump, @@ -235,7 +235,8 @@ pub fn decompress_accounts_idempotent<'info>( pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: Some(compress_to_pubkey), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: + light_ctoken_interface::state::TokenDataVersion::ShaFlat, }), } .invoke_signed(&[seeds_slice])?; @@ -243,7 +244,7 @@ pub fn decompress_accounts_idempotent<'info>( // Construct MultiInputTokenDataWithContext from token data and meta let source = - light_ctoken_types::instructions::transfer2::MultiInputTokenDataWithContext { + light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext { owner: token_data.token_data.owner, amount: token_data.token_data.amount, has_delegate: token_data.token_data.has_delegate, diff --git a/sdk-tests/sdk-compressible-test/src/state.rs b/sdk-tests/sdk-compressible-test/src/state.rs index dd3446c331..f6bc32f54b 100644 --- a/sdk-tests/sdk-compressible-test/src/state.rs +++ b/sdk-tests/sdk-compressible-test/src/state.rs @@ -4,7 +4,7 @@ use anchor_lang::prelude::*; use light_compressed_token_sdk::Pack as _TokenPack; -use light_ctoken_types::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; use light_sdk::{ account::Size, compressible::{ 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 7c22e18606..90f44f71e3 100644 --- a/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs +++ b/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs @@ -12,7 +12,7 @@ use light_compressed_token_sdk::{ }; use light_compressed_token_types::CPI_AUTHORITY_PDA; use light_compressible_client::compressible_instruction; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; diff --git a/sdk-tests/sdk-ctoken-test/Cargo.lock b/sdk-tests/sdk-ctoken-test/Cargo.lock index 1ae81830d8..9385c48ff9 100644 --- a/sdk-tests/sdk-ctoken-test/Cargo.lock +++ b/sdk-tests/sdk-ctoken-test/Cargo.lock @@ -2496,7 +2496,7 @@ dependencies = [ "light-compressed-account", "light-compressed-token-types", "light-compressible", - "light-ctoken-types", + "light-ctoken-interface", "light-macros", "light-program-profiler", "light-sdk", @@ -2576,7 +2576,7 @@ dependencies = [ ] [[package]] -name = "light-ctoken-types" +name = "light-ctoken-interface" version = "0.1.0" dependencies = [ "aligned-sized", @@ -2811,7 +2811,7 @@ dependencies = [ "borsh 0.10.4", "light-account-checks", "light-compressed-account", - "light-ctoken-types", + "light-ctoken-interface", "light-hasher", "light-macros", "light-sdk-macros", @@ -3064,7 +3064,7 @@ dependencies = [ "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible-client", - "light-ctoken-types", + "light-ctoken-interface", "light-program-test", "light-sdk", "light-sdk-types", diff --git a/sdk-tests/sdk-ctoken-test/Cargo.toml b/sdk-tests/sdk-ctoken-test/Cargo.toml index eacd5ae2fe..c12ed50b17 100644 --- a/sdk-tests/sdk-ctoken-test/Cargo.toml +++ b/sdk-tests/sdk-ctoken-test/Cargo.toml @@ -18,7 +18,7 @@ default = [] # Light Protocol SDK dependencies (workspace-based) light-compressed-token-sdk = { workspace = true } light-compressed-token-types = { workspace = true } -light-ctoken-types = { workspace = true } +light-ctoken-interface = { workspace = true } light-sdk = { workspace = true, features = ["v2"] } light-sdk-types = { workspace = true } light-client = { workspace = true, optional = true } diff --git a/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs b/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs index c2747f47d9..067b0b25c5 100644 --- a/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs @@ -2,7 +2,7 @@ use borsh::{BorshDeserialize, BorshSerialize}; use light_compressed_token_sdk::ctoken::{ MintToCTokenInfos, MintToCTokenParams, SystemAccountInfos, }; -use light_ctoken_types::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; use light_sdk::instruction::ValidityProof; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; diff --git a/sdk-tests/sdk-ctoken-test/tests/shared.rs b/sdk-tests/sdk-ctoken-test/tests/shared.rs index 95d2efcdd0..20725eda91 100644 --- a/sdk-tests/sdk-ctoken-test/tests/shared.rs +++ b/sdk-tests/sdk-ctoken-test/tests/shared.rs @@ -124,7 +124,7 @@ pub async fn setup_create_compressed_mint( .value .expect("Compressed mint should exist"); - use light_ctoken_types::state::CompressedMint; + use light_ctoken_interface::state::CompressedMint; let compressed_mint = CompressedMint::deserialize(&mut compressed_mint_account.data.unwrap().data.as_slice()) .unwrap(); @@ -137,7 +137,7 @@ pub async fn setup_create_compressed_mint( .value; // Build CompressedMintWithContext - use light_ctoken_types::instructions::mint_action::CompressedMintWithContext; + use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; let compressed_mint_with_context = CompressedMintWithContext { address: compression_address, leaf_index: compressed_mint_account.leaf_index, diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs index 31b43afce4..d78bf70631 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs @@ -73,7 +73,7 @@ async fn test_create_ata_invoke() { let ata_account_data = rpc.get_account(ata_address).await.unwrap().unwrap(); // Parse and verify account data - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ata_account_data.data[..]).unwrap(); assert_eq!( account_state.mint.to_bytes(), @@ -159,7 +159,7 @@ async fn test_create_ata_invoke_signed() { let ata_account_data = rpc.get_account(ata_address).await.unwrap().unwrap(); // Parse and verify account data - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ata_account_data.data[..]).unwrap(); assert_eq!( account_state.mint.to_bytes(), diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs index 7bec1fd189..94e912fe12 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs @@ -5,7 +5,7 @@ mod shared; use borsh::BorshSerialize; use light_client::{indexer::Indexer, rpc::Rpc}; use light_compressed_token_sdk::compressed_token::mint_action::MintActionMetaConfig; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::extensions::{ token_metadata::TokenMetadataInstructionData, ExtensionInstructionData, }, @@ -39,7 +39,7 @@ async fn test_create_compressed_mint() { let output_queue = rpc.get_random_state_tree_info().unwrap().queue; let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); // Use SDK helper to derive the compression address correctly let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( @@ -148,7 +148,7 @@ async fn test_create_compressed_mint_invoke_signed() { let output_queue = rpc.get_random_state_tree_info().unwrap().queue; let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); // Use SDK helper to derive the compression address correctly let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs index 69bd7cad30..290f0e10e4 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs @@ -73,7 +73,7 @@ async fn test_create_token_account_invoke() { .unwrap(); // Parse and verify account data - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ctoken_account_data.data[..]).unwrap(); assert_eq!( account_state.mint.to_bytes(), @@ -146,7 +146,7 @@ async fn test_create_token_account_invoke_signed() { let ctoken_account_data = rpc.get_account(ctoken_account_pda).await.unwrap().unwrap(); // Parse and verify account data - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ctoken_account_data.data[..]).unwrap(); assert_eq!( account_state.mint.to_bytes(), diff --git a/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs b/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs index f2e6fdc4f8..520e0816b1 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs @@ -85,7 +85,7 @@ async fn test_mint_to_ctoken() { .expect("Compressed mint should exist"); // Deserialize the compressed mint data - use light_ctoken_types::state::CompressedMint; + use light_ctoken_interface::state::CompressedMint; let compressed_mint = CompressedMint::deserialize(&mut compressed_mint_account.data.unwrap().data.as_slice()) .unwrap(); @@ -103,7 +103,7 @@ async fn test_mint_to_ctoken() { // Build CompressedMintWithContext from the compressed account let compressed_mint_with_context = - light_ctoken_types::instructions::mint_action::CompressedMintWithContext { + light_ctoken_interface::instructions::mint_action::CompressedMintWithContext { address: compression_address, leaf_index: compressed_mint_account.leaf_index, prove_by_index: true, @@ -124,7 +124,7 @@ async fn test_mint_to_ctoken() { // Build wrapper instruction with compressed token program as first account let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let mut wrapper_accounts = vec![AccountMeta::new_readonly( compressed_token_program_id, @@ -160,7 +160,7 @@ async fn test_mint_to_ctoken() { .unwrap(); // Parse the account data to verify balance - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ctoken_account_data.data[..]).unwrap(); assert_eq!(account_state.amount, amount, "Token amount should match"); assert_eq!( @@ -221,7 +221,7 @@ async fn test_mint_to_ctoken_invoke_signed() { .value; let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let default_pubkeys = light_compressed_token_sdk::utils::CTokenDefaultAccounts::default(); // Step 1: Create compressed mint with PDA authority using wrapper program (discriminator 14) @@ -320,7 +320,7 @@ async fn test_mint_to_ctoken_invoke_signed() { .expect("Compressed mint should exist"); // Deserialize the compressed mint data - use light_ctoken_types::state::CompressedMint; + use light_ctoken_interface::state::CompressedMint; let compressed_mint = CompressedMint::deserialize(&mut compressed_mint_account.data.unwrap().data.as_slice()) .unwrap(); @@ -338,7 +338,7 @@ async fn test_mint_to_ctoken_invoke_signed() { // Build CompressedMintWithContext from the compressed account let compressed_mint_with_context = - light_ctoken_types::instructions::mint_action::CompressedMintWithContext { + light_ctoken_interface::instructions::mint_action::CompressedMintWithContext { address: compression_address, leaf_index: compressed_mint_account.leaf_index, prove_by_index: true, @@ -362,7 +362,7 @@ async fn test_mint_to_ctoken_invoke_signed() { // Build accounts manually since SDK marks authority as signer, but we need it as non-signer // for invoke_signed (the wrapper program signs via CPI) let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let default_pubkeys = light_compressed_token_sdk::utils::CTokenDefaultAccounts::default(); let wrapper_accounts = vec![ @@ -401,7 +401,7 @@ async fn test_mint_to_ctoken_invoke_signed() { .unwrap(); // Parse the account data to verify balance - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let account_state = CToken::deserialize(&mut &ctoken_account_data.data[..]).unwrap(); assert_eq!(account_state.amount, amount, "Token amount should match"); assert_eq!( diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs index 65a61cbff7..4a4935d3a0 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs @@ -60,7 +60,7 @@ async fn test_ctoken_transfer_invoke() { .unwrap(); // Verify final balances - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let source_data_after = rpc.get_account(source_ata).await.unwrap().unwrap(); let source_state_after = CToken::deserialize(&mut &source_data_after.data[..]).unwrap(); assert_eq!(source_state_after.amount, 500); @@ -117,7 +117,7 @@ async fn test_ctoken_transfer_invoke_signed() { .unwrap(); // Verify final balances - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; let source_data_after = rpc.get_account(source_ata).await.unwrap().unwrap(); let source_state_after = CToken::deserialize(&mut &source_data_after.data[..]).unwrap(); assert_eq!(source_state_after.amount, 700); diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs index fd1bad5077..f0842d6d9d 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs @@ -77,7 +77,7 @@ async fn test_transfer_interface_spl_to_ctoken_invoke() { // Get token pool PDA let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Build wrapper instruction @@ -183,7 +183,7 @@ async fn test_transfer_interface_ctoken_to_spl_invoke() { let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Transfer SPL to CToken to fund it @@ -323,7 +323,7 @@ async fn test_transfer_interface_ctoken_to_ctoken_invoke() { let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Fund sender CToken @@ -466,7 +466,7 @@ async fn test_transfer_interface_spl_to_ctoken_invoke_signed() { let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); let data = TransferInterfaceData { @@ -589,7 +589,7 @@ async fn test_transfer_interface_ctoken_to_spl_invoke_signed() { let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Fund PDA's CToken @@ -742,7 +742,7 @@ async fn test_transfer_interface_ctoken_to_ctoken_invoke_signed() { let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Fund source CToken diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs index 885930ee30..ef17b103eb 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs @@ -88,7 +88,7 @@ async fn test_spl_to_ctoken_invoke() { // Get token pool PDA let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Build wrapper instruction for SPL to CToken transfer @@ -211,7 +211,7 @@ async fn test_ctoken_to_spl_invoke() { // Transfer from temp SPL to ctoken to fund it let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); { @@ -380,7 +380,7 @@ async fn test_spl_to_ctoken_invoke_signed() { // Get token pool PDA let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); // Build wrapper instruction for SPL to CToken transfer with PDA authority @@ -518,7 +518,7 @@ async fn test_ctoken_to_spl_invoke_signed() { // Transfer from temp SPL to ctoken to fund it let (token_pool_pda, token_pool_pda_bump) = find_token_pool_pda_with_index(&mint, 0); let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let cpi_authority_pda = Pubkey::new_from_array(CPI_AUTHORITY_PDA); { diff --git a/sdk-tests/sdk-token-test/CLAUDE.md b/sdk-tests/sdk-token-test/CLAUDE.md index b188f7f500..2584e13ac3 100644 --- a/sdk-tests/sdk-token-test/CLAUDE.md +++ b/sdk-tests/sdk-token-test/CLAUDE.md @@ -1,7 +1,7 @@ ## TLDR - this is a test program that tests ctoken instructions with light-compressed-token-sdk functions in integration tests - light-compressed-token-sdk: sdk-libs/compressed-token-sdk -- light-ctoken-types: program-libs/ctoken-types +- light-ctoken-interface: program-libs/ctoken-types - light-compressed-token-program: programs/compressed-token/program/ diff --git a/sdk-tests/sdk-token-test/Cargo.toml b/sdk-tests/sdk-token-test/Cargo.toml index 7fae657fcd..5f960d454c 100644 --- a/sdk-tests/sdk-token-test/Cargo.toml +++ b/sdk-tests/sdk-token-test/Cargo.toml @@ -21,13 +21,13 @@ profile-program = [ "light-compressed-token-sdk/profile-program", "light-program-profiler/profile-program", "light-compressed-account/profile-program", - "light-ctoken-types/profile-program", + "light-ctoken-interface/profile-program", ] profile-heap = [ "light-compressed-token-sdk/profile-heap", "light-program-profiler/profile-heap", "light-compressed-account/profile-heap", - "light-ctoken-types/profile-heap", + "light-ctoken-interface/profile-heap", ] [dependencies] @@ -39,7 +39,7 @@ light-sdk-types = { workspace = true, features = ["cpi-context"] } light-compressed-account = { workspace = true, features = ["std"] } arrayvec = { workspace = true } light-batched-merkle-tree = { workspace = true } -light-ctoken-types = { workspace = true, features = ["anchor"] } +light-ctoken-interface = { workspace = true, features = ["anchor"] } light-zero-copy = { workspace = true } light-program-profiler = { workspace = true } 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 f8c5eb8ac3..0fc74a6131 100644 --- a/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs +++ b/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs @@ -2,7 +2,7 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::compressed_token::{ ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, }; -use light_ctoken_types::instructions::mint_action::{ +use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, UpdateAuthority, }; use light_sdk::cpi::v2::CpiAccounts; @@ -37,7 +37,7 @@ pub fn process_mint_action<'a, 'info>( }); instruction_data = instruction_data.with_cpi_context( - light_ctoken_types::instructions::mint_action::CpiContext { + light_ctoken_interface::instructions::mint_action::CpiContext { set_context: false, first_set_context: true, in_tree_index: 0, 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 dd68c0c2bc..68b1a031cd 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 @@ -3,7 +3,7 @@ use light_compressed_token_sdk::compressed_token::{ ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, transfer2::Transfer2CpiAccounts, }; -use light_ctoken_types::instructions::mint_action::{ +use light_ctoken_interface::instructions::mint_action::{ CompressedMintWithContext, MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; @@ -14,7 +14,7 @@ use crate::Generic; pub struct MintCompressedTokensCpiWriteParams { pub compressed_mint_with_context: CompressedMintWithContext, pub recipients: Vec, - pub cpi_context: light_ctoken_types::instructions::mint_action::CpiContext, + pub cpi_context: light_ctoken_interface::instructions::mint_action::CpiContext, pub cpi_context_pubkey: Pubkey, } 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 b35d6bbbf5..931cf165e9 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs @@ -2,7 +2,7 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_token_sdk::compressed_token::{ ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiAccounts, }; -use light_ctoken_types::instructions::mint_action::{ +use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCTokenAction, MintToCompressedAction, UpdateAuthority, }; @@ -37,16 +37,18 @@ pub fn process_mint_action<'a, 'info>( .final_mint_authority .map(|auth| auth.to_bytes().into()), }) - .with_cpi_context(light_ctoken_types::instructions::mint_action::CpiContext { - set_context: false, - first_set_context: false, - in_tree_index: 1, - in_queue_index: 0, - out_queue_index: 0, - token_out_queue_index: 0, - assigned_account_index: 1, - ..Default::default() - }); + .with_cpi_context( + light_ctoken_interface::instructions::mint_action::CpiContext { + set_context: false, + first_set_context: false, + in_tree_index: 1, + in_queue_index: 0, + out_queue_index: 0, + token_out_queue_index: 0, + assigned_account_index: 1, + ..Default::default() + }, + ); // Build account structure for CPI - manually construct from CpiAccounts let tree_accounts = cpi_accounts.tree_accounts().unwrap(); diff --git a/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs b/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs index 551e177124..10684172ca 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::*; use light_compressed_token_sdk::ValidityProof; -use light_ctoken_types::instructions::mint_action::{CompressedMintWithContext, Recipient}; +use light_ctoken_interface::instructions::mint_action::{CompressedMintWithContext, Recipient}; use super::{ create_pda::process_create_escrow_pda_with_cpi_context, mint::process_mint_action, PdaCToken, 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 05cfeae54a..156c3311bf 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 @@ -87,7 +87,7 @@ pub fn process_compress_full_and_close<'info>( invoke(&instruction, account_infos.as_slice())?; let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); // Create close instruction without rent_sponsor for non-compressible accounts let close_instruction = CloseAccount { token_program: compressed_token_program_id, 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 c07bdbf33f..338bc2a323 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,6 +1,6 @@ use anchor_lang::{prelude::*, solana_program::program::invoke_signed}; use light_compressed_token_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; -use light_ctoken_types::instructions::extensions::compressible::CompressToPubkey; +use light_ctoken_interface::instructions::extensions::compressible::CompressToPubkey; use crate::Generic; @@ -26,7 +26,7 @@ pub fn process_create_ctoken_with_compress_to_pubkey<'info>( pre_pay_num_epochs: 2, lamports_per_write: None, compress_to_account_pubkey: Some(compress_to_pubkey), - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let instruction = CreateCTokenAccount::new( 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 6253580e1e..d6f97674a5 100644 --- a/sdk-tests/sdk-token-test/src/process_four_transfer2.rs +++ b/sdk-tests/sdk-token-test/src/process_four_transfer2.rs @@ -6,7 +6,7 @@ use light_compressed_token_sdk::compressed_token::{ }, CTokenAccount2, }; -use light_ctoken_types::instructions::transfer2::MultiInputTokenDataWithContext; +use light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext; use light_sdk::{ account::LightAccount, cpi::{v2::LightSystemProgramCpi, InvokeLightSystemProgram, LightCpiInstruction}, @@ -217,7 +217,7 @@ pub fn process_four_transfer2<'info>( validity_proof: proof, transfer_config: Transfer2Config { cpi_context: Some( - light_ctoken_types::instructions::transfer2::CompressedCpiContext { + light_ctoken_interface::instructions::transfer2::CompressedCpiContext { set_context: false, first_set_context: false, }, diff --git a/sdk-tests/sdk-token-test/tests/ctoken_pda.rs b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs index 9ccfa938f3..4a07bb2aaf 100644 --- a/sdk-tests/sdk-token-test/tests/ctoken_pda.rs +++ b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs @@ -7,7 +7,7 @@ use light_compressed_token_sdk::{ }, CPI_AUTHORITY_PDA, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, mint_action::{CompressedMintInstructionData, CompressedMintWithContext, Recipient}, @@ -93,7 +93,7 @@ async fn test_ctoken_pda() { println!("🧪 Verifying chained CPI results..."); // 1. Verify compressed mint was created and mint authority was revoked - let compressed_mint = light_ctoken_types::state::CompressedMint::deserialize( + let compressed_mint = light_ctoken_interface::state::CompressedMint::deserialize( &mut &mint_account.data.as_ref().unwrap().data[..], ) .unwrap(); @@ -207,7 +207,7 @@ pub async fn create_mint( }, mint_authority: Some(mint_authority.pubkey().into()), freeze_authority: freeze_authority.map(|fa| fa.into()), - extensions: metadata.map(|m| vec![light_ctoken_types::instructions::extensions::ExtensionInstructionData::TokenMetadata(m)]), + extensions: metadata.map(|m| vec![light_ctoken_interface::instructions::extensions::ExtensionInstructionData::TokenMetadata(m)]), }, }; 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 27c4445677..521a7d9e59 100644 --- a/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs +++ b/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs @@ -7,7 +7,7 @@ const TEST_INPUT_RANGE: [usize; 4] = [1, 2, 3, 4]; 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_ctoken_interface::instructions::mint_action::{CompressedMintWithContext, Recipient}; use light_program_test::{Indexer, LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::instruction::PackedAccounts; use light_test_utils::airdrop_lamports; @@ -82,7 +82,7 @@ async fn setup_decompress_full_test(num_inputs: usize) -> (LightProgramTest, Tes pre_pay_num_epochs: 0, lamports_per_write: None, compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = @@ -183,7 +183,7 @@ async fn test_decompress_full_cpi() { .await .unwrap() .unwrap(); - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; use light_zero_copy::traits::ZeroCopyAt; let (dest_token, _) = CToken::zero_copy_at(&dest_account.data).unwrap(); assert_eq!( @@ -271,7 +271,7 @@ async fn test_decompress_full_cpi() { .await .unwrap() .unwrap(); - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; use light_zero_copy::traits::ZeroCopyAt; let (dest_token_after, _) = CToken::zero_copy_at(&dest_account_after.data).unwrap(); assert_eq!( @@ -316,7 +316,7 @@ async fn test_decompress_full_cpi_with_context() { .await .unwrap() .unwrap(); - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; use light_zero_copy::traits::ZeroCopyAt; let (dest_token_before, _) = CToken::zero_copy_at(&dest_account_before.data).unwrap(); assert_eq!( @@ -369,7 +369,7 @@ async fn test_decompress_full_cpi_with_context() { .unwrap() .value; - use light_ctoken_types::state::CompressedMint; + use light_ctoken_interface::state::CompressedMint; let compressed_mint = CompressedMint::deserialize(&mut compressed_mint_account.data.unwrap().data.as_slice()) .unwrap(); @@ -385,7 +385,7 @@ async fn test_decompress_full_cpi_with_context() { let mint_params = MintCompressedTokensCpiWriteParams { compressed_mint_with_context, recipients: mint_recipients, - cpi_context: light_ctoken_types::instructions::mint_action::CpiContext { + cpi_context: light_ctoken_interface::instructions::mint_action::CpiContext { set_context: false, first_set_context: true, // First operation sets the context in_tree_index: remaining_accounts @@ -486,7 +486,7 @@ async fn test_decompress_full_cpi_with_context() { .await .unwrap() .unwrap(); - use light_ctoken_types::state::CToken; + use light_ctoken_interface::state::CToken; use light_zero_copy::traits::ZeroCopyAt; let (dest_token_after, _) = CToken::zero_copy_at(&dest_account_after.data).unwrap(); assert_eq!( diff --git a/sdk-tests/sdk-token-test/tests/pda_ctoken.rs b/sdk-tests/sdk-token-test/tests/pda_ctoken.rs index 76fafd094d..b96e18c019 100644 --- a/sdk-tests/sdk-token-test/tests/pda_ctoken.rs +++ b/sdk-tests/sdk-token-test/tests/pda_ctoken.rs @@ -11,7 +11,7 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, CPI_AUTHORITY_PDA, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, mint_action::{CompressedMintInstructionData, CompressedMintWithContext, Recipient}, @@ -97,7 +97,7 @@ async fn test_pda_ctoken() { println!("🧪 Verifying chained CPI results..."); // 1. Verify compressed mint was created and mint authority was revoked - let compressed_mint = light_ctoken_types::state::CompressedMint::deserialize( + let compressed_mint = light_ctoken_interface::state::CompressedMint::deserialize( &mut &mint_account.data.as_ref().unwrap().data[..], ) .unwrap(); @@ -212,7 +212,7 @@ pub async fn create_mint( pre_pay_num_epochs: 2, lamports_per_write: Some(1000), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_ata_instruction = @@ -277,7 +277,7 @@ pub async fn create_mint( }, mint_authority: Some(mint_authority.pubkey().into()), freeze_authority: freeze_authority.map(|fa| fa.into()), - extensions: metadata.map(|m| vec![light_ctoken_types::instructions::extensions::ExtensionInstructionData::TokenMetadata(m)]), + extensions: metadata.map(|m| vec![light_ctoken_interface::instructions::extensions::ExtensionInstructionData::TokenMetadata(m)]), }, }; 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 98c482f8bb..5cfaf2bf39 100644 --- a/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs +++ b/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs @@ -7,7 +7,7 @@ use light_compressed_token_sdk::{ ctoken::CreateAssociatedTokenAccount, utils::CTokenDefaultAccounts, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::{ mint_action::{CompressedMintWithContext, Recipient}, transfer2::MultiInputTokenDataWithContext, @@ -155,7 +155,7 @@ async fn create_compressed_mint_helper( // Find mint PDA let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let (mint_pda, _) = Pubkey::find_program_address( &[COMPRESSED_MINT_SEED, mint_signer.pubkey().as_ref()], &compressed_token_program_id, @@ -228,7 +228,7 @@ async fn mint_compressed_tokens( .unwrap(); // Create expected compressed mint for the input - let expected_compressed_mint = light_ctoken_types::state::CompressedMint { + let expected_compressed_mint = light_ctoken_interface::state::CompressedMint { base: BaseMint { mint_authority: Some(payer.pubkey().into()), supply: 0, 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 05c38db9d7..c7bc8507da 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 @@ -9,7 +9,7 @@ use light_compressed_token_sdk::{ }, ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, }; -use light_ctoken_types::{ +use light_ctoken_interface::{ instructions::mint_action::{CompressedMintWithContext, Recipient}, state::{BaseMint, CompressedMint, CompressedMintMetadata}, COMPRESSED_MINT_SEED, COMPRESSED_TOKEN_PROGRAM_ID, @@ -47,7 +47,7 @@ async fn test_compress_full_and_close() { let output_queue = rpc.get_random_state_tree_info().unwrap().queue; let compressed_token_program_id = - Pubkey::new_from_array(light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID); + Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); let (mint_pda, _) = Pubkey::find_program_address( &[COMPRESSED_MINT_SEED, mint_signer.pubkey().as_ref()], &compressed_token_program_id, diff --git a/sdk-tests/sdk-token-test/tests/test_compress_to_pubkey.rs b/sdk-tests/sdk-token-test/tests/test_compress_to_pubkey.rs index 6f15ed1c96..9e0ca579d3 100644 --- a/sdk-tests/sdk-token-test/tests/test_compress_to_pubkey.rs +++ b/sdk-tests/sdk-token-test/tests/test_compress_to_pubkey.rs @@ -1,5 +1,5 @@ use anchor_lang::InstructionData; -use light_ctoken_types::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; use light_program_test::{ program_test::TestRpc, Indexer, LightProgramTest, ProgramTestConfig, Rpc, }; From 77773624cbe6284fd578b80cb9b09ce4bf3b8378 Mon Sep 17 00:00:00 2001 From: ananas-block Date: Fri, 5 Dec 2025 22:38:37 +0000 Subject: [PATCH 2/2] refactor: rename light-compressed-token-sdk -> light-ctoken-sdk --- .github/workflows/sdk-tests.yml | 4 +- CLAUDE.md | 2 +- Cargo.lock | 88 +++++++++---------- Cargo.toml | 4 +- forester/Cargo.toml | 4 +- forester/src/compressible/compressor.rs | 2 +- forester/tests/e2e_test.rs | 2 +- .../batched_state_async_indexer_test.rs | 2 +- forester/tests/test_compressible_ctoken.rs | 2 +- .../compressed-token-test/Cargo.toml | 2 +- .../tests/ctoken/compress_and_close.rs | 2 +- .../tests/ctoken/functional_ata.rs | 8 +- .../tests/ctoken/shared.rs | 8 +- .../tests/mint/cpi_context.rs | 14 +-- .../tests/mint/edge_cases.rs | 10 +-- .../tests/mint/failing.rs | 19 ++-- .../tests/mint/functional.rs | 18 ++-- .../tests/mint/random.rs | 10 +-- .../tests/transfer2/compress_failing.rs | 4 +- .../tests/transfer2/compress_spl_failing.rs | 2 +- .../tests/transfer2/decompress_failing.rs | 10 +-- .../no_system_program_cpi_failing.rs | 6 +- .../tests/transfer2/shared.rs | 13 ++- .../tests/transfer2/spl_ctoken.rs | 6 +- .../tests/transfer2/transfer_failing.rs | 22 +++-- .../compressed-token-test/tests/v1.rs | 6 +- program-tests/registry-test/Cargo.toml | 2 +- .../registry-test/tests/compressible.rs | 6 +- program-tests/system-cpi-test/Cargo.toml | 2 +- program-tests/system-cpi-test/tests/test.rs | 2 +- program-tests/utils/Cargo.toml | 2 +- .../utils/src/assert_create_token_account.rs | 2 +- .../utils/src/assert_mint_to_compressed.rs | 6 +- program-tests/utils/src/assert_token_tx.rs | 2 +- program-tests/utils/src/assert_transfer2.rs | 22 ++--- program-tests/utils/src/conversions.rs | 22 ++--- program-tests/utils/src/e2e_test_env.rs | 2 +- program-tests/utils/src/spl.rs | 2 +- scripts/lint.sh | 4 +- sdk-libs/client/Cargo.toml | 2 +- sdk-libs/client/src/indexer/types.rs | 24 +++-- .../Cargo.toml | 2 +- .../compressed_token/ctoken_instruction.rs | 0 .../src/compressed_token/mod.rs | 0 .../src/compressed_token/v1/account.rs | 0 .../v1/approve/account_metas.rs | 0 .../v1/approve/instruction.rs | 0 .../src/compressed_token/v1/approve/mod.rs | 0 .../v1/batch_compress/account_metas.rs | 0 .../v1/batch_compress/instruction.rs | 0 .../compressed_token/v1/batch_compress/mod.rs | 0 .../src/compressed_token/v1/mod.rs | 0 .../v1/transfer/account_infos.rs | 0 .../v1/transfer/account_metas.rs | 0 .../v1/transfer/instruction.rs | 0 .../src/compressed_token/v1/transfer/mod.rs | 0 .../src/compressed_token/v2/account2.rs | 0 .../compressed_token/v2/compress_and_close.rs | 0 .../create_compressed_mint/account_metas.rs | 0 .../v2/create_compressed_mint/instruction.rs | 0 .../v2/create_compressed_mint/mod.rs | 0 .../compressed_token/v2/decompress_full.rs | 0 .../v2/mint_action/account_metas.rs | 0 .../v2/mint_action/cpi_accounts.rs | 0 .../v2/mint_action/instruction.rs | 0 .../compressed_token/v2/mint_action/mod.rs | 0 .../v2/mint_to_compressed/account_metas.rs | 0 .../v2/mint_to_compressed/instruction.rs | 0 .../v2/mint_to_compressed/mod.rs | 0 .../src/compressed_token/v2/mod.rs | 0 .../compressed_token/v2/token_metadata_ui.rs | 0 .../v2/transfer2/account_metas.rs | 0 .../v2/transfer2/cpi_accounts.rs | 0 .../v2/transfer2/instruction.rs | 0 .../src/compressed_token/v2/transfer2/mod.rs | 0 .../update_compressed_mint/account_metas.rs | 0 .../v2/update_compressed_mint/instruction.rs | 0 .../v2/update_compressed_mint/mod.rs | 0 .../src/compressible/claim.rs | 0 .../src/compressible/decompress_runtime.rs | 0 .../src/compressible/mod.rs | 0 .../src/compressible/withdraw_funding_pool.rs | 0 .../src/ctoken/close.rs | 0 .../src/ctoken/compressible.rs | 0 .../src/ctoken/create.rs | 0 .../src/ctoken/create_ata.rs | 0 .../src/ctoken/create_cmint.rs | 0 .../src/ctoken/mint_to.rs | 0 .../src/ctoken/mod.rs | 2 +- .../src/ctoken/transfer_ctoken.rs | 0 .../src/ctoken/transfer_ctoken_spl.rs | 0 .../src/ctoken/transfer_interface.rs | 0 .../src/ctoken/transfer_spl_ctoken.rs | 0 .../src/error.rs | 0 .../src/lib.rs | 0 .../src/pack.rs | 0 .../src/token_pool.rs | 0 .../src/utils.rs | 0 .../tests/account_metas_test.rs | 10 +-- .../tests/create_associated_token_account.rs | 2 +- .../tests/mint_action_cpi_accounts_tests.rs | 6 +- .../tests/pack_test.rs | 2 +- sdk-libs/macros/src/compressible/GUIDE.md | 4 +- .../src/compressible/decompress_context.rs | 4 +- .../macros/src/compressible/instructions.rs | 6 +- .../macros/src/compressible/variant_enum.rs | 6 +- sdk-libs/program-test/Cargo.toml | 2 +- .../forester/compress_and_close_forester.rs | 2 +- .../program-test/src/indexer/extensions.rs | 2 +- .../program-test/src/indexer/test_indexer.rs | 2 +- .../src/program_test/extensions.rs | 2 +- sdk-libs/token-client/Cargo.toml | 2 +- .../create_compressible_token_account.rs | 2 +- .../token-client/src/actions/mint_action.rs | 4 +- .../src/actions/transfer2/ctoken_to_spl.rs | 2 +- .../src/actions/transfer2/spl_to_ctoken.rs | 2 +- .../src/actions/update_compressed_mint.rs | 2 +- .../src/instructions/create_mint.rs | 6 +- .../src/instructions/mint_action.rs | 8 +- .../src/instructions/mint_to_compressed.rs | 10 +-- .../src/instructions/transfer2.rs | 12 +-- .../instructions/update_compressed_mint.rs | 10 +-- sdk-libs/token-client/src/lib.rs | 2 +- sdk-tests/CLAUDE.md | 2 +- sdk-tests/client-test/Cargo.toml | 2 +- sdk-tests/client-test/tests/light_client.rs | 2 +- .../client-test/tests/light_program_test.rs | 2 +- sdk-tests/csdk-anchor-derived-test/Cargo.toml | 2 +- sdk-tests/csdk-anchor-derived-test/src/lib.rs | 6 +- .../csdk-anchor-derived-test/src/processor.rs | 4 +- .../csdk-anchor-derived-test/src/variant.rs | 4 +- .../tests/basic_test.rs | 6 +- .../csdk-anchor-full-derived-test/Cargo.toml | 2 +- .../csdk-anchor-full-derived-test/src/lib.rs | 6 +- .../tests/basic_test.rs | 6 +- sdk-tests/sdk-compressible-test/Cargo.toml | 2 +- .../create_user_record_and_game_session.rs | 4 +- .../decompress_accounts_idempotent.rs | 12 +-- sdk-tests/sdk-compressible-test/src/state.rs | 6 +- .../tests/multi_account_tests.rs | 14 +-- sdk-tests/sdk-ctoken-test/Cargo.lock | 8 +- sdk-tests/sdk-ctoken-test/Cargo.toml | 2 +- sdk-tests/sdk-ctoken-test/README.md | 6 +- sdk-tests/sdk-ctoken-test/src/close.rs | 2 +- sdk-tests/sdk-ctoken-test/src/create_ata.rs | 4 +- sdk-tests/sdk-ctoken-test/src/create_ata2.rs | 4 +- sdk-tests/sdk-ctoken-test/src/create_cmint.rs | 2 +- .../src/create_token_account.rs | 2 +- .../sdk-ctoken-test/src/mint_to_ctoken.rs | 4 +- sdk-tests/sdk-ctoken-test/src/transfer.rs | 2 +- .../sdk-ctoken-test/src/transfer_interface.rs | 2 +- .../src/transfer_spl_ctoken.rs | 4 +- sdk-tests/sdk-ctoken-test/tests/shared.rs | 9 +- sdk-tests/sdk-ctoken-test/tests/test_close.rs | 2 +- .../sdk-ctoken-test/tests/test_create_ata.rs | 10 +-- .../tests/test_create_ata_v2.rs | 2 +- .../tests/test_create_cmint.rs | 13 ++- .../tests/test_create_token_account.rs | 6 +- .../tests/test_mint_to_ctoken.rs | 14 +-- .../sdk-ctoken-test/tests/test_transfer.rs | 2 +- .../tests/test_transfer_interface.rs | 4 +- .../tests/test_transfer_spl_ctoken.rs | 4 +- sdk-tests/sdk-token-test/CLAUDE.md | 4 +- sdk-tests/sdk-token-test/Cargo.toml | 6 +- .../src/ctoken_pda/create_pda.rs | 2 +- .../sdk-token-test/src/ctoken_pda/mint.rs | 6 +- .../src/ctoken_pda/processor.rs | 2 +- sdk-tests/sdk-token-test/src/lib.rs | 14 ++- .../src/mint_compressed_tokens_cpi_write.rs | 8 +- .../src/pda_ctoken/create_pda.rs | 2 +- .../sdk-token-test/src/pda_ctoken/mint.rs | 6 +- .../src/pda_ctoken/processor.rs | 2 +- .../src/process_batch_compress_tokens.rs | 2 +- .../src/process_compress_full_and_close.rs | 2 +- .../src/process_compress_tokens.rs | 2 +- .../src/process_create_compressed_account.rs | 8 +- ...s_create_ctoken_with_compress_to_pubkey.rs | 2 +- .../process_decompress_full_cpi_context.rs | 4 +- .../src/process_decompress_tokens.rs | 2 +- .../src/process_four_invokes.rs | 2 +- .../src/process_four_transfer2.rs | 4 +- .../src/process_transfer_tokens.rs | 2 +- .../src/process_update_deposit.rs | 14 ++- sdk-tests/sdk-token-test/tests/ctoken_pda.rs | 12 +-- .../tests/decompress_full_cpi.rs | 12 +-- sdk-tests/sdk-token-test/tests/pda_ctoken.rs | 14 +-- sdk-tests/sdk-token-test/tests/test.rs | 2 +- .../tests/test_4_invocations.rs | 6 +- .../sdk-token-test/tests/test_4_transfer2.rs | 18 ++-- .../tests/test_compress_full_and_close.rs | 12 +-- .../sdk-token-test/tests/test_deposit.rs | 2 +- 191 files changed, 411 insertions(+), 441 deletions(-) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/Cargo.toml (98%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/ctoken_instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/account.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/approve/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/approve/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/approve/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/batch_compress/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/batch_compress/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/batch_compress/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/transfer/account_infos.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/transfer/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/transfer/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v1/transfer/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/account2.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/compress_and_close.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/create_compressed_mint/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/create_compressed_mint/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/create_compressed_mint/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/decompress_full.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_action/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_action/cpi_accounts.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_action/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_action/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_to_compressed/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_to_compressed/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mint_to_compressed/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/token_metadata_ui.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/transfer2/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/transfer2/cpi_accounts.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/transfer2/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/transfer2/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/update_compressed_mint/account_metas.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/update_compressed_mint/instruction.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressed_token/v2/update_compressed_mint/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressible/claim.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressible/decompress_runtime.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressible/mod.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/compressible/withdraw_funding_pool.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/close.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/compressible.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/create.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/create_ata.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/create_cmint.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/mint_to.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/mod.rs (98%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/transfer_ctoken.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/transfer_ctoken_spl.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/transfer_interface.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/ctoken/transfer_spl_ctoken.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/error.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/lib.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/pack.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/token_pool.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/src/utils.rs (100%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/tests/account_metas_test.rs (99%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/tests/create_associated_token_account.rs (96%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/tests/mint_action_cpi_accounts_tests.rs (99%) rename sdk-libs/{compressed-token-sdk => ctoken-sdk}/tests/pack_test.rs (98%) diff --git a/.github/workflows/sdk-tests.yml b/.github/workflows/sdk-tests.yml index 33a8e51bfd..b7f0cf854a 100644 --- a/.github/workflows/sdk-tests.yml +++ b/.github/workflows/sdk-tests.yml @@ -54,7 +54,7 @@ jobs: - program: token test sub-tests: '["cargo-test-sbf -p sdk-token-test"]' - program: sdk-libs - packages: light-sdk-macros light-sdk light-program-test light-client light-compressed-token-types light-compressed-token-sdk + packages: light-sdk-macros light-sdk light-program-test light-client light-compressed-token-types light-ctoken-sdk test_cmd: | cargo test -p light-sdk-macros cargo test -p light-sdk-macros --all-features @@ -64,7 +64,7 @@ jobs: cargo test -p light-client cargo test -p light-sparse-merkle-tree cargo test -p light-compressed-token-types - cargo test -p light-compressed-token-sdk + cargo test -p light-ctoken-sdk steps: - name: Checkout sources uses: actions/checkout@v4 diff --git a/CLAUDE.md b/CLAUDE.md index d6944bbeda..2c571c3470 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -41,7 +41,7 @@ light-protocol/ │ ├── client/ # RPC client for querying compressed accounts │ ├── sdk/ # Core SDK for Rust/Anchor programs │ ├── sdk-pinocchio/ # Pinocchio-specific SDK implementation -│ ├── compressed-token-sdk/ # Compressed token client utilities +│ ├── ctoken-sdk/ # Compressed token client utilities │ └── program-test/ # Fast local test environment (LiteSVM) ├── prover/ # ZK proof generation │ ├── server/ # Go-based prover server and circuit implementation (Gnark) diff --git a/Cargo.lock b/Cargo.lock index 829cd6b2f5..c07fbe7b7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1347,7 +1347,7 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", + "light-ctoken-sdk", "light-hasher", "light-indexed-array", "light-macros", @@ -1427,9 +1427,9 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", "light-compressible", "light-ctoken-interface", + "light-ctoken-sdk", "light-program-test", "light-prover-client", "light-registry", @@ -1643,11 +1643,11 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible", "light-compressible-client", "light-ctoken-interface", + "light-ctoken-sdk", "light-hasher", "light-macros", "light-program-test", @@ -1678,11 +1678,11 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible", "light-compressible-client", "light-ctoken-interface", + "light-ctoken-sdk", "light-hasher", "light-macros", "light-program-test", @@ -2350,9 +2350,9 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", "light-compressible", "light-ctoken-interface", + "light-ctoken-sdk", "light-hash-set", "light-hasher", "light-merkle-tree-metadata", @@ -3592,8 +3592,8 @@ dependencies = [ "bs58", "lazy_static", "light-compressed-account", - "light-compressed-token-sdk", "light-concurrent-merkle-tree", + "light-ctoken-sdk", "light-event", "light-hasher", "light-indexed-merkle-tree", @@ -3694,36 +3694,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "light-compressed-token-sdk" -version = "0.1.0" -dependencies = [ - "anchor-lang", - "arrayvec", - "borsh 0.10.4", - "light-account-checks", - "light-compressed-account", - "light-compressed-token", - "light-compressed-token-types", - "light-compressible", - "light-ctoken-interface", - "light-macros", - "light-program-profiler", - "light-sdk", - "light-sdk-types", - "light-zero-copy", - "pinocchio", - "solana-account-info", - "solana-cpi", - "solana-instruction", - "solana-msg 2.2.1", - "solana-program-error 2.2.2", - "solana-pubkey 2.4.0", - "spl-pod", - "spl-token-2022 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 2.0.17", -] - [[package]] name = "light-compressed-token-types" version = "0.1.0" @@ -3833,6 +3803,36 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "light-ctoken-sdk" +version = "0.1.0" +dependencies = [ + "anchor-lang", + "arrayvec", + "borsh 0.10.4", + "light-account-checks", + "light-compressed-account", + "light-compressed-token", + "light-compressed-token-types", + "light-compressible", + "light-ctoken-interface", + "light-macros", + "light-program-profiler", + "light-sdk", + "light-sdk-types", + "light-zero-copy", + "pinocchio", + "solana-account-info", + "solana-cpi", + "solana-instruction", + "solana-msg 2.2.1", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "spl-pod", + "spl-token-2022 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 2.0.17", +] + [[package]] name = "light-event" version = "0.1.1" @@ -4013,11 +4013,11 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", "light-compressible", "light-compressible-client", "light-concurrent-merkle-tree", "light-ctoken-interface", + "light-ctoken-sdk", "light-event", "light-hasher", "light-indexed-array", @@ -4252,10 +4252,10 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", "light-compressible", "light-concurrent-merkle-tree", "light-ctoken-interface", + "light-ctoken-sdk", "light-event", "light-hasher", "light-indexed-array", @@ -4289,9 +4289,9 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressed-token-types", "light-ctoken-interface", + "light-ctoken-sdk", "light-sdk", "light-zero-copy", "solana-instruction", @@ -5614,9 +5614,9 @@ dependencies = [ "light-batched-merkle-tree", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressible", "light-ctoken-interface", + "light-ctoken-sdk", "light-hasher", "light-program-test", "light-prover-client", @@ -6046,11 +6046,11 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible", "light-compressible-client", "light-ctoken-interface", + "light-ctoken-sdk", "light-hasher", "light-macros", "light-program-test", @@ -6079,10 +6079,10 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressed-token-types", "light-compressible-client", "light-ctoken-interface", + "light-ctoken-sdk", "light-program-test", "light-sdk", "light-sdk-types", @@ -6155,9 +6155,9 @@ dependencies = [ "light-batched-merkle-tree", "light-client", "light-compressed-account", - "light-compressed-token-sdk", "light-compressible", "light-ctoken-interface", + "light-ctoken-sdk", "light-hasher", "light-program-profiler", "light-program-test", @@ -10260,7 +10260,7 @@ dependencies = [ "light-client", "light-compressed-account", "light-compressed-token", - "light-compressed-token-sdk", + "light-ctoken-sdk", "light-hasher", "light-merkle-tree-metadata", "light-program-test", diff --git a/Cargo.toml b/Cargo.toml index 707a846748..b27d0513f7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ members = [ "programs/registry", "anchor-programs/system", "sdk-libs/client", - "sdk-libs/compressed-token-sdk", + "sdk-libs/ctoken-sdk", "sdk-libs/event", "sdk-libs/token-client", "sdk-libs/macros", @@ -202,7 +202,7 @@ light-compressed-token = { path = "programs/compressed-token/program", version = "cpi", ] } light-compressed-token-types = { path = "sdk-libs/compressed-token-types", version = "0.1.0" } -light-compressed-token-sdk = { path = "sdk-libs/compressed-token-sdk", version = "0.1.0" } +light-ctoken-sdk = { path = "sdk-libs/ctoken-sdk", version = "0.1.0" } light-token-client = { path = "sdk-libs/token-client", version = "0.1.0" } light-system-program-anchor = { path = "anchor-programs/system", version = "2.0.0", features = [ "cpi", diff --git a/forester/Cargo.toml b/forester/Cargo.toml index 8705f3e9c5..18ef1ab14c 100644 --- a/forester/Cargo.toml +++ b/forester/Cargo.toml @@ -30,7 +30,7 @@ light-sdk = { workspace = true, features = ["anchor"] } light-program-test = { workspace = true } light-compressible = { workspace = true } light-ctoken-interface = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } solana-rpc-client-api = { workspace = true } solana-transaction-status = { workspace = true } bb8 = { workspace = true } @@ -72,6 +72,6 @@ light-batched-merkle-tree = { workspace = true, features = ["test-only"] } light-token-client = { workspace = true } dotenvy = "0.15" light-compressed-token = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } rand = { workspace = true } create-address-test-program = { workspace = true } diff --git a/forester/src/compressible/compressor.rs b/forester/src/compressible/compressor.rs index b18feb6f9d..8f8d9e7c2f 100644 --- a/forester/src/compressible/compressor.rs +++ b/forester/src/compressible/compressor.rs @@ -3,9 +3,9 @@ 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::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenAccounts; use light_compressible::config::CompressibleConfig; use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenAccounts; use light_registry::{ accounts::CompressAndCloseContext, compressible::compressed_token::CompressAndCloseIndices, instruction::CompressAndClose, diff --git a/forester/tests/e2e_test.rs b/forester/tests/e2e_test.rs index 2728013d32..abb43eb646 100644 --- a/forester/tests/e2e_test.rs +++ b/forester/tests/e2e_test.rs @@ -35,8 +35,8 @@ use light_compressed_token::process_transfer::{ transfer_sdk::{create_transfer_instruction, to_account_metas}, TokenTransferOutputData, }; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; use light_ctoken_interface::state::TokenDataVersion; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_hasher::Poseidon; use light_program_test::accounts::test_accounts::TestAccounts; use light_prover_client::prover::spawn_prover; diff --git a/forester/tests/legacy/batched_state_async_indexer_test.rs b/forester/tests/legacy/batched_state_async_indexer_test.rs index bab17a37d9..a4dacfd6c7 100644 --- a/forester/tests/legacy/batched_state_async_indexer_test.rs +++ b/forester/tests/legacy/batched_state_async_indexer_test.rs @@ -23,7 +23,7 @@ use light_compressed_account::{ use light_compressed_token::process_transfer::{ transfer_sdk::create_transfer_instruction, TokenTransferOutputData, }; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_program_test::accounts::test_accounts::TestAccounts; use light_prover_client::prover::spawn_prover; use light_registry::{ diff --git a/forester/tests/test_compressible_ctoken.rs b/forester/tests/test_compressible_ctoken.rs index c79e01e3ed..a09f9ba677 100644 --- a/forester/tests/test_compressible_ctoken.rs +++ b/forester/tests/test_compressible_ctoken.rs @@ -9,8 +9,8 @@ use light_client::{ local_test_validator::{spawn_validator, LightValidatorConfig}, rpc::{LightClient, LightClientConfig, Rpc}, }; -use light_compressed_token_sdk::compressed_token::create_compressed_mint; use light_ctoken_interface::state::TokenDataVersion; +use light_ctoken_sdk::compressed_token::create_compressed_mint; use light_registry::{ protocol_config::state::ProtocolConfigPda, sdk::{ diff --git a/program-tests/compressed-token-test/Cargo.toml b/program-tests/compressed-token-test/Cargo.toml index 07a0a29afb..35cb20191b 100644 --- a/program-tests/compressed-token-test/Cargo.toml +++ b/program-tests/compressed-token-test/Cargo.toml @@ -46,7 +46,7 @@ serial_test = { workspace = true } light-ctoken-interface = { workspace = true } light-token-client = { workspace = true } light-compressible = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } spl-token-2022 = { workspace = true } spl-pod = { workspace = true } light-zero-copy = { workspace = true , features = ["std", "derive", "mut"]} 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 58a2c1d480..de57da15a5 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 @@ -164,7 +164,7 @@ async fn test_compress_and_close_owner_scenarios() { .await; // Set token balance on ATA - use light_compressed_token_sdk::ctoken::derive_ctoken_ata; + use light_ctoken_sdk::ctoken::derive_ctoken_ata; let (ata_pubkey, _bump) = derive_ctoken_ata(&context.owner_keypair.pubkey(), &context.mint_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 a4e1f97642..13315a313a 100644 --- a/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs +++ b/program-tests/compressed-token-test/tests/ctoken/functional_ata.rs @@ -1,6 +1,4 @@ -use light_compressed_token_sdk::ctoken::{ - CloseAccount, CompressibleParams, CreateAssociatedTokenAccount, -}; +use light_ctoken_sdk::ctoken::{CloseAccount, CompressibleParams, CreateAssociatedTokenAccount}; use light_test_utils::assert_create_token_account::assert_create_associated_token_account; use super::shared::*; @@ -337,7 +335,7 @@ async fn test_create_token_account_with_prefunded_lamports() { pre_pay_num_epochs: 0, lamports_per_write: Some(100), compress_to_account_pubkey: None, - token_account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + token_account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, }; let create_token_account_ix = CreateCTokenAccount::new( @@ -372,7 +370,7 @@ async fn test_create_token_account_with_prefunded_lamports() { num_prepaid_epochs: 0, lamports_per_write: Some(100), compress_to_pubkey: false, - account_version: light_ctoken_types::state::TokenDataVersion::ShaFlat, + account_version: light_ctoken_interface::state::TokenDataVersion::ShaFlat, payer: payer_pubkey, }), ) diff --git a/program-tests/compressed-token-test/tests/ctoken/shared.rs b/program-tests/compressed-token-test/tests/ctoken/shared.rs index 1235306b5d..f1b8c8bc7c 100644 --- a/program-tests/compressed-token-test/tests/ctoken/shared.rs +++ b/program-tests/compressed-token-test/tests/ctoken/shared.rs @@ -1,10 +1,10 @@ // Re-export all necessary imports for test modules -pub use light_compressed_token_sdk::ctoken::{ +pub use light_compressible::rent::{RentConfig, SLOTS_PER_EPOCH}; +pub use light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; +pub use light_ctoken_sdk::ctoken::{ derive_ctoken_ata, CloseAccount, CompressibleParams, CreateAssociatedTokenAccount, CreateCTokenAccount, }; -pub use light_compressible::rent::{RentConfig, SLOTS_PER_EPOCH}; -pub use light_ctoken_interface::COMPRESSIBLE_TOKEN_ACCOUNT_SIZE; pub use light_program_test::{ forester::compress_and_close_forester, program_test::TestRpc, LightProgramTest, ProgramTestConfig, @@ -765,7 +765,7 @@ pub async fn compress_and_close_forester_with_invalid_output( }; // Add system accounts - use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; + use light_ctoken_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 9754c7c05f..cdf4e9bffe 100644 --- a/program-tests/compressed-token-test/tests/mint/cpi_context.rs +++ b/program-tests/compressed-token-test/tests/mint/cpi_context.rs @@ -2,13 +2,6 @@ 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::compressed_token::{ - create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, - mint_action::{ - get_mint_action_instruction_account_metas_cpi_write, MintActionMetaConfig, - MintActionMetaConfigCpiWrite, - }, -}; use light_ctoken_interface::{ instructions::mint_action::{ CompressedMintInstructionData, CompressedMintWithContext, CpiContext, @@ -17,6 +10,13 @@ use light_ctoken_interface::{ state::CompressedMintMetadata, CMINT_ADDRESS_TREE, COMPRESSED_TOKEN_PROGRAM_ID, }; +use light_ctoken_sdk::compressed_token::{ + create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, + mint_action::{ + get_mint_action_instruction_account_metas_cpi_write, MintActionMetaConfig, + MintActionMetaConfigCpiWrite, + }, +}; use light_program_test::{utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig}; use light_test_utils::Rpc; use light_verifier::CompressedProof; 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 46ea1fab3d..146f298082 100644 --- a/program-tests/compressed-token-test/tests/mint/edge_cases.rs +++ b/program-tests/compressed-token-test/tests/mint/edge_cases.rs @@ -1,14 +1,14 @@ use anchor_lang::prelude::borsh::BorshDeserialize; use light_client::indexer::Indexer; -use light_compressed_token_sdk::{ +use light_ctoken_interface::state::{ + extensions::AdditionalMetadata, CompressedMint, TokenDataVersion, +}; +use light_ctoken_sdk::{ compressed_token::create_compressed_mint::{ derive_compressed_mint_address, find_spl_mint_address, }, ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_interface::state::{ - extensions::AdditionalMetadata, CompressedMint, TokenDataVersion, -}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -183,7 +183,7 @@ async fn functional_all_in_one_instruction() { }, // 2. MintToCToken - mint to decompressed account MintActionType::MintToCToken { - account: light_compressed_token_sdk::ctoken::derive_ctoken_ata( + account: light_ctoken_sdk::ctoken::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 e2549dd40c..7ccca2ebbd 100644 --- a/program-tests/compressed-token-test/tests/mint/failing.rs +++ b/program-tests/compressed-token-test/tests/mint/failing.rs @@ -2,13 +2,13 @@ use anchor_lang::prelude::borsh::BorshDeserialize; use light_client::indexer::Indexer; -use light_compressed_token_sdk::{ +use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; +use light_ctoken_sdk::{ compressed_token::create_compressed_mint::{ derive_compressed_mint_address, find_spl_mint_address, }, ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, }; -use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; use light_program_test::{utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -469,11 +469,8 @@ async fn functional_and_failing_tests() { .await .unwrap(); - let recipient_ata = light_compressed_token_sdk::ctoken::derive_ctoken_ata( - &recipient2.pubkey(), - &spl_mint_pda, - ) - .0; + let recipient_ata = + light_ctoken_sdk::ctoken::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( @@ -814,9 +811,6 @@ async fn functional_and_failing_tests() { #[serial] async fn test_mint_to_ctoken_max_top_up_exceeded() { use light_compressed_account::instruction_data::traits::LightInstructionData; - use light_compressed_token_sdk::compressed_token::{ - create_compressed_mint::derive_compressed_mint_address, mint_action::MintActionMetaConfig, - }; use light_ctoken_interface::{ instructions::mint_action::{ CompressedMintWithContext, MintActionCompressedInstructionData, MintToCTokenAction, @@ -824,6 +818,9 @@ async fn test_mint_to_ctoken_max_top_up_exceeded() { state::TokenDataVersion, COMPRESSED_TOKEN_PROGRAM_ID, }; + use light_ctoken_sdk::compressed_token::{ + create_compressed_mint::derive_compressed_mint_address, mint_action::MintActionMetaConfig, + }; let mut rpc = LightProgramTest::new(ProgramTestConfig::new_v2(false, None)) .await @@ -884,7 +881,7 @@ async fn test_mint_to_ctoken_max_top_up_exceeded() { .unwrap(); let ctoken_ata = - light_compressed_token_sdk::ctoken::derive_ctoken_ata(&recipient.pubkey(), &spl_mint_pda).0; + light_ctoken_sdk::ctoken::derive_ctoken_ata(&recipient.pubkey(), &spl_mint_pda).0; // 3. Build MintToCToken instruction with max_top_up = 1 (too low) // Get current compressed mint state diff --git a/program-tests/compressed-token-test/tests/mint/functional.rs b/program-tests/compressed-token-test/tests/mint/functional.rs index 99464a841c..87638ec018 100644 --- a/program-tests/compressed-token-test/tests/mint/functional.rs +++ b/program-tests/compressed-token-test/tests/mint/functional.rs @@ -1,11 +1,5 @@ use anchor_lang::{prelude::borsh::BorshDeserialize, solana_program::program_pack::Pack}; use light_client::indexer::Indexer; -use light_compressed_token_sdk::{ - compressed_token::create_compressed_mint::{ - derive_compressed_mint_address, find_spl_mint_address, - }, - ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, -}; use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, mint_action::Recipient, @@ -16,6 +10,12 @@ use light_ctoken_interface::{ }, COMPRESSED_MINT_SEED, }; +use light_ctoken_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, +}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_ctoken_transfer::assert_ctoken_transfer, @@ -1051,7 +1051,11 @@ 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::compressed_token::create_compressed_mint::derive_compressed_mint_address(&mint_seed.pubkey(), &address_tree_pubkey); + let compressed_mint_address = + light_ctoken_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 dcf5f53f41..e2e86a62d1 100644 --- a/program-tests/compressed-token-test/tests/mint/random.rs +++ b/program-tests/compressed-token-test/tests/mint/random.rs @@ -1,13 +1,13 @@ 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::{ +use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; +use light_ctoken_sdk::{ compressed_token::create_compressed_mint::{ derive_compressed_mint_address, find_spl_mint_address, }, ctoken::CreateAssociatedTokenAccount, }; -use light_ctoken_interface::state::{extensions::AdditionalMetadata, CompressedMint}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::{ assert_mint_action::assert_mint_action, mint_assert::assert_compressed_mint_account, Rpc, @@ -139,11 +139,7 @@ async fn test_random_mint_action() { .await .unwrap(); - let ata = light_compressed_token_sdk::ctoken::derive_ctoken_ata( - &recipient.pubkey(), - &spl_mint_pda, - ) - .0; + let ata = light_ctoken_sdk::ctoken::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 955706cdc9..8752e4ffa9 100644 --- a/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/compress_failing.rs @@ -35,7 +35,8 @@ // 1. create and mint to one ctoken compressed account // -use light_compressed_token_sdk::{ +use light_ctoken_interface::{instructions::mint_action::Recipient, state::TokenDataVersion}; +use light_ctoken_sdk::{ compressed_token::{ create_compressed_mint::find_spl_mint_address, transfer2::{ @@ -47,7 +48,6 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_interface::{instructions::mint_action::Recipient, state::TokenDataVersion}; use light_program_test::{LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::instruction::PackedAccounts; use light_test_utils::RpcError; 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 a4bdb714de..27dfa84988 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 @@ -29,7 +29,7 @@ // 5.3. recipient out of bounds use anchor_spl::token_2022::spl_token_2022; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, 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 f2d3d90359..d72d8324eb 100644 --- a/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/decompress_failing.rs @@ -32,7 +32,11 @@ // use light_client::indexer::{CompressedTokenAccount, Indexer}; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, + state::TokenDataVersion, +}; +use light_ctoken_sdk::{ compressed_token::{ create_compressed_mint::find_spl_mint_address, transfer2::{ @@ -44,10 +48,6 @@ use light_compressed_token_sdk::{ ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_interface::{ - instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, - state::TokenDataVersion, -}; use light_program_test::{ utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, Rpc, }; 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 6c8daf3ec5..ecea653e0c 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 @@ -43,12 +43,12 @@ // // ============================================================================ -use light_compressed_token_sdk::{ +use light_ctoken_interface::instructions::{mint_action::Recipient, transfer2::Compression}; +use light_ctoken_sdk::{ compressed_token::create_compressed_mint::find_spl_mint_address, ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, ValidityProof, }; -use light_ctoken_interface::instructions::{mint_action::Recipient, transfer2::Compression}; use light_program_test::{ utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, Rpc, }; @@ -227,8 +227,8 @@ fn build_compressions_only_instruction( packed_account_metas: Vec, ) -> Result { use anchor_lang::AnchorSerialize; - use light_compressed_token_sdk::constants::{CPI_AUTHORITY_PDA, TRANSFER2}; use light_ctoken_interface::instructions::transfer2::CompressedTokenInstructionDataTransfer2; + use light_ctoken_sdk::constants::{CPI_AUTHORITY_PDA, TRANSFER2}; use solana_sdk::instruction::AccountMeta; // For compressions-only mode (decompressed_accounts_only), the account order is: diff --git a/program-tests/compressed-token-test/tests/transfer2/shared.rs b/program-tests/compressed-token-test/tests/transfer2/shared.rs index 1d72e13c36..1b072158bd 100644 --- a/program-tests/compressed-token-test/tests/transfer2/shared.rs +++ b/program-tests/compressed-token-test/tests/transfer2/shared.rs @@ -2,14 +2,14 @@ use std::collections::HashMap; use anchor_lang::AnchorDeserialize; use light_client::{indexer::Indexer, rpc::Rpc}; -use light_compressed_token_sdk::{ - compressed_token::create_compressed_mint::find_spl_mint_address, - ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, -}; use light_ctoken_interface::{ instructions::{mint_action::Recipient, transfer2::CompressedTokenInstructionDataTransfer2}, state::TokenDataVersion, }; +use light_ctoken_sdk::{ + compressed_token::create_compressed_mint::find_spl_mint_address, + ctoken::{CompressibleParams, CreateAssociatedTokenAccount}, +}; use light_program_test::{indexer::TestIndexerExtensions, LightProgramTest, ProgramTestConfig}; use light_test_utils::{ airdrop_lamports, @@ -443,8 +443,7 @@ impl TestContext { .unwrap_or(&false); // Create CToken ATA (compressible or regular based on requirements) - let (ata, bump) = - light_compressed_token_sdk::ctoken::derive_ctoken_ata(&signer.pubkey(), &mint); + let (ata, bump) = light_ctoken_sdk::ctoken::derive_ctoken_ata(&signer.pubkey(), &mint); let create_ata_ix = if is_compressible { println!( @@ -493,7 +492,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::compressed_token::create_compressed_mint::derive_compressed_mint_address( + light_ctoken_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 424273f917..1b026f41db 100644 --- a/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs +++ b/program-tests/compressed-token-test/tests/transfer2/spl_ctoken.rs @@ -1,8 +1,9 @@ use anchor_lang::prelude::{AccountMeta, ProgramError}; // Re-export all necessary imports for test modules pub use anchor_spl::token_2022::spl_token_2022; -pub use light_compressed_token_sdk::ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}; -use light_compressed_token_sdk::{ +use light_ctoken_interface::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; +pub use light_ctoken_sdk::ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}; +use light_ctoken_sdk::{ compressed_token::{ transfer2::{ create_transfer2_instruction, Transfer2AccountsMetaConfig, Transfer2Config, @@ -13,7 +14,6 @@ use light_compressed_token_sdk::{ token_pool::find_token_pool_pda_with_index, ValidityProof, }; -use light_ctoken_interface::instructions::transfer2::{Compression, MultiTokenTransferOutputData}; use light_program_test::utils::assert::assert_rpc_error; pub use light_program_test::{LightProgramTest, ProgramTestConfig}; pub use light_test_utils::{ 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 33ee741924..e9cedd1e10 100644 --- a/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs +++ b/program-tests/compressed-token-test/tests/transfer2/transfer_failing.rs @@ -5,7 +5,11 @@ // ============================================================================ use light_client::indexer::{CompressedTokenAccount, Indexer}; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, + state::TokenDataVersion, +}; +use light_ctoken_sdk::{ compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, @@ -15,10 +19,6 @@ use light_compressed_token_sdk::{ }, ValidityProof, }; -use light_ctoken_interface::{ - instructions::{mint_action::Recipient, transfer2::MultiInputTokenDataWithContext}, - state::TokenDataVersion, -}; use light_program_test::{ utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, Rpc, }; @@ -72,8 +72,10 @@ async fn setup_transfer_test( ) .await?; - let mint = - light_compressed_token_sdk::compressed_token::create_compressed_mint::find_spl_mint_address(&mint_seed.pubkey()).0; + let mint = light_ctoken_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 { @@ -680,8 +682,10 @@ async fn setup_transfer_test_with_delegate( ) .await?; - let mint = - light_compressed_token_sdk::compressed_token::create_compressed_mint::find_spl_mint_address(&mint_seed.pubkey()).0; + let mint = light_ctoken_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/compressed-token-test/tests/v1.rs b/program-tests/compressed-token-test/tests/v1.rs index f666bafd61..0cfb486e02 100644 --- a/program-tests/compressed-token-test/tests/v1.rs +++ b/program-tests/compressed-token-test/tests/v1.rs @@ -38,7 +38,7 @@ use light_compressed_token::{ spl_compression::check_spl_token_pool_derivation_with_index, ErrorCode, TokenData, }; -use light_compressed_token_sdk::compat::{AccountState, TokenDataWithMerkleContext}; +use light_ctoken_sdk::compat::{AccountState, TokenDataWithMerkleContext}; use light_program_test::{ accounts::{test_accounts::TestAccounts, test_keypairs::TestKeypairs}, indexer::{TestIndexer, TestIndexerExtensions}, @@ -5612,7 +5612,7 @@ async fn batch_compress_with_batched_tree() { .into(); assert_eq!(recipient_compressed_token_accounts.len(), 1); let recipient_compressed_token_account = &recipient_compressed_token_accounts[0]; - let expected_token_data = light_compressed_token_sdk::compat::TokenData { + let expected_token_data = light_ctoken_sdk::compat::TokenData { mint, owner: recipients[i as usize], amount: (i + 1), @@ -5678,7 +5678,7 @@ async fn batch_compress_with_batched_tree() { .into(); assert_eq!(recipient_compressed_token_accounts.len(), 1); let recipient_compressed_token_account = &recipient_compressed_token_accounts[0]; - let expected_token_data = light_compressed_token_sdk::compat::TokenData { + let expected_token_data = light_ctoken_sdk::compat::TokenData { mint, owner: *recipient, amount, diff --git a/program-tests/registry-test/Cargo.toml b/program-tests/registry-test/Cargo.toml index b08a105fb8..0afeb5f9d5 100644 --- a/program-tests/registry-test/Cargo.toml +++ b/program-tests/registry-test/Cargo.toml @@ -37,7 +37,7 @@ solana-sdk = { workspace = true } serial_test = { workspace = true } light-batched-merkle-tree = { workspace = true } light-account-checks = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-compressible = { workspace = true } light-token-client = { workspace = true } light-ctoken-interface = { workspace = true } diff --git a/program-tests/registry-test/tests/compressible.rs b/program-tests/registry-test/tests/compressible.rs index e5ebbefe45..2fe99f1be6 100644 --- a/program-tests/registry-test/tests/compressible.rs +++ b/program-tests/registry-test/tests/compressible.rs @@ -3,13 +3,13 @@ use std::str::FromStr; // TODO: refactor into dir use anchor_lang::{AnchorDeserialize, InstructionData, ToAccountMetas}; -use light_compressed_token_sdk::ctoken::{ - derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount, -}; use light_compressible::{ config::CompressibleConfig, error::CompressibleError, rent::SLOTS_PER_EPOCH, }; use light_ctoken_interface::state::{CToken, ExtensionStruct}; +use light_ctoken_sdk::ctoken::{ + derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount, +}; use light_program_test::{ forester::claim_forester, program_test::TestRpc, utils::assert::assert_rpc_error, LightProgramTest, ProgramTestConfig, diff --git a/program-tests/system-cpi-test/Cargo.toml b/program-tests/system-cpi-test/Cargo.toml index 2cf113e912..7d575c83c4 100644 --- a/program-tests/system-cpi-test/Cargo.toml +++ b/program-tests/system-cpi-test/Cargo.toml @@ -24,7 +24,7 @@ default = ["custom-heap"] anchor-lang = { workspace = true } anchor-spl = { workspace = true } light-compressed-token = { workspace = true, features = ["cpi"] } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-system-program-anchor = { workspace = true, features = ["cpi"] } light-registry = { workspace = true, features = ["cpi"] } account-compression = { workspace = true, features = ["cpi"] } diff --git a/program-tests/system-cpi-test/tests/test.rs b/program-tests/system-cpi-test/tests/test.rs index 48af7923d3..7f013d6c4b 100644 --- a/program-tests/system-cpi-test/tests/test.rs +++ b/program-tests/system-cpi-test/tests/test.rs @@ -18,7 +18,7 @@ use light_compressed_account::{ TreeType, }; use light_compressed_token::process_transfer::InputTokenDataWithContext; -use light_compressed_token_sdk::compat::{AccountState, TokenDataWithMerkleContext}; +use light_ctoken_sdk::compat::{AccountState, TokenDataWithMerkleContext}; use light_hasher::{Hasher, Poseidon}; use light_merkle_tree_metadata::errors::MerkleTreeMetadataError; use light_program_test::{ diff --git a/program-tests/utils/Cargo.toml b/program-tests/utils/Cargo.toml index 1ab763d238..75220fea43 100644 --- a/program-tests/utils/Cargo.toml +++ b/program-tests/utils/Cargo.toml @@ -49,6 +49,6 @@ light-sparse-merkle-tree = { workspace = true } solana-banks-client = { workspace = true } light-zero-copy = { workspace = true } base64 = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-token-client = { workspace = true } light-compressible = { workspace = true } diff --git a/program-tests/utils/src/assert_create_token_account.rs b/program-tests/utils/src/assert_create_token_account.rs index 247b7df5df..adaa4adac9 100644 --- a/program-tests/utils/src/assert_create_token_account.rs +++ b/program-tests/utils/src/assert_create_token_account.rs @@ -1,11 +1,11 @@ use anchor_spl::token_2022::spl_token_2022; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::derive_ctoken_ata; use light_compressible::rent::RentConfig; use light_ctoken_interface::{ state::{ctoken::CToken, extensions::CompressionInfo, AccountState}, BASE_TOKEN_ACCOUNT_SIZE, COMPRESSIBLE_TOKEN_ACCOUNT_SIZE, }; +use light_ctoken_sdk::ctoken::derive_ctoken_ata; use light_program_test::LightProgramTest; use light_zero_copy::traits::ZeroCopyAt; use solana_sdk::{program_pack::Pack, pubkey::Pubkey}; diff --git a/program-tests/utils/src/assert_mint_to_compressed.rs b/program-tests/utils/src/assert_mint_to_compressed.rs index 07ce077d3c..51c93431a0 100644 --- a/program-tests/utils/src/assert_mint_to_compressed.rs +++ b/program-tests/utils/src/assert_mint_to_compressed.rs @@ -5,10 +5,10 @@ use light_client::{ rpc::Rpc, }; use light_compressed_token::instructions::create_token_pool::find_token_pool_pda_with_index; -use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_cmint_from_spl_mint; use light_ctoken_interface::{ instructions::mint_action::Recipient, state::CompressedMint, COMPRESSED_TOKEN_PROGRAM_ID, }; +use light_ctoken_sdk::compressed_token::create_compressed_mint::derive_cmint_from_spl_mint; use solana_sdk::{program_pack::Pack, pubkey::Pubkey}; pub async fn assert_mint_to_compressed( @@ -51,12 +51,12 @@ pub async fn assert_mint_to_compressed( }); // Create expected token data - let expected_token_data = light_compressed_token_sdk::compat::TokenData { + let expected_token_data = light_ctoken_sdk::compat::TokenData { mint: spl_mint_pda, owner: recipient_pubkey, amount: recipient.amount, delegate: None, - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; diff --git a/program-tests/utils/src/assert_token_tx.rs b/program-tests/utils/src/assert_token_tx.rs index d9f774f3d1..22a8a53cda 100644 --- a/program-tests/utils/src/assert_token_tx.rs +++ b/program-tests/utils/src/assert_token_tx.rs @@ -2,7 +2,7 @@ use anchor_lang::AnchorSerialize; use light_client::{indexer::Indexer, rpc::Rpc}; use light_compressed_account::compressed_account::CompressedAccountWithMerkleContext; use light_compressed_token::process_transfer::{get_cpi_authority_pda, TokenTransferOutputData}; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_event::event::PublicTransactionEvent; use light_program_test::indexer::TestIndexerExtensions; use solana_sdk::{program_pack::Pack, pubkey::Pubkey}; diff --git a/program-tests/utils/src/assert_transfer2.rs b/program-tests/utils/src/assert_transfer2.rs index fa46dc09f4..5ec212147a 100644 --- a/program-tests/utils/src/assert_transfer2.rs +++ b/program-tests/utils/src/assert_transfer2.rs @@ -88,12 +88,12 @@ pub async fn assert_transfer2_with_delegate( }; // Get mint from the source compressed token account - let expected_recipient_token_data = light_compressed_token_sdk::compat::TokenData { + let expected_recipient_token_data = light_ctoken_sdk::compat::TokenData { mint: source_mint, owner: transfer_input.to, amount: transfer_input.amount, delegate: None, - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; @@ -157,12 +157,12 @@ pub async fn assert_transfer2_with_delegate( None // No delegate to preserve }; - let expected_change_token = light_compressed_token_sdk::compat::TokenData { + let expected_change_token = light_ctoken_sdk::compat::TokenData { mint: source_mint, owner: source_owner, amount: change_amount, delegate: expected_delegate, - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; @@ -216,12 +216,12 @@ pub async fn assert_transfer2_with_delegate( None // Default to None if no authority specified }; - let expected_change_token = light_compressed_token_sdk::compat::TokenData { + let expected_change_token = light_ctoken_sdk::compat::TokenData { mint: source_mint, owner: source_owner, amount: change_amount, delegate: expected_delegate, - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; @@ -278,12 +278,12 @@ pub async fn assert_transfer2_with_delegate( .value .items; - let expected_change_token = light_compressed_token_sdk::compat::TokenData { + let expected_change_token = light_ctoken_sdk::compat::TokenData { mint: source_mint, owner: source_owner, amount: change_amount, delegate: Some(approve_input.delegate), - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; @@ -336,12 +336,12 @@ pub async fn assert_transfer2_with_delegate( .map(|accounts| accounts.iter().map(|a| a.token.amount).sum::()) .unwrap_or(0); - let expected_recipient_token_data = light_compressed_token_sdk::compat::TokenData { + let expected_recipient_token_data = light_ctoken_sdk::compat::TokenData { mint: compress_input.mint, owner: compress_input.to, amount: compress_input.amount + compressed_input_amount, delegate: None, - state: light_compressed_token_sdk::compat::AccountState::Initialized, + state: light_ctoken_sdk::compat::AccountState::Initialized, tlv: None, }; recipient_accounts.iter().for_each(|account| { @@ -482,7 +482,7 @@ pub async fn assert_transfer2_with_delegate( ); assert_eq!( compressed_account.token.state, - light_compressed_token_sdk::compat::AccountState::Initialized, + light_ctoken_sdk::compat::AccountState::Initialized, "CompressAndClose compressed account should be initialized" ); assert_eq!( diff --git a/program-tests/utils/src/conversions.rs b/program-tests/utils/src/conversions.rs index 2fe9e9d2fc..f4b4ccb5df 100644 --- a/program-tests/utils/src/conversions.rs +++ b/program-tests/utils/src/conversions.rs @@ -83,30 +83,26 @@ use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData as Pr // } pub fn sdk_to_program_account_state( - sdk_state: light_compressed_token_sdk::compat::AccountState, + sdk_state: light_ctoken_sdk::compat::AccountState, ) -> CompressedTokenAccountState { match sdk_state { - light_compressed_token_sdk::compat::AccountState::Initialized => { + light_ctoken_sdk::compat::AccountState::Initialized => { CompressedTokenAccountState::Initialized } - light_compressed_token_sdk::compat::AccountState::Frozen => { - CompressedTokenAccountState::Frozen - } + light_ctoken_sdk::compat::AccountState::Frozen => CompressedTokenAccountState::Frozen, } } -pub fn program_to_sdk_account_state( - program_state: u8, -) -> light_compressed_token_sdk::compat::AccountState { +pub fn program_to_sdk_account_state(program_state: u8) -> light_ctoken_sdk::compat::AccountState { match program_state { - 0 => light_compressed_token_sdk::compat::AccountState::Initialized, - 1 => light_compressed_token_sdk::compat::AccountState::Frozen, + 0 => light_ctoken_sdk::compat::AccountState::Initialized, + 1 => light_ctoken_sdk::compat::AccountState::Frozen, _ => panic!("program_to_sdk_account_state: invalid account state"), } } pub fn sdk_to_program_token_data( - sdk_token: light_compressed_token_sdk::compat::TokenData, + sdk_token: light_ctoken_sdk::compat::TokenData, ) -> ProgramTokenData { ProgramTokenData { mint: sdk_token.mint.into(), @@ -120,8 +116,8 @@ pub fn sdk_to_program_token_data( pub fn program_to_sdk_token_data( program_token: ProgramTokenData, -) -> light_compressed_token_sdk::compat::TokenData { - light_compressed_token_sdk::compat::TokenData { +) -> light_ctoken_sdk::compat::TokenData { + light_ctoken_sdk::compat::TokenData { mint: program_token.mint.into(), owner: program_token.owner.into(), amount: program_token.amount, diff --git a/program-tests/utils/src/e2e_test_env.rs b/program-tests/utils/src/e2e_test_env.rs index 09ea74ed6a..1b9837bf42 100644 --- a/program-tests/utils/src/e2e_test_env.rs +++ b/program-tests/utils/src/e2e_test_env.rs @@ -117,7 +117,7 @@ use light_compressed_account::{ TreeType, }; use light_compressed_token::process_transfer::transfer_sdk::to_account_metas; -use light_compressed_token_sdk::compat::{AccountState, TokenDataWithMerkleContext}; +use light_ctoken_sdk::compat::{AccountState, TokenDataWithMerkleContext}; use light_hasher::{bigint::bigint_to_be_bytes_array, Poseidon}; use light_indexed_merkle_tree::{ array::IndexedArray, reference::IndexedMerkleTree, HIGHEST_ADDRESS_PLUS_ONE, diff --git a/program-tests/utils/src/spl.rs b/program-tests/utils/src/spl.rs index c6636a7ae1..8ca3f35f73 100644 --- a/program-tests/utils/src/spl.rs +++ b/program-tests/utils/src/spl.rs @@ -25,8 +25,8 @@ use light_compressed_token::{ process_compress_spl_token_account::sdk::create_compress_spl_token_account_instruction, process_transfer::{transfer_sdk::create_transfer_instruction, TokenTransferOutputData}, }; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; use light_ctoken_interface::state::{CompressedTokenAccountState, TokenData}; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_hasher::Poseidon; use light_program_test::{indexer::TestIndexerExtensions, program_test::TestRpc}; use solana_banks_client::BanksClientError; diff --git a/scripts/lint.sh b/scripts/lint.sh index d5bbf8263e..cb620d28fd 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -33,7 +33,7 @@ NO_DEFAULT_CRATES=( "light-sdk-types" "light-sdk-pinocchio" "light-sdk-macros" - "light-compressed-token-sdk" + "light-ctoken-sdk" "light-compressed-token-types" "light-sdk" "sdk-compressible-test" @@ -100,7 +100,7 @@ ANCHOR_CRATES=( "light-compressible" "light-sdk-types" "light-sdk" - "light-compressed-token-sdk" + "light-ctoken-sdk" "light-compressed-token-types" ) diff --git a/sdk-libs/client/Cargo.toml b/sdk-libs/client/Cargo.toml index 565939fd51..9026a6c0b8 100644 --- a/sdk-libs/client/Cargo.toml +++ b/sdk-libs/client/Cargo.toml @@ -43,7 +43,7 @@ light-indexed-merkle-tree = { workspace = true } light-sdk = { workspace = true } light-hasher = { workspace = true, features = ["poseidon"] } light-compressed-account = { workspace = true, features = ["solana", "poseidon"] } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-event = { workspace = true } photon-api = { workspace = true } diff --git a/sdk-libs/client/src/indexer/types.rs b/sdk-libs/client/src/indexer/types.rs index 016e6e28cf..1ff7dd1e2d 100644 --- a/sdk-libs/client/src/indexer/types.rs +++ b/sdk-libs/client/src/indexer/types.rs @@ -6,7 +6,7 @@ use light_compressed_account::{ instruction_data::compressed_proof::CompressedProof, TreeType, }; -use light_compressed_token_sdk::compat::{AccountState, TokenData}; +use light_ctoken_sdk::compat::{AccountState, TokenData}; use light_indexed_merkle_tree::array::IndexedElement; use light_sdk::instruction::{ PackedAccounts, PackedAddressTreeInfo, PackedStateTreeInfo, ValidityProof, @@ -893,13 +893,11 @@ impl TryFrom<&photon_api::models::TokenAccountV2> for CompressedTokenAccount { } #[allow(clippy::from_over_into)] -impl Into - for CompressedTokenAccount -{ - fn into(self) -> light_compressed_token_sdk::compat::TokenDataWithMerkleContext { +impl Into for CompressedTokenAccount { + fn into(self) -> light_ctoken_sdk::compat::TokenDataWithMerkleContext { let compressed_account = CompressedAccountWithMerkleContext::from(self.account); - light_compressed_token_sdk::compat::TokenDataWithMerkleContext { + light_ctoken_sdk::compat::TokenDataWithMerkleContext { token_data: self.token, compressed_account, } @@ -907,32 +905,30 @@ impl Into } #[allow(clippy::from_over_into)] -impl Into> +impl Into> for super::response::Response> { - fn into(self) -> Vec { + fn into(self) -> Vec { self.value .items .into_iter() .map( - |token_account| light_compressed_token_sdk::compat::TokenDataWithMerkleContext { + |token_account| light_ctoken_sdk::compat::TokenDataWithMerkleContext { token_data: token_account.token, compressed_account: CompressedAccountWithMerkleContext::from( token_account.account.clone(), ), }, ) - .collect::>() + .collect::>() } } -impl TryFrom - for CompressedTokenAccount -{ +impl TryFrom for CompressedTokenAccount { type Error = IndexerError; fn try_from( - token_data_with_context: light_compressed_token_sdk::compat::TokenDataWithMerkleContext, + token_data_with_context: light_ctoken_sdk::compat::TokenDataWithMerkleContext, ) -> Result { let account = CompressedAccount::try_from(token_data_with_context.compressed_account)?; diff --git a/sdk-libs/compressed-token-sdk/Cargo.toml b/sdk-libs/ctoken-sdk/Cargo.toml similarity index 98% rename from sdk-libs/compressed-token-sdk/Cargo.toml rename to sdk-libs/ctoken-sdk/Cargo.toml index 1d7b1b3f8a..194bea0b0f 100644 --- a/sdk-libs/compressed-token-sdk/Cargo.toml +++ b/sdk-libs/ctoken-sdk/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "light-compressed-token-sdk" +name = "light-ctoken-sdk" version = "0.1.0" edition = { workspace = true } diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/ctoken_instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/ctoken_instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/ctoken_instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/ctoken_instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/account.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/account.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/account.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/account.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/approve/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/approve/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/batch_compress/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/batch_compress/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/batch_compress/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/batch_compress/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/batch_compress/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/batch_compress/mod.rs rename to sdk-libs/ctoken-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/ctoken-sdk/src/compressed_token/v1/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_infos.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/account_infos.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_infos.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/account_infos.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v1/transfer/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v1/transfer/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/account2.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/account2.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/account2.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/compress_and_close.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/compress_and_close.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/compress_and_close.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/create_compressed_mint/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/decompress_full.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/decompress_full.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/decompress_full.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/cpi_accounts.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_action/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_action/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_to_compressed/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_to_compressed/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/mint_to_compressed/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mint_to_compressed/mod.rs rename to sdk-libs/ctoken-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/ctoken-sdk/src/compressed_token/v2/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/token_metadata_ui.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/token_metadata_ui.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/token_metadata_ui.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/token_metadata_ui.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/cpi_accounts.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/transfer2/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/transfer2/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/account_metas.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/instruction.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs b/sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs rename to sdk-libs/ctoken-sdk/src/compressed_token/v2/update_compressed_mint/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressible/claim.rs b/sdk-libs/ctoken-sdk/src/compressible/claim.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressible/claim.rs rename to sdk-libs/ctoken-sdk/src/compressible/claim.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs b/sdk-libs/ctoken-sdk/src/compressible/decompress_runtime.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressible/decompress_runtime.rs rename to sdk-libs/ctoken-sdk/src/compressible/decompress_runtime.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressible/mod.rs b/sdk-libs/ctoken-sdk/src/compressible/mod.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressible/mod.rs rename to sdk-libs/ctoken-sdk/src/compressible/mod.rs diff --git a/sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs b/sdk-libs/ctoken-sdk/src/compressible/withdraw_funding_pool.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/compressible/withdraw_funding_pool.rs rename to sdk-libs/ctoken-sdk/src/compressible/withdraw_funding_pool.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/close.rs b/sdk-libs/ctoken-sdk/src/ctoken/close.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/close.rs rename to sdk-libs/ctoken-sdk/src/ctoken/close.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs b/sdk-libs/ctoken-sdk/src/ctoken/compressible.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/compressible.rs rename to sdk-libs/ctoken-sdk/src/ctoken/compressible.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create.rs b/sdk-libs/ctoken-sdk/src/ctoken/create.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/create.rs rename to sdk-libs/ctoken-sdk/src/ctoken/create.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs b/sdk-libs/ctoken-sdk/src/ctoken/create_ata.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/create_ata.rs rename to sdk-libs/ctoken-sdk/src/ctoken/create_ata.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs b/sdk-libs/ctoken-sdk/src/ctoken/create_cmint.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/create_cmint.rs rename to sdk-libs/ctoken-sdk/src/ctoken/create_cmint.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs b/sdk-libs/ctoken-sdk/src/ctoken/mint_to.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/mint_to.rs rename to sdk-libs/ctoken-sdk/src/ctoken/mint_to.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs b/sdk-libs/ctoken-sdk/src/ctoken/mod.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/src/ctoken/mod.rs rename to sdk-libs/ctoken-sdk/src/ctoken/mod.rs index 52f2d605a3..16b59e63c4 100644 --- a/sdk-libs/compressed-token-sdk/src/ctoken/mod.rs +++ b/sdk-libs/ctoken-sdk/src/ctoken/mod.rs @@ -42,7 +42,7 @@ pub struct SystemAccountInfos<'info> { /// System accounts with Pubkey references for instruction building. /// /// ```rust -/// # use light_compressed_token_sdk::ctoken::SystemAccounts; +/// # use light_ctoken_sdk::ctoken::SystemAccounts; /// # use solana_instruction::AccountMeta; /// let system_accounts = SystemAccounts::default(); /// let accounts = vec![ diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken.rs b/sdk-libs/ctoken-sdk/src/ctoken/transfer_ctoken.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken.rs rename to sdk-libs/ctoken-sdk/src/ctoken/transfer_ctoken.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs b/sdk-libs/ctoken-sdk/src/ctoken/transfer_ctoken_spl.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/transfer_ctoken_spl.rs rename to sdk-libs/ctoken-sdk/src/ctoken/transfer_ctoken_spl.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_interface.rs b/sdk-libs/ctoken-sdk/src/ctoken/transfer_interface.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/transfer_interface.rs rename to sdk-libs/ctoken-sdk/src/ctoken/transfer_interface.rs diff --git a/sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs b/sdk-libs/ctoken-sdk/src/ctoken/transfer_spl_ctoken.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/ctoken/transfer_spl_ctoken.rs rename to sdk-libs/ctoken-sdk/src/ctoken/transfer_spl_ctoken.rs diff --git a/sdk-libs/compressed-token-sdk/src/error.rs b/sdk-libs/ctoken-sdk/src/error.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/error.rs rename to sdk-libs/ctoken-sdk/src/error.rs diff --git a/sdk-libs/compressed-token-sdk/src/lib.rs b/sdk-libs/ctoken-sdk/src/lib.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/lib.rs rename to sdk-libs/ctoken-sdk/src/lib.rs diff --git a/sdk-libs/compressed-token-sdk/src/pack.rs b/sdk-libs/ctoken-sdk/src/pack.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/pack.rs rename to sdk-libs/ctoken-sdk/src/pack.rs diff --git a/sdk-libs/compressed-token-sdk/src/token_pool.rs b/sdk-libs/ctoken-sdk/src/token_pool.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/token_pool.rs rename to sdk-libs/ctoken-sdk/src/token_pool.rs diff --git a/sdk-libs/compressed-token-sdk/src/utils.rs b/sdk-libs/ctoken-sdk/src/utils.rs similarity index 100% rename from sdk-libs/compressed-token-sdk/src/utils.rs rename to sdk-libs/ctoken-sdk/src/utils.rs diff --git a/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs b/sdk-libs/ctoken-sdk/tests/account_metas_test.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/tests/account_metas_test.rs rename to sdk-libs/ctoken-sdk/tests/account_metas_test.rs index 687b5a40bf..9ec4315d02 100644 --- a/sdk-libs/compressed-token-sdk/tests/account_metas_test.rs +++ b/sdk-libs/ctoken-sdk/tests/account_metas_test.rs @@ -1,5 +1,9 @@ use anchor_lang::ToAccountMetas; -use light_compressed_token_sdk::{ +use light_compressed_token_types::constants::{ + ACCOUNT_COMPRESSION_PROGRAM_ID, CPI_AUTHORITY_PDA, LIGHT_SYSTEM_PROGRAM_ID, NOOP_PROGRAM_ID, + PROGRAM_ID as COMPRESSED_TOKEN_PROGRAM_ID, +}; +use light_ctoken_sdk::{ compressed_token::{ batch_compress::{get_batch_compress_instruction_account_metas, BatchCompressMetaConfig}, transfer::account_metas::{ @@ -8,10 +12,6 @@ use light_compressed_token_sdk::{ }, utils::CTokenDefaultAccounts, }; -use light_compressed_token_types::constants::{ - ACCOUNT_COMPRESSION_PROGRAM_ID, CPI_AUTHORITY_PDA, LIGHT_SYSTEM_PROGRAM_ID, NOOP_PROGRAM_ID, - PROGRAM_ID as COMPRESSED_TOKEN_PROGRAM_ID, -}; use light_sdk::constants::REGISTERED_PROGRAM_PDA; use solana_pubkey::Pubkey; diff --git a/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs b/sdk-libs/ctoken-sdk/tests/create_associated_token_account.rs similarity index 96% rename from sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs rename to sdk-libs/ctoken-sdk/tests/create_associated_token_account.rs index 276f4f45ec..b2998d63c3 100644 --- a/sdk-libs/compressed-token-sdk/tests/create_associated_token_account.rs +++ b/sdk-libs/ctoken-sdk/tests/create_associated_token_account.rs @@ -1,4 +1,4 @@ -use light_compressed_token_sdk::ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}; +use light_ctoken_sdk::ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}; use solana_pubkey::Pubkey; const CREATE_ATA_DISCRIMINATOR: u8 = 100; diff --git a/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs b/sdk-libs/ctoken-sdk/tests/mint_action_cpi_accounts_tests.rs similarity index 99% rename from sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs rename to sdk-libs/ctoken-sdk/tests/mint_action_cpi_accounts_tests.rs index cd8b14f599..9b98ee5e42 100644 --- a/sdk-libs/compressed-token-sdk/tests/mint_action_cpi_accounts_tests.rs +++ b/sdk-libs/ctoken-sdk/tests/mint_action_cpi_accounts_tests.rs @@ -1,11 +1,11 @@ #![cfg(test)] use light_account_checks::account_info::test_account_info::pinocchio::get_account_info; -use light_compressed_token_sdk::compressed_token::mint_action::{ - cpi_accounts::MintActionCpiAccountsConfig, MintActionCpiAccounts, -}; use light_compressed_token_types::CPI_AUTHORITY_PDA; use light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID; +use light_ctoken_sdk::compressed_token::mint_action::{ + cpi_accounts::MintActionCpiAccountsConfig, MintActionCpiAccounts, +}; use light_sdk_types::{ ACCOUNT_COMPRESSION_AUTHORITY_PDA, ACCOUNT_COMPRESSION_PROGRAM_ID, LIGHT_SYSTEM_PROGRAM_ID, REGISTERED_PROGRAM_PDA, diff --git a/sdk-libs/compressed-token-sdk/tests/pack_test.rs b/sdk-libs/ctoken-sdk/tests/pack_test.rs similarity index 98% rename from sdk-libs/compressed-token-sdk/tests/pack_test.rs rename to sdk-libs/ctoken-sdk/tests/pack_test.rs index 67f7502bc4..265e067493 100644 --- a/sdk-libs/compressed-token-sdk/tests/pack_test.rs +++ b/sdk-libs/ctoken-sdk/tests/pack_test.rs @@ -1,7 +1,7 @@ #[cfg(test)] mod tests { - use light_compressed_token_sdk::{ + use light_ctoken_sdk::{ compat::{PackedCTokenDataWithVariant, TokenData, TokenDataWithVariant}, Pack, }; diff --git a/sdk-libs/macros/src/compressible/GUIDE.md b/sdk-libs/macros/src/compressible/GUIDE.md index fb42fe362c..835341d650 100644 --- a/sdk-libs/macros/src/compressible/GUIDE.md +++ b/sdk-libs/macros/src/compressible/GUIDE.md @@ -138,7 +138,7 @@ let mut rpc = LightClient::new(LightClientConfig::local()).await?; // or devnet/ 2. Create a compressible ATA ```rust -use light_compressed_token_sdk::instructions::{ +use light_ctoken_sdk::instructions::{ create_compressible_associated_token_account, CreateCompressibleAssociatedTokenAccountInputs }; @@ -157,7 +157,7 @@ let ix = create_compressible_associated_token_account(CreateCompressibleAssociat 3. Create a cMint and mint to recipients ```rust -use light_compressed_token_sdk::instructions::{ +use light_ctoken_sdk::instructions::{ create_compressed_mint, CreateCompressedMintInputs, create_mint_to_compressed_instruction, MintToCompressedInputs }; diff --git a/sdk-libs/macros/src/compressible/decompress_context.rs b/sdk-libs/macros/src/compressible/decompress_context.rs index e50e41b027..ffacb47450 100644 --- a/sdk-libs/macros/src/compressible/decompress_context.rs +++ b/sdk-libs/macros/src/compressible/decompress_context.rs @@ -71,7 +71,7 @@ pub fn generate_decompress_context_trait_impl( Ok(quote! { impl<#lifetime> light_sdk::compressible::DecompressContext<#lifetime> for DecompressAccountsIdempotent<#lifetime> { type CompressedData = CompressedAccountData; - type PackedTokenData = light_compressed_token_sdk::compat::PackedCTokenData<#token_variant_ident>; + type PackedTokenData = light_ctoken_sdk::compat::PackedCTokenData<#token_variant_ident>; type CompressedMeta = light_sdk::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress; type SeedParams = SeedParams; @@ -156,7 +156,7 @@ pub fn generate_decompress_context_trait_impl( post_system_accounts: &[solana_account_info::AccountInfo<#lifetime>], has_pdas: bool, ) -> std::result::Result<(), solana_program_error::ProgramError> { - light_compressed_token_sdk::compressible::decompress_runtime::process_decompress_tokens_runtime( + light_ctoken_sdk::compressible::decompress_runtime::process_decompress_tokens_runtime( self, remaining_accounts, fee_payer, diff --git a/sdk-libs/macros/src/compressible/instructions.rs b/sdk-libs/macros/src/compressible/instructions.rs index e5545a95b4..797fb0d974 100644 --- a/sdk-libs/macros/src/compressible/instructions.rs +++ b/sdk-libs/macros/src/compressible/instructions.rs @@ -563,7 +563,7 @@ pub fn add_compressible_instructions( } } - impl light_compressed_token_sdk::CTokenSeedProvider for CTokenAccountVariant { + impl light_ctoken_sdk::CTokenSeedProvider for CTokenAccountVariant { type Accounts<'info> = DecompressAccountsIdempotent<'info>; fn get_seeds<'a, 'info>( @@ -660,7 +660,7 @@ pub fn add_compressible_instructions( ) -> std::result::Result<( Vec, Vec<( - light_compressed_token_sdk::compat::PackedCTokenData, + light_ctoken_sdk::compat::PackedCTokenData, light_sdk::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress, )>, ), solana_program_error::ProgramError> { @@ -670,7 +670,7 @@ pub fn add_compressible_instructions( let estimated_capacity = compressed_accounts.len(); let mut compressed_pda_infos = Vec::with_capacity(estimated_capacity); let mut compressed_token_accounts: Vec<( - light_compressed_token_sdk::compat::PackedCTokenData, + light_ctoken_sdk::compat::PackedCTokenData, light_sdk::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress, )> = Vec::with_capacity(estimated_capacity); diff --git a/sdk-libs/macros/src/compressible/variant_enum.rs b/sdk-libs/macros/src/compressible/variant_enum.rs index 9f71a0b510..4e4b9052f0 100644 --- a/sdk-libs/macros/src/compressible/variant_enum.rs +++ b/sdk-libs/macros/src/compressible/variant_enum.rs @@ -41,8 +41,8 @@ pub fn compressed_account_variant(input: TokenStream) -> Result { #[derive(Clone, Debug, anchor_lang::AnchorSerialize, anchor_lang::AnchorDeserialize)] pub enum CompressedAccountVariant { #(#account_variants)* - PackedCTokenData(light_compressed_token_sdk::compat::PackedCTokenData), - CTokenData(light_compressed_token_sdk::compat::CTokenData), + PackedCTokenData(light_ctoken_sdk::compat::PackedCTokenData), + CTokenData(light_ctoken_sdk::compat::CTokenData), } }; @@ -187,7 +187,7 @@ pub fn compressed_account_variant(input: TokenStream) -> Result { #(#pack_match_arms)* Self::PackedCTokenData(_) => unreachable!(), Self::CTokenData(data) => { - Self::PackedCTokenData(light_compressed_token_sdk::Pack::pack(data, remaining_accounts)) + Self::PackedCTokenData(light_ctoken_sdk::Pack::pack(data, remaining_accounts)) } } } diff --git a/sdk-libs/program-test/Cargo.toml b/sdk-libs/program-test/Cargo.toml index 7993839fcb..f5c1207635 100644 --- a/sdk-libs/program-test/Cargo.toml +++ b/sdk-libs/program-test/Cargo.toml @@ -20,7 +20,7 @@ light-concurrent-merkle-tree = { workspace = true, optional = true } light-hasher = { workspace = true, features = ["poseidon", "sha256", "keccak", "std"] } light-ctoken-interface = { workspace = true, optional = true } light-compressible = { workspace = true, optional = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-compressed-account = { workspace = true, features = ["anchor", "poseidon"] } light-batched-merkle-tree = { workspace = true, features = ["test-only"], optional = true } light-event = { workspace = true } 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 65972c44ce..d0abd837e2 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,8 +5,8 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; use light_compressible::config::CompressibleConfig; +use light_ctoken_sdk::compressed_token::compress_and_close::CompressAndCloseAccounts as CTokenCompressAndCloseAccounts; use light_registry::{ accounts::CompressAndCloseContext as CompressAndCloseAccounts, compressible::compressed_token::CompressAndCloseIndices, instruction::CompressAndClose, diff --git a/sdk-libs/program-test/src/indexer/extensions.rs b/sdk-libs/program-test/src/indexer/extensions.rs index 13aa49d04d..8e78a5768a 100644 --- a/sdk-libs/program-test/src/indexer/extensions.rs +++ b/sdk-libs/program-test/src/indexer/extensions.rs @@ -4,7 +4,7 @@ use light_client::indexer::{ AddressMerkleTreeAccounts, MerkleProof, NewAddressProofWithContext, StateMerkleTreeAccounts, }; use light_compressed_account::compressed_account::CompressedAccountWithMerkleContext; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_event::event::PublicTransactionEvent; use solana_sdk::signature::Keypair; diff --git a/sdk-libs/program-test/src/indexer/test_indexer.rs b/sdk-libs/program-test/src/indexer/test_indexer.rs index f5f1e69242..a8af8bc23e 100644 --- a/sdk-libs/program-test/src/indexer/test_indexer.rs +++ b/sdk-libs/program-test/src/indexer/test_indexer.rs @@ -40,7 +40,7 @@ use light_compressed_account::{ tx_hash::create_tx_hash, TreeType, }; -use light_compressed_token_sdk::compat::{TokenData, TokenDataWithMerkleContext}; +use light_ctoken_sdk::compat::{TokenData, TokenDataWithMerkleContext}; use light_event::event::PublicTransactionEvent; use light_hasher::{bigint::bigint_to_be_bytes_array, Poseidon}; use light_merkle_tree_reference::MerkleTree; diff --git a/sdk-libs/program-test/src/program_test/extensions.rs b/sdk-libs/program-test/src/program_test/extensions.rs index b90210db95..25317bcf20 100644 --- a/sdk-libs/program-test/src/program_test/extensions.rs +++ b/sdk-libs/program-test/src/program_test/extensions.rs @@ -4,7 +4,7 @@ use light_client::indexer::{ AddressMerkleTreeAccounts, MerkleProof, NewAddressProofWithContext, StateMerkleTreeAccounts, }; use light_compressed_account::compressed_account::CompressedAccountWithMerkleContext; -use light_compressed_token_sdk::compat::TokenDataWithMerkleContext; +use light_ctoken_sdk::compat::TokenDataWithMerkleContext; use light_event::event::PublicTransactionEvent; use solana_sdk::signature::Keypair; diff --git a/sdk-libs/token-client/Cargo.toml b/sdk-libs/token-client/Cargo.toml index 2c6e0cb01f..f83a70f287 100644 --- a/sdk-libs/token-client/Cargo.toml +++ b/sdk-libs/token-client/Cargo.toml @@ -12,7 +12,7 @@ light-compressed-account = { workspace = true, features = ["std"] } light-ctoken-interface = { workspace = true } light-sdk = { workspace = true } light-client = { workspace = true, features = ["v2"] } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-zero-copy = { workspace = true } # Solana dependencies 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 187e593b49..a9432fca18 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,6 +1,6 @@ use light_client::rpc::{Rpc, RpcError}; -use light_compressed_token_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; use light_ctoken_interface::state::TokenDataVersion; +use light_ctoken_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signer::Signer; diff --git a/sdk-libs/token-client/src/actions/mint_action.rs b/sdk-libs/token-client/src/actions/mint_action.rs index 95b44c95d5..f495737b7c 100644 --- a/sdk-libs/token-client/src/actions/mint_action.rs +++ b/sdk-libs/token-client/src/actions/mint_action.rs @@ -2,8 +2,8 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address; use light_ctoken_interface::instructions::mint_action::Recipient; +use light_ctoken_sdk::compressed_token::create_compressed_mint::derive_compressed_mint_address; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signature::Signature; @@ -99,7 +99,7 @@ pub async fn mint_action_comprehensive( } if !mint_to_decompressed_recipients.is_empty() { - use light_compressed_token_sdk::{ + use light_ctoken_sdk::{ compressed_token::create_compressed_mint::find_spl_mint_address, ctoken::derive_ctoken_ata, }; 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 a4d72bba7e..d8e954851f 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 @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ ctoken::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 059ac9049d..ef91e03877 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 @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ ctoken::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/actions/update_compressed_mint.rs b/sdk-libs/token-client/src/actions/update_compressed_mint.rs index 9310d156da..38fdd58a76 100644 --- a/sdk-libs/token-client/src/actions/update_compressed_mint.rs +++ b/sdk-libs/token-client/src/actions/update_compressed_mint.rs @@ -2,7 +2,7 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::CompressedMintAuthorityType; +use light_ctoken_sdk::CompressedMintAuthorityType; use solana_keypair::Keypair; use solana_pubkey::Pubkey; use solana_signature::Signature; diff --git a/sdk-libs/token-client/src/instructions/create_mint.rs b/sdk-libs/token-client/src/instructions/create_mint.rs index f55afdbd1a..bd1b791c4a 100644 --- a/sdk-libs/token-client/src/instructions/create_mint.rs +++ b/sdk-libs/token-client/src/instructions/create_mint.rs @@ -2,12 +2,12 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::ctoken::{ - derive_compressed_mint_address, find_spl_mint_address, CreateCMint, CreateCMintParams, -}; use light_ctoken_interface::instructions::extensions::{ token_metadata::TokenMetadataInstructionData, ExtensionInstructionData, }; +use light_ctoken_sdk::ctoken::{ + derive_compressed_mint_address, find_spl_mint_address, CreateCMint, CreateCMintParams, +}; use solana_instruction::Instruction; use solana_keypair::Keypair; use solana_pubkey::Pubkey; diff --git a/sdk-libs/token-client/src/instructions/mint_action.rs b/sdk-libs/token-client/src/instructions/mint_action.rs index 85067127d0..bcf345c997 100644 --- a/sdk-libs/token-client/src/instructions/mint_action.rs +++ b/sdk-libs/token-client/src/instructions/mint_action.rs @@ -4,10 +4,6 @@ use light_client::{ rpc::{Rpc, RpcError}, }; use light_compressed_account::instruction_data::traits::LightInstructionData; -use light_compressed_token_sdk::compressed_token::{ - create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, - mint_action::MintActionMetaConfig, -}; use light_ctoken_interface::{ instructions::{ extensions::{token_metadata::TokenMetadataInstructionData, ExtensionInstructionData}, @@ -20,6 +16,10 @@ use light_ctoken_interface::{ state::CompressedMint, COMPRESSED_TOKEN_PROGRAM_ID, }; +use light_ctoken_sdk::compressed_token::{ + create_compressed_mint::{derive_compressed_mint_address, find_spl_mint_address}, + mint_action::MintActionMetaConfig, +}; use solana_instruction::Instruction; use solana_keypair::Keypair; use solana_pubkey::Pubkey; 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 28c7123b4a..5632f57c1f 100644 --- a/sdk-libs/token-client/src/instructions/mint_to_compressed.rs +++ b/sdk-libs/token-client/src/instructions/mint_to_compressed.rs @@ -3,7 +3,11 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::mint_action::{CompressedMintWithContext, Recipient}, + state::{CompressedMint, TokenDataVersion}, +}; +use light_ctoken_sdk::{ compressed_token::{ create_compressed_mint::derive_cmint_from_spl_mint, mint_to_compressed::{ @@ -12,10 +16,6 @@ use light_compressed_token_sdk::{ }, token_pool::{derive_token_pool, find_token_pool_pda_with_index}, }; -use light_ctoken_interface::{ - instructions::mint_action::{CompressedMintWithContext, Recipient}, - state::{CompressedMint, TokenDataVersion}, -}; use solana_instruction::Instruction; use solana_pubkey::Pubkey; diff --git a/sdk-libs/token-client/src/instructions/transfer2.rs b/sdk-libs/token-client/src/instructions/transfer2.rs index 64215cfbe4..3417ce4049 100644 --- a/sdk-libs/token-client/src/instructions/transfer2.rs +++ b/sdk-libs/token-client/src/instructions/transfer2.rs @@ -2,7 +2,12 @@ use light_client::{ indexer::{CompressedTokenAccount, Indexer}, rpc::Rpc, }; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::transfer2::{MultiInputTokenDataWithContext, MultiTokenTransferOutputData}, + state::TokenDataVersion, + COMPRESSED_TOKEN_PROGRAM_ID, +}; +use light_ctoken_sdk::{ compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, @@ -13,11 +18,6 @@ use light_compressed_token_sdk::{ error::TokenSdkError, token_pool::find_token_pool_pda_with_index, }; -use light_ctoken_interface::{ - instructions::transfer2::{MultiInputTokenDataWithContext, MultiTokenTransferOutputData}, - state::TokenDataVersion, - COMPRESSED_TOKEN_PROGRAM_ID, -}; use light_sdk::instruction::{PackedAccounts, PackedStateTreeInfo}; use solana_instruction::Instruction; use solana_pubkey::Pubkey; 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 aa6ec202c3..75c9a83ff0 100644 --- a/sdk-libs/token-client/src/instructions/update_compressed_mint.rs +++ b/sdk-libs/token-client/src/instructions/update_compressed_mint.rs @@ -3,16 +3,16 @@ use light_client::{ indexer::Indexer, rpc::{Rpc, RpcError}, }; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, + state::CompressedMint, +}; +use light_ctoken_sdk::{ compressed_token::update_compressed_mint::{ update_compressed_mint, UpdateCompressedMintInputs, }, CompressedMintAuthorityType, }; -use light_ctoken_interface::{ - instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, - state::CompressedMint, -}; use solana_instruction::Instruction; use solana_keypair::Keypair; use solana_pubkey::Pubkey; diff --git a/sdk-libs/token-client/src/lib.rs b/sdk-libs/token-client/src/lib.rs index 3e6a942795..837768eee1 100644 --- a/sdk-libs/token-client/src/lib.rs +++ b/sdk-libs/token-client/src/lib.rs @@ -1,4 +1,4 @@ pub mod actions; pub mod instructions; // re-export -pub use light_compressed_token_sdk::ctoken; +pub use light_ctoken_sdk::ctoken; diff --git a/sdk-tests/CLAUDE.md b/sdk-tests/CLAUDE.md index c587319290..9f3b4bb3f7 100644 --- a/sdk-tests/CLAUDE.md +++ b/sdk-tests/CLAUDE.md @@ -94,7 +94,7 @@ cargo test -p light-program-test cargo test -p light-client cargo test -p light-sparse-merkle-tree cargo test -p light-compressed-token-types -cargo test -p light-compressed-token-sdk +cargo test -p light-ctoken-sdk ``` ## Test Categories diff --git a/sdk-tests/client-test/Cargo.toml b/sdk-tests/client-test/Cargo.toml index 8412d9325f..edd1addf93 100644 --- a/sdk-tests/client-test/Cargo.toml +++ b/sdk-tests/client-test/Cargo.toml @@ -26,7 +26,7 @@ light-zero-copy = { workspace = true } light-hasher = { workspace = true, features = ["poseidon"] } light-compressed-account = { workspace = true, features = ["std"] } light-compressed-token = { workspace = true } -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-indexed-array = { workspace = true } light-merkle-tree-reference = { workspace = true } light-macros = { workspace = true } diff --git a/sdk-tests/client-test/tests/light_client.rs b/sdk-tests/client-test/tests/light_client.rs index b0d4e4b19f..bc69f40e51 100644 --- a/sdk-tests/client-test/tests/light_client.rs +++ b/sdk-tests/client-test/tests/light_client.rs @@ -11,7 +11,7 @@ use light_compressed_account::{hash_to_bn254_field_size_be, TreeType}; use light_compressed_token::mint_sdk::{ create_create_token_pool_instruction, create_mint_to_instruction, }; -use light_compressed_token_sdk::compat::{AccountState, TokenData}; +use light_ctoken_sdk::compat::{AccountState, TokenData}; use light_hasher::Poseidon; use light_merkle_tree_reference::{indexed::IndexedMerkleTree, MerkleTree}; use light_program_test::accounts::test_accounts::TestAccounts; diff --git a/sdk-tests/client-test/tests/light_program_test.rs b/sdk-tests/client-test/tests/light_program_test.rs index c51ee482cf..2d5ea5f193 100644 --- a/sdk-tests/client-test/tests/light_program_test.rs +++ b/sdk-tests/client-test/tests/light_program_test.rs @@ -9,7 +9,7 @@ use light_compressed_account::hash_to_bn254_field_size_be; use light_compressed_token::mint_sdk::{ create_create_token_pool_instruction, create_mint_to_instruction, }; -use light_compressed_token_sdk::compat::{AccountState, TokenData}; +use light_ctoken_sdk::compat::{AccountState, TokenData}; use light_program_test::{ accounts::test_accounts::TestAccounts, program_test::LightProgramTest, ProgramTestConfig, }; diff --git a/sdk-tests/csdk-anchor-derived-test/Cargo.toml b/sdk-tests/csdk-anchor-derived-test/Cargo.toml index cc0d4a49df..63e2fd9d30 100644 --- a/sdk-tests/csdk-anchor-derived-test/Cargo.toml +++ b/sdk-tests/csdk-anchor-derived-test/Cargo.toml @@ -30,7 +30,7 @@ light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } light-ctoken-interface = { workspace = true, features = ["anchor"] } -light-compressed-token-sdk = { workspace = true, features = ["anchor"] } +light-ctoken-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } diff --git a/sdk-tests/csdk-anchor-derived-test/src/lib.rs b/sdk-tests/csdk-anchor-derived-test/src/lib.rs index 9053fd2c4f..88f82602c3 100644 --- a/sdk-tests/csdk-anchor-derived-test/src/lib.rs +++ b/sdk-tests/csdk-anchor-derived-test/src/lib.rs @@ -25,12 +25,12 @@ pub const LIGHT_CPI_SIGNER: CpiSigner = pub mod csdk_anchor_derived_test { use anchor_lang::solana_program::{program::invoke, sysvar::clock::Clock}; use light_compressed_account::instruction_data::traits::LightInstructionData; - use light_compressed_token_sdk::compressed_token::{ - create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, - }; use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; + use light_ctoken_sdk::compressed_token::{ + create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, + }; use light_sdk::{ compressible::{ compress_account_on_init::prepare_compressed_account_on_init, CompressibleConfig, diff --git a/sdk-tests/csdk-anchor-derived-test/src/processor.rs b/sdk-tests/csdk-anchor-derived-test/src/processor.rs index 31326faae1..729eb4011a 100644 --- a/sdk-tests/csdk-anchor-derived-test/src/processor.rs +++ b/sdk-tests/csdk-anchor-derived-test/src/processor.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::*; use light_compressed_account::instruction_data::with_account_info::CompressedAccountInfo; -use light_compressed_token_sdk::compat::PackedCTokenData; +use light_ctoken_sdk::compat::PackedCTokenData; use light_sdk::{ compressible::{compress_account::prepare_account_for_compression, CompressibleConfig}, cpi::v2::CpiAccounts, @@ -183,7 +183,7 @@ impl<'info> light_sdk::compressible::DecompressContext<'info> return Ok(()); } - light_compressed_token_sdk::compressible::decompress_runtime::process_decompress_tokens_runtime::< + light_ctoken_sdk::compressible::decompress_runtime::process_decompress_tokens_runtime::< CTokenAccountVariant, _, >( diff --git a/sdk-tests/csdk-anchor-derived-test/src/variant.rs b/sdk-tests/csdk-anchor-derived-test/src/variant.rs index b46d785a18..a2151ee7cd 100644 --- a/sdk-tests/csdk-anchor-derived-test/src/variant.rs +++ b/sdk-tests/csdk-anchor-derived-test/src/variant.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compat::{CTokenData, PackedCTokenData}, Pack as TokenPack, }; @@ -25,7 +25,7 @@ pub enum CTokenAccountVariant { CTokenSigner = 0, } -impl light_compressed_token_sdk::CTokenSeedProvider for CTokenAccountVariant { +impl light_ctoken_sdk::CTokenSeedProvider for CTokenAccountVariant { type Accounts<'info> = DecompressAccountsIdempotent<'info>; fn get_seeds<'a, 'info>( diff --git a/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs b/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs index aae4b75701..524f4044ff 100644 --- a/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs +++ b/sdk-tests/csdk-anchor-derived-test/tests/basic_test.rs @@ -1,13 +1,13 @@ use anchor_lang::{AccountDeserialize, AnchorDeserialize, InstructionData, ToAccountMetas}; use csdk_anchor_derived_test::{AccountCreationData, CompressionParams, GameSession, UserRecord}; 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, -}; use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; +use light_ctoken_sdk::compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, +}; use light_macros::pubkey; use light_program_test::{ program_test::{ diff --git a/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml b/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml index 298553a72b..609e5ccc0f 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml +++ b/sdk-tests/csdk-anchor-full-derived-test/Cargo.toml @@ -32,7 +32,7 @@ light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } light-ctoken-interface = { workspace = true, features = ["anchor"] } -light-compressed-token-sdk = { workspace = true, features = ["anchor"] } +light-ctoken-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } diff --git a/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs b/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs index 70fa8a5d0b..9303938dba 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs +++ b/sdk-tests/csdk-anchor-full-derived-test/src/lib.rs @@ -62,12 +62,12 @@ pub mod csdk_anchor_full_derived_test { #![allow(clippy::too_many_arguments)] use anchor_lang::solana_program::{program::invoke, sysvar::clock::Clock}; use light_compressed_account::instruction_data::traits::LightInstructionData; - use light_compressed_token_sdk::compressed_token::{ - create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, - }; use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; + use light_ctoken_sdk::compressed_token::{ + create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, + }; use light_sdk::{ compressible::{ compress_account_on_init::prepare_compressed_account_on_init, CompressibleConfig, diff --git a/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs b/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs index f9b0c2ab47..c26c3792e2 100644 --- a/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs +++ b/sdk-tests/csdk-anchor-full-derived-test/tests/basic_test.rs @@ -3,13 +3,13 @@ use csdk_anchor_full_derived_test::{ AccountCreationData, CompressionParams, GameSession, UserRecord, }; 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, -}; use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; +use light_ctoken_sdk::compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, +}; use light_macros::pubkey; use light_program_test::{ program_test::{setup_mock_program_data, LightProgramTest}, diff --git a/sdk-tests/sdk-compressible-test/Cargo.toml b/sdk-tests/sdk-compressible-test/Cargo.toml index efb1ea0f15..b4ee691364 100644 --- a/sdk-tests/sdk-compressible-test/Cargo.toml +++ b/sdk-tests/sdk-compressible-test/Cargo.toml @@ -29,7 +29,7 @@ light-compressed-account = { workspace = true, features = ["solana"] } anchor-lang = { workspace = true, features = ["idl-build"] } anchor-spl = { version = "=0.31.1", git = "https://github.com/lightprotocol/anchor", rev = "d8a2b3d9", features = ["memo", "metadata", "idl-build"] } light-ctoken-interface = { workspace = true, features = ["anchor"] } -light-compressed-token-sdk = { workspace = true, features = ["anchor"] } +light-ctoken-sdk = { workspace = true, features = ["anchor"] } light-compressed-token-types = { workspace = true, features = ["anchor"] } light-compressible = { workspace = true, features = ["anchor"] } 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 ea8bc6a3b5..f3814ed147 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,10 +3,10 @@ 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::compressed_token::{ +use light_ctoken_interface::instructions::mint_action::{MintToCompressedAction, Recipient}; +use light_ctoken_sdk::compressed_token::{ create_compressed_mint::find_spl_mint_address, mint_action::MintActionMetaConfig, }; -use light_ctoken_interface::instructions::mint_action::{MintToCompressedAction, Recipient}; use light_sdk::{ compressible::{ compress_account_on_init::prepare_compressed_account_on_init, CompressibleConfig, 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 bb8f901660..52005494af 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::ctoken::{CompressibleParamsInfos, CreateCTokenAccountInfos}; +use light_ctoken_sdk::ctoken::{CompressibleParamsInfos, CreateCTokenAccountInfos}; use light_sdk::{ compressible::{ decompress_idempotent::{ @@ -157,7 +157,7 @@ pub fn decompress_accounts_idempotent<'info>( ctoken_config: &anchor_lang::prelude::AccountInfo<'info>, config: &anchor_lang::prelude::AccountInfo<'info>, ctoken_accounts: Vec<( - light_compressed_token_sdk::compat::PackedCTokenData, + light_ctoken_sdk::compat::PackedCTokenData, light_sdk::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress, )>, proof: light_sdk::instruction::ValidityProof, @@ -166,7 +166,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>> = @@ -255,7 +255,7 @@ pub fn decompress_accounts_idempotent<'info>( root_index: meta.tree_info.root_index, }; let decompress_index = - light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices { + light_ctoken_sdk::compressed_token::decompress_full::DecompressFullIndices { source, destination_index: owner_index, }; @@ -264,7 +264,7 @@ pub fn decompress_accounts_idempotent<'info>( } let ctoken_ix = - light_compressed_token_sdk::compressed_token::decompress_full::decompress_full_ctoken_accounts_with_indices( + light_ctoken_sdk::compressed_token::decompress_full::decompress_full_ctoken_accounts_with_indices( fee_payer.key(), proof, if has_pdas { @@ -321,7 +321,7 @@ pub fn decompress_accounts_idempotent<'info>( } let mut ctoken_accounts: Vec<( - light_compressed_token_sdk::compat::PackedCTokenData, + light_ctoken_sdk::compat::PackedCTokenData, light_sdk::instruction::account_meta::CompressedAccountMetaNoLamportsNoAddress, )> = Vec::with_capacity(token_count); let mut compressed_pda_infos = Vec::with_capacity(pda_count); diff --git a/sdk-tests/sdk-compressible-test/src/state.rs b/sdk-tests/sdk-compressible-test/src/state.rs index f6bc32f54b..99dc924443 100644 --- a/sdk-tests/sdk-compressible-test/src/state.rs +++ b/sdk-tests/sdk-compressible-test/src/state.rs @@ -3,8 +3,8 @@ // hasCompressionInfo implementions. use anchor_lang::prelude::*; -use light_compressed_token_sdk::Pack as _TokenPack; use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_sdk::Pack as _TokenPack; use light_sdk::{ account::Size, compressible::{ @@ -36,8 +36,8 @@ pub enum CompressedAccountVariant { PackedGameSession(PackedGameSession), PlaceholderRecord(PlaceholderRecord), PackedPlaceholderRecord(PackedPlaceholderRecord), - PackedCTokenData(light_compressed_token_sdk::compat::PackedCTokenData), - CTokenData(light_compressed_token_sdk::compat::CTokenData), + PackedCTokenData(light_ctoken_sdk::compat::PackedCTokenData), + CTokenData(light_ctoken_sdk::compat::CTokenData), } impl Default for CompressedAccountVariant { 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 90f44f71e3..5151527323 100644 --- a/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs +++ b/sdk-tests/sdk-compressible-test/tests/multi_account_tests.rs @@ -3,19 +3,19 @@ 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, - pack::compat::CTokenDataWithVariant, -}; use light_compressed_token_types::CPI_AUTHORITY_PDA; use light_compressible_client::compressible_instruction; use light_ctoken_interface::{ instructions::mint_action::{CompressedMintInstructionData, CompressedMintWithContext}, state::CompressedMintMetadata, }; +use light_ctoken_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken, + pack::compat::CTokenDataWithVariant, +}; use light_program_test::{ program_test::{ initialize_compression_config, setup_mock_program_data, LightProgramTest, TestRpc, diff --git a/sdk-tests/sdk-ctoken-test/Cargo.lock b/sdk-tests/sdk-ctoken-test/Cargo.lock index 9385c48ff9..66ff66b0ef 100644 --- a/sdk-tests/sdk-ctoken-test/Cargo.lock +++ b/sdk-tests/sdk-ctoken-test/Cargo.lock @@ -2426,7 +2426,7 @@ dependencies = [ "bytemuck", "lazy_static", "light-compressed-account", - "light-compressed-token-sdk", + "light-ctoken-sdk", "light-concurrent-merkle-tree", "light-event", "light-hasher", @@ -2487,7 +2487,7 @@ dependencies = [ ] [[package]] -name = "light-compressed-token-sdk" +name = "light-ctoken-sdk" version = "0.1.0" dependencies = [ "arrayvec", @@ -2745,7 +2745,7 @@ dependencies = [ "chrono", "light-client", "light-compressed-account", - "light-compressed-token-sdk", + "light-ctoken-sdk", "light-compressible-client", "light-event", "light-hasher", @@ -3061,7 +3061,7 @@ dependencies = [ "borsh 0.10.4", "light-client", "light-compressed-account", - "light-compressed-token-sdk", + "light-ctoken-sdk", "light-compressed-token-types", "light-compressible-client", "light-ctoken-interface", diff --git a/sdk-tests/sdk-ctoken-test/Cargo.toml b/sdk-tests/sdk-ctoken-test/Cargo.toml index c12ed50b17..44fb35fd06 100644 --- a/sdk-tests/sdk-ctoken-test/Cargo.toml +++ b/sdk-tests/sdk-ctoken-test/Cargo.toml @@ -16,7 +16,7 @@ default = [] [dependencies] # Light Protocol SDK dependencies (workspace-based) -light-compressed-token-sdk = { workspace = true } +light-ctoken-sdk = { workspace = true } light-compressed-token-types = { workspace = true } light-ctoken-interface = { workspace = true } light-sdk = { workspace = true, features = ["v2"] } diff --git a/sdk-tests/sdk-ctoken-test/README.md b/sdk-tests/sdk-ctoken-test/README.md index 5470425431..bd1639c4dc 100644 --- a/sdk-tests/sdk-ctoken-test/README.md +++ b/sdk-tests/sdk-ctoken-test/README.md @@ -17,7 +17,7 @@ The program showcases **8 different instructions** that cover the core compresse ## Implementation Pattern: Builder Pattern from `ctoken` Module -This implementation uses the **builder pattern** from the `light-compressed-token-sdk::ctoken` module. This pattern provides a clean, ergonomic API for CPI operations. +This implementation uses the **builder pattern** from the `light-ctoken-sdk::ctoken` module. This pattern provides a clean, ergonomic API for CPI operations. ### Why Use the Builder Pattern? @@ -66,7 +66,7 @@ transfer_accounts.invoke_signed(&[signer_seeds])?; ### ✅ Fully Implemented (8/8 Instructions) -All instructions use the **builder pattern** from `light-compressed-token-sdk::ctoken`: +All instructions use the **builder pattern** from `light-ctoken-sdk::ctoken`: - **create_cmint** (Instruction 0): Create compressed mint using `CreateCMintAccountInfos::invoke()` - **mint_to_ctoken** (Instruction 1): Mint tokens to compressed accounts using `MintToCTokenInfos::invoke()` @@ -94,7 +94,7 @@ ctoken/native/ All dependencies use **path references** to `/Users/ananas/dev/light-protocol2/sdk-libs/`: -- `light-compressed-token-sdk` → Main SDK with ctoken builder pattern +- `light-ctoken-sdk` → Main SDK with ctoken builder pattern - `light-compressed-token-types` → Type definitions - `light-sdk` → Core SDK - `light-sdk-types` → Common types diff --git a/sdk-tests/sdk-ctoken-test/src/close.rs b/sdk-tests/sdk-ctoken-test/src/close.rs index b3bcfdd9d0..a50a8060d5 100644 --- a/sdk-tests/sdk-ctoken-test/src/close.rs +++ b/sdk-tests/sdk-ctoken-test/src/close.rs @@ -1,4 +1,4 @@ -use light_compressed_token_sdk::ctoken::CloseAccountInfos; +use light_ctoken_sdk::ctoken::CloseAccountInfos; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::{ID, TOKEN_ACCOUNT_SEED}; diff --git a/sdk-tests/sdk-ctoken-test/src/create_ata.rs b/sdk-tests/sdk-ctoken-test/src/create_ata.rs index 8e75efe6b6..bf005d2089 100644 --- a/sdk-tests/sdk-ctoken-test/src/create_ata.rs +++ b/sdk-tests/sdk-ctoken-test/src/create_ata.rs @@ -1,7 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::{ - CompressibleParamsInfos, CreateAssociatedTokenAccountInfos, -}; +use light_ctoken_sdk::ctoken::{CompressibleParamsInfos, CreateAssociatedTokenAccountInfos}; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::{ATA_SEED, ID}; diff --git a/sdk-tests/sdk-ctoken-test/src/create_ata2.rs b/sdk-tests/sdk-ctoken-test/src/create_ata2.rs index dce22a6962..5012d8dc73 100644 --- a/sdk-tests/sdk-ctoken-test/src/create_ata2.rs +++ b/sdk-tests/sdk-ctoken-test/src/create_ata2.rs @@ -1,7 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::{ - CompressibleParamsInfos, CreateAssociatedTokenAccountInfos, -}; +use light_ctoken_sdk::ctoken::{CompressibleParamsInfos, CreateAssociatedTokenAccountInfos}; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::{ATA_SEED, ID}; diff --git a/sdk-tests/sdk-ctoken-test/src/create_cmint.rs b/sdk-tests/sdk-ctoken-test/src/create_cmint.rs index 57dadeecd8..e989af62d6 100644 --- a/sdk-tests/sdk-ctoken-test/src/create_cmint.rs +++ b/sdk-tests/sdk-ctoken-test/src/create_cmint.rs @@ -1,5 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ ctoken::{ CreateCMintAccountInfos, CreateCMintParams, ExtensionInstructionData, SystemAccountInfos, }, diff --git a/sdk-tests/sdk-ctoken-test/src/create_token_account.rs b/sdk-tests/sdk-ctoken-test/src/create_token_account.rs index a8632a08a6..9c21dcf598 100644 --- a/sdk-tests/sdk-ctoken-test/src/create_token_account.rs +++ b/sdk-tests/sdk-ctoken-test/src/create_token_account.rs @@ -1,5 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::{CompressibleParamsInfos, CreateCTokenAccountInfos}; +use light_ctoken_sdk::ctoken::{CompressibleParamsInfos, CreateCTokenAccountInfos}; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::{ID, TOKEN_ACCOUNT_SEED}; diff --git a/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs b/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs index 067b0b25c5..cddab000f5 100644 --- a/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/src/mint_to_ctoken.rs @@ -1,8 +1,6 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::{ - MintToCTokenInfos, MintToCTokenParams, SystemAccountInfos, -}; use light_ctoken_interface::instructions::mint_action::CompressedMintWithContext; +use light_ctoken_sdk::ctoken::{MintToCTokenInfos, MintToCTokenParams, SystemAccountInfos}; use light_sdk::instruction::ValidityProof; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; diff --git a/sdk-tests/sdk-ctoken-test/src/transfer.rs b/sdk-tests/sdk-ctoken-test/src/transfer.rs index 88d2648213..134eee35c6 100644 --- a/sdk-tests/sdk-ctoken-test/src/transfer.rs +++ b/sdk-tests/sdk-ctoken-test/src/transfer.rs @@ -1,5 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::TransferCtokenAccountInfos; +use light_ctoken_sdk::ctoken::TransferCtokenAccountInfos; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::{ID, TOKEN_ACCOUNT_SEED}; diff --git a/sdk-tests/sdk-ctoken-test/src/transfer_interface.rs b/sdk-tests/sdk-ctoken-test/src/transfer_interface.rs index cef7cefc72..b55658b11a 100644 --- a/sdk-tests/sdk-ctoken-test/src/transfer_interface.rs +++ b/sdk-tests/sdk-ctoken-test/src/transfer_interface.rs @@ -1,5 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::TransferInterface; +use light_ctoken_sdk::ctoken::TransferInterface; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::ID; diff --git a/sdk-tests/sdk-ctoken-test/src/transfer_spl_ctoken.rs b/sdk-tests/sdk-ctoken-test/src/transfer_spl_ctoken.rs index 0c914ec439..fb136db28f 100644 --- a/sdk-tests/sdk-ctoken-test/src/transfer_spl_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/src/transfer_spl_ctoken.rs @@ -1,7 +1,5 @@ use borsh::{BorshDeserialize, BorshSerialize}; -use light_compressed_token_sdk::ctoken::{ - TransferCtokenToSplAccountInfos, TransferSplToCtokenAccountInfos, -}; +use light_ctoken_sdk::ctoken::{TransferCtokenToSplAccountInfos, TransferSplToCtokenAccountInfos}; use solana_program::{account_info::AccountInfo, program_error::ProgramError, pubkey::Pubkey}; use crate::ID; diff --git a/sdk-tests/sdk-ctoken-test/tests/shared.rs b/sdk-tests/sdk-ctoken-test/tests/shared.rs index 20725eda91..80f14e0637 100644 --- a/sdk-tests/sdk-ctoken-test/tests/shared.rs +++ b/sdk-tests/sdk-ctoken-test/tests/shared.rs @@ -15,7 +15,7 @@ pub async fn setup_create_compressed_mint( decimals: u8, recipients: Vec<(u64, Pubkey)>, ) -> (Pubkey, [u8; 32], Vec) { - use light_compressed_token_sdk::ctoken::{ + use light_ctoken_sdk::ctoken::{ CreateAssociatedTokenAccount, CreateCMint, CreateCMintParams, MintToCToken, MintToCTokenParams, }; @@ -25,13 +25,12 @@ pub async fn setup_create_compressed_mint( let output_queue = rpc.get_random_state_tree_info().unwrap().queue; // Derive compression address using SDK helpers - let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( + let compression_address = light_ctoken_sdk::ctoken::derive_compressed_mint_address( &mint_signer.pubkey(), &address_tree.tree, ); - let mint_pda = - light_compressed_token_sdk::ctoken::find_spl_mint_address(&mint_signer.pubkey()).0; + let mint_pda = light_ctoken_sdk::ctoken::find_spl_mint_address(&mint_signer.pubkey()).0; // Get validity proof for the address let rpc_result = rpc @@ -92,7 +91,7 @@ pub async fn setup_create_compressed_mint( } // Create ATAs for each recipient - use light_compressed_token_sdk::ctoken::derive_ctoken_ata; + use light_ctoken_sdk::ctoken::derive_ctoken_ata; let mut ata_pubkeys = Vec::with_capacity(recipients.len()); diff --git a/sdk-tests/sdk-ctoken-test/tests/test_close.rs b/sdk-tests/sdk-ctoken-test/tests/test_close.rs index 6cf7d0f99c..e44abb54e3 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_close.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_close.rs @@ -3,7 +3,7 @@ mod shared; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::{rent_sponsor_pda, CTOKEN_PROGRAM_ID}; +use light_ctoken_sdk::ctoken::{rent_sponsor_pda, CTOKEN_PROGRAM_ID}; use light_program_test::{LightProgramTest, ProgramTestConfig}; use native_ctoken_examples::{InstructionType, ID, TOKEN_ACCOUNT_SEED}; use shared::*; diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs index d78bf70631..7416c7c558 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_ata.rs @@ -4,7 +4,7 @@ mod shared; use borsh::{BorshDeserialize, BorshSerialize}; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::CTOKEN_PROGRAM_ID; +use light_ctoken_sdk::ctoken::CTOKEN_PROGRAM_ID; use light_program_test::{LightProgramTest, ProgramTestConfig}; use native_ctoken_examples::{CreateAtaData, ATA_SEED, ID}; use shared::setup_create_compressed_mint; @@ -33,7 +33,7 @@ async fn test_create_ata_invoke() { // Derive the ATA address let owner = payer.pubkey(); - use light_compressed_token_sdk::ctoken::derive_ctoken_ata; + use light_ctoken_sdk::ctoken::derive_ctoken_ata; let (ata_address, bump) = derive_ctoken_ata(&owner, &mint_pda); // Build CreateAtaData (owner and mint are passed as accounts) @@ -45,7 +45,7 @@ async fn test_create_ata_invoke() { // Discriminator 4 = CreateAtaInvoke let instruction_data = [vec![4u8], create_ata_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); @@ -119,7 +119,7 @@ async fn test_create_ata_invoke_signed() { .unwrap(); // Derive the ATA address for the PDA owner - use light_compressed_token_sdk::ctoken::derive_ctoken_ata; + use light_ctoken_sdk::ctoken::derive_ctoken_ata; let (ata_address, bump) = derive_ctoken_ata(&pda_owner, &mint_pda); // Build CreateAtaData with PDA as owner (owner and mint are passed as accounts) @@ -131,7 +131,7 @@ async fn test_create_ata_invoke_signed() { // Discriminator 5 = CreateAtaInvokeSigned let instruction_data = [vec![5u8], create_ata_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_ata_v2.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_ata_v2.rs index 7b848c8ebb..bef5997c31 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_ata_v2.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_ata_v2.rs @@ -4,7 +4,7 @@ mod shared; use borsh::BorshSerialize; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::{ +use light_ctoken_sdk::ctoken::{ config_pda, derive_ctoken_ata, rent_sponsor_pda, CTOKEN_PROGRAM_ID, }; use light_program_test::{LightProgramTest, ProgramTestConfig}; diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs index 94e912fe12..d127bc58ec 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_cmint.rs @@ -4,13 +4,13 @@ mod shared; use borsh::BorshSerialize; use light_client::{indexer::Indexer, rpc::Rpc}; -use light_compressed_token_sdk::compressed_token::mint_action::MintActionMetaConfig; use light_ctoken_interface::{ instructions::extensions::{ token_metadata::TokenMetadataInstructionData, ExtensionInstructionData, }, state::AdditionalMetadata, }; +use light_ctoken_sdk::compressed_token::mint_action::MintActionMetaConfig; use light_program_test::{LightProgramTest, ProgramTestConfig}; use native_ctoken_examples::{CreateCmintData, ID, MINT_SIGNER_SEED}; use solana_sdk::{ @@ -42,13 +42,12 @@ async fn test_create_compressed_mint() { Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); // Use SDK helper to derive the compression address correctly - let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( + let compression_address = light_ctoken_sdk::ctoken::derive_compressed_mint_address( &mint_signer.pubkey(), &address_tree.tree, ); - let mint_pda = - light_compressed_token_sdk::ctoken::find_spl_mint_address(&mint_signer.pubkey()).0; + let mint_pda = light_ctoken_sdk::ctoken::find_spl_mint_address(&mint_signer.pubkey()).0; let rpc_result = rpc .get_validity_proof( @@ -151,12 +150,12 @@ async fn test_create_compressed_mint_invoke_signed() { Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); // Use SDK helper to derive the compression address correctly - let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( + let compression_address = light_ctoken_sdk::ctoken::derive_compressed_mint_address( &mint_signer_pda, &address_tree.tree, ); - let mint_pda = light_compressed_token_sdk::ctoken::find_spl_mint_address(&mint_signer_pda).0; + let mint_pda = light_ctoken_sdk::ctoken::find_spl_mint_address(&mint_signer_pda).0; let rpc_result = rpc .get_validity_proof( @@ -187,7 +186,7 @@ async fn test_create_compressed_mint_invoke_signed() { // Build accounts manually since SDK marks mint_signer as signer, but we need it as non-signer // for invoke_signed (the wrapper program signs via CPI) - let system_accounts = light_compressed_token_sdk::ctoken::SystemAccounts::default(); + let system_accounts = light_ctoken_sdk::ctoken::SystemAccounts::default(); let wrapper_accounts = vec![ AccountMeta::new_readonly(compressed_token_program_id, false), AccountMeta::new_readonly(system_accounts.light_system_program, false), diff --git a/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs b/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs index 290f0e10e4..9b54a54ac2 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_create_token_account.rs @@ -4,7 +4,7 @@ mod shared; use borsh::{BorshDeserialize, BorshSerialize}; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::CTOKEN_PROGRAM_ID; +use light_ctoken_sdk::ctoken::CTOKEN_PROGRAM_ID; use light_program_test::{LightProgramTest, ProgramTestConfig}; use native_ctoken_examples::{CreateTokenAccountData, ID}; use shared::setup_create_compressed_mint; @@ -43,7 +43,7 @@ async fn test_create_token_account_invoke() { }; let instruction_data = [vec![2u8], create_token_account_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); @@ -119,7 +119,7 @@ async fn test_create_token_account_invoke_signed() { // Discriminator 3 = CreateTokenAccountInvokeSigned let instruction_data = [vec![3u8], create_token_account_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); diff --git a/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs b/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs index 520e0816b1..3f33b5fae1 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_mint_to_ctoken.rs @@ -4,7 +4,7 @@ mod shared; use borsh::{BorshDeserialize, BorshSerialize}; use light_client::{indexer::Indexer, rpc::Rpc}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::mint_action::MintActionMetaConfig, ctoken::CTOKEN_PROGRAM_ID, }; use light_program_test::{LightProgramTest, ProgramTestConfig}; @@ -49,7 +49,7 @@ async fn test_mint_to_ctoken() { let instruction_data = [vec![2u8], create_token_account_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); @@ -200,12 +200,12 @@ async fn test_mint_to_ctoken_invoke_signed() { let output_queue = rpc.get_random_state_tree_info().unwrap().queue; // Derive compression address using the PDA mint_signer - let compression_address = light_compressed_token_sdk::ctoken::derive_compressed_mint_address( + let compression_address = light_ctoken_sdk::ctoken::derive_compressed_mint_address( &mint_signer_pda, &address_tree.tree, ); - let mint_pda = light_compressed_token_sdk::ctoken::find_spl_mint_address(&mint_signer_pda).0; + let mint_pda = light_ctoken_sdk::ctoken::find_spl_mint_address(&mint_signer_pda).0; let rpc_result = rpc .get_validity_proof( @@ -222,7 +222,7 @@ async fn test_mint_to_ctoken_invoke_signed() { let compressed_token_program_id = Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); - let default_pubkeys = light_compressed_token_sdk::utils::CTokenDefaultAccounts::default(); + let default_pubkeys = light_ctoken_sdk::utils::CTokenDefaultAccounts::default(); // Step 1: Create compressed mint with PDA authority using wrapper program (discriminator 14) { @@ -284,7 +284,7 @@ async fn test_mint_to_ctoken_invoke_signed() { let instruction_data = [vec![2u8], create_token_account_data.try_to_vec().unwrap()].concat(); - use light_compressed_token_sdk::ctoken::{config_pda, rent_sponsor_pda}; + use light_ctoken_sdk::ctoken::{config_pda, rent_sponsor_pda}; let config = config_pda(); let rent_sponsor = rent_sponsor_pda(); @@ -363,7 +363,7 @@ async fn test_mint_to_ctoken_invoke_signed() { // for invoke_signed (the wrapper program signs via CPI) let compressed_token_program_id = Pubkey::new_from_array(light_ctoken_interface::COMPRESSED_TOKEN_PROGRAM_ID); - let default_pubkeys = light_compressed_token_sdk::utils::CTokenDefaultAccounts::default(); + let default_pubkeys = light_ctoken_sdk::utils::CTokenDefaultAccounts::default(); let wrapper_accounts = vec![ AccountMeta::new_readonly(compressed_token_program_id, false), diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs index 4a4935d3a0..9132108771 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer.rs @@ -4,7 +4,7 @@ mod shared; use borsh::{BorshDeserialize, BorshSerialize}; use light_client::rpc::Rpc; -use light_compressed_token_sdk::ctoken::CTOKEN_PROGRAM_ID; +use light_ctoken_sdk::ctoken::CTOKEN_PROGRAM_ID; use light_program_test::{LightProgramTest, ProgramTestConfig}; use native_ctoken_examples::{InstructionType, TransferData, ID, TOKEN_ACCOUNT_SEED}; use shared::*; diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs index f0842d6d9d..9f1d3f66df 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer_interface.rs @@ -4,11 +4,11 @@ mod shared; use borsh::BorshSerialize; use light_client::rpc::Rpc; -use light_compressed_token_sdk::{ +use light_compressed_token_types::CPI_AUTHORITY_PDA; +use light_ctoken_sdk::{ ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, token_pool::find_token_pool_pda_with_index, }; -use light_compressed_token_types::CPI_AUTHORITY_PDA; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::spl::{create_mint_helper, create_token_2022_account, mint_spl_tokens}; use native_ctoken_examples::{TransferInterfaceData, ID, TRANSFER_INTERFACE_AUTHORITY_SEED}; diff --git a/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs b/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs index ef17b103eb..0d6a7ea548 100644 --- a/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs +++ b/sdk-tests/sdk-ctoken-test/tests/test_transfer_spl_ctoken.rs @@ -4,11 +4,11 @@ mod shared; use borsh::BorshSerialize; use light_client::rpc::Rpc; -use light_compressed_token_sdk::{ +use light_compressed_token_types::CPI_AUTHORITY_PDA; +use light_ctoken_sdk::{ ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, token_pool::find_token_pool_pda_with_index, }; -use light_compressed_token_types::CPI_AUTHORITY_PDA; use light_program_test::{LightProgramTest, ProgramTestConfig}; use light_test_utils::spl::{create_mint_helper, create_token_2022_account, mint_spl_tokens}; use native_ctoken_examples::{ diff --git a/sdk-tests/sdk-token-test/CLAUDE.md b/sdk-tests/sdk-token-test/CLAUDE.md index 2584e13ac3..cd9e40ae8d 100644 --- a/sdk-tests/sdk-token-test/CLAUDE.md +++ b/sdk-tests/sdk-token-test/CLAUDE.md @@ -1,6 +1,6 @@ ## TLDR -- this is a test program that tests ctoken instructions with light-compressed-token-sdk functions in integration tests -- light-compressed-token-sdk: sdk-libs/compressed-token-sdk +- this is a test program that tests ctoken instructions with light-ctoken-sdk functions in integration tests +- light-ctoken-sdk: sdk-libs/compressed-token-sdk - light-ctoken-interface: program-libs/ctoken-types - light-compressed-token-program: programs/compressed-token/program/ diff --git a/sdk-tests/sdk-token-test/Cargo.toml b/sdk-tests/sdk-token-test/Cargo.toml index 5f960d454c..e29a0764e9 100644 --- a/sdk-tests/sdk-token-test/Cargo.toml +++ b/sdk-tests/sdk-token-test/Cargo.toml @@ -18,20 +18,20 @@ cpi = ["no-entrypoint"] test-sbf = ["profile-program"] default = [] profile-program = [ - "light-compressed-token-sdk/profile-program", + "light-ctoken-sdk/profile-program", "light-program-profiler/profile-program", "light-compressed-account/profile-program", "light-ctoken-interface/profile-program", ] profile-heap = [ - "light-compressed-token-sdk/profile-heap", + "light-ctoken-sdk/profile-heap", "light-program-profiler/profile-heap", "light-compressed-account/profile-heap", "light-ctoken-interface/profile-heap", ] [dependencies] -light-compressed-token-sdk = { workspace = true, features = ["anchor", "cpi-context"] } +light-ctoken-sdk = { workspace = true, features = ["anchor", "cpi-context"] } anchor-lang = { workspace = true } light-hasher = { workspace = true } light-sdk = { workspace = true, features = ["v2", "cpi-context"] } diff --git a/sdk-tests/sdk-token-test/src/ctoken_pda/create_pda.rs b/sdk-tests/sdk-token-test/src/ctoken_pda/create_pda.rs index 6917c8b641..5f4615ec8e 100644 --- a/sdk-tests/sdk-token-test/src/ctoken_pda/create_pda.rs +++ b/sdk-tests/sdk-token-test/src/ctoken_pda/create_pda.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_compressed_token_sdk::ValidityProof; +use light_ctoken_sdk::ValidityProof; use light_sdk::{ account::LightAccount, cpi::{ 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 0fc74a6131..92e36f4564 100644 --- a/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs +++ b/sdk-tests/sdk-token-test/src/ctoken_pda/mint.rs @@ -1,10 +1,10 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::compressed_token::{ - ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, -}; use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCompressedAction, UpdateAuthority, }; +use light_ctoken_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, +}; use light_sdk::cpi::v2::CpiAccounts; use super::CTokenPda; diff --git a/sdk-tests/sdk-token-test/src/ctoken_pda/processor.rs b/sdk-tests/sdk-token-test/src/ctoken_pda/processor.rs index 477845005d..78560a5d0e 100644 --- a/sdk-tests/sdk-token-test/src/ctoken_pda/processor.rs +++ b/sdk-tests/sdk-token-test/src/ctoken_pda/processor.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_compressed_token_sdk::ValidityProof; +use light_ctoken_sdk::ValidityProof; use super::{create_pda::process_create_escrow_pda, mint::process_mint_action, CTokenPda}; use crate::ChainedCtokenInstructionData; diff --git a/sdk-tests/sdk-token-test/src/lib.rs b/sdk-tests/sdk-token-test/src/lib.rs index e247810e5a..bde70ac664 100644 --- a/sdk-tests/sdk-token-test/src/lib.rs +++ b/sdk-tests/sdk-token-test/src/lib.rs @@ -3,7 +3,7 @@ #![allow(deprecated)] use anchor_lang::prelude::*; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::batch_compress::Recipient, TokenAccountMeta, ValidityProof, }; use light_sdk::instruction::{PackedAddressTreeInfo, ValidityProof as LightValidityProof}; @@ -123,10 +123,8 @@ pub mod sdk_token_test { /// This decompresses the entire balance to destination ctoken accounts pub fn decompress_full_cpi<'info>( ctx: Context<'_, '_, '_, 'info, Generic<'info>>, - indices: Vec< - light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices, - >, - validity_proof: light_compressed_token_sdk::ValidityProof, + indices: Vec, + validity_proof: light_ctoken_sdk::ValidityProof, ) -> Result<()> { process_decompress_full_cpi_context(ctx, indices, validity_proof, None) } @@ -135,10 +133,8 @@ pub mod sdk_token_test { /// This decompresses the entire balance to destination ctoken accounts pub fn decompress_full_cpi_with_cpi_context<'info>( ctx: Context<'_, '_, '_, 'info, Generic<'info>>, - indices: Vec< - light_compressed_token_sdk::compressed_token::decompress_full::DecompressFullIndices, - >, - validity_proof: light_compressed_token_sdk::ValidityProof, + indices: Vec, + validity_proof: light_ctoken_sdk::ValidityProof, params: Option, ) -> Result<()> { process_decompress_full_cpi_context(ctx, indices, validity_proof, params) 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 68b1a031cd..6fe81d113f 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,12 +1,12 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::compressed_token::{ - ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, - transfer2::Transfer2CpiAccounts, -}; use light_ctoken_interface::instructions::mint_action::{ CompressedMintWithContext, MintActionCompressedInstructionData, MintToCompressedAction, Recipient, }; +use light_ctoken_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiWriteAccounts, + transfer2::Transfer2CpiAccounts, +}; use crate::Generic; diff --git a/sdk-tests/sdk-token-test/src/pda_ctoken/create_pda.rs b/sdk-tests/sdk-token-test/src/pda_ctoken/create_pda.rs index 30c05904bc..b19fe36f7c 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/create_pda.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/create_pda.rs @@ -1,5 +1,5 @@ use anchor_lang::prelude::*; -use light_compressed_token_sdk::ValidityProof; +use light_ctoken_sdk::ValidityProof; use light_sdk::{ account::LightAccount, cpi::{ 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 931cf165e9..11d0939ff8 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/mint.rs @@ -1,11 +1,11 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::compressed_token::{ - ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiAccounts, -}; use light_ctoken_interface::instructions::mint_action::{ MintActionCompressedInstructionData, MintToCTokenAction, MintToCompressedAction, UpdateAuthority, }; +use light_ctoken_sdk::compressed_token::{ + ctoken_instruction::CTokenInstruction, mint_action::MintActionCpiAccounts, +}; use light_sdk_types::cpi_accounts::v2::CpiAccounts; use super::{processor::ChainedCtokenInstructionData, PdaCToken}; diff --git a/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs b/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs index 10684172ca..09588fb15e 100644 --- a/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs +++ b/sdk-tests/sdk-token-test/src/pda_ctoken/processor.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::*; -use light_compressed_token_sdk::ValidityProof; use light_ctoken_interface::instructions::mint_action::{CompressedMintWithContext, Recipient}; +use light_ctoken_sdk::ValidityProof; use super::{ create_pda::process_create_escrow_pda_with_cpi_context, mint::process_mint_action, PdaCToken, 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 1b7226b467..dae4ef85d9 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,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ account_infos::BatchCompressAccountInfos, compressed_token::batch_compress::{ create_batch_compress_instruction, BatchCompressInputs, Recipient, 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 156c3311bf..ba54f3c745 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,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, 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 940325a586..1d552a2a02 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::compressed_token::transfer::{ +use light_ctoken_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 36e9abd9ff..85f5d6ba93 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,6 +1,6 @@ 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::{ +use light_ctoken_sdk::{ compressed_token::{ transfer::instruction::{TransferConfig, TransferInputs}, CTokenAccount, @@ -99,10 +99,8 @@ pub fn deposit_tokens<'a, 'info>( amount, }; let instruction = - light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( - transfer_inputs, - ) - .unwrap(); + light_ctoken_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 338bc2a323..2d0e13e6ee 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,6 +1,6 @@ use anchor_lang::{prelude::*, solana_program::program::invoke_signed}; -use light_compressed_token_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; use light_ctoken_interface::instructions::extensions::compressible::CompressToPubkey; +use light_ctoken_sdk::ctoken::{CompressibleParams, CreateCTokenAccount}; use crate::Generic; 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 9c6dcd4bfe..347df552cd 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::compressed_token::{ +use light_ctoken_sdk::compressed_token::{ decompress_full::{decompress_full_ctoken_accounts_with_indices, DecompressFullIndices}, transfer2::Transfer2CpiAccounts, }; @@ -16,7 +16,7 @@ use crate::{ pub fn process_decompress_full_cpi_context<'info>( ctx: Context<'_, '_, '_, 'info, Generic<'info>>, indices: Vec, - validity_proof: light_compressed_token_sdk::ValidityProof, + validity_proof: light_ctoken_sdk::ValidityProof, params: Option, ) -> Result<()> { // Parse CPI accounts following the established pattern 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 57e398a3b6..fcc0ff356b 100644 --- a/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_decompress_tokens.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::{ transfer::{ instruction::{decompress, DecompressInputs}, 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 82243752ad..a473c6c5b1 100644 --- a/sdk-tests/sdk-token-test/src/process_four_invokes.rs +++ b/sdk-tests/sdk-token-test/src/process_four_invokes.rs @@ -1,6 +1,6 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; use light_compressed_account::instruction_data::cpi_context::CompressedCpiContext; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::{ transfer::instruction::{ compress, transfer, CompressInputs, TransferConfig, TransferInputs, 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 d6f97674a5..2d8adc394a 100644 --- a/sdk-tests/sdk-token-test/src/process_four_transfer2.rs +++ b/sdk-tests/sdk-token-test/src/process_four_transfer2.rs @@ -1,12 +1,12 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::compressed_token::{ +use light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext; +use light_ctoken_sdk::compressed_token::{ transfer2::{ account_metas::Transfer2AccountsMetaConfig, create_transfer2_instruction, Transfer2Config, Transfer2Inputs, }, CTokenAccount2, }; -use light_ctoken_interface::instructions::transfer2::MultiInputTokenDataWithContext; use light_sdk::{ account::LightAccount, cpi::{v2::LightSystemProgramCpi, InvokeLightSystemProgram, LightCpiInstruction}, 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 642a332412..9342a3855e 100644 --- a/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs +++ b/sdk-tests/sdk-token-test/src/process_transfer_tokens.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::*, solana_program::program::invoke}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::{ transfer::{ instruction::{transfer, TransferInputs}, 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 2585d5ae91..47233dfeef 100644 --- a/sdk-tests/sdk-token-test/src/process_update_deposit.rs +++ b/sdk-tests/sdk-token-test/src/process_update_deposit.rs @@ -1,7 +1,7 @@ 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::{ +use light_ctoken_sdk::{ compressed_token::{ transfer::instruction::{TransferConfig, TransferInputs}, CTokenAccount, @@ -108,10 +108,8 @@ fn merge_escrow_token_accounts<'info>( amount: total_escrowed_amount, }; let instruction = - light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( - transfer_inputs, - ) - .unwrap(); + light_ctoken_sdk::compressed_token::transfer::instruction::transfer(transfer_inputs) + .unwrap(); let account_infos = [&[fee_payer, authority][..], remaining_accounts].concat(); @@ -200,10 +198,8 @@ pub fn transfer_tokens_to_escrow_pda<'a, 'info>( amount, }; let instruction = - light_compressed_token_sdk::compressed_token::transfer::instruction::transfer( - transfer_inputs, - ) - .unwrap(); + light_ctoken_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/ctoken_pda.rs b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs index 4a07bb2aaf..19dd8f7ddf 100644 --- a/sdk-tests/sdk-token-test/tests/ctoken_pda.rs +++ b/sdk-tests/sdk-token-test/tests/ctoken_pda.rs @@ -1,12 +1,6 @@ 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::{ - compressed_token::create_compressed_mint::{ - derive_compressed_mint_address, find_spl_mint_address, - }, - CPI_AUTHORITY_PDA, -}; use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, @@ -15,6 +9,12 @@ use light_ctoken_interface::{ state::{extensions::AdditionalMetadata, CompressedMintMetadata}, COMPRESSED_TOKEN_PROGRAM_ID, }; +use light_ctoken_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + CPI_AUTHORITY_PDA, +}; use light_program_test::{LightProgramTest, ProgramTestConfig, Rpc, RpcError}; use light_sdk::instruction::{PackedAccounts, SystemAccountMetaConfig}; use sdk_token_test::{ChainedCtokenInstructionData, PdaCreationData, ID}; 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 521a7d9e59..c674d55420 100644 --- a/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs +++ b/sdk-tests/sdk-token-test/tests/decompress_full_cpi.rs @@ -4,10 +4,10 @@ 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::compressed_token::{ +use light_ctoken_interface::instructions::mint_action::{CompressedMintWithContext, Recipient}; +use light_ctoken_sdk::compressed_token::{ create_compressed_mint::find_spl_mint_address, decompress_full::DecompressFullAccounts, }; -use light_ctoken_interface::instructions::mint_action::{CompressedMintWithContext, Recipient}; use light_program_test::{Indexer, LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::instruction::PackedAccounts; use light_test_utils::airdrop_lamports; @@ -54,7 +54,7 @@ async fn setup_decompress_full_test(num_inputs: usize) -> (LightProgramTest, Tes .await .unwrap(); - use light_compressed_token_sdk::ctoken::{ + use light_ctoken_sdk::ctoken::{ derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount, }; @@ -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::compressed_token::decompress_full::pack_for_decompress_full( + light_ctoken_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::compressed_token::create_compressed_mint::derive_compressed_mint_address( + light_ctoken_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::compressed_token::decompress_full::pack_for_decompress_full( + light_ctoken_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 b96e18c019..83f162582b 100644 --- a/sdk-tests/sdk-token-test/tests/pda_ctoken.rs +++ b/sdk-tests/sdk-token-test/tests/pda_ctoken.rs @@ -4,13 +4,6 @@ use anchor_lang::{ 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::{ - compressed_token::create_compressed_mint::{ - derive_compressed_mint_address, find_spl_mint_address, - }, - ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, - CPI_AUTHORITY_PDA, -}; use light_ctoken_interface::{ instructions::{ extensions::token_metadata::TokenMetadataInstructionData, @@ -19,6 +12,13 @@ use light_ctoken_interface::{ state::{extensions::AdditionalMetadata, CompressedMintMetadata}, COMPRESSED_TOKEN_PROGRAM_ID, }; +use light_ctoken_sdk::{ + compressed_token::create_compressed_mint::{ + derive_compressed_mint_address, find_spl_mint_address, + }, + ctoken::{derive_ctoken_ata, CompressibleParams, CreateAssociatedTokenAccount}, + CPI_AUTHORITY_PDA, +}; use light_program_test::{LightProgramTest, ProgramTestConfig, Rpc, RpcError}; use light_sdk::instruction::{PackedAccounts, SystemAccountMetaConfig}; use sdk_token_test::{ChainedCtokenInstructionData, PdaCreationData, ID}; diff --git a/sdk-tests/sdk-token-test/tests/test.rs b/sdk-tests/sdk-token-test/tests/test.rs index 2277224a77..08b318319b 100644 --- a/sdk-tests/sdk-token-test/tests/test.rs +++ b/sdk-tests/sdk-token-test/tests/test.rs @@ -3,7 +3,7 @@ use anchor_lang::{AccountDeserialize, InstructionData}; use anchor_spl::token::TokenAccount; use light_client::indexer::CompressedTokenAccount; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ 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 7078f38a0d..9e186f4cc6 100644 --- a/sdk-tests/sdk-token-test/tests/test_4_invocations.rs +++ b/sdk-tests/sdk-token-test/tests/test_4_invocations.rs @@ -1,5 +1,5 @@ use anchor_lang::{prelude::AccountMeta, AccountDeserialize, InstructionData}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::transfer::account_metas::{ get_transfer_instruction_account_metas, TokenAccountsMetaConfig, }, @@ -531,7 +531,7 @@ async fn test_four_invokes_instruction( transfer_2: sdk_token_test::TransferParams { mint: mint2, transfer_amount: 300, - token_metas: vec![light_compressed_token_sdk::TokenAccountMeta { + token_metas: vec![light_ctoken_sdk::TokenAccountMeta { amount: mint2_token_account.token.amount, delegate_index: None, packed_tree_info: mint2_tree_info, @@ -544,7 +544,7 @@ async fn test_four_invokes_instruction( transfer_3: sdk_token_test::TransferParams { mint: mint3, transfer_amount: 200, - token_metas: vec![light_compressed_token_sdk::TokenAccountMeta { + token_metas: vec![light_ctoken_sdk::TokenAccountMeta { amount: mint3_token_account.token.amount, delegate_index: None, packed_tree_info: mint3_tree_info, 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 5cfaf2bf39..0dfa9dec3c 100644 --- a/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs +++ b/sdk-tests/sdk-token-test/tests/test_4_transfer2.rs @@ -1,12 +1,4 @@ use anchor_lang::{prelude::AccountMeta, InstructionData}; -use light_compressed_token_sdk::{ - compressed_token::{ - create_compressed_mint::{create_compressed_mint, CreateCompressedMintInputs}, - mint_to_compressed::{create_mint_to_compressed_instruction, MintToCompressedInputs}, - }, - ctoken::CreateAssociatedTokenAccount, - utils::CTokenDefaultAccounts, -}; use light_ctoken_interface::{ instructions::{ mint_action::{CompressedMintWithContext, Recipient}, @@ -15,6 +7,14 @@ use light_ctoken_interface::{ state::{BaseMint, CompressedMintMetadata}, COMPRESSED_MINT_SEED, }; +use light_ctoken_sdk::{ + compressed_token::{ + create_compressed_mint::{create_compressed_mint, CreateCompressedMintInputs}, + mint_to_compressed::{create_mint_to_compressed_instruction, MintToCompressedInputs}, + }, + ctoken::CreateAssociatedTokenAccount, + utils::CTokenDefaultAccounts, +}; use light_program_test::{AddressWithTree, Indexer, LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::{ address::v1::derive_address, @@ -95,7 +95,7 @@ async fn create_compressed_mints_and_tokens( // Create associated token account for mint1 decompression let (token_account1_pubkey, _bump) = - light_compressed_token_sdk::ctoken::derive_ctoken_ata(&payer.pubkey(), &mint1_pda); + light_ctoken_sdk::ctoken::derive_ctoken_ata(&payer.pubkey(), &mint1_pda); let create_ata_instruction = CreateAssociatedTokenAccount::new(payer.pubkey(), payer.pubkey(), mint1_pda) .instruction() 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 c7bc8507da..4a1e65feb9 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,18 +2,18 @@ use anchor_lang::{ prelude::{AccountMeta, Pubkey}, InstructionData, }; -use light_compressed_token_sdk::{ +use light_ctoken_interface::{ + instructions::mint_action::{CompressedMintWithContext, Recipient}, + state::{BaseMint, CompressedMint, CompressedMintMetadata}, + COMPRESSED_MINT_SEED, COMPRESSED_TOKEN_PROGRAM_ID, +}; +use light_ctoken_sdk::{ compressed_token::{ create_compressed_mint::{create_compressed_mint, CreateCompressedMintInputs}, mint_to_compressed::{create_mint_to_compressed_instruction, MintToCompressedInputs}, }, ctoken::{derive_ctoken_ata, CreateAssociatedTokenAccount}, }; -use light_ctoken_interface::{ - instructions::mint_action::{CompressedMintWithContext, Recipient}, - state::{BaseMint, CompressedMint, CompressedMintMetadata}, - COMPRESSED_MINT_SEED, COMPRESSED_TOKEN_PROGRAM_ID, -}; use light_program_test::{Indexer, LightProgramTest, ProgramTestConfig, Rpc}; use light_sdk::instruction::{PackedAccounts, SystemAccountMetaConfig}; use light_token_client::instructions::transfer2::create_decompress_instruction; diff --git a/sdk-tests/sdk-token-test/tests/test_deposit.rs b/sdk-tests/sdk-token-test/tests/test_deposit.rs index ae20de39a1..186d0c53d1 100644 --- a/sdk-tests/sdk-token-test/tests/test_deposit.rs +++ b/sdk-tests/sdk-token-test/tests/test_deposit.rs @@ -1,6 +1,6 @@ use anchor_lang::InstructionData; use light_client::indexer::{CompressedAccount, CompressedTokenAccount, IndexerRpcConfig}; -use light_compressed_token_sdk::{ +use light_ctoken_sdk::{ compressed_token::batch_compress::{ get_batch_compress_instruction_account_metas, BatchCompressMetaConfig, Recipient, },