Commit 4f89e09
committed
Migrate to Anchor 1.0, Rust LiteSVM tests with solana-kite 0.3.0
Replaces all TypeScript Anchor tests with Rust LiteSVM tests powered by
solana-kite (https://crates.io/crates/solana-kite). Kite consolidates
repeated test boilerplate — account creation, token minting, PDA derivation,
balance assertions — into reusable functions. The result: 46 Rust test files
averaging just 148 lines each, replacing ~13,700 lines of TypeScript tests
and 109 per-project config files (package.json, tsconfig, pnpm-lock.yaml).
No more per-project npm dependencies for Anchor tests.
### Anchor 1.0.0 (stable)
- Migrate all 49 Anchor programs from 0.32.1 → 1.0.0 (stable, released 2026-04-02)
- @coral-xyz/anchor → @anchor-lang/core in TypeScript
- CpiContext::new() .to_account_info() → .key() in Rust
- Transfer-hook: .map_err() wrappers for SPL 2.x→3.x ProgramError bridge
- transfer-cost: upgraded SPL crates to Solana 3.x, Box<InterfaceAccount> for stack overflow
- Compression: replaced mpl-bubblegum CPI with raw invoke() (no Solana 3.x release)
### Rust LiteSVM tests with solana-kite 0.3.0
- 46 Anchor programs now have Rust integration tests (~6,800 lines total)
- solana-kite replaces hundreds of lines of duplicated setup code per test:
create_funded_keypair, create_token_mint, mint_tokens_to_token_account,
get_pda, get_token_balance — all one-liners instead of 20+ line helpers
- Eliminates 109 per-project boilerplate files (package.json, tsconfig, pnpm-lock)
- Net deletion: ~6,900 lines of TypeScript test code removed
### Repo cleanup
- Configure biome, fix all lint errors
- Remove yarn.lock (project uses pnpm)
- Add pnpm/action-setup to CI workflows
- Upgrade litesvm from 0.8.1 to 0.11.0
- Use 🤥 emoji for Pinocchio (lying face / growing nose)
691 files changed, +21,837 / -17,0911 parent 85aa223 commit 4f89e09
691 files changed
Lines changed: 21837 additions & 17091 deletions
File tree
- .github/workflows
- .vscode
- basics
- account-data
- anchor
- programs/anchor-program-example
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- checking-accounts
- anchor
- programs/anchor-program-example
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- close-account
- anchor
- migrations
- programs/close-account
- src
- tests
- tests
- native
- program
- tests
- ts
- instructions
- state
- pinocchio
- program
- tests
- counter
- anchor
- migrations
- programs/counter_anchor
- src
- tests
- tests
- mpl-stack
- tests
- ts
- generated
- accounts
- instructions
- native
- program
- tests
- ts
- accounts
- instructions
- pinocchio
- program
- tests
- create-account
- anchor
- programs/create-system-account
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- cross-program-invocation
- anchor
- idls
- migrations
- programs
- hand
- src
- tests
- lever
- src
- tests
- tests
- native
- programs/hand
- tests
- favorites
- anchor
- migrations
- programs/favorites
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- hello-solana
- anchor
- programs/hello-solana
- src
- tests
- tests
- native
- program
- tests
- pinocchio/tests
- pda-rent-payer
- anchor
- programs/anchor-program-example
- src
- tests
- tests
- native/tests
- pinocchio/tests
- processing-instructions
- anchor
- programs/processing-instructions
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- program-derived-addresses
- anchor
- programs/anchor-program-example
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- realloc
- anchor
- migrations
- programs/anchor-realloc
- src
- tests
- tests
- native
- program
- tests
- ts
- instructions
- state
- util
- pinocchio
- program
- tests
- rent
- anchor
- programs/rent-example
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- repository-layout
- anchor
- programs/carnival
- src
- tests
- tests
- native
- program
- tests
- transfer-sol
- anchor
- programs/transfer-sol
- src
- tests
- tests
- native
- program
- tests
- pinocchio
- program
- tests
- compression
- cnft-burn/anchor
- migrations
- programs/cnft-burn
- src
- tests
- ReadApi
- utils
- cnft-vault/anchor
- programs/cnft-vault
- tests
- scripts
- cutils/anchor
- programs/cutils
- src/actions
- tests
- utils
- oracles/pyth/anchor
- programs/pythexample
- src
- tests
- scripts
- lib
- tokens
- create-token
- anchor
- programs/create-token
- src
- tests
- tests
- native
- tests
- escrow
- anchor
- migrations
- programs/escrow
- src
- tests
- tests
- native/tests
- external-delegate-token-master/anchor
- programs/external-delegate-token-master
- src
- tests
- tests
- nft-minter
- anchor
- programs/nft-minter
- src
- tests
- tests
- native/tests
- nft-operations/anchor
- programs/mint-nft
- src
- tests
- tests
- pda-mint-authority
- anchor
- programs/token-minter
- src
- tests
- tests
- native/tests
- spl-token-minter
- anchor
- programs/spl-token-minter
- src
- tests
- tests
- native/tests
- token-2022
- basics/anchor
- migrations
- programs/basics
- src
- tests
- tests
- cpi-guard/anchor
- migrations
- programs/cpi-guard
- src
- tests
- tests
- default-account-state
- anchor
- migrations
- programs/default-account-state
- src
- tests
- tests
- native/tests
- group/anchor
- migrations
- programs/group
- src
- tests
- tests
- immutable-owner/anchor
- migrations
- programs/immutable-owner
- src
- tests
- tests
- interest-bearing/anchor
- migrations
- programs/interest-bearing
- src
- tests
- tests
- memo-transfer/anchor
- migrations
- programs/memo-transfer
- src
- tests
- tests
- metadata/anchor
- migrations
- programs/metadata
- src
- instructions
- tests
- tests
- mint-close-authority
- anchor
- migrations
- programs/mint-close-authority
- src
- tests
- tests
- native/tests
- multiple-extensions/native/tests
- nft-meta-data-pointer/anchor-example
- anchor
- migrations
- programs/extension_nft
- src
- tests
- app
- components
- contexts
- idl
- pages
- api
- styles
- utils
- unity/ExtensionNft/Assets/TextMesh Pro/Sprites
- non-transferable
- anchor
- migrations
- programs/non-transferable
- src
- tests
- tests
- native/tests
- permanent-delegate/anchor
- migrations
- programs/permanent-delegate
- src
- tests
- tests
- transfer-fee
- anchor
- migrations
- programs/transfer-fee
- src
- tests
- tests
- native/tests
- transfer-hook
- account-data-as-seed/anchor
- migrations
- programs/transfer-hook
- src
- tests
- tests
- allow-block-list-token
- anchor
- programs/abl-token
- src
- tests
- src
- tests
- src
- app
- account
- [address]
- config
- create-token
- manage-token
- [address]
- components
- abl-token
- account
- cluster
- dashboard
- solana
- ui
- lib
- counter/anchor
- migrations
- programs/transfer-hook
- src
- tests
- tests
- hello-world/anchor
- migrations
- programs/transfer-hook
- src
- tests
- tests
- pblock-list
- pino
- sdk/ts/src
- accounts
- instructions
- pdas
- programs
- sdk/ts/src
- accounts
- instructions
- pdas
- programs
- transfer-cost/anchor
- migrations
- programs/transfer-hook
- src
- tests
- tests
- transfer-switch/anchor
- programs/transfer-switch
- src
- tests
- tests
- whitelist/anchor
- migrations
- programs/transfer-hook
- src
- tests
- tests
- token-fundraiser/anchor
- programs/fundraiser
- src
- tests
- tests
- token-swap/anchor
- programs/token-swap
- src
- tests
- tests
- transfer-tokens
- anchor
- programs/transfer-tokens
- src
- tests
- tests
- native/tests
- tools/shank-and-solita/native
- tests
- generated
- accounts
- instructions
- types
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| 111 | + | |
110 | 112 | | |
111 | 113 | | |
112 | 114 | | |
| |||
192 | 194 | | |
193 | 195 | | |
194 | 196 | | |
195 | | - | |
196 | | - | |
| 197 | + | |
197 | 198 | | |
198 | 199 | | |
199 | 200 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| 111 | + | |
110 | 112 | | |
111 | 113 | | |
112 | 114 | | |
| |||
192 | 194 | | |
193 | 195 | | |
194 | 196 | | |
195 | | - | |
196 | | - | |
| 197 | + | |
197 | 198 | | |
198 | 199 | | |
199 | 200 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments