Skip to content

Commit 431bc9b

Browse files
author
tilo-14
committed
fixes
1 parent 8e5b71d commit 431bc9b

13 files changed

Lines changed: 73 additions & 82 deletions

File tree

program-examples/native-rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ resolver = "2"
55
[workspace.dependencies]
66
# Pin to match light-protocol Cargo.lock
77
constant_time_eq = "=0.3.1"
8-
blake3 = "=1.5.5"
8+
blake3 = "=1.8.2"
99

1010
[profile.release]
1111
overflow-checks = true

program-examples/native-rust/README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
# Light Token Native Rust Solana Programs
22

3+
- **approve** - Approve delegate via CPI
4+
- [Instruction](program/src/instructions/approve.rs) | [Test](program/tests/approve.rs)
5+
- **burn** - Burn tokens via CPI
6+
- [Instruction](program/src/instructions/burn.rs) | [Test](program/tests/burn.rs)
7+
- **close** - Close token account via CPI
8+
- [Instruction](program/src/instructions/close.rs) | [Test](program/tests/close.rs)
9+
- **create-associated** - Create an associated light-token account via CPI
10+
- [Instruction](program/src/instructions/create_ata.rs) | [Test](program/tests/create_ata.rs)
311
- **create-mint** - Create a light-token mint via CPI
412
- [Instruction](program/src/instructions/create_mint.rs) | [Test](program/tests/create_mint.rs)
5-
- **create-ata** - Create an associated light-token account via CPI
6-
- [Instruction](program/src/instructions/create_ata.rs) | [Test](program/tests/create_ata.rs)
713
- **create-token-account** - Create a light-token account via CPI
814
- [Instruction](program/src/instructions/create_token_account.rs) | [Test](program/tests/create_token_account.rs)
15+
- **freeze** - Freeze token account via CPI
16+
- [Instruction](program/src/instructions/freeze.rs) | [Test](program/tests/freeze.rs)
917
- **mint-to** - Mint tokens via CPI
1018
- [Instruction](program/src/instructions/mint_to.rs) | [Test](program/tests/mint_to.rs)
1119
- **mint-to-checked** - Mint tokens with decimal validation via CPI
1220
- [Instruction](program/src/instructions/mint_to_checked.rs) | [Test](program/tests/mint_to_checked.rs)
13-
- **transfer-interface** - Transfer between light-token, T22, and SPL accounts via CPI
14-
- [Instruction](program/src/instructions/transfer_interface.rs) | [Test](program/tests/transfer.rs)
15-
- **transfer-checked** - Transfer with decimal validation against mint via CPI
16-
- [Instruction](program/src/instructions/transfer_checked.rs) | [Test](program/tests/transfer_checked.rs)
17-
- **approve** - Approve delegate via CPI
18-
- [Instruction](program/src/instructions/approve.rs) | [Test](program/tests/approve.rs)
1921
- **revoke** - Revoke delegate via CPI
2022
- [Instruction](program/src/instructions/revoke.rs) | [Test](program/tests/revoke.rs)
21-
- **burn** - Burn tokens via CPI
22-
- [Instruction](program/src/instructions/burn.rs) | [Test](program/tests/burn.rs)
23-
- **freeze** - Freeze token account via CPI
24-
- [Instruction](program/src/instructions/freeze.rs) | [Test](program/tests/freeze.rs)
2523
- **thaw** - Thaw token account via CPI
2624
- [Instruction](program/src/instructions/thaw.rs) | [Test](program/tests/thaw.rs)
27-
- **close** - Close token account via CPI
28-
- [Instruction](program/src/instructions/close.rs) | [Test](program/tests/close.rs)
25+
- **transfer-checked** - Transfer with decimal validation against mint via CPI
26+
- [Instruction](program/src/instructions/transfer_checked.rs) | [Test](program/tests/transfer_checked.rs)
27+
- **transfer-interface** - Transfer between light-token, T22, and SPL accounts via CPI
28+
- [Instruction](program/src/instructions/transfer_interface.rs) | [Test](program/tests/transfer.rs)
2929

3030
## Build
3131

program-examples/native-rust/program/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ default = []
1313

1414
[dependencies]
1515
light-token = "0.4.0"
16-
light-token-interface = "0.3.0"
1716
light-compressible = "0.4.0"
1817
solana-program = "2.2"
1918
borsh = "0.10.4"

program-examples/native-rust/program/src/instructions/burn.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ use solana_program::{
66
};
77

