From e44199a4a94e0203080039ebc063f0cf1e36bc5f Mon Sep 17 00:00:00 2001 From: Mike MacCana Date: Fri, 25 Sep 2026 01:57:25 +0000 Subject: [PATCH] Describe Anchor v1 as the current stable Anchor, and v2 as upcoming The README called Anchor v2 the current major version and Anchor v1 a previous version on long-term support. Anchor v1 (1.2.0) is the current stable release; v2 is still a release candidate (2.0.0-rc.1). List v1 first in the README's framework list, badges and per-example links, reword the note at the top of every anchor-v1 README and the Anchor lines in CONTRIBUTING.md, and bring llms.txt up to Anchor 1.2. Claude-Session: https://claude.ai/code/session_01CjfAr6kD3AS9ihsQZEGzTt --- CHANGELOG.md | 17 +++ CONTRIBUTING.md | 6 +- README.md | 122 +++++++++--------- basics/account-data/anchor-v1/README.md | 4 +- basics/checking-accounts/anchor-v1/README.md | 4 +- basics/close-account/anchor-v1/README.md | 4 +- basics/counter/anchor-v1/README.md | 4 +- basics/create-account/anchor-v1/README.md | 4 +- .../anchor-v1/README.md | 4 +- basics/favorites/anchor-v1/README.md | 4 +- basics/hello-solana/anchor-v1/README.md | 4 +- basics/pda-rent-payer/anchor-v1/README.md | 4 +- .../anchor-v1/README.md | 4 +- .../anchor-v1/README.md | 4 +- basics/pyth/anchor-v1/README.md | 4 +- basics/realloc/anchor-v1/README.md | 4 +- basics/rent/anchor-v1/README.md | 4 +- basics/repository-layout/anchor-v1/README.md | 4 +- basics/transfer-sol/anchor-v1/README.md | 4 +- compression/cnft-burn/anchor-v1/README.md | 4 +- compression/cnft-vault/anchor-v1/README.md | 4 +- compression/cutils/anchor-v1/README.md | 4 +- finance/betting-market/anchor-v1/README.md | 4 +- finance/escrow/anchor-v1/README.md | 4 +- finance/lending/anchor-v1/README.md | 4 +- finance/options/anchor-v1/README.md | 4 +- finance/order-book/anchor-v1/README.md | 4 +- finance/perpetual-futures/anchor-v1/README.md | 4 +- finance/prop-amm/anchor-v1/README.md | 4 +- finance/token-fundraiser/anchor-v1/README.md | 4 +- finance/token-swap/anchor-v1/README.md | 4 +- finance/vault-strategy/anchor-v1/README.md | 4 +- llms.txt | 2 +- tokens/create-token/anchor-v1/README.md | 4 +- .../anchor-v1/README.md | 4 +- tokens/nft-minter/anchor-v1/README.md | 4 +- tokens/nft-operations/anchor-v1/README.md | 4 +- tokens/pda-mint-authority/anchor-v1/README.md | 4 +- .../basics/anchor-v1/README.md | 4 +- .../cpi-guard/anchor-v1/README.md | 4 +- .../default-account-state/anchor-v1/README.md | 4 +- .../group/anchor-v1/README.md | 4 +- .../immutable-owner/anchor-v1/README.md | 4 +- .../interest-bearing/anchor-v1/README.md | 4 +- .../memo-transfer/anchor-v1/README.md | 4 +- .../metadata/anchor-v1/README.md | 4 +- .../mint-close-authority/anchor-v1/README.md | 4 +- .../anchor-example/anchor-v1/README.md | 4 +- .../non-transferable/anchor-v1/README.md | 4 +- .../permanent-delegate/anchor-v1/README.md | 4 +- .../transfer-fee/anchor-v1/README.md | 4 +- .../account-data-as-seed/anchor-v1/README.md | 4 +- .../anchor-v1/README.md | 4 +- .../transfer-hook/counter/anchor-v1/README.md | 4 +- .../hello-world/anchor-v1/README.md | 4 +- .../transfer-cost/anchor-v1/README.md | 4 +- .../transfer-switch/anchor-v1/README.md | 4 +- .../whitelist/anchor-v1/README.md | 4 +- tokens/token-minter/anchor-v1/README.md | 4 +- tokens/transfer-tokens/anchor-v1/README.md | 4 +- 60 files changed, 194 insertions(+), 177 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6e5d381..85aab068 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this repository are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). +## [2026-09-25] - Anchor v1 is the current stable Anchor + +The README described Anchor v2 as Anchor's current major version and Anchor v1 +as a previous version on long-term support. Anchor v1 is the current stable +release (1.2.0) and Anchor v2 is a release candidate (2.0.0-rc.1), so the +documentation now says so. + +### Changed + +- `README.md` lists Anchor v1 first, as the current major version, and Anchor v2 + as the upcoming, unreleased rewrite. Every example's links and the CI badges + follow the same order. +- The note at the top of every `anchor-v1/README.md` names 1.2.0 as the current + stable Anchor release instead of an LTS line. +- `CONTRIBUTING.md` describes the two Anchor directories the same way, and + `llms.txt` names Anchor 1.2 rather than 1.1. + ## [2026-09-23] - The order book evicts its worst order when a side is full A side of the order book refused every new resting order once it was full, so diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b00fb01e..c9568d25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,9 +13,9 @@ See [CHANGELOG.md](./CHANGELOG.md) for release history. This file had no changel - Each example lives at `category/example-name//`, e.g. `basics/counter/anchor/`. - Supported frameworks: `anchor`, `anchor-v1`, `quasar`, `pinocchio`, `native`, `asm`. Use the existing layout as a reference. -- `anchor/` is Anchor v2 (2.0.0-rc.1) and is where new Anchor work starts. `anchor-v1/` is the - same example on Anchor v1 (1.2.0), kept for programs staying on the v1 LTS line, and it - tracks its v2 counterpart. A change to what an example does (a new handler, a new check, a +- `anchor-v1/` is Anchor v1 (1.2.0), the current stable Anchor. `anchor/` is the same example + on Anchor v2 (2.0.0-rc.1), the release candidate for the next major version, and is where new + Anchor work starts; the v1 copy tracks its v2 counterpart. A change to what an example does (a new handler, a new check, a fix, a renamed field) goes into both copies, in the same pull request where practical, so a v1 reader gets the same program and the same tests. The copies differ only where the Anchor version forces it: account types and lifetimes, context syntax, and the test harness. If a diff --git a/README.md b/README.md index 47925b63..f64e5631 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,20 @@ ![Quicknode Solana Program Examples](assets/banner.png?v=1) -_Solana program examples ('smart contracts') in Anchor 2, Anchor 1, Quasar, Pinocchio, native Rust, and sBPF assembly. Focused on financial software, plus the basics, tokens, Token Extensions, state compression, and more._ +_Solana program examples ('smart contracts') in Anchor 1, Anchor 2, Quasar, Pinocchio, native Rust, and sBPF assembly. Focused on financial software, plus the basics, tokens, Token Extensions, state compression, and more._ Working, tested, up-to-date examples of common Solana programs (what other chains call smart contracts), maintained by [Quicknode](https://www.quicknode.com/chains/solana). Current as of September 2026 (see [CHANGELOG.md](./CHANGELOG.md)): -- Every example builds and passes CI on the latest Anchor 2, Anchor 1 and Quasar. +- Every example builds and passes CI on the latest Anchor 1, the Anchor 2 release candidate, and Quasar. - Every example uses the current multi-file program layout (one file per instruction handler, account type, etc). - Every example uses [LiteSVM](https://github.com/LiteSVM/litesvm) tests rather than the older `solana-test-validator` / web3.js stack. -[![Anchor v2](../../actions/workflows/anchor.yml/badge.svg)](../../actions/workflows/anchor.yml) [![Anchor v1](../../actions/workflows/anchor-v1.yml/badge.svg)](../../actions/workflows/anchor-v1.yml) [![Quasar](../../actions/workflows/quasar.yml/badge.svg)](../../actions/workflows/quasar.yml) [![Pinocchio](../../actions/workflows/pinocchio.yml/badge.svg)](../../actions/workflows/pinocchio.yml) [![Native](../../actions/workflows/native.yml/badge.svg)](../../actions/workflows/native.yml) [![ASM](../../actions/workflows/solana-asm.yml/badge.svg)](../../actions/workflows/solana-asm.yml) +[![Anchor v1](../../actions/workflows/anchor-v1.yml/badge.svg)](../../actions/workflows/anchor-v1.yml) [![Anchor v2](../../actions/workflows/anchor.yml/badge.svg)](../../actions/workflows/anchor.yml) [![Quasar](../../actions/workflows/quasar.yml/badge.svg)](../../actions/workflows/quasar.yml) [![Pinocchio](../../actions/workflows/pinocchio.yml/badge.svg)](../../actions/workflows/pinocchio.yml) [![Native](../../actions/workflows/native.yml/badge.svg)](../../actions/workflows/native.yml) [![ASM](../../actions/workflows/solana-asm.yml/badge.svg)](../../actions/workflows/solana-asm.yml) Each example is available in one or more of the following frameworks: -- [⚓ Anchor v2](https://www.anchor-lang.com/) - the most popular framework for Solana development, in its current major version. Lives in `anchor/`. Install with `cargo install anchor-cli --version 2.0.0-rc.1 --locked`, build with `anchor build`, test with `anchor test`. -- [⚓ Anchor v1](https://www.anchor-lang.com/) - the previous major version, on long-term support and still what many deployed programs use. Lives in `anchor-v1/`, alongside the v2 copy of the same example. Install with `avm install 1.2.0 && avm use 1.2.0`, then the same `anchor build` / `anchor test`. +- [⚓ Anchor v1](https://www.anchor-lang.com/) - the most popular framework for Solana development, in its current major version. Lives in `anchor-v1/`. Install with `avm install 1.2.0 && avm use 1.2.0`, build with `anchor build`, test with `anchor test`. +- [⚓ Anchor v2](https://www.anchor-lang.com/) - the next major version of Anchor, a ground-up rewrite that is not yet released. Lives in `anchor/`, alongside the v1 copy of the same example, and builds on the release candidate: install with `cargo install anchor-cli --version 2.0.0-rc.1 --locked`, then the same `anchor build` / `anchor test`. - [💫 Quasar](https://quasar-lang.com/docs) - a newer, more performant framework with Anchor-compatible ergonomics. Build with `quasar build`, test with `quasar test`. - [🤥 Pinocchio](https://github.com/anza-xyz/pinocchio) - a zero-copy, zero-allocation library for Solana programs. Build with `cargo build-sbf --manifest-path=./program/Cargo.toml`, test with `cargo test --manifest-path=./program/Cargo.toml`. - [🦀 Native Rust](https://docs.anza.xyz/) - vanilla Rust using Solana's native crates. Build with `cargo build-sbf --manifest-path=./program/Cargo.toml`, test with `cargo test --manifest-path=./program/Cargo.toml`. @@ -38,7 +38,7 @@ The programs are examples of common financial primitives on Solana. As well as t **Start here - the best first finance program to learn on Solana.** A neutral account that holds funds until both sides deliver, like a real-estate escrow or a lawyer's trust account. The maker deposits token A and names how much token B they want; when a taker supplies token B, the program swaps both in a single all-or-nothing transaction. This swap is the core idea behind every onchain exchange. -[⚓ Anchor v2](./finance/escrow/anchor) [⚓ Anchor v1](./finance/escrow/anchor-v1) [💫 Quasar](./finance/escrow/quasar) [🦀 Native](./finance/escrow/native) +[⚓ Anchor v1](./finance/escrow/anchor-v1) [⚓ Anchor v2](./finance/escrow/anchor) [💫 Quasar](./finance/escrow/quasar) [🦀 Native](./finance/escrow/native) 🎬 Video: [Build a Solana program (smart contract) in 30 minutes](https://www.youtube.com/watch?v=B5eBWWQfQuM) @@ -46,13 +46,13 @@ The programs are examples of common financial primitives on Solana. As well as t A borrow/lend market like Solend or Kamino: suppliers deposit a token and receive share tokens whose exchange rate rises as borrowers pay interest, borrowers post those shares as collateral to draw a different token against it up to a loan-to-value limit, and liquidators close part of any position that crosses its health threshold. Interest accrues through a utilization-based rate curve and a cumulative index, so no per-account accrual loop is needed. -[⚓ Anchor v2](./finance/lending/anchor) [⚓ Anchor v1](./finance/lending/anchor-v1) [💫 Quasar](./finance/lending/quasar) +[⚓ Anchor v1](./finance/lending/anchor-v1) [⚓ Anchor v2](./finance/lending/anchor) [💫 Quasar](./finance/lending/quasar) ### Order Book based Exchange A typical NYSE/NASDAQ-style order book-based exchange. Buyers post **bids** (the price they'll pay), sellers post **asks** (the price they'll accept), and a trade happens when a bid and an ask meet. The exchange operator collects fees from trading. Similar to popular Solana exchanges like Openbook and Phoenix. -[⚓ Anchor v2](./finance/order-book/anchor) [⚓ Anchor v1](./finance/order-book/anchor-v1) [💫 Quasar](./finance/order-book/quasar) +[⚓ Anchor v1](./finance/order-book/anchor-v1) [⚓ Anchor v2](./finance/order-book/anchor) [💫 Quasar](./finance/order-book/quasar) 🎬 Video: [How to make a crypto exchange on Solana](https://www.youtube.com/watch?v=ioFkpaKHXgg) @@ -60,25 +60,25 @@ A typical NYSE/NASDAQ-style order book-based exchange. Buyers post **bids** (the An exchange with no order book: swaps fill instantly against a shared liquidity pool funded by **liquidity providers**, who earn a cut of the trading fees. Prices are set algorithmically by the pool's balances. Anyone can create a pool, add or remove liquidity, and swap tokens, with slippage protection on every trade. Similar to Solana exchanges like Raydium and Orca. -[⚓ Anchor v2](./finance/token-swap/anchor) [⚓ Anchor v1](./finance/token-swap/anchor-v1) [💫 Quasar](./finance/token-swap/quasar) +[⚓ Anchor v1](./finance/token-swap/anchor-v1) [⚓ Anchor v2](./finance/token-swap/anchor) [💫 Quasar](./finance/token-swap/quasar) ### Prop AMM A **proprietary AMM**: a market-making firm funds a venue with its own capital and quotes both sides of it, selling the base token at the oracle price plus a spread and buying it back at the oracle price minus the spread. No pricing curve, no liquidity providers, no pool shares: the operator is the only capital in the market, can re-quote or pull its quotes at will, and earns the spread instead of a fee. Because the price comes from an oracle rather than the pool's balances, trades have no price impact and nothing to sandwich. This is the design behind venues like Lifinity, SolFi, and HumidiFi, which fill most Solana swap volume through Jupiter routing. -[⚓ Anchor v2](./finance/prop-amm/anchor) [⚓ Anchor v1](./finance/prop-amm/anchor-v1) [💫 Quasar](./finance/prop-amm/quasar) +[⚓ Anchor v1](./finance/prop-amm/anchor-v1) [⚓ Anchor v2](./finance/prop-amm/anchor) [💫 Quasar](./finance/prop-amm/quasar) ### Vault Strategy A managed investment fund onchain, like an ETF or mutual fund. Investors deposit USDC for shares, a manager allocates the pool across a basket of assets (here, stocks like TSLAx and NVDAx), and each share's value tracks the fund's net asset value. The manager earns a management fee, and investors redeem a proportional slice of the underlying assets. -[⚓ Anchor v2](./finance/vault-strategy/anchor) [⚓ Anchor v1](./finance/vault-strategy/anchor-v1) [💫 Quasar](./finance/vault-strategy/quasar) +[⚓ Anchor v1](./finance/vault-strategy/anchor-v1) [⚓ Anchor v2](./finance/vault-strategy/anchor) [💫 Quasar](./finance/vault-strategy/quasar) ### Betting Market Parimutuel (pooled) prediction market - an admin opens an event with multiple outcomes, bettors stake tokens on an outcome, and at settlement the losing pool (minus a protocol fee) is split among winners in proportion to their stake. -[⚓ Anchor v2](./finance/betting-market/anchor) [⚓ Anchor v1](./finance/betting-market/anchor-v1) [💫 Quasar](./finance/betting-market/quasar) +[⚓ Anchor v1](./finance/betting-market/anchor-v1) [⚓ Anchor v2](./finance/betting-market/anchor) [💫 Quasar](./finance/betting-market/quasar) 🎬 Video: [How to build a PolyMarket/Kalshi style betting market on Solana](https://www.youtube.com/watch?v=jE3-IA1FBs0) @@ -87,19 +87,19 @@ Parimutuel (pooled) prediction market - an admin opens an event with multiple ou A fully collateralized, physically settled **options** venue. A writer posts the whole of what a holder could ever claim (the underlying for a **call**, the strike in USDC for a **put**) and lists the option at a premium; a buyer pays the premium and becomes the holder; the holder may **exercise** at any time before expiry, paying the strike for the underlying (or delivering the underlying for the strike); after expiry the writer reclaims whatever was not exercised. Because the collateral is always in the vault, no position can be under water, so there is no margin, no liquidator, and no oracle. The venue earns a fee on every premium. -[⚓ Anchor v2](./finance/options/anchor) [⚓ Anchor v1](./finance/options/anchor-v1) [💫 Quasar](./finance/options/quasar) +[⚓ Anchor v1](./finance/options/anchor-v1) [⚓ Anchor v2](./finance/options/anchor) [💫 Quasar](./finance/options/quasar) ### Perpetual Futures A perpetual futures exchange: a venue for making leveraged bets on an asset's price without ever owning the asset. Traders post collateral and open a **long** (betting the price rises) or **short** (betting it falls) sized up to several times their collateral; their profit or loss tracks the price move and is paid in the collateral token. Rather than matching buyers to sellers, every trade is against a shared **liquidity pool** that other users fund and that is the counterparty to all of it: the pool pays winners and keeps losers' collateral, and its providers earn the trading and funding fees in return. The price comes from an oracle, positions accrue a funding fee over time, and anyone can **liquidate** a position whose collateral can no longer cover its loss. This is the design behind venues like Jupiter Perpetuals and GMX. -[⚓ Anchor v2](./finance/perpetual-futures/anchor) [⚓ Anchor v1](./finance/perpetual-futures/anchor-v1) [💫 Quasar](./finance/perpetual-futures/quasar) +[⚓ Anchor v1](./finance/perpetual-futures/anchor-v1) [⚓ Anchor v2](./finance/perpetual-futures/anchor) [💫 Quasar](./finance/perpetual-futures/quasar) ### Token Fundraiser Onchain crowdfunding, like Kickstarter or GoFundMe. A creator sets a target amount in a chosen token, and contributors deposit into the fundraiser's account until the goal is reached. -[⚓ Anchor v2](./finance/token-fundraiser/anchor) [⚓ Anchor v1](./finance/token-fundraiser/anchor-v1) [💫 Quasar](./finance/token-fundraiser/quasar) +[⚓ Anchor v1](./finance/token-fundraiser/anchor-v1) [⚓ Anchor v2](./finance/token-fundraiser/anchor) [💫 Quasar](./finance/token-fundraiser/quasar) ## Single concept examples @@ -107,97 +107,97 @@ Onchain crowdfunding, like Kickstarter or GoFundMe. A creator sets a target amou A minimal program that logs a greeting. -[⚓ Anchor v2](./basics/hello-solana/anchor) [⚓ Anchor v1](./basics/hello-solana/anchor-v1) [💫 Quasar](./basics/hello-solana/quasar) [🤥 Pinocchio](./basics/hello-solana/pinocchio) [🦀 Native](./basics/hello-solana/native) [🧬 ASM](./basics/hello-solana/asm) +[⚓ Anchor v1](./basics/hello-solana/anchor-v1) [⚓ Anchor v2](./basics/hello-solana/anchor) [💫 Quasar](./basics/hello-solana/quasar) [🤥 Pinocchio](./basics/hello-solana/pinocchio) [🦀 Native](./basics/hello-solana/native) [🧬 ASM](./basics/hello-solana/asm) ### Account Data Store and retrieve data using Solana accounts. -[⚓ Anchor v2](./basics/account-data/anchor) [⚓ Anchor v1](./basics/account-data/anchor-v1) [💫 Quasar](./basics/account-data/quasar) [🤥 Pinocchio](./basics/account-data/pinocchio) [🦀 Native](./basics/account-data/native) +[⚓ Anchor v1](./basics/account-data/anchor-v1) [⚓ Anchor v2](./basics/account-data/anchor) [💫 Quasar](./basics/account-data/quasar) [🤥 Pinocchio](./basics/account-data/pinocchio) [🦀 Native](./basics/account-data/native) ### Counter Use a [PDA](https://solana.com/docs/terminology#program-derived-address-pda) to store global state - a counter that increments when called. -[⚓ Anchor v2](./basics/counter/anchor) [⚓ Anchor v1](./basics/counter/anchor-v1) [💫 Quasar](./basics/counter/quasar) [🤥 Pinocchio](./basics/counter/pinocchio) [🦀 Native](./basics/counter/native) +[⚓ Anchor v1](./basics/counter/anchor-v1) [⚓ Anchor v2](./basics/counter/anchor) [💫 Quasar](./basics/counter/quasar) [🤥 Pinocchio](./basics/counter/pinocchio) [🦀 Native](./basics/counter/native) ### Favorites Save and update per-user state, ensuring users can only modify their own data. -[⚓ Anchor v2](./basics/favorites/anchor) [⚓ Anchor v1](./basics/favorites/anchor-v1) [💫 Quasar](./basics/favorites/quasar) [🤥 Pinocchio](./basics/favorites/pinocchio) [🦀 Native](./basics/favorites/native) +[⚓ Anchor v1](./basics/favorites/anchor-v1) [⚓ Anchor v2](./basics/favorites/anchor) [💫 Quasar](./basics/favorites/quasar) [🤥 Pinocchio](./basics/favorites/pinocchio) [🦀 Native](./basics/favorites/native) ### Checking Accounts Validate that accounts provided in incoming [instructions](https://solana.com/docs/terminology#instruction) meet specific criteria. -[⚓ Anchor v2](./basics/checking-accounts/anchor) [⚓ Anchor v1](./basics/checking-accounts/anchor-v1) [💫 Quasar](./basics/checking-accounts/quasar) [🤥 Pinocchio](./basics/checking-accounts/pinocchio) [🦀 Native](./basics/checking-accounts/native) [🧬 ASM](./basics/checking-accounts/asm) +[⚓ Anchor v1](./basics/checking-accounts/anchor-v1) [⚓ Anchor v2](./basics/checking-accounts/anchor) [💫 Quasar](./basics/checking-accounts/quasar) [🤥 Pinocchio](./basics/checking-accounts/pinocchio) [🦀 Native](./basics/checking-accounts/native) [🧬 ASM](./basics/checking-accounts/asm) ### Close Account Close an account and reclaim its [lamports](https://solana.com/docs/terminology#lamport). -[⚓ Anchor v2](./basics/close-account/anchor) [⚓ Anchor v1](./basics/close-account/anchor-v1) [💫 Quasar](./basics/close-account/quasar) [🤥 Pinocchio](./basics/close-account/pinocchio) [🦀 Native](./basics/close-account/native) +[⚓ Anchor v1](./basics/close-account/anchor-v1) [⚓ Anchor v2](./basics/close-account/anchor) [💫 Quasar](./basics/close-account/quasar) [🤥 Pinocchio](./basics/close-account/pinocchio) [🦀 Native](./basics/close-account/native) ### Create Account Create new accounts on the blockchain. -[⚓ Anchor v2](./basics/create-account/anchor) [⚓ Anchor v1](./basics/create-account/anchor-v1) [💫 Quasar](./basics/create-account/quasar) [🤥 Pinocchio](./basics/create-account/pinocchio) [🦀 Native](./basics/create-account/native) [🧬 ASM](./basics/create-account/asm) +[⚓ Anchor v1](./basics/create-account/anchor-v1) [⚓ Anchor v2](./basics/create-account/anchor) [💫 Quasar](./basics/create-account/quasar) [🤥 Pinocchio](./basics/create-account/pinocchio) [🦀 Native](./basics/create-account/native) [🧬 ASM](./basics/create-account/asm) ### Cross-Program Invocation Call one program from another - the hand program invokes the lever program to toggle a switch. -[⚓ Anchor v2](./basics/cross-program-invocation/anchor) [⚓ Anchor v1](./basics/cross-program-invocation/anchor-v1) [💫 Quasar](./basics/cross-program-invocation/quasar) [🦀 Native](./basics/cross-program-invocation/native) +[⚓ Anchor v1](./basics/cross-program-invocation/anchor-v1) [⚓ Anchor v2](./basics/cross-program-invocation/anchor) [💫 Quasar](./basics/cross-program-invocation/quasar) [🦀 Native](./basics/cross-program-invocation/native) ### PDA Rent Payer Use a PDA to pay [rent](https://solana.com/docs/terminology#rent) for creating a new account. -[⚓ Anchor v2](./basics/pda-rent-payer/anchor) [⚓ Anchor v1](./basics/pda-rent-payer/anchor-v1) [💫 Quasar](./basics/pda-rent-payer/quasar) [🤥 Pinocchio](./basics/pda-rent-payer/pinocchio) [🦀 Native](./basics/pda-rent-payer/native) +[⚓ Anchor v1](./basics/pda-rent-payer/anchor-v1) [⚓ Anchor v2](./basics/pda-rent-payer/anchor) [💫 Quasar](./basics/pda-rent-payer/quasar) [🤥 Pinocchio](./basics/pda-rent-payer/pinocchio) [🦀 Native](./basics/pda-rent-payer/native) ### Processing Instructions Add parameters to an [instruction handler](https://solana.com/docs/terminology#instruction-handler) and use them. -[⚓ Anchor v2](./basics/processing-instructions/anchor) [⚓ Anchor v1](./basics/processing-instructions/anchor-v1) [💫 Quasar](./basics/processing-instructions/quasar) [🤥 Pinocchio](./basics/processing-instructions/pinocchio) [🦀 Native](./basics/processing-instructions/native) +[⚓ Anchor v1](./basics/processing-instructions/anchor-v1) [⚓ Anchor v2](./basics/processing-instructions/anchor) [💫 Quasar](./basics/processing-instructions/quasar) [🤥 Pinocchio](./basics/processing-instructions/pinocchio) [🦀 Native](./basics/processing-instructions/native) ### Program Derived Addresses Store and retrieve state using PDAs as deterministic account addresses. -[⚓ Anchor v2](./basics/program-derived-addresses/anchor) [⚓ Anchor v1](./basics/program-derived-addresses/anchor-v1) [💫 Quasar](./basics/program-derived-addresses/quasar) [🤥 Pinocchio](./basics/program-derived-addresses/pinocchio) [🦀 Native](./basics/program-derived-addresses/native) +[⚓ Anchor v1](./basics/program-derived-addresses/anchor-v1) [⚓ Anchor v2](./basics/program-derived-addresses/anchor) [💫 Quasar](./basics/program-derived-addresses/quasar) [🤥 Pinocchio](./basics/program-derived-addresses/pinocchio) [🦀 Native](./basics/program-derived-addresses/native) ### Realloc Handle accounts that need to grow or shrink in size. -[⚓ Anchor v2](./basics/realloc/anchor) [⚓ Anchor v1](./basics/realloc/anchor-v1) [💫 Quasar](./basics/realloc/quasar) [🤥 Pinocchio](./basics/realloc/pinocchio) [🦀 Native](./basics/realloc/native) +[⚓ Anchor v1](./basics/realloc/anchor-v1) [⚓ Anchor v2](./basics/realloc/anchor) [💫 Quasar](./basics/realloc/quasar) [🤥 Pinocchio](./basics/realloc/pinocchio) [🦀 Native](./basics/realloc/native) ### Rent Calculate an account's size to determine the minimum rent-exempt balance. -[⚓ Anchor v2](./basics/rent/anchor) [⚓ Anchor v1](./basics/rent/anchor-v1) [💫 Quasar](./basics/rent/quasar) [🤥 Pinocchio](./basics/rent/pinocchio) [🦀 Native](./basics/rent/native) +[⚓ Anchor v1](./basics/rent/anchor-v1) [⚓ Anchor v2](./basics/rent/anchor) [💫 Quasar](./basics/rent/quasar) [🤥 Pinocchio](./basics/rent/pinocchio) [🦀 Native](./basics/rent/native) ### Repository Layout Structure a larger Solana program across multiple files and modules. -[⚓ Anchor v2](./basics/repository-layout/anchor) [⚓ Anchor v1](./basics/repository-layout/anchor-v1) [💫 Quasar](./basics/repository-layout/quasar) [🦀 Native](./basics/repository-layout/native) +[⚓ Anchor v1](./basics/repository-layout/anchor-v1) [⚓ Anchor v2](./basics/repository-layout/anchor) [💫 Quasar](./basics/repository-layout/quasar) [🦀 Native](./basics/repository-layout/native) ### Transfer SOL Send SOL between two accounts. -[⚓ Anchor v2](./basics/transfer-sol/anchor) [⚓ Anchor v1](./basics/transfer-sol/anchor-v1) [💫 Quasar](./basics/transfer-sol/quasar) [🤥 Pinocchio](./basics/transfer-sol/pinocchio) [🦀 Native](./basics/transfer-sol/native) [🧬 ASM](./basics/transfer-sol/asm) +[⚓ Anchor v1](./basics/transfer-sol/anchor-v1) [⚓ Anchor v2](./basics/transfer-sol/anchor) [💫 Quasar](./basics/transfer-sol/quasar) [🤥 Pinocchio](./basics/transfer-sol/pinocchio) [🦀 Native](./basics/transfer-sol/native) [🧬 ASM](./basics/transfer-sol/asm) ### Pyth Price Feeds An **oracle** brings real-world market prices - a dollar, a stock, a token - [onchain](https://solana.com/docs/terminology#onchain), like a Bloomberg terminal feeding live quotes. [Pyth](https://pyth.network/) publishes low-latency prices from institutional sources, each in its own price feed account. This example reads a feed and logs its price, confidence interval, and exponent - the building block an AMM, lending market, or vault uses to value assets. -[⚓ Anchor v2](./basics/pyth/anchor) [⚓ Anchor v1](./basics/pyth/anchor-v1) [💫 Quasar](./basics/pyth/quasar) +[⚓ Anchor v1](./basics/pyth/anchor-v1) [⚓ Anchor v2](./basics/pyth/anchor) [💫 Quasar](./basics/pyth/quasar) ## Tokens @@ -205,43 +205,43 @@ An **oracle** brings real-world market prices - a dollar, a stock, a token - [on Create a token mint with a symbol and icon. -[⚓ Anchor v2](./tokens/create-token/anchor) [⚓ Anchor v1](./tokens/create-token/anchor-v1) [💫 Quasar](./tokens/create-token/quasar) [🦀 Native](./tokens/create-token/native) +[⚓ Anchor v1](./tokens/create-token/anchor-v1) [⚓ Anchor v2](./tokens/create-token/anchor) [💫 Quasar](./tokens/create-token/quasar) [🦀 Native](./tokens/create-token/native) ### Mint NFT Mint an NFT from inside your own program using the Token and Metaplex Token Metadata programs. -[⚓ Anchor v2](./tokens/nft-minter/anchor) [⚓ Anchor v1](./tokens/nft-minter/anchor-v1) [💫 Quasar](./tokens/nft-minter/quasar) [🦀 Native](./tokens/nft-minter/native) +[⚓ Anchor v1](./tokens/nft-minter/anchor-v1) [⚓ Anchor v2](./tokens/nft-minter/anchor) [💫 Quasar](./tokens/nft-minter/quasar) [🦀 Native](./tokens/nft-minter/native) ### NFT Operations Create an NFT collection, mint NFTs, and verify NFTs as part of a collection using Metaplex Token Metadata. -[⚓ Anchor v2](./tokens/nft-operations/anchor) [⚓ Anchor v1](./tokens/nft-operations/anchor-v1) [💫 Quasar](./tokens/nft-operations/quasar) +[⚓ Anchor v1](./tokens/nft-operations/anchor-v1) [⚓ Anchor v2](./tokens/nft-operations/anchor) [💫 Quasar](./tokens/nft-operations/quasar) ### Token Minter Mint tokens from inside your own program using the [Classic Token Program](https://solana.com/docs/terminology#token-program). -[⚓ Anchor v2](./tokens/token-minter/anchor) [⚓ Anchor v1](./tokens/token-minter/anchor-v1) [💫 Quasar](./tokens/token-minter/quasar) [🦀 Native](./tokens/token-minter/native) +[⚓ Anchor v1](./tokens/token-minter/anchor-v1) [⚓ Anchor v2](./tokens/token-minter/anchor) [💫 Quasar](./tokens/token-minter/quasar) [🦀 Native](./tokens/token-minter/native) ### Transfer Tokens Transfer tokens between accounts. -[⚓ Anchor v2](./tokens/transfer-tokens/anchor) [⚓ Anchor v1](./tokens/transfer-tokens/anchor-v1) [💫 Quasar](./tokens/transfer-tokens/quasar) [🦀 Native](./tokens/transfer-tokens/native) +[⚓ Anchor v1](./tokens/transfer-tokens/anchor-v1) [⚓ Anchor v2](./tokens/transfer-tokens/anchor) [💫 Quasar](./tokens/transfer-tokens/quasar) [🦀 Native](./tokens/transfer-tokens/native) ### PDA Mint Authority Mint tokens using a PDA as the mint authority, so your program controls token issuance. -[⚓ Anchor v2](./tokens/pda-mint-authority/anchor) [⚓ Anchor v1](./tokens/pda-mint-authority/anchor-v1) [💫 Quasar](./tokens/pda-mint-authority/quasar) [🦀 Native](./tokens/pda-mint-authority/native) +[⚓ Anchor v1](./tokens/pda-mint-authority/anchor-v1) [⚓ Anchor v2](./tokens/pda-mint-authority/anchor) [💫 Quasar](./tokens/pda-mint-authority/quasar) [🦀 Native](./tokens/pda-mint-authority/native) ### External Delegate Token Master Control token transfers using an external secp256k1 delegate signature. -[⚓ Anchor v2](./tokens/external-delegate-token-master/anchor) [⚓ Anchor v1](./tokens/external-delegate-token-master/anchor-v1) [💫 Quasar](./tokens/external-delegate-token-master/quasar) +[⚓ Anchor v1](./tokens/external-delegate-token-master/anchor-v1) [⚓ Anchor v2](./tokens/external-delegate-token-master/anchor) [💫 Quasar](./tokens/external-delegate-token-master/quasar) ## Token Extensions @@ -249,61 +249,61 @@ Control token transfers using an external secp256k1 delegate signature. Create token mints, mint tokens, and transfer tokens using [Token Extensions](https://solana.com/docs/terminology#token-extensions-program). -[⚓ Anchor v2](./tokens/token-extensions/basics/anchor) [⚓ Anchor v1](./tokens/token-extensions/basics/anchor-v1) [💫 Quasar](./tokens/token-extensions/basics/quasar) +[⚓ Anchor v1](./tokens/token-extensions/basics/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/basics/anchor) [💫 Quasar](./tokens/token-extensions/basics/quasar) ### CPI Guard Prevent certain token actions from occurring within [cross-program invocations](https://solana.com/docs/terminology#cross-program-invocation-cpi). -[⚓ Anchor v2](./tokens/token-extensions/cpi-guard/anchor) [⚓ Anchor v1](./tokens/token-extensions/cpi-guard/anchor-v1) [💫 Quasar](./tokens/token-extensions/cpi-guard/quasar) +[⚓ Anchor v1](./tokens/token-extensions/cpi-guard/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/cpi-guard/anchor) [💫 Quasar](./tokens/token-extensions/cpi-guard/quasar) ### Default Account State Create new [token accounts](https://solana.com/docs/terminology#token-account) that are frozen by default. -[⚓ Anchor v2](./tokens/token-extensions/default-account-state/anchor) [⚓ Anchor v1](./tokens/token-extensions/default-account-state/anchor-v1) [💫 Quasar](./tokens/token-extensions/default-account-state/quasar) [🦀 Native](./tokens/token-extensions/default-account-state/native) +[⚓ Anchor v1](./tokens/token-extensions/default-account-state/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/default-account-state/anchor) [💫 Quasar](./tokens/token-extensions/default-account-state/quasar) [🦀 Native](./tokens/token-extensions/default-account-state/native) ### Group Pointer Create tokens that belong to larger groups using the Group Pointer extension. -[⚓ Anchor v2](./tokens/token-extensions/group/anchor) [⚓ Anchor v1](./tokens/token-extensions/group/anchor-v1) [💫 Quasar](./tokens/token-extensions/group/quasar) +[⚓ Anchor v1](./tokens/token-extensions/group/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/group/anchor) [💫 Quasar](./tokens/token-extensions/group/quasar) ### Immutable Owner Create token accounts whose owning program cannot be changed. -[⚓ Anchor v2](./tokens/token-extensions/immutable-owner/anchor) [⚓ Anchor v1](./tokens/token-extensions/immutable-owner/anchor-v1) [💫 Quasar](./tokens/token-extensions/immutable-owner/quasar) +[⚓ Anchor v1](./tokens/token-extensions/immutable-owner/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/immutable-owner/anchor) [💫 Quasar](./tokens/token-extensions/immutable-owner/quasar) ### Interest Bearing Tokens Create tokens that show an interest calculation, updating their displayed balance over time. -[⚓ Anchor v2](./tokens/token-extensions/interest-bearing/anchor) [⚓ Anchor v1](./tokens/token-extensions/interest-bearing/anchor-v1) [💫 Quasar](./tokens/token-extensions/interest-bearing/quasar) +[⚓ Anchor v1](./tokens/token-extensions/interest-bearing/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/interest-bearing/anchor) [💫 Quasar](./tokens/token-extensions/interest-bearing/quasar) ### Memo Transfer Require all transfers to include a descriptive memo. -[⚓ Anchor v2](./tokens/token-extensions/memo-transfer/anchor) [⚓ Anchor v1](./tokens/token-extensions/memo-transfer/anchor-v1) [💫 Quasar](./tokens/token-extensions/memo-transfer/quasar) +[⚓ Anchor v1](./tokens/token-extensions/memo-transfer/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/memo-transfer/anchor) [💫 Quasar](./tokens/token-extensions/memo-transfer/quasar) ### Onchain Metadata Store metadata directly inside the token [mint account](https://solana.com/docs/terminology#token-mint), without needing additional programs. -[⚓ Anchor v2](./tokens/token-extensions/metadata/anchor) [⚓ Anchor v1](./tokens/token-extensions/metadata/anchor-v1) +[⚓ Anchor v1](./tokens/token-extensions/metadata/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/metadata/anchor) ### NFT Metadata Pointer Create an NFT using the metadata pointer extension, storing onchain metadata (including custom fields) inside the mint. -[⚓ Anchor v2](./tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor) [⚓ Anchor v1](./tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1) +[⚓ Anchor v1](./tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor) ### Mint Close Authority Allow a designated account to close a token mint. -[⚓ Anchor v2](./tokens/token-extensions/mint-close-authority/anchor) [⚓ Anchor v1](./tokens/token-extensions/mint-close-authority/anchor-v1) [💫 Quasar](./tokens/token-extensions/mint-close-authority/quasar) [🦀 Native](./tokens/token-extensions/mint-close-authority/native) +[⚓ Anchor v1](./tokens/token-extensions/mint-close-authority/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/mint-close-authority/anchor) [💫 Quasar](./tokens/token-extensions/mint-close-authority/quasar) [🦀 Native](./tokens/token-extensions/mint-close-authority/native) ### Multiple Extensions @@ -315,61 +315,61 @@ Use multiple Token Extensions on a single mint at once. Create tokens that cannot be transferred between accounts. -[⚓ Anchor v2](./tokens/token-extensions/non-transferable/anchor) [⚓ Anchor v1](./tokens/token-extensions/non-transferable/anchor-v1) [💫 Quasar](./tokens/token-extensions/non-transferable/quasar) [🦀 Native](./tokens/token-extensions/non-transferable/native) +[⚓ Anchor v1](./tokens/token-extensions/non-transferable/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/non-transferable/anchor) [💫 Quasar](./tokens/token-extensions/non-transferable/quasar) [🦀 Native](./tokens/token-extensions/non-transferable/native) ### Permanent Delegate Create tokens that remain under the control of a designated account, even when transferred elsewhere. -[⚓ Anchor v2](./tokens/token-extensions/permanent-delegate/anchor) [⚓ Anchor v1](./tokens/token-extensions/permanent-delegate/anchor-v1) [💫 Quasar](./tokens/token-extensions/permanent-delegate/quasar) +[⚓ Anchor v1](./tokens/token-extensions/permanent-delegate/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/permanent-delegate/anchor) [💫 Quasar](./tokens/token-extensions/permanent-delegate/quasar) ### Transfer Fee Create tokens with a built-in transfer fee. -[⚓ Anchor v2](./tokens/token-extensions/transfer-fee/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-fee/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-fee/quasar) [🦀 Native](./tokens/token-extensions/transfer-fee/native) +[⚓ Anchor v1](./tokens/token-extensions/transfer-fee/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-fee/anchor) [💫 Quasar](./tokens/token-extensions/transfer-fee/quasar) [🦀 Native](./tokens/token-extensions/transfer-fee/native) ### Transfer Hook - Hello World A minimal transfer hook that executes custom logic on every token transfer. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/hello-world/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/hello-world/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/hello-world/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/hello-world/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/hello-world/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/hello-world/quasar) ### Transfer Hook - Counter Count how many times tokens have been transferred. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/counter/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/counter/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/counter/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/counter/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/counter/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/counter/quasar) ### Transfer Hook - Account Data as Seed Use token account owner data as seeds to derive extra accounts in a transfer hook. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/account-data-as-seed/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/account-data-as-seed/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/account-data-as-seed/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/account-data-as-seed/quasar) ### Transfer Hook - Allow/Block List Restrict or allow token transfers using an onchain list managed by a list authority. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/allow-block-list-token/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/allow-block-list-token/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/allow-block-list-token/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/allow-block-list-token/quasar) ### Transfer Hook - Transfer Cost Charge an additional fee on every token transfer. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/transfer-cost/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/transfer-cost/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/transfer-cost/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/transfer-cost/quasar) ### Transfer Hook - Transfer Switch Enable or disable token transfers with an onchain switch. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/transfer-switch/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/transfer-switch/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/transfer-switch/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/transfer-switch/quasar) ### Transfer Hook - Whitelist Restrict transfers so only whitelisted accounts can receive tokens. -[⚓ Anchor v2](./tokens/token-extensions/transfer-hook/whitelist/anchor) [⚓ Anchor v1](./tokens/token-extensions/transfer-hook/whitelist/anchor-v1) [💫 Quasar](./tokens/token-extensions/transfer-hook/whitelist/quasar) +[⚓ Anchor v1](./tokens/token-extensions/transfer-hook/whitelist/anchor-v1) [⚓ Anchor v2](./tokens/token-extensions/transfer-hook/whitelist/anchor) [💫 Quasar](./tokens/token-extensions/transfer-hook/whitelist/quasar) ## Compression @@ -377,19 +377,19 @@ Restrict transfers so only whitelisted accounts can receive tokens. Burn compressed NFTs. -[⚓ Anchor v2](./compression/cnft-burn/anchor) [⚓ Anchor v1](./compression/cnft-burn/anchor-v1) [💫 Quasar](./compression/cnft-burn/quasar) +[⚓ Anchor v1](./compression/cnft-burn/anchor-v1) [⚓ Anchor v2](./compression/cnft-burn/anchor) [💫 Quasar](./compression/cnft-burn/quasar) ### cNFT Vault Store Metaplex compressed NFTs inside a PDA. -[⚓ Anchor v2](./compression/cnft-vault/anchor) [⚓ Anchor v1](./compression/cnft-vault/anchor-v1) [💫 Quasar](./compression/cnft-vault/quasar) +[⚓ Anchor v1](./compression/cnft-vault/anchor-v1) [⚓ Anchor v2](./compression/cnft-vault/anchor) [💫 Quasar](./compression/cnft-vault/quasar) ### Compression Utilities Work with Metaplex compressed NFTs. -[⚓ Anchor v2](./compression/cutils/anchor) [⚓ Anchor v1](./compression/cutils/anchor-v1) [💫 Quasar](./compression/cutils/quasar) +[⚓ Anchor v1](./compression/cutils/anchor-v1) [⚓ Anchor v2](./compression/cutils/anchor) [💫 Quasar](./compression/cutils/quasar) ## Tools diff --git a/basics/account-data/anchor-v1/README.md b/basics/account-data/anchor-v1/README.md index 884af05e..7ecb71ba 100644 --- a/basics/account-data/anchor-v1/README.md +++ b/basics/account-data/anchor-v1/README.md @@ -1,8 +1,8 @@ # Account Data (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/checking-accounts/anchor-v1/README.md b/basics/checking-accounts/anchor-v1/README.md index ead4dc07..c7beb131 100644 --- a/basics/checking-accounts/anchor-v1/README.md +++ b/basics/checking-accounts/anchor-v1/README.md @@ -1,8 +1,8 @@ # Checking Accounts (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/close-account/anchor-v1/README.md b/basics/close-account/anchor-v1/README.md index 14ebea39..5cc6fab0 100644 --- a/basics/close-account/anchor-v1/README.md +++ b/basics/close-account/anchor-v1/README.md @@ -1,8 +1,8 @@ # Close Account > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/counter/anchor-v1/README.md b/basics/counter/anchor-v1/README.md index 4b43f555..8d74f151 100644 --- a/basics/counter/anchor-v1/README.md +++ b/basics/counter/anchor-v1/README.md @@ -1,8 +1,8 @@ # Counter (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/create-account/anchor-v1/README.md b/basics/create-account/anchor-v1/README.md index b2bc4d87..dfd437e1 100644 --- a/basics/create-account/anchor-v1/README.md +++ b/basics/create-account/anchor-v1/README.md @@ -1,8 +1,8 @@ # Create Account (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/cross-program-invocation/anchor-v1/README.md b/basics/cross-program-invocation/anchor-v1/README.md index ccb6adee..4ac3c55d 100644 --- a/basics/cross-program-invocation/anchor-v1/README.md +++ b/basics/cross-program-invocation/anchor-v1/README.md @@ -1,8 +1,8 @@ # Cross-Program Invocation (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/favorites/anchor-v1/README.md b/basics/favorites/anchor-v1/README.md index b85144c0..f669c7cf 100644 --- a/basics/favorites/anchor-v1/README.md +++ b/basics/favorites/anchor-v1/README.md @@ -1,8 +1,8 @@ # Favorites (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/hello-solana/anchor-v1/README.md b/basics/hello-solana/anchor-v1/README.md index c424f1bb..2193915e 100644 --- a/basics/hello-solana/anchor-v1/README.md +++ b/basics/hello-solana/anchor-v1/README.md @@ -1,8 +1,8 @@ # Hello Solana (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/pda-rent-payer/anchor-v1/README.md b/basics/pda-rent-payer/anchor-v1/README.md index 5895cd2e..4ebb15f6 100644 --- a/basics/pda-rent-payer/anchor-v1/README.md +++ b/basics/pda-rent-payer/anchor-v1/README.md @@ -1,8 +1,8 @@ # PDA Rent Payer (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/processing-instructions/anchor-v1/README.md b/basics/processing-instructions/anchor-v1/README.md index bbf72829..5fa25d9e 100644 --- a/basics/processing-instructions/anchor-v1/README.md +++ b/basics/processing-instructions/anchor-v1/README.md @@ -1,8 +1,8 @@ # Processing Instructions (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/program-derived-addresses/anchor-v1/README.md b/basics/program-derived-addresses/anchor-v1/README.md index 8aa332ea..fb90bca8 100644 --- a/basics/program-derived-addresses/anchor-v1/README.md +++ b/basics/program-derived-addresses/anchor-v1/README.md @@ -1,8 +1,8 @@ # Program Derived Addresses (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/pyth/anchor-v1/README.md b/basics/pyth/anchor-v1/README.md index cb8bd460..6f46a91c 100644 --- a/basics/pyth/anchor-v1/README.md +++ b/basics/pyth/anchor-v1/README.md @@ -1,8 +1,8 @@ # Pyth Price Feeds (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/realloc/anchor-v1/README.md b/basics/realloc/anchor-v1/README.md index 5017a096..b19db4c5 100644 --- a/basics/realloc/anchor-v1/README.md +++ b/basics/realloc/anchor-v1/README.md @@ -1,8 +1,8 @@ # Realloc (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/rent/anchor-v1/README.md b/basics/rent/anchor-v1/README.md index 8b09f6ce..351a45cc 100644 --- a/basics/rent/anchor-v1/README.md +++ b/basics/rent/anchor-v1/README.md @@ -1,8 +1,8 @@ # Rent (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/repository-layout/anchor-v1/README.md b/basics/repository-layout/anchor-v1/README.md index f0ce6dbb..595183ca 100644 --- a/basics/repository-layout/anchor-v1/README.md +++ b/basics/repository-layout/anchor-v1/README.md @@ -1,8 +1,8 @@ # Repository Layout (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/basics/transfer-sol/anchor-v1/README.md b/basics/transfer-sol/anchor-v1/README.md index 40983f19..ec8939a6 100644 --- a/basics/transfer-sol/anchor-v1/README.md +++ b/basics/transfer-sol/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer SOL (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/compression/cnft-burn/anchor-v1/README.md b/compression/cnft-burn/anchor-v1/README.md index b0d718bb..d24effcb 100644 --- a/compression/cnft-burn/anchor-v1/README.md +++ b/compression/cnft-burn/anchor-v1/README.md @@ -1,8 +1,8 @@ # cnft-burn > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/compression/cnft-vault/anchor-v1/README.md b/compression/cnft-vault/anchor-v1/README.md index 59b03d53..d09bfbb8 100644 --- a/compression/cnft-vault/anchor-v1/README.md +++ b/compression/cnft-vault/anchor-v1/README.md @@ -1,8 +1,8 @@ # cNFT Vault > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/compression/cutils/anchor-v1/README.md b/compression/cutils/anchor-v1/README.md index 58c226f9..d2f9cc36 100644 --- a/compression/cutils/anchor-v1/README.md +++ b/compression/cutils/anchor-v1/README.md @@ -1,8 +1,8 @@ # cNFT Utils > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/betting-market/anchor-v1/README.md b/finance/betting-market/anchor-v1/README.md index 54ecca6f..f86e17ef 100644 --- a/finance/betting-market/anchor-v1/README.md +++ b/finance/betting-market/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Betting Market (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/escrow/anchor-v1/README.md b/finance/escrow/anchor-v1/README.md index 17110750..30744fd8 100644 --- a/finance/escrow/anchor-v1/README.md +++ b/finance/escrow/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Escrow (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/lending/anchor-v1/README.md b/finance/lending/anchor-v1/README.md index 9569a34d..05a61901 100644 --- a/finance/lending/anchor-v1/README.md +++ b/finance/lending/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Lending (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/options/anchor-v1/README.md b/finance/options/anchor-v1/README.md index 7a1acdd6..ab89a7d1 100644 --- a/finance/options/anchor-v1/README.md +++ b/finance/options/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Options (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/order-book/anchor-v1/README.md b/finance/order-book/anchor-v1/README.md index 06281e9a..71da75ef 100644 --- a/finance/order-book/anchor-v1/README.md +++ b/finance/order-book/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Order Book Exchange (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/perpetual-futures/anchor-v1/README.md b/finance/perpetual-futures/anchor-v1/README.md index 159e2bc4..7f9c54e0 100644 --- a/finance/perpetual-futures/anchor-v1/README.md +++ b/finance/perpetual-futures/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Perpetual Futures (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/prop-amm/anchor-v1/README.md b/finance/prop-amm/anchor-v1/README.md index 236e528b..42482865 100644 --- a/finance/prop-amm/anchor-v1/README.md +++ b/finance/prop-amm/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Prop AMM (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/token-fundraiser/anchor-v1/README.md b/finance/token-fundraiser/anchor-v1/README.md index f7c9c5b9..1c26d0ee 100644 --- a/finance/token-fundraiser/anchor-v1/README.md +++ b/finance/token-fundraiser/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Token Fundraiser (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/token-swap/anchor-v1/README.md b/finance/token-swap/anchor-v1/README.md index 16c5dfca..9e48aa66 100644 --- a/finance/token-swap/anchor-v1/README.md +++ b/finance/token-swap/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Token Swap AMM (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/finance/vault-strategy/anchor-v1/README.md b/finance/vault-strategy/anchor-v1/README.md index e9a3dbfb..40ff7250 100644 --- a/finance/vault-strategy/anchor-v1/README.md +++ b/finance/vault-strategy/anchor-v1/README.md @@ -1,8 +1,8 @@ # Solana Vault Strategy (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/llms.txt b/llms.txt index 49264135..e9d72da9 100644 --- a/llms.txt +++ b/llms.txt @@ -1,6 +1,6 @@ # Solana Program Examples -> Working, tested, up-to-date Solana program ('smart contract') examples, maintained by Quicknode. Focused on financial software ('DeFi'): every finance example ships LiteSVM integration tests and Kani formal-verification proofs of its money math, and builds in CI on Anchor 1.1. Most examples are available in several frameworks: Anchor, Quasar, Pinocchio, native Rust, and sBPF assembly. +> Working, tested, up-to-date Solana program ('smart contract') examples, maintained by Quicknode. Focused on financial software ('DeFi'): every finance example ships LiteSVM integration tests and Kani formal-verification proofs of its money math, and builds in CI on Anchor 1.2. Most examples are available in several frameworks: Anchor, Quasar, Pinocchio, native Rust, and sBPF assembly. A Solana program is what other chains call a smart contract. These examples are reference implementations for learning: tested and formally verified, but not audited or deployed to mainnet. diff --git a/tokens/create-token/anchor-v1/README.md b/tokens/create-token/anchor-v1/README.md index afb33589..64f4a66a 100644 --- a/tokens/create-token/anchor-v1/README.md +++ b/tokens/create-token/anchor-v1/README.md @@ -1,8 +1,8 @@ # Create Token (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/external-delegate-token-master/anchor-v1/README.md b/tokens/external-delegate-token-master/anchor-v1/README.md index bf07678c..43344a00 100644 --- a/tokens/external-delegate-token-master/anchor-v1/README.md +++ b/tokens/external-delegate-token-master/anchor-v1/README.md @@ -1,8 +1,8 @@ # External Delegate Token Master (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/nft-minter/anchor-v1/README.md b/tokens/nft-minter/anchor-v1/README.md index 6604aaea..60cb6209 100644 --- a/tokens/nft-minter/anchor-v1/README.md +++ b/tokens/nft-minter/anchor-v1/README.md @@ -1,8 +1,8 @@ # NFT Minter (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/nft-operations/anchor-v1/README.md b/tokens/nft-operations/anchor-v1/README.md index de97a961..fb9207f6 100644 --- a/tokens/nft-operations/anchor-v1/README.md +++ b/tokens/nft-operations/anchor-v1/README.md @@ -1,8 +1,8 @@ # NFT Operations > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/pda-mint-authority/anchor-v1/README.md b/tokens/pda-mint-authority/anchor-v1/README.md index 4ecfd6a6..307ae840 100644 --- a/tokens/pda-mint-authority/anchor-v1/README.md +++ b/tokens/pda-mint-authority/anchor-v1/README.md @@ -1,8 +1,8 @@ # PDA Mint Authority (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/basics/anchor-v1/README.md b/tokens/token-extensions/basics/anchor-v1/README.md index 93730ba1..25f32884 100644 --- a/tokens/token-extensions/basics/anchor-v1/README.md +++ b/tokens/token-extensions/basics/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Basics (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/cpi-guard/anchor-v1/README.md b/tokens/token-extensions/cpi-guard/anchor-v1/README.md index 04a12aa4..65416e9e 100644 --- a/tokens/token-extensions/cpi-guard/anchor-v1/README.md +++ b/tokens/token-extensions/cpi-guard/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - CPI Guard (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/default-account-state/anchor-v1/README.md b/tokens/token-extensions/default-account-state/anchor-v1/README.md index c61f48f9..f07f03a5 100644 --- a/tokens/token-extensions/default-account-state/anchor-v1/README.md +++ b/tokens/token-extensions/default-account-state/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Default Account State (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/group/anchor-v1/README.md b/tokens/token-extensions/group/anchor-v1/README.md index 9589309d..1d6fdd49 100644 --- a/tokens/token-extensions/group/anchor-v1/README.md +++ b/tokens/token-extensions/group/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Group Pointer (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/immutable-owner/anchor-v1/README.md b/tokens/token-extensions/immutable-owner/anchor-v1/README.md index bc0faae9..4b1f717f 100644 --- a/tokens/token-extensions/immutable-owner/anchor-v1/README.md +++ b/tokens/token-extensions/immutable-owner/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Immutable Owner (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/interest-bearing/anchor-v1/README.md b/tokens/token-extensions/interest-bearing/anchor-v1/README.md index 5a4102ab..2f23f49d 100644 --- a/tokens/token-extensions/interest-bearing/anchor-v1/README.md +++ b/tokens/token-extensions/interest-bearing/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Interest Bearing (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/memo-transfer/anchor-v1/README.md b/tokens/token-extensions/memo-transfer/anchor-v1/README.md index 09670e93..c18a4900 100644 --- a/tokens/token-extensions/memo-transfer/anchor-v1/README.md +++ b/tokens/token-extensions/memo-transfer/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Memo Transfer (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/metadata/anchor-v1/README.md b/tokens/token-extensions/metadata/anchor-v1/README.md index af3d28a0..d8a26eff 100644 --- a/tokens/token-extensions/metadata/anchor-v1/README.md +++ b/tokens/token-extensions/metadata/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Onchain Metadata (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/mint-close-authority/anchor-v1/README.md b/tokens/token-extensions/mint-close-authority/anchor-v1/README.md index 55ae38cf..05a8eb31 100644 --- a/tokens/token-extensions/mint-close-authority/anchor-v1/README.md +++ b/tokens/token-extensions/mint-close-authority/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Mint Close Authority (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1/README.md b/tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1/README.md index 91c68701..78965b04 100644 --- a/tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1/README.md +++ b/tokens/token-extensions/nft-meta-data-pointer/anchor-example/anchor-v1/README.md @@ -1,8 +1,8 @@ # Anchor Program > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/non-transferable/anchor-v1/README.md b/tokens/token-extensions/non-transferable/anchor-v1/README.md index a83c3221..5060d51b 100644 --- a/tokens/token-extensions/non-transferable/anchor-v1/README.md +++ b/tokens/token-extensions/non-transferable/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Non-Transferable (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/permanent-delegate/anchor-v1/README.md b/tokens/token-extensions/permanent-delegate/anchor-v1/README.md index 9a4bdde6..72cfb3a8 100644 --- a/tokens/token-extensions/permanent-delegate/anchor-v1/README.md +++ b/tokens/token-extensions/permanent-delegate/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Permanent Delegate (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-fee/anchor-v1/README.md b/tokens/token-extensions/transfer-fee/anchor-v1/README.md index 76de4da0..1b34bd30 100644 --- a/tokens/token-extensions/transfer-fee/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-fee/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Extensions - Transfer Fee (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1/README.md index 961cf299..75eea5ca 100644 --- a/tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/account-data-as-seed/anchor-v1/README.md @@ -1,8 +1,8 @@ # Using Token Account Data as a Seed in a Transfer Hook > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/README.md index d0eeec5a..8a63cca6 100644 --- a/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Allow/Block List (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/counter/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/counter/anchor-v1/README.md index ecb36107..5d49c3f6 100644 --- a/tokens/token-extensions/transfer-hook/counter/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/counter/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Counter (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/hello-world/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/hello-world/anchor-v1/README.md index b175387a..6f753516 100644 --- a/tokens/token-extensions/transfer-hook/hello-world/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/hello-world/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Hello World (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/README.md index c45ce5a0..8919c6d7 100644 --- a/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Transfer Cost (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1/README.md index 071fc953..c4b0530b 100644 --- a/tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/transfer-switch/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Transfer Switch (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-extensions/transfer-hook/whitelist/anchor-v1/README.md b/tokens/token-extensions/transfer-hook/whitelist/anchor-v1/README.md index ded7cf50..89cf157a 100644 --- a/tokens/token-extensions/transfer-hook/whitelist/anchor-v1/README.md +++ b/tokens/token-extensions/transfer-hook/whitelist/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Hook - Whitelist (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/token-minter/anchor-v1/README.md b/tokens/token-minter/anchor-v1/README.md index 01071b8a..fad1b98a 100644 --- a/tokens/token-minter/anchor-v1/README.md +++ b/tokens/token-minter/anchor-v1/README.md @@ -1,8 +1,8 @@ # Token Minter (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/). diff --git a/tokens/transfer-tokens/anchor-v1/README.md b/tokens/transfer-tokens/anchor-v1/README.md index e7b1c3d2..b5086af9 100644 --- a/tokens/transfer-tokens/anchor-v1/README.md +++ b/tokens/transfer-tokens/anchor-v1/README.md @@ -1,8 +1,8 @@ # Transfer Tokens (Anchor) > [!NOTE] -> This is the **Anchor v1** copy of this example, kept for programs staying on the -> Anchor v1 LTS line. Every `anchor` command on this page needs the v1 CLI: +> This is the **Anchor v1** copy of this example, on Anchor 1.2.0, the current +> stable Anchor release. Every `anchor` command on this page needs the v1 CLI: > `avm install 1.2.0 && avm use 1.2.0`. The Anchor v2 version of this example is in > [`../anchor`](../anchor/).