Skip to content

Commit 83ba332

Browse files
committed
feat: compressed token sdk
mint to spl works compress works token transfer works decompress works batch compress works refactor: sdk-token-test ixs into files with cpi context works fix: get_validity_proof order fix: process_update_deposit typo format stash add process_four_invokes add create escrow pda ix stash test created escrow pda stash four invocations test fails on 4th cpi four cpi test works refactor: light-sdks detach account metas from account infos
1 parent 57cfd4f commit 83ba332

File tree

79 files changed

+6494
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+6494
-89
lines changed

Cargo.lock

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ members = [
2626
"sdk-libs/sdk-types",
2727
"sdk-libs/photon-api",
2828
"sdk-libs/program-test",
29+
"sdk-libs/compressed-token-types",
30+
"sdk-libs/compressed-token-sdk",
2931
"xtask",
3032
"examples/anchor/token-escrow",
3133
# "examples/anchor/name-service-without-macros",
@@ -41,6 +43,7 @@ members = [
4143
# Issue is that anchor discriminator now returns a slice instead of an array
4244
"program-tests/sdk-anchor-test/programs/sdk-anchor-test",
4345
"program-tests/sdk-test",
46+
"program-tests/sdk-token-test",
4447
"program-tests/sdk-pinocchio-test",
4548
"program-tests/create-address-test-program",
4649
"program-tests/utils",
@@ -61,6 +64,10 @@ strip = "none"
6164
[profile.release]
6265
overflow-checks = true
6366

67+
[workspace.package]
68+
version = "0.1.0"
69+
edition = "2021"
70+
6471
[workspace.dependencies]
6572
solana-banks-client = { version = "2.2" }
6673
solana-banks-interface = { version = "2.2" }
@@ -177,6 +184,8 @@ account-compression = { path = "programs/account-compression", version = "2.0.0"
177184
light-compressed-token = { path = "programs/compressed-token", version = "2.0.0", features = [
178185
"cpi",
179186
] }
187+
light-compressed-token-types = { path = "sdk-libs/compressed-token-types", name = "light-compressed-token-types" }
188+
light-compressed-token-sdk = { path = "sdk-libs/compressed-token-sdk" }
180189
light-system-program-anchor = { path = "anchor-programs/system", version = "2.0.0", features = [
181190
"cpi",
182191
] }

examples/anchor/counter/tests/test.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ where
122122
{
123123
let mut remaining_accounts = PackedAccounts::default();
124124
let config = SystemAccountMetaConfig::new(counter::ID);
125-
remaining_accounts.add_system_accounts(config);
125+
remaining_accounts.add_system_accounts(config).unwrap();
126126

127127
let rpc_result = rpc
128128
.get_validity_proof(
@@ -180,7 +180,7 @@ where
180180
{
181181
let mut remaining_accounts = PackedAccounts::default();
182182
let config = SystemAccountMetaConfig::new(counter::ID);
183-
remaining_accounts.add_system_accounts(config);
183+
remaining_accounts.add_system_accounts(config).unwrap();
184184

185185
let hash = compressed_account.hash;
186186

@@ -241,7 +241,7 @@ where
241241
{
242242
let mut remaining_accounts = PackedAccounts::default();
243243
let config = SystemAccountMetaConfig::new(counter::ID);
244-
remaining_accounts.add_system_accounts(config);
244+
remaining_accounts.add_system_accounts(config).unwrap();
245245

246246
let hash = compressed_account.hash;
247247

@@ -301,7 +301,7 @@ where
301301
{
302302
let mut remaining_accounts = PackedAccounts::default();
303303
let config = SystemAccountMetaConfig::new(counter::ID);
304-
remaining_accounts.add_system_accounts(config);
304+
remaining_accounts.add_system_accounts(config).unwrap();
305305

306306
let hash = compressed_account.hash;
307307

@@ -361,7 +361,7 @@ where
361361
{
362362
let mut remaining_accounts = PackedAccounts::default();
363363
let config = SystemAccountMetaConfig::new(counter::ID);
364-
remaining_accounts.add_system_accounts(config);
364+
remaining_accounts.add_system_accounts(config).unwrap();
365365

366366
let hash = compressed_account.hash;
367367

program-libs/compressed-account/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ light-zero-copy = { workspace = true, features = ["std"] }
2222
light-macros = { workspace = true }
2323
pinocchio = { workspace = true, optional = true }
2424
solana-program-error = { workspace = true, optional = true }
25-
25+
solana-msg = { workspace = true }
2626
# Feature-gated dependencies
2727
anchor-lang = { workspace = true, optional = true }
2828
bytemuck = { workspace = true, optional = true, features = ["derive"] }

program-libs/compressed-account/src/compressed_account.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ pub fn hash_with_hashed_values(
295295
vec.push(&discriminator_bytes);
296296
vec.push(data_hash);
297297
}
298-
299298
Ok(Poseidon::hashv(&vec)?)
300299
}
301300

program-tests/create-address-test-program/src/lib.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,7 @@ pub mod system_cpi_test {
8080
let cpi_accounts =
8181
CpiAccounts::new_with_config(&fee_payer, ctx.remaining_accounts, config);
8282

83-
let account_infos = cpi_accounts
84-
.to_account_infos()
85-
.into_iter()
86-
.cloned()
87-
.collect::<Vec<_>>();
83+
let account_infos = cpi_accounts.to_account_infos();
8884

8985
let config = CpiInstructionConfig::try_from(&cpi_accounts)
9086
.map_err(|_| ErrorCode::AccountNotEnoughKeys)?;

program-tests/sdk-anchor-test/programs/sdk-anchor-test/tests/test.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ async fn create_compressed_account(
9292
) -> Result<Signature, RpcError> {
9393
let config = SystemAccountMetaConfig::new(sdk_anchor_test::ID);
9494
let mut remaining_accounts = PackedAccounts::default();
95-
remaining_accounts.add_system_accounts(config);
95+
remaining_accounts.add_system_accounts(config).unwrap();
9696

9797
let address_merkle_tree_info = rpc.get_address_tree_v1();
9898

@@ -149,7 +149,7 @@ async fn update_compressed_account(
149149
let mut remaining_accounts = PackedAccounts::default();
150150

151151
let config = SystemAccountMetaConfig::new(sdk_anchor_test::ID);
152-
remaining_accounts.add_system_accounts(config);
152+
remaining_accounts.add_system_accounts(config).unwrap();
153153
let hash = compressed_account.hash;
154154

155155
let rpc_result = rpc

program-tests/sdk-pinocchio-test/tests/test.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ pub async fn create_pda(
9494
SystemAccountMetaConfig::new(Pubkey::new_from_array(sdk_pinocchio_test::ID));
9595
let mut accounts = PackedAccounts::default();
9696
accounts.add_pre_accounts_signer(payer.pubkey());
97-
accounts.add_system_accounts(system_account_meta_config);
97+
accounts
98+
.add_system_accounts(system_account_meta_config)
99+
.unwrap();
98100

99101
let rpc_result = rpc
100102
.get_validity_proof(
@@ -142,7 +144,9 @@ pub async fn update_pda(
142144
SystemAccountMetaConfig::new(Pubkey::new_from_array(sdk_pinocchio_test::ID));
143145
let mut accounts = PackedAccounts::default();
144146
accounts.add_pre_accounts_signer(payer.pubkey());
145-
accounts.add_system_accounts(system_account_meta_config);
147+
accounts
148+
.add_system_accounts(system_account_meta_config)
149+
.unwrap();
146150

147151
let rpc_result = rpc
148152
.get_validity_proof(vec![compressed_account.hash().unwrap()], vec![], None)

program-tests/sdk-test/src/create_pda.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ pub fn create_pda<const BATCHED: bool>(
2525
&accounts[0],
2626
&accounts[instruction_data.system_accounts_offset as usize..],
2727
config,
28-
)
29-
.unwrap();
28+
)?;
3029

3130
let address_tree_info = instruction_data.address_tree_info;
3231
let (address, address_seed) = if BATCHED {

program-tests/sdk-test/tests/test.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ pub async fn create_pda(
8181
let system_account_meta_config = SystemAccountMetaConfig::new(sdk_test::ID);
8282
let mut accounts = PackedAccounts::default();
8383
accounts.add_pre_accounts_signer(payer.pubkey());
84-
accounts.add_system_accounts(system_account_meta_config);
84+
accounts
85+
.add_system_accounts(system_account_meta_config)
86+
.unwrap();
8587

8688
let rpc_result = rpc
8789
.get_validity_proof(
@@ -129,7 +131,9 @@ pub async fn update_pda(
129131
let system_account_meta_config = SystemAccountMetaConfig::new(sdk_test::ID);
130132
let mut accounts = PackedAccounts::default();
131133
accounts.add_pre_accounts_signer(payer.pubkey());
132-
accounts.add_system_accounts(system_account_meta_config);
134+
accounts
135+
.add_system_accounts(system_account_meta_config)
136+
.unwrap();
133137

134138
let rpc_result = rpc
135139
.get_validity_proof(vec![compressed_account.hash().unwrap()], vec![], None)

0 commit comments

Comments
 (0)