88
pub fn burn_invoke(accounts: &[AccountInfo], data: &[u8]) -> ProgramResult {
9-
let [source, mint, authority, system_program, _token_program] = accounts else {
9+
let [source, mint, authority, system_program, _token_program] = accounts
10+
else {
1011
return Err(ProgramError::NotEnoughAccountKeys);
1112
};
1213

@@ -32,7 +33,8 @@ pub fn burn_invoke_signed(
3233
accounts: &[AccountInfo],
3334
data: &[u8],
3435
) -> ProgramResult {
35-
let [source, mint, authority, system_program, _token_program] = accounts else {
36+
let [source, mint, authority, system_program, _token_program] = accounts
37+
else {
3638
return Err(ProgramError::NotEnoughAccountKeys);
3739
};
3840

program-examples/native-rust/program/src/instructions/close.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn close_invoke(accounts: &[AccountInfo], _data: &[u8]) -> ProgramResult {
1111
return Err(ProgramError::NotEnoughAccountKeys);
1212
};
1313

14-
// Close token account. Must be empty (balance = 0)
14+
// Close token account. Must be empty (balance == 0)
1515
CloseAccountCpi {
1616
token_program: token_program.clone(),
1717
account: account.clone(),

program-examples/native-rust/program/src/instructions/create_mint.rs

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use light_compressible::CreateAccountsProof;
44
use light_token::instruction::{
55
CreateMintCpi, CreateMintParams, SystemAccountInfos,
66
};
7-
use light_token_interface::instructions::extensions::{
8-
token_metadata::TokenMetadataInstructionData, ExtensionInstructionData,
7+
use light_token::instruction::{
8+
ExtensionInstructionData, TokenMetadataInstructionData,
99
};
1010
use solana_program::{
1111
account_info::AccountInfo, entrypoint::ProgramResult,
@@ -32,23 +32,8 @@ pub fn create_mint_invoke(
3232
accounts: &[AccountInfo],
3333
data: &[u8],
3434
) -> ProgramResult {
35-
let [
36-
mint_seed,
37-
authority,
38-
payer,
39-
address_tree,
40-
output_queue,
41-
compressible_config,
42-
mint,
43-
rent_sponsor,
44-
light_system_program,
45-
cpi_authority_pda,
46-
registered_program_pda,
47-
account_compression_authority,
48-
account_compression_program,
49-
system_program,
50-
_token_program,
51-
] = accounts
35+
let [mint_seed, authority, payer, address_tree, output_queue, compressible_config, mint, rent_sponsor, light_system_program, cpi_authority_pda, registered_program_pda, account_compression_authority, account_compression_program, system_program, _token_program] =
36+
accounts
5237
else {
5338
return Err(ProgramError::NotEnoughAccountKeys);
5439
};
@@ -140,23 +125,8 @@ pub fn create_mint_invoke_signed(
140125
accounts: &[AccountInfo],
141126
data: &[u8],
142127
) -> ProgramResult {
143-
let [
144-
mint_seed,
145-
authority,
146-
payer,
147-
address_tree,
148-
output_queue,
149-
compressible_config,
150-
mint,
151-
rent_sponsor,
152-
light_system_program,
153-
cpi_authority_pda,
154-
registered_program_pda,
155-
account_compression_authority,
156-
account_compression_program,
157-
system_program,
158-
_token_program,
159-
] = accounts
128+
let [mint_seed, authority, payer, address_tree, output_queue, compressible_config, mint, rent_sponsor, light_system_program, cpi_authority_pda, registered_program_pda, account_compression_authority, account_compression_program, system_program, _token_program] =
129+
accounts
160130
else {
161131
return Err(ProgramError::NotEnoughAccountKeys);
162132
};

program-examples/native-rust/program/src/instructions/mint_to_checked.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ use solana_program::{
55
program_error::ProgramError,
66
};
77

8-
pub fn mint_to_checked_invoke(accounts: &[AccountInfo], data: &[u8]) -> ProgramResult {
8+
pub fn mint_to_checked_invoke(
9+
accounts: &[AccountInfo],
10+
data: &[u8],
11+
) -> ProgramResult {
912
let [mint, destination, authority, system_program, _token_program] =
1013
accounts
1114
else {

program-examples/native-rust/program/src/instructions/transfer_checked.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ use solana_program::{
55
program_error::ProgramError,
66
};
77

8-
pub fn transfer_checked_invoke(accounts: &[AccountInfo], data: &[u8]) -> ProgramResult {
8+
pub fn transfer_checked_invoke(
9+
accounts: &[AccountInfo],
10+
data: &[u8],
11+
) -> ProgramResult {
912
let [source, mint, destination, authority, system_program, _token_program] =
1013
accounts
1114
else {

program-examples/native-rust/program/tests/approve.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ use light_client::rpc::Rpc;
55
use light_token_interface::state::Token;
66
use shared::{
77
build_approve_cpi_ix, build_approve_signed_cpi_ix, create_test_rpc,
8-
get_authority_pda, setup, setup_empty_ata, setup_pda_owned_ata,
9-
SetupContext,
8+
get_authority_pda, setup, setup_pda_owned_ata, SetupContext,
109
};
1110
use solana_sdk::{signature::Keypair, signer::Signer};
1211

program-examples/native-rust/program/tests/create_mint.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use light_client::{
55
indexer::{AddressWithTree, Indexer},
66
rpc::Rpc,
77
};
8-
use light_compressible::CreateAccountsProof;
98
use light_compressed_account::instruction_data::{
109
compressed_proof::ValidityProof, data::PackedAddressTreeInfo,
1110
};
11+
use light_compressible::CreateAccountsProof;
1212
use light_token::instruction::{
1313
config_pda, derive_mint_compressed_address, find_mint_address,
1414
rent_sponsor_pda, SystemAccounts, LIGHT_TOKEN_PROGRAM_ID,

0 commit comments

Comments
 (0)