diff --git a/.github/.ghaignore b/.github/.ghaignore index 79b188e3..c95646ed 100644 --- a/.github/.ghaignore +++ b/.github/.ghaignore @@ -12,10 +12,10 @@ tokens/transfer-tokens/native tokens/token-minter/native tokens/create-token/native -tokens/token-swap/anchor +finance/token-swap/anchor # not building -oracles/pyth/anchor +basics/pyth/anchor # not building compression/cutils/anchor @@ -25,7 +25,7 @@ compression/cnft-burn/anchor # test failing # https://github.com/solana-developers/helpers/issues/40 -tokens/escrow/anchor +finance/escrow/anchor # not live tokens/token-extensions/group/anchor @@ -65,9 +65,9 @@ basics/realloc/steel basics/rent/steel basics/transfer-sol/steel -tokens/escrow/steel +finance/escrow/steel tokens/pda-mint-authority/steel tokens/token-minter/steel -tokens/token-swap/steel +finance/token-swap/steel tokens/transfer-tokens/steel \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 9bb26535..8c0a4aa3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,9 +48,9 @@ members = [ "basics/transfer-sol/anchor/programs/*", "basics/transfer-sol/asm", - # defi - "defi/vault-strategy/anchor/programs/vault-strategy", - "defi/vault-strategy/anchor/programs/mock-swap-router", + # finance + "finance/vault-strategy/anchor/programs/vault-strategy", + "finance/vault-strategy/anchor/programs/mock-swap-router", # tokens "tokens/token-extensions/mint-close-authority/native/program", diff --git a/README.md b/README.md index f3940731..5a3c0869 100644 --- a/README.md +++ b/README.md @@ -17,43 +17,37 @@ Each example is available in one or more of the following frameworks: ## Financial Software -### Automated Market Maker +### Escrow -Constant product AMM (x·y=k) — create liquidity pools, deposit and withdraw liquidity, swap tokens with fees and slippage protection. +**Start here — this is the best first finance program to learn on Solana.** An escrow is a neutral holding account that lets two people who don't trust each other trade safely. One person (the maker) deposits token A and specifies how much token B they want in return. When a second person (the taker) supplies that token B, the program hands each side what it was promised in a single transaction — so either the whole trade happens, or none of it does. This "all-or-nothing" swap is the core idea behind every onchain exchange, which is why it's the right place to begin. -[⚓ Anchor](./tokens/token-swap/anchor) [💫 Quasar](./tokens/token-swap/quasar) +[⚓ Anchor](./finance/escrow/anchor) [💫 Quasar](./finance/escrow/quasar) [🦀 Native](./finance/escrow/native) -### Central Limit Order Book +### Order Book based Exchange -Order-book exchange — users post limit bids and asks at chosen prices, tokens are locked in program vaults, and orders cross against the opposing side using price-time priority. Fees route to a dedicated fee vault, maker/taker proceeds land in unsettled balances, and funds are withdrawn via `settle_funds`. A minimal teaching example of the mechanics behind Openbook and Phoenix. +An order book is the list of buy and sell offers behind most exchanges. 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. This program implements that idea: traders post limit orders at chosen prices, their tokens are locked in program-controlled vaults, and orders are matched against the opposite side using **price-time priority** (best price first, and for equal prices, whoever was there first). Trading fees collect in a dedicated fee vault, proceeds wait as unsettled balances, and traders withdraw them with `settle_funds`. A minimal teaching example of the mechanics behind exchanges like Openbook and Phoenix. -[⚓ Anchor](./defi/order-book/anchor) +[⚓ Anchor](./finance/order-book/anchor) -### Escrow +### AMM based Exchange -Peer-to-peer OTC trade — one user deposits token A and specifies how much token B they want. A counterparty fulfills the offer and both sides receive their tokens atomically. +An automated market maker (AMM) is an exchange with no order book. Instead of matching buyers with sellers, swaps fill instantly against a shared, onchain liquidity pool that other users fund — those users are **liquidity providers**, and they earn a cut of the trading fees in return. Prices are set algorithmically by the pool's balances and move to reflect demand: buying an asset shrinks its share of the pool and pushes its price up. This program lets anyone create a pool, deposit or withdraw liquidity, and swap one token for another, with fees paid to liquidity providers and slippage protection so a swap can't execute at a worse price than expected. This is how exchanges like Raydium and Orca work. -[⚓ Anchor](./tokens/escrow/anchor) [💫 Quasar](./tokens/escrow/quasar) [🦀 Native](./tokens/escrow/native) +[⚓ Anchor](./finance/token-swap/anchor) [💫 Quasar](./finance/token-swap/quasar) ### Token Fundraiser -Create a fundraiser specifying a target mint and amount. Contributors deposit tokens until the goal is reached. - -[⚓ Anchor](./tokens/token-fundraiser/anchor) [💫 Quasar](./tokens/token-fundraiser/quasar) - -### Pyth Price Feeds - -Read offchain price data [onchain](https://solana.com/docs/terminology#onchain) using the Pyth oracle network. +A crowdfunding campaign onchain. A creator opens a fundraiser by choosing which token they want to raise and a target amount. Contributors deposit that token into the fundraiser's account until the goal is reached — a simple introduction to collecting funds from many people into a single program-controlled account. -[⚓ Anchor](./oracles/pyth/anchor) [💫 Quasar](./oracles/pyth/quasar) +[⚓ Anchor](./finance/token-fundraiser/anchor) [💫 Quasar](./finance/token-fundraiser/quasar) ### Vault Strategy -Manager-run investment vault — deposit USDC, manager allocates across a basket of assets (TSLAx, NVDAx), withdraw proportional in-kind assets. Demonstrates share minting, NAV-based pricing, management fee accrual, and CPI to a swap router. +A managed investment fund onchain. Investors deposit USDC and receive shares representing their slice of the fund. A manager allocates the pooled money across a basket of assets (here, stocks like TSLAx and NVDAx), and each share's value tracks the fund's net asset value — its total holdings divided by the number of shares. The manager earns a management fee over time, and investors withdraw a proportional, in-kind slice of the underlying assets. Demonstrates share minting, value-per-share pricing, fee accrual, and calling another program (CPI) to swap assets. -[⚓ Anchor](./defi/vault-strategy/anchor) +[⚓ Anchor](./finance/vault-strategy/anchor) -## Basics +## Single concept examples ### Hello Solana @@ -145,6 +139,12 @@ Send SOL between two accounts. [⚓ Anchor](./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 + +Finance programs often need real-world prices — what a dollar, a stock, or another token is worth right now. An **oracle** brings that offchain market data [onchain](https://solana.com/docs/terminology#onchain). [Pyth](https://pyth.network/) is an oracle that publishes low-latency prices from institutional sources, with each asset's price living in its own account called a price feed. This minimal example reads a feed and logs its price, confidence interval, and exponent — the building block a program like an AMM, a lending market, or a vault uses to value assets. + +[⚓ Anchor](./basics/pyth/anchor) [💫 Quasar](./basics/pyth/quasar) + ## Tokens ### Create Token diff --git a/oracles/pyth/README.md b/basics/pyth/README.md similarity index 100% rename from oracles/pyth/README.md rename to basics/pyth/README.md diff --git a/oracles/pyth/anchor/.gitignore b/basics/pyth/anchor/.gitignore similarity index 100% rename from oracles/pyth/anchor/.gitignore rename to basics/pyth/anchor/.gitignore diff --git a/oracles/pyth/anchor/Anchor.toml b/basics/pyth/anchor/Anchor.toml similarity index 100% rename from oracles/pyth/anchor/Anchor.toml rename to basics/pyth/anchor/Anchor.toml diff --git a/oracles/pyth/anchor/Cargo.toml b/basics/pyth/anchor/Cargo.toml similarity index 100% rename from oracles/pyth/anchor/Cargo.toml rename to basics/pyth/anchor/Cargo.toml diff --git a/oracles/pyth/anchor/programs/pythexample/Cargo.toml b/basics/pyth/anchor/programs/pythexample/Cargo.toml similarity index 100% rename from oracles/pyth/anchor/programs/pythexample/Cargo.toml rename to basics/pyth/anchor/programs/pythexample/Cargo.toml diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/Xargo.toml b/basics/pyth/anchor/programs/pythexample/Xargo.toml similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/Xargo.toml rename to basics/pyth/anchor/programs/pythexample/Xargo.toml diff --git a/oracles/pyth/anchor/programs/pythexample/src/lib.rs b/basics/pyth/anchor/programs/pythexample/src/lib.rs similarity index 100% rename from oracles/pyth/anchor/programs/pythexample/src/lib.rs rename to basics/pyth/anchor/programs/pythexample/src/lib.rs diff --git a/oracles/pyth/anchor/programs/pythexample/tests/test_pyth.rs b/basics/pyth/anchor/programs/pythexample/tests/test_pyth.rs similarity index 100% rename from oracles/pyth/anchor/programs/pythexample/tests/test_pyth.rs rename to basics/pyth/anchor/programs/pythexample/tests/test_pyth.rs diff --git a/oracles/pyth/quasar/Cargo.toml b/basics/pyth/quasar/Cargo.toml similarity index 100% rename from oracles/pyth/quasar/Cargo.toml rename to basics/pyth/quasar/Cargo.toml diff --git a/oracles/pyth/quasar/Quasar.toml b/basics/pyth/quasar/Quasar.toml similarity index 100% rename from oracles/pyth/quasar/Quasar.toml rename to basics/pyth/quasar/Quasar.toml diff --git a/oracles/pyth/quasar/src/instructions/mod.rs b/basics/pyth/quasar/src/instructions/mod.rs similarity index 100% rename from oracles/pyth/quasar/src/instructions/mod.rs rename to basics/pyth/quasar/src/instructions/mod.rs diff --git a/oracles/pyth/quasar/src/instructions/read_price.rs b/basics/pyth/quasar/src/instructions/read_price.rs similarity index 100% rename from oracles/pyth/quasar/src/instructions/read_price.rs rename to basics/pyth/quasar/src/instructions/read_price.rs diff --git a/oracles/pyth/quasar/src/lib.rs b/basics/pyth/quasar/src/lib.rs similarity index 100% rename from oracles/pyth/quasar/src/lib.rs rename to basics/pyth/quasar/src/lib.rs diff --git a/oracles/pyth/quasar/src/tests.rs b/basics/pyth/quasar/src/tests.rs similarity index 100% rename from oracles/pyth/quasar/src/tests.rs rename to basics/pyth/quasar/src/tests.rs diff --git a/defi/order-book/anchor/.gitignore b/finance/escrow/anchor/.gitignore similarity index 100% rename from defi/order-book/anchor/.gitignore rename to finance/escrow/anchor/.gitignore diff --git a/tokens/escrow/anchor/.mocharc.json b/finance/escrow/anchor/.mocharc.json similarity index 100% rename from tokens/escrow/anchor/.mocharc.json rename to finance/escrow/anchor/.mocharc.json diff --git a/tokens/escrow/anchor/.prettierignore b/finance/escrow/anchor/.prettierignore similarity index 100% rename from tokens/escrow/anchor/.prettierignore rename to finance/escrow/anchor/.prettierignore diff --git a/tokens/escrow/anchor/Anchor.toml b/finance/escrow/anchor/Anchor.toml similarity index 100% rename from tokens/escrow/anchor/Anchor.toml rename to finance/escrow/anchor/Anchor.toml diff --git a/defi/vault-strategy/anchor/Cargo.toml b/finance/escrow/anchor/Cargo.toml similarity index 100% rename from defi/vault-strategy/anchor/Cargo.toml rename to finance/escrow/anchor/Cargo.toml diff --git a/tokens/escrow/anchor/README.md b/finance/escrow/anchor/README.md similarity index 100% rename from tokens/escrow/anchor/README.md rename to finance/escrow/anchor/README.md diff --git a/tokens/escrow/anchor/migrations/deploy.ts b/finance/escrow/anchor/migrations/deploy.ts similarity index 100% rename from tokens/escrow/anchor/migrations/deploy.ts rename to finance/escrow/anchor/migrations/deploy.ts diff --git a/tokens/escrow/anchor/programs/escrow/Cargo.toml b/finance/escrow/anchor/programs/escrow/Cargo.toml similarity index 100% rename from tokens/escrow/anchor/programs/escrow/Cargo.toml rename to finance/escrow/anchor/programs/escrow/Cargo.toml diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/Xargo.toml b/finance/escrow/anchor/programs/escrow/Xargo.toml similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/Xargo.toml rename to finance/escrow/anchor/programs/escrow/Xargo.toml diff --git a/tokens/escrow/anchor/programs/escrow/src/error.rs b/finance/escrow/anchor/programs/escrow/src/error.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/error.rs rename to finance/escrow/anchor/programs/escrow/src/error.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/instructions/cancel_offer.rs b/finance/escrow/anchor/programs/escrow/src/instructions/cancel_offer.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/instructions/cancel_offer.rs rename to finance/escrow/anchor/programs/escrow/src/instructions/cancel_offer.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/instructions/make_offer.rs b/finance/escrow/anchor/programs/escrow/src/instructions/make_offer.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/instructions/make_offer.rs rename to finance/escrow/anchor/programs/escrow/src/instructions/make_offer.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/instructions/mod.rs b/finance/escrow/anchor/programs/escrow/src/instructions/mod.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/instructions/mod.rs rename to finance/escrow/anchor/programs/escrow/src/instructions/mod.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/instructions/shared.rs b/finance/escrow/anchor/programs/escrow/src/instructions/shared.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/instructions/shared.rs rename to finance/escrow/anchor/programs/escrow/src/instructions/shared.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/instructions/take_offer.rs b/finance/escrow/anchor/programs/escrow/src/instructions/take_offer.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/instructions/take_offer.rs rename to finance/escrow/anchor/programs/escrow/src/instructions/take_offer.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/lib.rs b/finance/escrow/anchor/programs/escrow/src/lib.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/lib.rs rename to finance/escrow/anchor/programs/escrow/src/lib.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/state/mod.rs b/finance/escrow/anchor/programs/escrow/src/state/mod.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/state/mod.rs rename to finance/escrow/anchor/programs/escrow/src/state/mod.rs diff --git a/tokens/escrow/anchor/programs/escrow/src/state/offer.rs b/finance/escrow/anchor/programs/escrow/src/state/offer.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/src/state/offer.rs rename to finance/escrow/anchor/programs/escrow/src/state/offer.rs diff --git a/tokens/escrow/anchor/programs/escrow/tests/test_escrow.rs b/finance/escrow/anchor/programs/escrow/tests/test_escrow.rs similarity index 100% rename from tokens/escrow/anchor/programs/escrow/tests/test_escrow.rs rename to finance/escrow/anchor/programs/escrow/tests/test_escrow.rs diff --git a/tokens/escrow/anchor/register.js b/finance/escrow/anchor/register.js similarity index 100% rename from tokens/escrow/anchor/register.js rename to finance/escrow/anchor/register.js diff --git a/tokens/escrow/native/Cargo.lock b/finance/escrow/native/Cargo.lock similarity index 100% rename from tokens/escrow/native/Cargo.lock rename to finance/escrow/native/Cargo.lock diff --git a/tokens/escrow/native/Cargo.toml b/finance/escrow/native/Cargo.toml similarity index 100% rename from tokens/escrow/native/Cargo.toml rename to finance/escrow/native/Cargo.toml diff --git a/tokens/escrow/native/cicd.sh b/finance/escrow/native/cicd.sh similarity index 100% rename from tokens/escrow/native/cicd.sh rename to finance/escrow/native/cicd.sh diff --git a/tokens/escrow/native/package.json b/finance/escrow/native/package.json similarity index 100% rename from tokens/escrow/native/package.json rename to finance/escrow/native/package.json diff --git a/tokens/escrow/native/pnpm-lock.yaml b/finance/escrow/native/pnpm-lock.yaml similarity index 100% rename from tokens/escrow/native/pnpm-lock.yaml rename to finance/escrow/native/pnpm-lock.yaml diff --git a/tokens/escrow/native/program/Cargo.toml b/finance/escrow/native/program/Cargo.toml similarity index 100% rename from tokens/escrow/native/program/Cargo.toml rename to finance/escrow/native/program/Cargo.toml diff --git a/tokens/escrow/native/program/src/error.rs b/finance/escrow/native/program/src/error.rs similarity index 100% rename from tokens/escrow/native/program/src/error.rs rename to finance/escrow/native/program/src/error.rs diff --git a/tokens/escrow/native/program/src/instructions/make_offer.rs b/finance/escrow/native/program/src/instructions/make_offer.rs similarity index 100% rename from tokens/escrow/native/program/src/instructions/make_offer.rs rename to finance/escrow/native/program/src/instructions/make_offer.rs diff --git a/tokens/escrow/native/program/src/instructions/mod.rs b/finance/escrow/native/program/src/instructions/mod.rs similarity index 100% rename from tokens/escrow/native/program/src/instructions/mod.rs rename to finance/escrow/native/program/src/instructions/mod.rs diff --git a/tokens/escrow/native/program/src/instructions/take_offer.rs b/finance/escrow/native/program/src/instructions/take_offer.rs similarity index 100% rename from tokens/escrow/native/program/src/instructions/take_offer.rs rename to finance/escrow/native/program/src/instructions/take_offer.rs diff --git a/tokens/escrow/native/program/src/lib.rs b/finance/escrow/native/program/src/lib.rs similarity index 100% rename from tokens/escrow/native/program/src/lib.rs rename to finance/escrow/native/program/src/lib.rs diff --git a/tokens/escrow/native/program/src/state.rs b/finance/escrow/native/program/src/state.rs similarity index 100% rename from tokens/escrow/native/program/src/state.rs rename to finance/escrow/native/program/src/state.rs diff --git a/tokens/escrow/native/program/src/utils.rs b/finance/escrow/native/program/src/utils.rs similarity index 100% rename from tokens/escrow/native/program/src/utils.rs rename to finance/escrow/native/program/src/utils.rs diff --git a/tokens/escrow/native/tests/account.ts b/finance/escrow/native/tests/account.ts similarity index 100% rename from tokens/escrow/native/tests/account.ts rename to finance/escrow/native/tests/account.ts diff --git a/tokens/escrow/native/tests/instruction.ts b/finance/escrow/native/tests/instruction.ts similarity index 100% rename from tokens/escrow/native/tests/instruction.ts rename to finance/escrow/native/tests/instruction.ts diff --git a/tokens/escrow/native/tests/test.ts b/finance/escrow/native/tests/test.ts similarity index 100% rename from tokens/escrow/native/tests/test.ts rename to finance/escrow/native/tests/test.ts diff --git a/tokens/escrow/native/tests/utils.ts b/finance/escrow/native/tests/utils.ts similarity index 100% rename from tokens/escrow/native/tests/utils.ts rename to finance/escrow/native/tests/utils.ts diff --git a/tokens/escrow/native/tsconfig.json b/finance/escrow/native/tsconfig.json similarity index 100% rename from tokens/escrow/native/tsconfig.json rename to finance/escrow/native/tsconfig.json diff --git a/tokens/escrow/quasar/Cargo.toml b/finance/escrow/quasar/Cargo.toml similarity index 100% rename from tokens/escrow/quasar/Cargo.toml rename to finance/escrow/quasar/Cargo.toml diff --git a/tokens/escrow/quasar/Quasar.toml b/finance/escrow/quasar/Quasar.toml similarity index 100% rename from tokens/escrow/quasar/Quasar.toml rename to finance/escrow/quasar/Quasar.toml diff --git a/tokens/escrow/quasar/src/instructions/cancel_offer.rs b/finance/escrow/quasar/src/instructions/cancel_offer.rs similarity index 100% rename from tokens/escrow/quasar/src/instructions/cancel_offer.rs rename to finance/escrow/quasar/src/instructions/cancel_offer.rs diff --git a/tokens/escrow/quasar/src/instructions/make_offer.rs b/finance/escrow/quasar/src/instructions/make_offer.rs similarity index 100% rename from tokens/escrow/quasar/src/instructions/make_offer.rs rename to finance/escrow/quasar/src/instructions/make_offer.rs diff --git a/tokens/escrow/quasar/src/instructions/mod.rs b/finance/escrow/quasar/src/instructions/mod.rs similarity index 100% rename from tokens/escrow/quasar/src/instructions/mod.rs rename to finance/escrow/quasar/src/instructions/mod.rs diff --git a/tokens/escrow/quasar/src/instructions/take_offer.rs b/finance/escrow/quasar/src/instructions/take_offer.rs similarity index 100% rename from tokens/escrow/quasar/src/instructions/take_offer.rs rename to finance/escrow/quasar/src/instructions/take_offer.rs diff --git a/tokens/escrow/quasar/src/lib.rs b/finance/escrow/quasar/src/lib.rs similarity index 100% rename from tokens/escrow/quasar/src/lib.rs rename to finance/escrow/quasar/src/lib.rs diff --git a/tokens/escrow/quasar/src/state.rs b/finance/escrow/quasar/src/state.rs similarity index 100% rename from tokens/escrow/quasar/src/state.rs rename to finance/escrow/quasar/src/state.rs diff --git a/tokens/escrow/quasar/src/tests.rs b/finance/escrow/quasar/src/tests.rs similarity index 100% rename from tokens/escrow/quasar/src/tests.rs rename to finance/escrow/quasar/src/tests.rs diff --git a/tokens/escrow/anchor/.gitignore b/finance/order-book/anchor/.gitignore similarity index 100% rename from tokens/escrow/anchor/.gitignore rename to finance/order-book/anchor/.gitignore diff --git a/defi/order-book/anchor/Anchor.toml b/finance/order-book/anchor/Anchor.toml similarity index 100% rename from defi/order-book/anchor/Anchor.toml rename to finance/order-book/anchor/Anchor.toml diff --git a/defi/order-book/anchor/Cargo.toml b/finance/order-book/anchor/Cargo.toml similarity index 100% rename from defi/order-book/anchor/Cargo.toml rename to finance/order-book/anchor/Cargo.toml diff --git a/defi/order-book/anchor/README.md b/finance/order-book/anchor/README.md similarity index 99% rename from defi/order-book/anchor/README.md rename to finance/order-book/anchor/README.md index 2265ae72..d943de9b 100644 --- a/defi/order-book/anchor/README.md +++ b/finance/order-book/anchor/README.md @@ -1423,7 +1423,7 @@ run first. ### Commands -From `defi/order-book/anchor/`: +From `finance/order-book/anchor/`: ```bash # 1. Build the .so — target/deploy/order_book.so @@ -1605,7 +1605,7 @@ Openbook v2 (`src/state/slab/`). ## Code layout ``` -defi/order-book/anchor/ +finance/order-book/anchor/ ├── Anchor.toml ├── Cargo.toml ├── README.md (this file) diff --git a/defi/order-book/anchor/programs/order-book/Cargo.toml b/finance/order-book/anchor/programs/order-book/Cargo.toml similarity index 85% rename from defi/order-book/anchor/programs/order-book/Cargo.toml rename to finance/order-book/anchor/programs/order-book/Cargo.toml index befea625..55bb48d8 100644 --- a/defi/order-book/anchor/programs/order-book/Cargo.toml +++ b/finance/order-book/anchor/programs/order-book/Cargo.toml @@ -30,9 +30,8 @@ bytemuck = { version = "1.18", features = ["derive", "min_const_generics"] } static_assertions = "1.1" [dev-dependencies] -# Match the test stack used by tokens/escrow, defi/asset-leasing, and the -# other LiteSVM-based Anchor examples so contributors can move between them -# without version drift. +# Match the test stack used by finance/escrow and the other LiteSVM-based +# Anchor examples so contributors can move between them without version drift. litesvm = "0.11.0" solana-signer = "3.0.0" solana-keypair = "3.0.1" diff --git a/defi/order-book/anchor/programs/order-book/src/errors.rs b/finance/order-book/anchor/programs/order-book/src/errors.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/errors.rs rename to finance/order-book/anchor/programs/order-book/src/errors.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/cancel_order.rs b/finance/order-book/anchor/programs/order-book/src/instructions/cancel_order.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/cancel_order.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/cancel_order.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/create_market_user.rs b/finance/order-book/anchor/programs/order-book/src/instructions/create_market_user.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/create_market_user.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/create_market_user.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/initialize_market.rs b/finance/order-book/anchor/programs/order-book/src/instructions/initialize_market.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/initialize_market.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/initialize_market.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/mod.rs b/finance/order-book/anchor/programs/order-book/src/instructions/mod.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/mod.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/mod.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/place_order.rs b/finance/order-book/anchor/programs/order-book/src/instructions/place_order.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/place_order.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/place_order.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/settle_funds.rs b/finance/order-book/anchor/programs/order-book/src/instructions/settle_funds.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/settle_funds.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/settle_funds.rs diff --git a/defi/order-book/anchor/programs/order-book/src/instructions/withdraw_fees.rs b/finance/order-book/anchor/programs/order-book/src/instructions/withdraw_fees.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/instructions/withdraw_fees.rs rename to finance/order-book/anchor/programs/order-book/src/instructions/withdraw_fees.rs diff --git a/defi/order-book/anchor/programs/order-book/src/lib.rs b/finance/order-book/anchor/programs/order-book/src/lib.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/lib.rs rename to finance/order-book/anchor/programs/order-book/src/lib.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/market.rs b/finance/order-book/anchor/programs/order-book/src/state/market.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/market.rs rename to finance/order-book/anchor/programs/order-book/src/state/market.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/market_user.rs b/finance/order-book/anchor/programs/order-book/src/state/market_user.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/market_user.rs rename to finance/order-book/anchor/programs/order-book/src/state/market_user.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/matching.rs b/finance/order-book/anchor/programs/order-book/src/state/matching.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/matching.rs rename to finance/order-book/anchor/programs/order-book/src/state/matching.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/mod.rs b/finance/order-book/anchor/programs/order-book/src/state/mod.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/mod.rs rename to finance/order-book/anchor/programs/order-book/src/state/mod.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/order.rs b/finance/order-book/anchor/programs/order-book/src/state/order.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/order.rs rename to finance/order-book/anchor/programs/order-book/src/state/order.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/order_book.rs b/finance/order-book/anchor/programs/order-book/src/state/order_book.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/order_book.rs rename to finance/order-book/anchor/programs/order-book/src/state/order_book.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/slab/LICENSE-OPENBOOK b/finance/order-book/anchor/programs/order-book/src/state/slab/LICENSE-OPENBOOK similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/slab/LICENSE-OPENBOOK rename to finance/order-book/anchor/programs/order-book/src/state/slab/LICENSE-OPENBOOK diff --git a/defi/order-book/anchor/programs/order-book/src/state/slab/iterator.rs b/finance/order-book/anchor/programs/order-book/src/state/slab/iterator.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/slab/iterator.rs rename to finance/order-book/anchor/programs/order-book/src/state/slab/iterator.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/slab/mod.rs b/finance/order-book/anchor/programs/order-book/src/state/slab/mod.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/slab/mod.rs rename to finance/order-book/anchor/programs/order-book/src/state/slab/mod.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/slab/nodes.rs b/finance/order-book/anchor/programs/order-book/src/state/slab/nodes.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/slab/nodes.rs rename to finance/order-book/anchor/programs/order-book/src/state/slab/nodes.rs diff --git a/defi/order-book/anchor/programs/order-book/src/state/slab/ordertree.rs b/finance/order-book/anchor/programs/order-book/src/state/slab/ordertree.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/src/state/slab/ordertree.rs rename to finance/order-book/anchor/programs/order-book/src/state/slab/ordertree.rs diff --git a/defi/order-book/anchor/programs/order-book/tests/test_order_book.rs b/finance/order-book/anchor/programs/order-book/tests/test_order_book.rs similarity index 100% rename from defi/order-book/anchor/programs/order-book/tests/test_order_book.rs rename to finance/order-book/anchor/programs/order-book/tests/test_order_book.rs diff --git a/tokens/token-fundraiser/anchor/Anchor.toml b/finance/token-fundraiser/anchor/Anchor.toml similarity index 100% rename from tokens/token-fundraiser/anchor/Anchor.toml rename to finance/token-fundraiser/anchor/Anchor.toml diff --git a/tokens/token-fundraiser/anchor/Cargo.toml b/finance/token-fundraiser/anchor/Cargo.toml similarity index 100% rename from tokens/token-fundraiser/anchor/Cargo.toml rename to finance/token-fundraiser/anchor/Cargo.toml diff --git a/tokens/token-fundraiser/anchor/README.md b/finance/token-fundraiser/anchor/README.md similarity index 100% rename from tokens/token-fundraiser/anchor/README.md rename to finance/token-fundraiser/anchor/README.md diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/Cargo.toml b/finance/token-fundraiser/anchor/programs/fundraiser/Cargo.toml similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/Cargo.toml rename to finance/token-fundraiser/anchor/programs/fundraiser/Cargo.toml diff --git a/oracles/pyth/anchor/programs/pythexample/Xargo.toml b/finance/token-fundraiser/anchor/programs/fundraiser/Xargo.toml similarity index 100% rename from oracles/pyth/anchor/programs/pythexample/Xargo.toml rename to finance/token-fundraiser/anchor/programs/fundraiser/Xargo.toml diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/constants.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/constants.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/constants.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/constants.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/error.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/error.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/error.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/error.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/checker.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/checker.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/checker.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/checker.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/contribute.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/contribute.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/contribute.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/contribute.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/initialize.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/initialize.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/initialize.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/initialize.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/mod.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/mod.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/mod.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/mod.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/refund.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/refund.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/refund.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/instructions/refund.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/lib.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/lib.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/lib.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/lib.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/state/contributor.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/state/contributor.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/state/contributor.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/state/contributor.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/state/fundraiser.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/state/fundraiser.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/state/fundraiser.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/state/fundraiser.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/src/state/mod.rs b/finance/token-fundraiser/anchor/programs/fundraiser/src/state/mod.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/src/state/mod.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/src/state/mod.rs diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/tests/test_fundraiser.rs b/finance/token-fundraiser/anchor/programs/fundraiser/tests/test_fundraiser.rs similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/tests/test_fundraiser.rs rename to finance/token-fundraiser/anchor/programs/fundraiser/tests/test_fundraiser.rs diff --git a/tokens/token-fundraiser/quasar/Cargo.toml b/finance/token-fundraiser/quasar/Cargo.toml similarity index 100% rename from tokens/token-fundraiser/quasar/Cargo.toml rename to finance/token-fundraiser/quasar/Cargo.toml diff --git a/tokens/token-fundraiser/quasar/Quasar.toml b/finance/token-fundraiser/quasar/Quasar.toml similarity index 100% rename from tokens/token-fundraiser/quasar/Quasar.toml rename to finance/token-fundraiser/quasar/Quasar.toml diff --git a/tokens/token-fundraiser/quasar/src/instructions/check_contributions.rs b/finance/token-fundraiser/quasar/src/instructions/check_contributions.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/instructions/check_contributions.rs rename to finance/token-fundraiser/quasar/src/instructions/check_contributions.rs diff --git a/tokens/token-fundraiser/quasar/src/instructions/contribute.rs b/finance/token-fundraiser/quasar/src/instructions/contribute.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/instructions/contribute.rs rename to finance/token-fundraiser/quasar/src/instructions/contribute.rs diff --git a/tokens/token-fundraiser/quasar/src/instructions/initialize.rs b/finance/token-fundraiser/quasar/src/instructions/initialize.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/instructions/initialize.rs rename to finance/token-fundraiser/quasar/src/instructions/initialize.rs diff --git a/tokens/token-fundraiser/quasar/src/instructions/mod.rs b/finance/token-fundraiser/quasar/src/instructions/mod.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/instructions/mod.rs rename to finance/token-fundraiser/quasar/src/instructions/mod.rs diff --git a/tokens/token-fundraiser/quasar/src/instructions/refund.rs b/finance/token-fundraiser/quasar/src/instructions/refund.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/instructions/refund.rs rename to finance/token-fundraiser/quasar/src/instructions/refund.rs diff --git a/tokens/token-fundraiser/quasar/src/lib.rs b/finance/token-fundraiser/quasar/src/lib.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/lib.rs rename to finance/token-fundraiser/quasar/src/lib.rs diff --git a/tokens/token-fundraiser/quasar/src/state.rs b/finance/token-fundraiser/quasar/src/state.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/state.rs rename to finance/token-fundraiser/quasar/src/state.rs diff --git a/tokens/token-fundraiser/quasar/src/tests.rs b/finance/token-fundraiser/quasar/src/tests.rs similarity index 100% rename from tokens/token-fundraiser/quasar/src/tests.rs rename to finance/token-fundraiser/quasar/src/tests.rs diff --git a/tokens/token-swap/README.md b/finance/token-swap/README.md similarity index 100% rename from tokens/token-swap/README.md rename to finance/token-swap/README.md diff --git a/tokens/token-swap/anchor/Anchor.toml b/finance/token-swap/anchor/Anchor.toml similarity index 100% rename from tokens/token-swap/anchor/Anchor.toml rename to finance/token-swap/anchor/Anchor.toml diff --git a/tokens/token-swap/anchor/Cargo.toml b/finance/token-swap/anchor/Cargo.toml similarity index 100% rename from tokens/token-swap/anchor/Cargo.toml rename to finance/token-swap/anchor/Cargo.toml diff --git a/tokens/token-swap/anchor/programs/token-swap/Cargo.toml b/finance/token-swap/anchor/programs/token-swap/Cargo.toml similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/Cargo.toml rename to finance/token-swap/anchor/programs/token-swap/Cargo.toml diff --git a/tokens/escrow/anchor/programs/escrow/Xargo.toml b/finance/token-swap/anchor/programs/token-swap/Xargo.toml similarity index 100% rename from tokens/escrow/anchor/programs/escrow/Xargo.toml rename to finance/token-swap/anchor/programs/token-swap/Xargo.toml diff --git a/tokens/token-swap/anchor/programs/token-swap/src/constants.rs b/finance/token-swap/anchor/programs/token-swap/src/constants.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/constants.rs rename to finance/token-swap/anchor/programs/token-swap/src/constants.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/errors.rs b/finance/token-swap/anchor/programs/token-swap/src/errors.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/errors.rs rename to finance/token-swap/anchor/programs/token-swap/src/errors.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/admin/claim_admin_fees.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/admin/claim_admin_fees.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/admin/claim_admin_fees.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/admin/claim_admin_fees.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/admin/mod.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/admin/mod.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/admin/mod.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/admin/mod.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/create_config.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/create_config.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/create_config.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/create_config.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/create_pool.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/create_pool.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/create_pool.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/create_pool.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/deposit_liquidity.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/deposit_liquidity.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/deposit_liquidity.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/deposit_liquidity.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/mod.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/mod.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/mod.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/mod.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/swap_tokens.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/swap_tokens.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/swap_tokens.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/swap_tokens.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/instructions/withdraw_liquidity.rs b/finance/token-swap/anchor/programs/token-swap/src/instructions/withdraw_liquidity.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/instructions/withdraw_liquidity.rs rename to finance/token-swap/anchor/programs/token-swap/src/instructions/withdraw_liquidity.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/lib.rs b/finance/token-swap/anchor/programs/token-swap/src/lib.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/lib.rs rename to finance/token-swap/anchor/programs/token-swap/src/lib.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/state/config.rs b/finance/token-swap/anchor/programs/token-swap/src/state/config.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/state/config.rs rename to finance/token-swap/anchor/programs/token-swap/src/state/config.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/state/mod.rs b/finance/token-swap/anchor/programs/token-swap/src/state/mod.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/state/mod.rs rename to finance/token-swap/anchor/programs/token-swap/src/state/mod.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/src/state/pool_config.rs b/finance/token-swap/anchor/programs/token-swap/src/state/pool_config.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/src/state/pool_config.rs rename to finance/token-swap/anchor/programs/token-swap/src/state/pool_config.rs diff --git a/tokens/token-swap/anchor/programs/token-swap/tests/test_swap.rs b/finance/token-swap/anchor/programs/token-swap/tests/test_swap.rs similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/tests/test_swap.rs rename to finance/token-swap/anchor/programs/token-swap/tests/test_swap.rs diff --git a/tokens/token-swap/quasar/Cargo.toml b/finance/token-swap/quasar/Cargo.toml similarity index 100% rename from tokens/token-swap/quasar/Cargo.toml rename to finance/token-swap/quasar/Cargo.toml diff --git a/tokens/token-swap/quasar/Quasar.toml b/finance/token-swap/quasar/Quasar.toml similarity index 100% rename from tokens/token-swap/quasar/Quasar.toml rename to finance/token-swap/quasar/Quasar.toml diff --git a/tokens/token-swap/quasar/src/instructions/claim_admin_fees.rs b/finance/token-swap/quasar/src/instructions/claim_admin_fees.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/claim_admin_fees.rs rename to finance/token-swap/quasar/src/instructions/claim_admin_fees.rs diff --git a/tokens/token-swap/quasar/src/instructions/create_config.rs b/finance/token-swap/quasar/src/instructions/create_config.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/create_config.rs rename to finance/token-swap/quasar/src/instructions/create_config.rs diff --git a/tokens/token-swap/quasar/src/instructions/create_pool.rs b/finance/token-swap/quasar/src/instructions/create_pool.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/create_pool.rs rename to finance/token-swap/quasar/src/instructions/create_pool.rs diff --git a/tokens/token-swap/quasar/src/instructions/deposit_liquidity.rs b/finance/token-swap/quasar/src/instructions/deposit_liquidity.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/deposit_liquidity.rs rename to finance/token-swap/quasar/src/instructions/deposit_liquidity.rs diff --git a/tokens/token-swap/quasar/src/instructions/mod.rs b/finance/token-swap/quasar/src/instructions/mod.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/mod.rs rename to finance/token-swap/quasar/src/instructions/mod.rs diff --git a/tokens/token-swap/quasar/src/instructions/swap_tokens.rs b/finance/token-swap/quasar/src/instructions/swap_tokens.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/swap_tokens.rs rename to finance/token-swap/quasar/src/instructions/swap_tokens.rs diff --git a/tokens/token-swap/quasar/src/instructions/withdraw_liquidity.rs b/finance/token-swap/quasar/src/instructions/withdraw_liquidity.rs similarity index 100% rename from tokens/token-swap/quasar/src/instructions/withdraw_liquidity.rs rename to finance/token-swap/quasar/src/instructions/withdraw_liquidity.rs diff --git a/tokens/token-swap/quasar/src/lib.rs b/finance/token-swap/quasar/src/lib.rs similarity index 100% rename from tokens/token-swap/quasar/src/lib.rs rename to finance/token-swap/quasar/src/lib.rs diff --git a/tokens/token-swap/quasar/src/state.rs b/finance/token-swap/quasar/src/state.rs similarity index 100% rename from tokens/token-swap/quasar/src/state.rs rename to finance/token-swap/quasar/src/state.rs diff --git a/tokens/token-swap/quasar/src/tests.rs b/finance/token-swap/quasar/src/tests.rs similarity index 100% rename from tokens/token-swap/quasar/src/tests.rs rename to finance/token-swap/quasar/src/tests.rs diff --git a/defi/vault-strategy/anchor/.gitignore b/finance/vault-strategy/anchor/.gitignore similarity index 100% rename from defi/vault-strategy/anchor/.gitignore rename to finance/vault-strategy/anchor/.gitignore diff --git a/defi/vault-strategy/anchor/Anchor.toml b/finance/vault-strategy/anchor/Anchor.toml similarity index 100% rename from defi/vault-strategy/anchor/Anchor.toml rename to finance/vault-strategy/anchor/Anchor.toml diff --git a/tokens/escrow/anchor/Cargo.toml b/finance/vault-strategy/anchor/Cargo.toml similarity index 100% rename from tokens/escrow/anchor/Cargo.toml rename to finance/vault-strategy/anchor/Cargo.toml diff --git a/defi/vault-strategy/anchor/README.md b/finance/vault-strategy/anchor/README.md similarity index 100% rename from defi/vault-strategy/anchor/README.md rename to finance/vault-strategy/anchor/README.md diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/Cargo.toml b/finance/vault-strategy/anchor/programs/mock-swap-router/Cargo.toml similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/Cargo.toml rename to finance/vault-strategy/anchor/programs/mock-swap-router/Cargo.toml diff --git a/tokens/token-fundraiser/anchor/programs/fundraiser/Xargo.toml b/finance/vault-strategy/anchor/programs/mock-swap-router/Xargo.toml similarity index 100% rename from tokens/token-fundraiser/anchor/programs/fundraiser/Xargo.toml rename to finance/vault-strategy/anchor/programs/mock-swap-router/Xargo.toml diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/error.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/error.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/error.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/error.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/initialize_router.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/initialize_router.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/initialize_router.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/initialize_router.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/mod.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/mod.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/mod.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/mod.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/set_rate.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/set_rate.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/set_rate.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/set_rate.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_asset_for_usdc.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_asset_for_usdc.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_asset_for_usdc.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_asset_for_usdc.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_usdc_for_asset.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_usdc_for_asset.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_usdc_for_asset.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/instructions/swap_usdc_for_asset.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/lib.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/lib.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/lib.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/lib.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/state/asset_rate.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/state/asset_rate.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/state/asset_rate.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/state/asset_rate.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/state/mod.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/state/mod.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/state/mod.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/state/mod.rs diff --git a/defi/vault-strategy/anchor/programs/mock-swap-router/src/state/router_config.rs b/finance/vault-strategy/anchor/programs/mock-swap-router/src/state/router_config.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/mock-swap-router/src/state/router_config.rs rename to finance/vault-strategy/anchor/programs/mock-swap-router/src/state/router_config.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/Cargo.toml b/finance/vault-strategy/anchor/programs/vault-strategy/Cargo.toml similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/Cargo.toml rename to finance/vault-strategy/anchor/programs/vault-strategy/Cargo.toml diff --git a/tokens/token-swap/anchor/programs/token-swap/Xargo.toml b/finance/vault-strategy/anchor/programs/vault-strategy/Xargo.toml similarity index 100% rename from tokens/token-swap/anchor/programs/token-swap/Xargo.toml rename to finance/vault-strategy/anchor/programs/vault-strategy/Xargo.toml diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/error.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/error.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/error.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/error.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/collect_fees.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/collect_fees.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/collect_fees.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/collect_fees.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/deposit.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/deposit.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/deposit.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/deposit.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/initialize_strategy.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/initialize_strategy.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/initialize_strategy.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/initialize_strategy.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/invest.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/invest.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/invest.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/invest.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/mod.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/mod.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/mod.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/mod.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/rebalance.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/rebalance.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/rebalance.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/rebalance.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/withdraw.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/withdraw.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/instructions/withdraw.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/instructions/withdraw.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/lib.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/lib.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/lib.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/lib.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/state/mod.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/state/mod.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/state/mod.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/state/mod.rs diff --git a/defi/vault-strategy/anchor/programs/vault-strategy/src/state/strategy.rs b/finance/vault-strategy/anchor/programs/vault-strategy/src/state/strategy.rs similarity index 100% rename from defi/vault-strategy/anchor/programs/vault-strategy/src/state/strategy.rs rename to finance/vault-strategy/anchor/programs/vault-strategy/src/state/strategy.rs diff --git a/defi/vault-strategy/anchor/tests/vault_strategy.rs b/finance/vault-strategy/anchor/tests/vault_strategy.rs similarity index 100% rename from defi/vault-strategy/anchor/tests/vault_strategy.rs rename to finance/vault-strategy/anchor/tests/vault_strategy.rs