├── .github ├── .ghaignore ├── dependabot.yml └── workflows │ ├── anchor.yml │ ├── biome.yml │ ├── rust.yml │ ├── seahorse.yml │ ├── solana-native.yml │ └── steel.yml ├── .gitignore ├── .husky └── pre-commit ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── README.md ├── basics ├── account-data │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── anchor-program-example │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── constants.rs │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state │ │ │ │ ├── address_info.rs │ │ │ │ └── mod.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ ├── address_info.rs │ │ │ │ └── mod.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── create_address_info.rs │ │ │ ├── error.rs │ │ │ └── lib.rs │ │ ├── tests │ │ └── addressInfo.test.ts │ │ └── tsconfig.json ├── checking-accounts │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── anchor-program-example │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── account_to_change.rs │ │ │ └── mod.rs │ │ └── program │ │ ├── Cargo.toml │ │ ├── src │ │ ├── check_accounts.rs │ │ └── lib.rs │ │ └── tests │ │ └── test.rs ├── close-account │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── close-account │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── close_user.rs │ │ │ │ ├── create_user.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state │ │ │ │ ├── mod.rs │ │ │ │ └── user_state.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── close-account.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── close_user.rs │ │ │ │ ├── create_user.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ ├── mod.rs │ │ │ │ └── user.rs │ │ ├── tests │ │ │ ├── close-account.test.ts │ │ │ └── tsconfig.test.json │ │ └── ts │ │ │ ├── index.ts │ │ │ ├── instructions │ │ │ ├── close.ts │ │ │ ├── create.ts │ │ │ └── index.ts │ │ │ └── state │ │ │ └── index.ts │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── mod.rs │ │ │ └── user.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── close_user.rs │ │ │ ├── create_user.rs │ │ │ └── lib.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ ├── close-account.test.ts │ │ └── tsconfig.test.json │ │ └── ts │ │ ├── index.ts │ │ └── instructions │ │ ├── close.ts │ │ ├── create.ts │ │ └── index.ts ├── counter │ ├── README.md │ ├── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── counter_anchor │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── counter_anchor.ts │ │ └── tsconfig.json │ ├── mpl-stack │ │ ├── .solitarc.js │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── idl │ │ │ ├── counter_mpl_stack.json │ │ │ └── counter_solana_native.json │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src │ │ │ ├── lib.rs │ │ │ └── state.rs │ │ ├── tests │ │ │ └── counter.test.ts │ │ └── ts │ │ │ ├── generated │ │ │ ├── accounts │ │ │ │ ├── Counter.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ └── instructions │ │ │ │ ├── Increment.ts │ │ │ │ └── index.ts │ │ │ └── index.ts │ ├── native │ │ ├── README.md │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── lib.rs │ │ │ │ └── state.rs │ │ ├── tests │ │ │ ├── counter.test.ts │ │ │ └── tsconfig.test.json │ │ └── ts │ │ │ ├── accounts │ │ │ ├── counter.ts │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ └── instructions │ │ │ ├── createIncrementInstruction.ts │ │ │ └── index.ts │ ├── seahorse │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── programs │ │ │ └── counter_seahorse │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── programs_py │ │ │ ├── counter_seahorse.py │ │ │ └── seahorse │ │ │ │ ├── __init__.py │ │ │ │ └── prelude.py │ │ ├── tests │ │ │ └── counter_seahorse.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── increment.rs │ │ │ ├── initialize.rs │ │ │ └── lib.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ └── main.test.ts │ │ └── tsconfig.json ├── create-account │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── create-system-account │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── initialize.rs │ │ │ └── lib.rs │ │ ├── tests │ │ └── main.test.ts │ │ └── tsconfig.json ├── cross-program-invocation │ ├── README.md │ ├── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── idls │ │ │ └── lever.json │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ ├── hand │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ │ └── lib.rs │ │ │ └── lever │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── cpi.ts │ │ └── tsconfig.json │ ├── istockphoto-1303616086-612x612.jpeg │ ├── native │ │ ├── Cargo.toml │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ ├── hand │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ │ └── lib.rs │ │ │ └── lever │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── README.md │ │ ├── hand │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instruction.rs │ │ │ │ ├── lib.rs │ │ │ │ └── sdk.rs │ │ └── program │ │ │ ├── Cargo.toml │ │ │ ├── src │ │ │ ├── lib.rs │ │ │ └── pull_lever.rs │ │ │ └── tests │ │ │ └── test.rs │ │ └── lever │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ ├── state │ │ │ ├── mod.rs │ │ │ └── power_status.rs │ │ │ └── utils.rs │ │ └── program │ │ ├── Cargo.toml │ │ ├── src │ │ ├── initialize.rs │ │ ├── lib.rs │ │ └── switch_power.rs │ │ └── tests │ │ └── test.rs ├── favorites │ ├── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── favorites │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── favorites-bankrun.test.ts │ │ │ ├── favorites.test.ts │ │ │ └── system-errors.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create_pda.rs │ │ │ │ ├── get_pda.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ ├── state │ │ │ ├── favorites.rs │ │ │ └── mod.rs │ │ │ └── utils.rs │ │ └── program │ │ ├── Cargo.toml │ │ ├── src │ │ ├── lib.rs │ │ ├── set_favorites.rs │ │ └── utils.rs │ │ └── tests │ │ └── test.rs ├── hello-solana │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── hello-solana │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── index.test.ts │ │ └── tsconfig.json │ ├── seahorse │ │ └── hello_solana │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── programs │ │ │ └── hello_solana │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── programs_py │ │ │ ├── hello_solana.py │ │ │ └── seahorse │ │ │ │ ├── __init__.py │ │ │ │ └── prelude.py │ │ │ ├── tests │ │ │ └── hello_solana.ts │ │ │ └── tsconfig.json │ └── steel │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ │ ├── tests │ │ └── index.test.ts │ │ └── tsconfig.json ├── pda-rent-payer │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── anchor-program-example │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create_new_account.rs │ │ │ │ ├── init_rent_vault.rs │ │ │ │ └── mod.rs │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create_new_account.rs │ │ │ │ ├── init_rent_vault.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ └── mod.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── accounts.rs │ │ │ └── mod.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── create_new_account.rs │ │ │ ├── init_rent_vault.rs │ │ │ └── lib.rs │ │ ├── tests │ │ └── main.test.ts │ │ └── tsconfig.json ├── processing-instructions │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── processing-instructions │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ └── sdk.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── go_to_the_park.rs │ │ │ └── lib.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ └── main.test.ts │ │ └── tsconfig.json ├── program-derived-addresses │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── anchor-program-example │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── increment.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state │ │ │ │ ├── mod.rs │ │ │ │ └── page_visits.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── increment.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ ├── mod.rs │ │ │ │ └── page_visits.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── create.rs │ │ │ ├── increment.rs │ │ │ └── lib.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ └── main.test.ts │ │ └── tsconfig.json ├── realloc │ ├── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── anchor-realloc │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── anchor-realloc.ts │ │ │ └── bankrun.test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── mod.rs │ │ │ │ └── reallocate.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ ├── address_info.rs │ │ │ │ ├── enhanced_address_info.rs │ │ │ │ ├── mod.rs │ │ │ │ └── work_info.rs │ │ ├── tests │ │ │ ├── realloc.test.ts │ │ │ └── tsconfig.test.json │ │ └── ts │ │ │ ├── index.ts │ │ │ ├── instructions │ │ │ ├── create.ts │ │ │ ├── index.ts │ │ │ ├── instruction.ts │ │ │ └── reallocate.ts │ │ │ ├── state │ │ │ ├── address-info.ts │ │ │ ├── enhanced-address-info.ts │ │ │ ├── index.ts │ │ │ └── work-info.ts │ │ │ └── util │ │ │ ├── index.ts │ │ │ └── util.ts │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ ├── state │ │ │ ├── address_info.rs │ │ │ ├── enchanced_address_info.rs │ │ │ ├── mod.rs │ │ │ └── work_info.rs │ │ │ └── utils.rs │ │ └── program │ │ ├── Cargo.toml │ │ ├── src │ │ ├── add.rs │ │ ├── initialize.rs │ │ └── lib.rs │ │ └── tests │ │ └── test.rs ├── rent │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── rent-example │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── address.rs │ │ │ └── mod.rs │ │ ├── package.json │ │ └── program │ │ ├── Cargo.toml │ │ ├── src │ │ ├── create_account.rs │ │ └── lib.rs │ │ └── tests │ │ └── test.rs ├── repository-layout │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── carnival │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── error.rs │ │ │ │ ├── instructions │ │ │ │ ├── eat_food.rs │ │ │ │ ├── get_on_ride.rs │ │ │ │ ├── mod.rs │ │ │ │ └── play_game.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state │ │ │ │ ├── food.rs │ │ │ │ ├── game.rs │ │ │ │ ├── mod.rs │ │ │ │ └── ride.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ └── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── error.rs │ │ │ ├── instructions │ │ │ ├── eat_food.rs │ │ │ ├── get_on_ride.rs │ │ │ ├── mod.rs │ │ │ └── play_game.rs │ │ │ ├── lib.rs │ │ │ ├── processor.rs │ │ │ └── state │ │ │ ├── food.rs │ │ │ ├── game.rs │ │ │ ├── mod.rs │ │ │ └── ride.rs │ │ ├── tests │ │ └── test.ts │ │ └── tsconfig.json └── transfer-sol │ ├── README.md │ ├── anchor │ ├── Anchor.toml │ ├── Cargo.toml │ ├── package.json │ ├── pnpm-lock.yaml │ ├── programs │ │ └── transfer-sol │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ └── lib.rs │ ├── tests │ │ ├── bankrun.test.ts │ │ └── test.ts │ └── tsconfig.json │ ├── native │ ├── cicd.sh │ ├── package.json │ ├── pnpm-lock.yaml │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ └── processor.rs │ ├── tests │ │ ├── instruction.ts │ │ └── test.ts │ └── tsconfig.json │ ├── seahorse │ ├── .gitignore │ ├── .prettierignore │ ├── Anchor.toml │ ├── Cargo.toml │ ├── README.md │ ├── migrations │ │ └── deploy.ts │ ├── package.json │ ├── programs │ │ └── seahorse │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ ├── dot │ │ │ ├── mod.rs │ │ │ └── program.rs │ │ │ └── lib.rs │ ├── programs_py │ │ ├── seahorse.py │ │ └── seahorse │ │ │ ├── __init__.py │ │ │ └── prelude.py │ ├── tests │ │ └── seahorse.ts │ └── tsconfig.json │ └── steel │ ├── Cargo.toml │ ├── README.md │ ├── api │ ├── Cargo.toml │ └── src │ │ ├── instruction.rs │ │ ├── lib.rs │ │ └── sdk.rs │ ├── cicd.sh │ ├── package.json │ ├── pnpm-lock.yaml │ ├── program │ ├── Cargo.toml │ ├── src │ │ ├── lib.rs │ │ ├── transfer_sol_with_cpi.rs │ │ └── transfer_sol_with_program.rs │ └── tests │ │ └── test.rs │ ├── tests │ ├── instruction.ts │ └── test.ts │ └── tsconfig.json ├── biome.json ├── compression ├── cnft-burn │ └── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ └── cnft-burn │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ └── lib.rs │ │ ├── tests │ │ ├── ReadApi │ │ │ ├── WrapperConnection.ts │ │ │ └── types.ts │ │ ├── cnft-burn.ts │ │ ├── createAndMint.ts │ │ ├── fetchNFTsByCollection.ts │ │ ├── readApi.ts │ │ ├── utils.ts │ │ └── utils │ │ │ ├── compression.ts │ │ │ └── helpers.ts │ │ └── tsconfig.json ├── cnft-vault │ └── anchor │ │ ├── .gitignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ └── cnft-vault │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ └── lib.rs │ │ ├── tests │ │ ├── readAPI.ts │ │ ├── scripts │ │ │ ├── constants.ts │ │ │ ├── withdraw.ts │ │ │ ├── withdrawTwo.ts │ │ │ └── withdrawWithLookup.ts │ │ ├── tests.ts │ │ └── utils.ts │ │ └── tsconfig.json └── cutils │ └── anchor │ ├── .gitignore │ ├── Anchor.toml │ ├── Cargo.toml │ ├── README.md │ ├── package.json │ ├── pnpm-lock.yaml │ ├── programs │ └── cutils │ │ ├── Cargo.toml │ │ ├── Xargo.toml │ │ └── src │ │ ├── actions │ │ ├── mint.rs │ │ ├── mod.rs │ │ └── verify.rs │ │ ├── lib.rs │ │ └── state │ │ ├── data.rs │ │ └── mod.rs │ ├── tests │ ├── setup.ts │ ├── tests.ts │ └── utils │ │ ├── compression.ts │ │ ├── helpers.ts │ │ ├── readAPI.ts │ │ └── utils.ts │ └── tsconfig.json ├── oracles └── pyth │ ├── README.md │ ├── anchor │ ├── .gitignore │ ├── Anchor.toml │ ├── Cargo.toml │ └── programs │ │ └── pythexample │ │ ├── Cargo.toml │ │ ├── Xargo.toml │ │ └── src │ │ └── lib.rs │ └── seahorse │ ├── .gitignore │ ├── .prettierignore │ ├── Anchor.toml │ ├── Cargo.toml │ ├── README.md │ ├── migrations │ └── deploy.ts │ ├── package.json │ ├── programs │ └── seahorse │ │ ├── Cargo.toml │ │ ├── Xargo.toml │ │ └── src │ │ ├── dot │ │ ├── mod.rs │ │ └── program.rs │ │ └── lib.rs │ ├── programs_py │ ├── seahorse.py │ └── seahorse │ │ ├── __init__.py │ │ ├── prelude.py │ │ └── pyth.py │ ├── tests │ └── seahorse.ts │ └── tsconfig.json ├── package.json ├── pnpm-lock.yaml ├── scripts ├── lib │ ├── change-package-version.ts │ ├── command-check.ts │ ├── command-help.ts │ ├── command-list.ts │ ├── command-set.ts │ ├── command-update.ts │ ├── get-deps-count.ts │ ├── get-recursive-file-list.ts │ └── index.ts └── sync-package-json.ts ├── tokens ├── .assets │ ├── nft.json │ └── spl-token.json ├── create-token │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── programs │ │ │ └── create-token │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ └── sdk.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── pnpm.lock.yaml │ │ ├── prepare.mjs │ │ ├── program │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── src │ │ │ ├── create_token.rs │ │ │ └── lib.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ ├── bankrun.test.ts │ │ └── instructions.ts │ │ └── tsconfig.json ├── escrow │ ├── anchor │ │ ├── .gitignore │ │ ├── .mocharc.json │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── migrations │ │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── escrow │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── constants.rs │ │ │ │ ├── error.rs │ │ │ │ ├── instructions │ │ │ │ ├── make_offer.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── shared.rs │ │ │ │ └── take_offer.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state │ │ │ │ ├── mod.rs │ │ │ │ └── offer.rs │ │ ├── register.js │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── escrow.test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── Cargo.toml │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── error.rs │ │ │ │ ├── instructions │ │ │ │ ├── make_offer.rs │ │ │ │ ├── mod.rs │ │ │ │ └── take_offer.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── state.rs │ │ │ │ └── utils.rs │ │ ├── tests │ │ │ ├── account.ts │ │ │ ├── instruction.ts │ │ │ ├── test.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ └── steel │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── mod.rs │ │ │ └── offer.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── lib.rs │ │ │ ├── make_offer.rs │ │ │ └── take_offer.rs │ │ ├── tests │ │ ├── bankrun.test.ts │ │ └── utils.ts │ │ └── tsconfig.json ├── external-delegate-token-master │ └── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ └── external-delegate-token-master │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ └── lib.rs │ │ ├── tests │ │ ├── external-delegate-token-master.test.ts │ │ └── types.ts │ │ └── tsconfig.json ├── nft-minter │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── programs │ │ │ └── nft-minter │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ └── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── instructions │ │ │ ├── create.rs │ │ │ ├── mint.rs │ │ │ └── mod.rs │ │ │ ├── lib.rs │ │ │ └── processor.rs │ │ ├── tests │ │ ├── instructions.ts │ │ └── test.ts │ │ └── tsconfig.json ├── nft-operations │ └── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── programs │ │ └── mint-nft │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ ├── contexts │ │ │ ├── create_collection.rs │ │ │ ├── mint_nft.rs │ │ │ ├── mod.rs │ │ │ └── verify_collection.rs │ │ │ └── lib.rs │ │ ├── readme.MD │ │ ├── tests │ │ ├── bankrun.test.ts │ │ └── mint-nft.ts │ │ └── tsconfig.json ├── pda-mint-authority │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── programs │ │ │ └── token-minter │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── mint.rs │ │ │ │ └── mod.rs │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── init.rs │ │ │ │ ├── mint.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── processor.rs │ │ │ │ └── state │ │ │ │ └── mod.rs │ │ ├── tests │ │ │ ├── instructions.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── mint_authority.rs │ │ │ └── mod.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── program │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── src │ │ │ ├── create.rs │ │ │ ├── init.rs │ │ │ ├── lib.rs │ │ │ └── mint.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ ├── instructions.ts │ │ └── tests.ts │ │ └── tsconfig.json ├── spl-token-minter │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── programs │ │ │ └── spl-token-minter │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── mint.rs │ │ │ │ └── mod.rs │ │ │ │ └── lib.rs │ │ ├── tests │ │ │ ├── bankrun.test.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ ├── native │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── create.rs │ │ │ │ ├── mint.rs │ │ │ │ └── mod.rs │ │ │ │ ├── lib.rs │ │ │ │ └── processor.rs │ │ ├── tests │ │ │ ├── instructions.ts │ │ │ └── test.ts │ │ └── tsconfig.json │ └── steel │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── utils.rs │ │ ├── cicd.sh │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── prepare.mjs │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── create.rs │ │ │ ├── lib.rs │ │ │ └── mint.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ ├── bankrun.test.ts │ │ └── instructions.ts │ │ └── tsconfig.json ├── token-2022 │ ├── basics │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── basics │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ ├── anchor.ts │ │ │ └── bankrun.test.ts │ │ │ └── tsconfig.json │ ├── cpi-guard │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── cpi-guard │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── cpi-guard.ts │ │ │ └── tsconfig.json │ ├── default-account-state │ │ ├── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ │ └── default-account-state │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── Xargo.toml │ │ │ │ │ └── src │ │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ │ └── default-account-state.ts │ │ │ └── tsconfig.json │ │ └── native │ │ │ ├── README.md │ │ │ ├── cicd.sh │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── test.ts │ │ │ └── tsconfig.json │ ├── group │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── group │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── group.ts │ │ │ └── tsconfig.json │ ├── immutable-owner │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── immutable-owner │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── immutable-owner.ts │ │ │ └── tsconfig.json │ ├── interest-bearing │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── interest-bearing │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── interest-bearing.ts │ │ │ └── tsconfig.json │ ├── memo-transfer │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── memo-transfer │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── memo-transfer.ts │ │ │ └── tsconfig.json │ ├── metadata │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── metadata │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── instructions │ │ │ │ ├── emit.rs │ │ │ │ ├── initialize.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── remove_key.rs │ │ │ │ ├── update_authority.rs │ │ │ │ └── update_field.rs │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── metadata.ts │ │ │ └── tsconfig.json │ ├── mint-close-authority │ │ ├── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ │ └── mint-close-authority │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── Xargo.toml │ │ │ │ │ └── src │ │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ │ └── mint-close-authority.ts │ │ │ └── tsconfig.json │ │ └── native │ │ │ ├── cicd.sh │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── test.ts │ │ │ └── tsconfig.json │ ├── multiple-extensions │ │ └── native │ │ │ ├── cicd.sh │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── test.ts │ │ │ └── tsconfig.json │ ├── nft-meta-data-pointer │ │ └── anchor-example │ │ │ ├── README.md │ │ │ ├── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── migrations │ │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ │ └── extension_nft │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── Xargo.toml │ │ │ │ │ └── src │ │ │ │ │ ├── constants.rs │ │ │ │ │ ├── errors.rs │ │ │ │ │ ├── instructions │ │ │ │ │ ├── chop_tree.rs │ │ │ │ │ ├── init_player.rs │ │ │ │ │ ├── mint_nft.rs │ │ │ │ │ └── mod.rs │ │ │ │ │ ├── lib.rs │ │ │ │ │ └── state │ │ │ │ │ ├── game_data.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── player_data.rs │ │ │ ├── rustfmt.toml │ │ │ ├── tests │ │ │ │ └── lumberjack.ts │ │ │ └── tsconfig.json │ │ │ ├── app │ │ │ ├── .eslintrc.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── ChopTreeButton.tsx │ │ │ │ ├── DisplayGameState.tsx │ │ │ │ ├── DisplayNfts.tsx │ │ │ │ ├── InitPlayerButton.tsx │ │ │ │ ├── MintNftButton.tsx │ │ │ │ ├── RequestAirdrop.tsx │ │ │ │ ├── SessionKeyButton.tsx │ │ │ │ └── WalletMultiButton.tsx │ │ │ ├── contexts │ │ │ │ ├── GameStateProvider.tsx │ │ │ │ ├── NftProvider.tsx │ │ │ │ ├── SessionProvider.tsx │ │ │ │ └── WalletContextProvider.tsx │ │ │ ├── idl │ │ │ │ └── extension_nft.ts │ │ │ ├── next.config.js │ │ │ ├── package.json │ │ │ ├── pages │ │ │ │ ├── _app.tsx │ │ │ │ ├── _document.tsx │ │ │ │ ├── api │ │ │ │ │ └── hello.ts │ │ │ │ └── index.tsx │ │ │ ├── public │ │ │ │ ├── Beaver.png │ │ │ │ ├── Tree.png │ │ │ │ ├── Wood.png │ │ │ │ ├── energy.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── next.svg │ │ │ │ └── vercel.svg │ │ │ ├── styles │ │ │ │ ├── Home.module.css │ │ │ │ └── globals.css │ │ │ ├── tsconfig.json │ │ │ └── utils │ │ │ │ ├── anchor.ts │ │ │ │ └── wrappedConnection.ts │ │ │ ├── nx.json │ │ │ ├── package.json │ │ │ └── unity │ │ │ └── ExtensionNft │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── Assets │ │ │ ├── DOTween 4.meta │ │ │ ├── DOTween 4 │ │ │ │ ├── DOTween.XML │ │ │ │ ├── DOTween.XML.meta │ │ │ │ ├── DOTween.dll │ │ │ │ ├── DOTween.dll.mdb │ │ │ │ ├── DOTween.dll.mdb.meta │ │ │ │ ├── DOTween.dll.meta │ │ │ │ ├── Editor.meta │ │ │ │ ├── Editor │ │ │ │ │ ├── DOTweenEditor.XML │ │ │ │ │ ├── DOTweenEditor.XML.meta │ │ │ │ │ ├── DOTweenEditor.dll │ │ │ │ │ ├── DOTweenEditor.dll.mdb │ │ │ │ │ ├── DOTweenEditor.dll.mdb.meta │ │ │ │ │ ├── DOTweenEditor.dll.meta │ │ │ │ │ ├── Imgs.meta │ │ │ │ │ └── Imgs │ │ │ │ │ │ ├── DOTweenIcon.png │ │ │ │ │ │ ├── DOTweenIcon.png.meta │ │ │ │ │ │ ├── DOTweenMiniIcon.png │ │ │ │ │ │ ├── DOTweenMiniIcon.png.meta │ │ │ │ │ │ ├── Footer.png │ │ │ │ │ │ ├── Footer.png.meta │ │ │ │ │ │ ├── Footer_dark.png │ │ │ │ │ │ ├── Footer_dark.png.meta │ │ │ │ │ │ ├── Header.jpg │ │ │ │ │ │ └── Header.jpg.meta │ │ │ │ ├── Modules.meta │ │ │ │ ├── Modules │ │ │ │ │ ├── DOTweenModuleAudio.cs │ │ │ │ │ ├── DOTweenModuleAudio.cs.meta │ │ │ │ │ ├── DOTweenModuleEPOOutline.cs │ │ │ │ │ ├── DOTweenModuleEPOOutline.cs.meta │ │ │ │ │ ├── DOTweenModulePhysics.cs │ │ │ │ │ ├── DOTweenModulePhysics.cs.meta │ │ │ │ │ ├── DOTweenModulePhysics2D.cs │ │ │ │ │ ├── DOTweenModulePhysics2D.cs.meta │ │ │ │ │ ├── DOTweenModuleSprite.cs │ │ │ │ │ ├── DOTweenModuleSprite.cs.meta │ │ │ │ │ ├── DOTweenModuleUI.cs │ │ │ │ │ ├── DOTweenModuleUI.cs.meta │ │ │ │ │ ├── DOTweenModuleUnityVersion.cs │ │ │ │ │ ├── DOTweenModuleUnityVersion.cs.meta │ │ │ │ │ ├── DOTweenModuleUtils.cs │ │ │ │ │ └── DOTweenModuleUtils.cs.meta │ │ │ │ ├── readme.txt │ │ │ │ └── readme.txt.meta │ │ │ ├── Frictionless.meta │ │ │ ├── Frictionless │ │ │ │ ├── IMultiSceneSingleton.cs │ │ │ │ ├── IMultiSceneSingleton.cs.meta │ │ │ │ ├── IReinitializingMultiSceneSingleton.cs │ │ │ │ ├── IReinitializingMultiSceneSingleton.cs.meta │ │ │ │ ├── MessageRouter.cs │ │ │ │ ├── MessageRouter.cs.meta │ │ │ │ ├── ServiceFactory.cs │ │ │ │ └── ServiceFactory.cs.meta │ │ │ ├── Game.meta │ │ │ ├── Game │ │ │ │ ├── Materials.meta │ │ │ │ ├── Materials │ │ │ │ │ ├── WoodParticles.mat │ │ │ │ │ └── WoodParticles.mat.meta │ │ │ │ ├── Prefabs.meta │ │ │ │ ├── Prefabs │ │ │ │ │ ├── DefaultButton.prefab │ │ │ │ │ ├── DefaultButton.prefab.meta │ │ │ │ │ ├── InteractionBlocker.prefab │ │ │ │ │ ├── InteractionBlocker.prefab.meta │ │ │ │ │ ├── NftItemView.prefab │ │ │ │ │ ├── NftItemView.prefab.meta │ │ │ │ │ ├── NftListPopup.prefab │ │ │ │ │ ├── NftListPopup.prefab.meta │ │ │ │ │ ├── SessionPopup.prefab │ │ │ │ │ ├── SessionPopup.prefab.meta │ │ │ │ │ ├── SolBalanceWidget.prefab │ │ │ │ │ ├── SolBalanceWidget.prefab.meta │ │ │ │ │ ├── TokenBalanceWidget.prefab │ │ │ │ │ ├── TokenBalanceWidget.prefab.meta │ │ │ │ │ ├── WoodParticles.prefab │ │ │ │ │ └── WoodParticles.prefab.meta │ │ │ │ ├── Scenes.meta │ │ │ │ ├── Scenes │ │ │ │ │ ├── GameScene.unity │ │ │ │ │ ├── GameScene.unity.meta │ │ │ │ │ ├── LoginScene.unity │ │ │ │ │ └── LoginScene.unity.meta │ │ │ │ ├── Scripts.meta │ │ │ │ ├── Scripts │ │ │ │ │ ├── SimpleRotate.cs │ │ │ │ │ ├── SimpleRotate.cs.meta │ │ │ │ │ ├── Solana.meta │ │ │ │ │ ├── Solana │ │ │ │ │ │ ├── AnchorService.cs │ │ │ │ │ │ ├── AnchorService.cs.meta │ │ │ │ │ │ ├── ExtensionNft.cs │ │ │ │ │ │ ├── ExtensionNft.cs.meta │ │ │ │ │ │ ├── NftMintingService.cs │ │ │ │ │ │ ├── NftMintingService.cs.meta │ │ │ │ │ │ ├── NftService.cs │ │ │ │ │ │ ├── NftService.cs.meta │ │ │ │ │ │ ├── SolanaUtils.cs │ │ │ │ │ │ └── SolanaUtils.cs.meta │ │ │ │ │ ├── Ui.meta │ │ │ │ │ └── Ui │ │ │ │ │ │ ├── BasePopup.cs │ │ │ │ │ │ ├── BasePopup.cs.meta │ │ │ │ │ │ ├── GameScreen.cs │ │ │ │ │ │ ├── GameScreen.cs.meta │ │ │ │ │ │ ├── InteractionBlocker.cs │ │ │ │ │ │ ├── InteractionBlocker.cs.meta │ │ │ │ │ │ ├── LoginScreen.cs │ │ │ │ │ │ ├── LoginScreen.cs.meta │ │ │ │ │ │ ├── NftContextMenu.cs │ │ │ │ │ │ ├── NftContextMenu.cs.meta │ │ │ │ │ │ ├── NftItemListView.cs │ │ │ │ │ │ ├── NftItemListView.cs.meta │ │ │ │ │ │ ├── NftItemView.cs │ │ │ │ │ │ ├── NftItemView.cs.meta │ │ │ │ │ │ ├── NftListPopup.cs │ │ │ │ │ │ ├── NftListPopup.cs.meta │ │ │ │ │ │ ├── NftListPopupUiData.cs │ │ │ │ │ │ ├── NftListPopupUiData.cs.meta │ │ │ │ │ │ ├── SafeArea.cs │ │ │ │ │ │ ├── SafeArea.cs.meta │ │ │ │ │ │ ├── SelectedNft.cs │ │ │ │ │ │ ├── SelectedNft.cs.meta │ │ │ │ │ │ ├── SessionPopup.cs │ │ │ │ │ │ ├── SessionPopup.cs.meta │ │ │ │ │ │ ├── SessionPopupUiData.cs │ │ │ │ │ │ ├── SessionPopupUiData.cs.meta │ │ │ │ │ │ ├── SolBalanceWidget.cs │ │ │ │ │ │ ├── SolBalanceWidget.cs.meta │ │ │ │ │ │ ├── TokenPanel.cs │ │ │ │ │ │ ├── TokenPanel.cs.meta │ │ │ │ │ │ ├── UiService.cs │ │ │ │ │ │ └── UiService.cs.meta │ │ │ │ ├── Sprites.meta │ │ │ │ └── Sprites │ │ │ │ │ ├── background.png │ │ │ │ │ ├── background.png.meta │ │ │ │ │ ├── beaver.png │ │ │ │ │ ├── beaver.png.meta │ │ │ │ │ ├── icon_energy.png │ │ │ │ │ ├── icon_energy.png.meta │ │ │ │ │ ├── icon_solana.png │ │ │ │ │ ├── icon_solana.png.meta │ │ │ │ │ ├── icon_usdc.png │ │ │ │ │ ├── icon_usdc.png.meta │ │ │ │ │ ├── icon_wood.png │ │ │ │ │ ├── icon_wood.png.meta │ │ │ │ │ ├── tree.png │ │ │ │ │ ├── tree.png.meta │ │ │ │ │ ├── ui_close_button.png │ │ │ │ │ ├── ui_close_button.png.meta │ │ │ │ │ ├── ui_default_button.png │ │ │ │ │ ├── ui_default_button.png.meta │ │ │ │ │ ├── ui_element_panel_rect.png │ │ │ │ │ ├── ui_element_panel_rect.png.meta │ │ │ │ │ ├── ui_panel.png │ │ │ │ │ ├── ui_panel.png.meta │ │ │ │ │ ├── ui_spinner.png │ │ │ │ │ └── ui_spinner.png.meta │ │ │ ├── Resources.meta │ │ │ ├── Resources │ │ │ │ ├── DOTweenSettings.asset │ │ │ │ ├── DOTweenSettings.asset.meta │ │ │ │ ├── SolanaUnitySDK.meta │ │ │ │ └── SolanaUnitySDK │ │ │ │ │ ├── WalletAdapterButton.prefab │ │ │ │ │ ├── WalletAdapterButton.prefab.meta │ │ │ │ │ ├── WalletAdapterUI.prefab │ │ │ │ │ ├── WalletAdapterUI.prefab.meta │ │ │ │ │ ├── [WalletController].prefab │ │ │ │ │ └── [WalletController].prefab.meta │ │ │ ├── Socket.meta │ │ │ ├── Socket │ │ │ │ ├── SocketStatusWidget.cs │ │ │ │ └── SocketStatusWidget.cs.meta │ │ │ ├── TextMesh Pro.meta │ │ │ ├── TextMesh Pro │ │ │ │ ├── Documentation.meta │ │ │ │ ├── Documentation │ │ │ │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ │ │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ │ │ │ ├── Fonts.meta │ │ │ │ ├── Fonts │ │ │ │ │ ├── LiberationSans - OFL.txt │ │ │ │ │ ├── LiberationSans - OFL.txt.meta │ │ │ │ │ ├── LiberationSans.ttf │ │ │ │ │ └── LiberationSans.ttf.meta │ │ │ │ ├── Resources.meta │ │ │ │ ├── Resources │ │ │ │ │ ├── Fonts & Materials.meta │ │ │ │ │ ├── Fonts & Materials │ │ │ │ │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ │ │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ │ │ │ ├── LiberationSans SDF - Fallback.asset │ │ │ │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ │ │ │ ├── LiberationSans SDF.asset │ │ │ │ │ │ └── LiberationSans SDF.asset.meta │ │ │ │ │ ├── LineBreaking Following Characters.txt │ │ │ │ │ ├── LineBreaking Following Characters.txt.meta │ │ │ │ │ ├── LineBreaking Leading Characters.txt │ │ │ │ │ ├── LineBreaking Leading Characters.txt.meta │ │ │ │ │ ├── Sprite Assets.meta │ │ │ │ │ ├── Sprite Assets │ │ │ │ │ │ ├── EmojiOne.asset │ │ │ │ │ │ └── EmojiOne.asset.meta │ │ │ │ │ ├── Style Sheets.meta │ │ │ │ │ ├── Style Sheets │ │ │ │ │ │ ├── Default Style Sheet.asset │ │ │ │ │ │ └── Default Style Sheet.asset.meta │ │ │ │ │ ├── TMP Settings.asset │ │ │ │ │ └── TMP Settings.asset.meta │ │ │ │ ├── Shaders.meta │ │ │ │ ├── Shaders │ │ │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ │ │ │ ├── TMP_Bitmap-Mobile.shader │ │ │ │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ │ │ │ ├── TMP_Bitmap.shader │ │ │ │ │ ├── TMP_Bitmap.shader.meta │ │ │ │ │ ├── TMP_SDF Overlay.shader │ │ │ │ │ ├── TMP_SDF Overlay.shader.meta │ │ │ │ │ ├── TMP_SDF SSD.shader │ │ │ │ │ ├── TMP_SDF SSD.shader.meta │ │ │ │ │ ├── TMP_SDF-Mobile Masking.shader │ │ │ │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ │ │ │ ├── TMP_SDF-Mobile Overlay.shader │ │ │ │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ │ │ │ ├── TMP_SDF-Mobile SSD.shader │ │ │ │ │ ├── TMP_SDF-Mobile SSD.shader.meta │ │ │ │ │ ├── TMP_SDF-Mobile.shader │ │ │ │ │ ├── TMP_SDF-Mobile.shader.meta │ │ │ │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ │ │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ │ │ │ ├── TMP_SDF-Surface.shader │ │ │ │ │ ├── TMP_SDF-Surface.shader.meta │ │ │ │ │ ├── TMP_SDF.shader │ │ │ │ │ ├── TMP_SDF.shader.meta │ │ │ │ │ ├── TMP_Sprite.shader │ │ │ │ │ ├── TMP_Sprite.shader.meta │ │ │ │ │ ├── TMPro.cginc │ │ │ │ │ ├── TMPro.cginc.meta │ │ │ │ │ ├── TMPro_Mobile.cginc │ │ │ │ │ ├── TMPro_Mobile.cginc.meta │ │ │ │ │ ├── TMPro_Properties.cginc │ │ │ │ │ ├── TMPro_Properties.cginc.meta │ │ │ │ │ ├── TMPro_Surface.cginc │ │ │ │ │ └── TMPro_Surface.cginc.meta │ │ │ │ ├── Sprites.meta │ │ │ │ └── Sprites │ │ │ │ │ ├── EmojiOne Attribution.txt │ │ │ │ │ ├── EmojiOne Attribution.txt.meta │ │ │ │ │ ├── EmojiOne.json │ │ │ │ │ ├── EmojiOne.json.meta │ │ │ │ │ ├── EmojiOne.png │ │ │ │ │ └── EmojiOne.png.meta │ │ │ ├── WebGLTemplates.meta │ │ │ └── WebGLTemplates │ │ │ │ ├── SolanaWebGlTemplate.meta │ │ │ │ ├── SolanaWebGlTemplate │ │ │ │ ├── TemplateData.meta │ │ │ │ ├── TemplateData │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── favicon.ico.meta │ │ │ │ │ ├── fullscreen-button.png │ │ │ │ │ ├── fullscreen-button.png.meta │ │ │ │ │ ├── progress-bar-empty-dark.png │ │ │ │ │ ├── progress-bar-empty-dark.png.meta │ │ │ │ │ ├── progress-bar-empty-light.png │ │ │ │ │ ├── progress-bar-empty-light.png.meta │ │ │ │ │ ├── progress-bar-full-dark.png │ │ │ │ │ ├── progress-bar-full-dark.png.meta │ │ │ │ │ ├── progress-bar-full-light.png │ │ │ │ │ ├── progress-bar-full-light.png.meta │ │ │ │ │ ├── style.css │ │ │ │ │ ├── style.css.meta │ │ │ │ │ ├── unity-logo-dark.png │ │ │ │ │ ├── unity-logo-dark.png.meta │ │ │ │ │ ├── unity-logo-light.png │ │ │ │ │ ├── unity-logo-light.png.meta │ │ │ │ │ ├── webgl-logo.png │ │ │ │ │ └── webgl-logo.png.meta │ │ │ │ ├── index.html │ │ │ │ ├── index.html.meta │ │ │ │ ├── thumbnail.png │ │ │ │ └── thumbnail.png.meta │ │ │ │ ├── xNFT.meta │ │ │ │ └── xNFT │ │ │ │ ├── index.html │ │ │ │ ├── index.html.meta │ │ │ │ ├── thumbnail.png │ │ │ │ └── thumbnail.png.meta │ │ │ ├── Packages │ │ │ ├── manifest.json │ │ │ └── packages-lock.json │ │ │ ├── ProjectSettings │ │ │ ├── AudioManager.asset │ │ │ ├── ClusterInputManager.asset │ │ │ ├── DynamicsManager.asset │ │ │ ├── EditorBuildSettings.asset │ │ │ ├── EditorSettings.asset │ │ │ ├── GraphicsSettings.asset │ │ │ ├── InputManager.asset │ │ │ ├── MemorySettings.asset │ │ │ ├── NavMeshAreas.asset │ │ │ ├── PackageManagerSettings.asset │ │ │ ├── Packages │ │ │ │ └── com.unity.testtools.codecoverage │ │ │ │ │ └── Settings.json │ │ │ ├── Physics2DSettings.asset │ │ │ ├── PresetManager.asset │ │ │ ├── ProjectSettings.asset │ │ │ ├── ProjectVersion.txt │ │ │ ├── QualitySettings.asset │ │ │ ├── SceneTemplateSettings.json │ │ │ ├── TagManager.asset │ │ │ ├── TimeManager.asset │ │ │ ├── UnityConnectSettings.asset │ │ │ ├── VFXManager.asset │ │ │ ├── VersionControlSettings.asset │ │ │ ├── XRSettings.asset │ │ │ └── boot.config │ │ │ └── UserSettings │ │ │ ├── EditorUserSettings.asset │ │ │ ├── Layouts │ │ │ └── default-2021.dwlt │ │ │ └── Search.settings │ ├── non-transferable │ │ ├── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ │ └── non-transferable │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── Xargo.toml │ │ │ │ │ └── src │ │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ │ └── non-transferable.ts │ │ │ └── tsconfig.json │ │ └── native │ │ │ ├── cicd.sh │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── test.ts │ │ │ └── tsconfig.json │ ├── permanent-delegate │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── permanent-delegate │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── permanent-delegate.ts │ │ │ └── tsconfig.json │ ├── transfer-fee │ │ ├── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ │ └── transfer-fee │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── Xargo.toml │ │ │ │ │ └── src │ │ │ │ │ ├── instructions │ │ │ │ │ ├── harvest.rs │ │ │ │ │ ├── initialize.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── transfer.rs │ │ │ │ │ ├── update_fee.rs │ │ │ │ │ └── withdraw.rs │ │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ │ └── transfer-fee.ts │ │ │ └── tsconfig.json │ │ └── native │ │ │ ├── cicd.sh │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── program │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── test.ts │ │ │ └── tsconfig.json │ └── transfer-hook │ │ ├── account-data-as-seed │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── .prettierrc │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── transfer-hook │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── readme.md │ │ │ ├── tests │ │ │ └── transfer-hook.ts │ │ │ └── tsconfig.json │ │ ├── counter │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── transfer-hook │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── transfer-hook.ts │ │ │ └── tsconfig.json │ │ ├── hello-world │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── transfer-hook │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── transfer-hook.ts │ │ │ └── tsconfig.json │ │ ├── transfer-cost │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── migrations │ │ │ └── deploy.ts │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── transfer-hook │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ └── lib.rs │ │ │ ├── tests │ │ │ └── transfer-hook.ts │ │ │ └── tsconfig.json │ │ ├── transfer-switch │ │ └── anchor │ │ │ ├── .gitignore │ │ │ ├── Anchor.toml │ │ │ ├── Cargo.toml │ │ │ ├── package.json │ │ │ ├── pnpm-lock.yaml │ │ │ ├── programs │ │ │ └── transfer-switch │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── error.rs │ │ │ │ ├── instructions │ │ │ │ ├── configure_admin.rs │ │ │ │ ├── initialise_extra_account_metas_list.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── switch.rs │ │ │ │ └── transfer_hook.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state.rs │ │ │ ├── tests │ │ │ └── transfer-switch.ts │ │ │ └── tsconfig.json │ │ └── whitelist │ │ └── anchor │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── migrations │ │ └── deploy.ts │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ └── transfer-hook │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ └── lib.rs │ │ ├── tests │ │ └── transfer-hook.ts │ │ └── tsconfig.json ├── token-fundraiser │ └── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ └── fundraiser │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ ├── constants.rs │ │ │ ├── error.rs │ │ │ ├── instructions │ │ │ ├── checker.rs │ │ │ ├── contribute.rs │ │ │ ├── initialize.rs │ │ │ ├── mod.rs │ │ │ └── refund.rs │ │ │ ├── lib.rs │ │ │ └── state │ │ │ ├── contributor.rs │ │ │ ├── fundraiser.rs │ │ │ └── mod.rs │ │ ├── readme.MD │ │ ├── tests │ │ ├── bankrun.test.ts │ │ └── fundraiser.ts │ │ └── tsconfig.json ├── token-swap │ ├── README.md │ ├── anchor │ │ ├── Anchor.toml │ │ ├── Cargo.toml │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── programs │ │ │ └── token-swap │ │ │ │ ├── Cargo.toml │ │ │ │ ├── Xargo.toml │ │ │ │ └── src │ │ │ │ ├── constants.rs │ │ │ │ ├── errors.rs │ │ │ │ ├── instructions │ │ │ │ ├── create_amm.rs │ │ │ │ ├── create_pool.rs │ │ │ │ ├── deposit_liquidity.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── swap_exact_tokens_for_tokens.rs │ │ │ │ └── withdraw_liquidity.rs │ │ │ │ ├── lib.rs │ │ │ │ └── state.rs │ │ ├── tests │ │ │ ├── create-amm.ts │ │ │ ├── create-pool.ts │ │ │ ├── deposit-liquidity.ts │ │ │ ├── swap.ts │ │ │ ├── utils.ts │ │ │ └── withdraw-liquidity.ts │ │ └── tsconfig.json │ └── steel │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── api │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── consts.rs │ │ │ ├── error.rs │ │ │ ├── instruction.rs │ │ │ ├── lib.rs │ │ │ ├── sdk.rs │ │ │ └── state │ │ │ ├── amm.rs │ │ │ ├── mod.rs │ │ │ └── pool.rs │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── program │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── create_amm.rs │ │ │ ├── create_pool.rs │ │ │ ├── deposit_liquidity.rs │ │ │ ├── lib.rs │ │ │ ├── swap.rs │ │ │ └── withdraw_liquidity.rs │ │ └── tests │ │ │ └── test.rs │ │ ├── tests │ │ ├── create_pool_and_swap.test.ts │ │ ├── create_pool_and_withdraw_all_liquid.test.ts │ │ └── utils.ts │ │ └── tsconfig.json └── transfer-tokens │ ├── README.md │ ├── anchor │ ├── Anchor.toml │ ├── Cargo.toml │ ├── package.json │ ├── pnpm-lock.yaml │ ├── prepare.mjs │ ├── programs │ │ └── transfer-tokens │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ ├── instructions │ │ │ ├── create.rs │ │ │ ├── mint.rs │ │ │ ├── mod.rs │ │ │ └── transfer.rs │ │ │ └── lib.rs │ ├── tests │ │ ├── bankrun.test.ts │ │ └── test.ts │ └── tsconfig.json │ ├── native │ ├── cicd.sh │ ├── package.json │ ├── program │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── instructions │ │ │ ├── create.rs │ │ │ ├── mint_nft.rs │ │ │ ├── mint_spl.rs │ │ │ ├── mod.rs │ │ │ └── transfer.rs │ │ │ ├── lib.rs │ │ │ └── processor.rs │ ├── tests │ │ ├── instructions.ts │ │ └── test.ts │ └── tsconfig.json │ ├── seahorse │ ├── .gitignore │ ├── .prettierignore │ ├── Anchor.toml │ ├── Cargo.toml │ ├── README.md │ ├── migrations │ │ └── deploy.ts │ ├── package.json │ ├── programs │ │ └── seahorse │ │ │ ├── Cargo.toml │ │ │ ├── Xargo.toml │ │ │ └── src │ │ │ ├── dot │ │ │ ├── mod.rs │ │ │ └── program.rs │ │ │ └── lib.rs │ ├── programs_py │ │ ├── seahorse.py │ │ └── seahorse │ │ │ ├── __init__.py │ │ │ └── prelude.py │ ├── tests │ │ ├── pyproject.toml │ │ └── test.py │ └── tsconfig.json │ └── steel │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── api │ ├── Cargo.toml │ └── src │ │ ├── consts.rs │ │ ├── instruction.rs │ │ ├── lib.rs │ │ ├── sdk.rs │ │ └── utils.rs │ ├── cicd.sh │ ├── package.json │ ├── pnpm-lock.yaml │ ├── prepare.mjs │ ├── program │ ├── Cargo.toml │ ├── src │ │ ├── create.rs │ │ ├── lib.rs │ │ ├── mint.rs │ │ └── transfer.rs │ └── tests │ │ └── test.rs │ ├── tests │ ├── instructions.ts │ └── tests.ts │ └── tsconfig.json ├── tools ├── clockwork │ └── README.md └── shank-and-solita │ └── native │ ├── .crates │ ├── .crates.toml │ ├── .crates2.json │ └── bin │ │ └── shank │ ├── .solitarc.js │ ├── README.md │ ├── package.json │ ├── program │ ├── Cargo.toml │ ├── idl │ │ └── car_rental_service.json │ └── src │ │ ├── instructions │ │ ├── add_car.rs │ │ ├── book_rental.rs │ │ ├── mod.rs │ │ ├── pick_up_car.rs │ │ └── return_car.rs │ │ ├── lib.rs │ │ └── state │ │ └── mod.rs │ └── tests │ ├── generated │ ├── accounts │ │ ├── Car.ts │ │ ├── RentalOrder.ts │ │ └── index.ts │ ├── index.ts │ ├── instructions │ │ ├── AddCar.ts │ │ ├── BookRental.ts │ │ ├── PickUpCar.ts │ │ ├── ReturnCar.ts │ │ └── index.ts │ └── types │ │ ├── AddCarArgs.ts │ │ ├── BookRentalArgs.ts │ │ ├── RentalOrderStatus.ts │ │ └── index.ts │ ├── test.ts │ └── tsconfig.test.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .template 2 | .idea 3 | .DS_Store 4 | 5 | test-ledger/ 6 | node_modules/ 7 | 8 | **/*/node_modules 9 | **/*/package-lock.json 10 | **/*/Cargo.lock 11 | 12 | **/*/.anchor 13 | **/*/.DS_Store 14 | **/*/target 15 | **/*/tests/fixtures 16 | **/*.rs.bk 17 | **/*/test-ledger 18 | **/*/yarn.lock 19 | 20 | /target 21 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged 2 | -------------------------------------------------------------------------------- /basics/account-data/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/account-data/anchor/programs/anchor-program-example/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/account-data/anchor/programs/anchor-program-example/src/constants.rs: -------------------------------------------------------------------------------- 1 | pub const ANCHOR_DISCRIMINATOR_SIZE: usize = 8; 2 | -------------------------------------------------------------------------------- /basics/account-data/anchor/programs/anchor-program-example/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub use create::*; 3 | -------------------------------------------------------------------------------- /basics/account-data/anchor/programs/anchor-program-example/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod address_info; 2 | 3 | pub use address_info::*; 4 | -------------------------------------------------------------------------------- /basics/account-data/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/account-data/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "account-data-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | borsh = "0.9.3" 9 | borsh-derive = "0.9.1" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/account-data/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | 3 | pub use create::*; 4 | -------------------------------------------------------------------------------- /basics/account-data/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | use solana_program::entrypoint; 2 | 3 | use processor::process_instruction; 4 | 5 | pub mod instructions; 6 | pub mod processor; 7 | pub mod state; 8 | 9 | entrypoint!(process_instruction); 10 | -------------------------------------------------------------------------------- /basics/account-data/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod address_info; 2 | 3 | pub use address_info::*; 4 | -------------------------------------------------------------------------------- /basics/account-data/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/account-data/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "account-data-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/account-data/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the address_info account PDA. 2 | pub const ADDRESS_INFO_SEED: &[u8] = b"address_info"; 3 | -------------------------------------------------------------------------------- /basics/account-data/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/checking-accounts/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/checking-accounts/anchor/programs/anchor-program-example/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/checking-accounts/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/checking-accounts/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "checking-accounts-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | 9 | [lib] 10 | crate-type = ["cdylib", "lib"] 11 | -------------------------------------------------------------------------------- /basics/checking-accounts/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/checking-accounts/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/checking-accounts/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "steel-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/checking-accounts/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the account_to_change account PDA. 2 | pub const ACCOUNT_TO_CHANGE: &[u8] = b"account_to_change"; 3 | -------------------------------------------------------------------------------- /basics/checking-accounts/steel/api/src/state/account_to_change.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | use super::SteelAccount; 4 | 5 | #[repr(C)] 6 | #[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] 7 | pub struct AccountToChange {} 8 | 9 | account!(SteelAccount, AccountToChange); 10 | -------------------------------------------------------------------------------- /basics/close-account/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/close-account/anchor/programs/close-account/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/close-account/anchor/programs/close-account/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod close_user; 2 | pub mod create_user; 3 | 4 | pub use close_user::*; 5 | pub use create_user::*; 6 | -------------------------------------------------------------------------------- /basics/close-account/anchor/programs/close-account/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod user_state; 2 | pub use user_state::*; 3 | -------------------------------------------------------------------------------- /basics/close-account/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "typeRoots": ["./node_modules/@types"], 4 | "lib": ["es2015"], 5 | "module": "commonjs", 6 | "target": "es6", 7 | "esModuleInterop": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /basics/close-account/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "close-account-native-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/close-account/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod close_user; 2 | pub mod create_user; 3 | -------------------------------------------------------------------------------- /basics/close-account/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instructions; 2 | pub mod processor; 3 | pub mod state; 4 | 5 | use {crate::processor::process_instruction, solana_program::entrypoint}; 6 | 7 | entrypoint!(process_instruction); 8 | -------------------------------------------------------------------------------- /basics/close-account/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod user; 2 | -------------------------------------------------------------------------------- /basics/close-account/native/program/src/state/user.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | 3 | #[derive(BorshDeserialize, BorshSerialize)] 4 | pub struct User { 5 | pub name: String, 6 | } 7 | 8 | impl User { 9 | pub const SEED_PREFIX: &'static str = "USER"; 10 | } 11 | -------------------------------------------------------------------------------- /basics/close-account/native/tests/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/close-account/native/ts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './instructions'; 2 | export * from './state'; 3 | -------------------------------------------------------------------------------- /basics/close-account/native/ts/instructions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './create'; 2 | export * from './close'; 3 | 4 | export enum MyInstruction { 5 | CreateUser = 0, 6 | CloseUser = 1, 7 | } 8 | -------------------------------------------------------------------------------- /basics/close-account/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/close-account/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "close-account-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | jzon = "0.12.5" 9 | num_enum.workspace = true 10 | solana-program.workspace = true 11 | steel.workspace = true 12 | thiserror.workspace = true 13 | -------------------------------------------------------------------------------- /basics/close-account/steel/api/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | mod user; 2 | pub use user::*; 3 | -------------------------------------------------------------------------------- /basics/close-account/steel/tests/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/close-account/steel/ts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './instructions'; 2 | -------------------------------------------------------------------------------- /basics/counter/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /basics/counter/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/counter/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/counter/anchor/README.md: -------------------------------------------------------------------------------- 1 | # Anchor Counter 2 | 3 | Anchor enforces init constraints that enforces good programming paradigms. 4 | 5 | This means this program has an additional initialization instruction for `Counter`s that the Solana native program does not. -------------------------------------------------------------------------------- /basics/counter/anchor/programs/counter_anchor/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/counter/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "counter-mpl-stack" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib", "lib"] 8 | 9 | [features] 10 | no-entrypoint = [] 11 | cpi = ["no-entrypoint"] 12 | default = [] 13 | 14 | [dependencies] 15 | borsh = "0.9" 16 | shank = "0.0.8" 17 | solana-program = "2.1" 18 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'ts-jest/presets/default', 3 | testEnvironment: 'node', 4 | testTimeout: 100000, 5 | resolver: 'ts-jest-resolver', 6 | }; 7 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/src/state.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | use shank::ShankAccount; 3 | 4 | #[derive(ShankAccount, BorshSerialize, BorshDeserialize, Debug, Clone)] 5 | pub struct Counter { 6 | pub count: u64, 7 | } 8 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/ts/generated/accounts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Counter'; 2 | 3 | import { Counter } from './Counter'; 4 | 5 | export const accountProviders = { Counter }; 6 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/ts/generated/instructions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Increment'; 2 | -------------------------------------------------------------------------------- /basics/counter/mpl-stack/ts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './generated'; 2 | -------------------------------------------------------------------------------- /basics/counter/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "counter-solana-native" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib", "lib"] 8 | 9 | [features] 10 | no-entrypoint = [] 11 | cpi = ["no-entrypoint"] 12 | default = [] 13 | 14 | [dependencies] 15 | borsh = "0.9.3" 16 | solana-program = "2.0" 17 | -------------------------------------------------------------------------------- /basics/counter/native/program/src/state.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | 3 | #[derive(BorshSerialize, BorshDeserialize, Debug, Clone)] 4 | pub struct Counter { 5 | pub count: u64, 6 | } 7 | -------------------------------------------------------------------------------- /basics/counter/native/tests/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/counter/native/ts/accounts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './counter'; 2 | -------------------------------------------------------------------------------- /basics/counter/native/ts/index.ts: -------------------------------------------------------------------------------- 1 | import { PublicKey } from '@solana/web3.js'; 2 | export * from './instructions'; 3 | export * from './accounts'; 4 | 5 | export const PROGRAM_ID = new PublicKey('Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS'); 6 | -------------------------------------------------------------------------------- /basics/counter/native/ts/instructions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './createIncrementInstruction'; 2 | -------------------------------------------------------------------------------- /basics/counter/seahorse/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /basics/counter/seahorse/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/counter/seahorse/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/counter/seahorse/README.md: -------------------------------------------------------------------------------- 1 | # counter_seahorse 2 | 3 | This project was created by Seahorse 0.1.6. 4 | 5 | To get started, just add your code to **programs_py/counter_seahorse.py** and run `seahorse build`. 6 | -------------------------------------------------------------------------------- /basics/counter/seahorse/programs/counter_seahorse/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/counter/seahorse/programs_py/seahorse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/basics/counter/seahorse/programs_py/seahorse/__init__.py -------------------------------------------------------------------------------- /basics/counter/seahorse/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/counter/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/counter/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "counter-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/counter/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the counter account PDA. 2 | pub const COUNTER_SEED: &[u8] = b"counter"; 3 | -------------------------------------------------------------------------------- /basics/counter/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/create-account/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/create-account/anchor/programs/create-system-account/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/create-account/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/create-account/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "create-account-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | 9 | [lib] 10 | crate-type = ["cdylib", "lib"] 11 | -------------------------------------------------------------------------------- /basics/create-account/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/create-account/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | node_modules 4 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/programs/hand/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/programs/lever/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/istockphoto-1303616086-612x612.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/basics/cross-program-invocation/istockphoto-1303616086-612x612.jpeg -------------------------------------------------------------------------------- /basics/cross-program-invocation/native/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/native/programs/hand/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/native/programs/lever/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/README.md: -------------------------------------------------------------------------------- 1 | ## Cross Program Invocation steel example 2 | 3 | ### Programs 4 | 5 | - [Hand](./hand/README.md) 6 | - [Lever](./lever/README.md) 7 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/hand/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/hand/api/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instruction; 2 | pub mod sdk; 3 | 4 | pub mod prelude { 5 | pub use crate::instruction::*; 6 | pub use crate::sdk::*; 7 | } 8 | 9 | use steel::*; 10 | 11 | // TODO Set program id 12 | declare_id!("Bi5N7SUQhpGknVcqPTzdFFVueQoxoUu8YTLz75J6fT8A"); 13 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/lever/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/lever/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the counter account PDA. 2 | pub const COUNTER: &[u8] = b"counter"; 3 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/lever/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum LeverError { 6 | #[error("This is a dummy error")] 7 | Dummy = 0, 8 | } 9 | 10 | error!(LeverError); 11 | -------------------------------------------------------------------------------- /basics/cross-program-invocation/steel/lever/api/src/state/power_status.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | use super::LeverAccount; 4 | 5 | #[repr(C)] 6 | #[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] 7 | pub struct PowerStatus { 8 | pub is_on: u8, 9 | } 10 | 11 | account!(LeverAccount, PowerStatus); 12 | -------------------------------------------------------------------------------- /basics/favorites/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | .env 10 | -------------------------------------------------------------------------------- /basics/favorites/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/favorites/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | 12 | [profile.release.build-override] 13 | opt-level = 3 14 | incremental = false 15 | codegen-units = 1 16 | -------------------------------------------------------------------------------- /basics/favorites/anchor/programs/favorites/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/favorites/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/favorites/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "favorites-native" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | solana-program = "2.0" 9 | borsh-derive = "0.9.1" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/favorites/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create_pda; 2 | pub mod get_pda; 3 | 4 | use create_pda::*; 5 | use get_pda::*; 6 | -------------------------------------------------------------------------------- /basics/favorites/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | use solana_program::entrypoint; 2 | 3 | pub mod instructions; 4 | pub mod processor; 5 | pub mod state; 6 | 7 | use processor::process_instruction; 8 | 9 | entrypoint!(process_instruction); 10 | -------------------------------------------------------------------------------- /basics/favorites/native/program/src/state.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | 3 | #[derive(BorshDeserialize, BorshSerialize, Debug)] 4 | pub struct Favorites { 5 | pub number: u64, 6 | pub color: String, 7 | pub hobbies: Vec, 8 | } 9 | 10 | #[derive(BorshDeserialize, BorshSerialize)] 11 | pub struct GetFavorites {} 12 | -------------------------------------------------------------------------------- /basics/favorites/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/favorites/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/favorites/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "steel-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/favorites/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the favorites account PDA. 2 | pub const FAVORITES: &[u8] = b"favorites"; 3 | -------------------------------------------------------------------------------- /basics/favorites/steel/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum SteelError { 6 | #[error("This is a dummy error")] 7 | Dummy = 0, 8 | } 9 | 10 | error!(SteelError); 11 | -------------------------------------------------------------------------------- /basics/favorites/steel/api/src/state/favorites.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | use super::SteelAccount; 4 | 5 | #[repr(C)] 6 | #[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] 7 | pub struct Favorites { 8 | pub number: u64, 9 | 10 | pub color: [u8; 32], 11 | 12 | pub hobbies: [[u8; 32]; 3], 13 | } 14 | 15 | account!(SteelAccount, Favorites); 16 | -------------------------------------------------------------------------------- /basics/hello-solana/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/hello-solana/anchor/programs/hello-solana/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/hello-solana/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/hello-solana/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hello-solana-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | 9 | [lib] 10 | crate-type = ["cdylib", "lib"] 11 | -------------------------------------------------------------------------------- /basics/hello-solana/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | ../../../../.anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/README.md: -------------------------------------------------------------------------------- 1 | # hello_solana 2 | 3 | This project was created by Seahorse 0.1.5. 4 | 5 | To get started, just add your code to **programs_py/hello_solana.py** and run `seahorse build`. 6 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/programs/hello_solana/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/programs_py/seahorse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/basics/hello-solana/seahorse/hello_solana/programs_py/seahorse/__init__.py -------------------------------------------------------------------------------- /basics/hello-solana/seahorse/hello_solana/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/hello-solana/steel/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "steel-hello-solana" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib", "lib"] 8 | 9 | [dependencies] 10 | solana-program = "=2.0.13" 11 | steel = "=2.1.1" 12 | -------------------------------------------------------------------------------- /basics/hello-solana/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/README.md: -------------------------------------------------------------------------------- 1 | # PDA Rent-Payer 2 | 3 | This examples demonstrates how to use a PDA to pay the rent for the creation of a new account. 4 | 5 | The key here is accounts on Solana are automatically created under ownership of the System Program when you transfer lamports to them. So, you can just transfer lamports from your PDA to the new account's public key! -------------------------------------------------------------------------------- /basics/pda-rent-payer/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/anchor/programs/anchor-program-example/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/anchor/programs/anchor-program-example/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create_new_account; 2 | pub mod init_rent_vault; 3 | 4 | pub use create_new_account::*; 5 | pub use init_rent_vault::*; 6 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "pda-rent-payer-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | borsh = "0.9.3" 9 | borsh-derive = "0.9.1" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create_new_account; 2 | pub mod init_rent_vault; 3 | 4 | pub use create_new_account::*; 5 | pub use init_rent_vault::*; 6 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | use solana_program::entrypoint; 2 | 3 | use processor::process_instruction; 4 | 5 | pub mod instructions; 6 | pub mod processor; 7 | pub mod state; 8 | 9 | entrypoint!(process_instruction); 10 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | 3 | #[derive(BorshDeserialize, BorshSerialize, Debug)] 4 | pub struct RentVault {} 5 | 6 | impl RentVault { 7 | pub const SEED_PREFIX: &'static str = "rent_vault"; 8 | } 9 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | node_modules 4 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | // Seed of the rent vault account PDA. 2 | pub const RENT_VAULT: &[u8] = b"rent_vault"; 3 | 4 | // Seed of the account PDA to be created. 5 | // pub const NEW_ACCOUNT: &[u8] = b"new_account"; 6 | -------------------------------------------------------------------------------- /basics/pda-rent-payer/steel/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum PdaRentPayerError { 6 | #[error("Rent vault account already initialized")] 7 | RentVaultInitialized = 0, 8 | } 9 | 10 | error!(PdaRentPayerError); 11 | -------------------------------------------------------------------------------- /basics/processing-instructions/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/processing-instructions/anchor/programs/processing-instructions/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/processing-instructions/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/processing-instructions/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "processing-instructions-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/processing-instructions/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/processing-instructions/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/processing-instructions/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "processing-instructions-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/processing-instructions/steel/api/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instruction; 2 | pub mod sdk; 3 | 4 | pub mod prelude { 5 | pub use crate::instruction::*; 6 | pub use crate::sdk::*; 7 | } 8 | 9 | use steel::*; 10 | 11 | // TODO Set program id 12 | declare_id!("z7msBPQHDJjTvdQRoEcKyENgXDhSRYeHieN1ZMTqo35"); 13 | -------------------------------------------------------------------------------- /basics/processing-instructions/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/anchor/programs/anchor-program-example/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/anchor/programs/anchor-program-example/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod increment; 3 | 4 | pub use create::*; 5 | pub use increment::*; 6 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/anchor/programs/anchor-program-example/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod page_visits; 2 | 3 | pub use page_visits::*; 4 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "program-derived-addresses-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | solana-program = "2.0" 8 | borsh = "0.9.3" 9 | borsh-derive = "0.9.1" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod increment; 3 | 4 | pub use create::*; 5 | pub use increment::*; 6 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | use solana_program::entrypoint; 2 | 3 | use processor::process_instruction; 4 | 5 | pub mod instructions; 6 | pub mod processor; 7 | pub mod state; 8 | 9 | entrypoint!(process_instruction); 10 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod page_visits; 2 | 3 | pub use page_visits::*; 4 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "program-derived-addresses-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the account PDA. 2 | pub const SEED: &[u8] = b"program-derived-addresses"; 3 | -------------------------------------------------------------------------------- /basics/program-derived-addresses/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/realloc/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /basics/realloc/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/realloc/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/realloc/anchor/programs/anchor-realloc/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/realloc/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/realloc/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "realloc-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/realloc/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod reallocate; 3 | 4 | pub use create::*; 5 | pub use reallocate::*; 6 | -------------------------------------------------------------------------------- /basics/realloc/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instructions; 2 | pub mod processor; 3 | pub mod state; 4 | 5 | use {crate::processor::process_instruction, solana_program::entrypoint}; 6 | 7 | entrypoint!(process_instruction); 8 | -------------------------------------------------------------------------------- /basics/realloc/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod address_info; 2 | pub mod enhanced_address_info; 3 | pub mod work_info; 4 | 5 | pub use address_info::*; 6 | pub use enhanced_address_info::*; 7 | pub use work_info::*; 8 | -------------------------------------------------------------------------------- /basics/realloc/native/tests/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './instructions/create'; 2 | export * from './instructions/instruction'; 3 | export * from './instructions/reallocate'; 4 | export * from './state/address-info'; 5 | export * from './state/enhanced-address-info'; 6 | export * from './state/work-info'; 7 | export * from './util/util'; 8 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/instructions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './create'; 2 | export * from './instruction'; 3 | export * from './reallocate'; 4 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/instructions/instruction.ts: -------------------------------------------------------------------------------- 1 | export enum ReallocInstruction { 2 | Create = 0, 3 | ReallocateWithoutZeroInit = 1, 4 | ReallocateZeroInit = 2, 5 | } 6 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/state/index.ts: -------------------------------------------------------------------------------- 1 | export * from './address-info'; 2 | export * from './enhanced-address-info'; 3 | export * from './work-info'; 4 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/util/index.ts: -------------------------------------------------------------------------------- 1 | export * from './util'; 2 | -------------------------------------------------------------------------------- /basics/realloc/native/ts/util/util.ts: -------------------------------------------------------------------------------- 1 | import { Keypair } from '@solana/web3.js'; 2 | 3 | export function createKeypairFromFile(path: string): Keypair { 4 | return Keypair.fromSecretKey(Buffer.from(JSON.parse(require('node:fs').readFileSync(path, 'utf-8')))); 5 | } 6 | -------------------------------------------------------------------------------- /basics/realloc/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/realloc/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the address_info account PDA. 2 | pub const ADDRESS_INFO: &[u8] = b"address_info"; 3 | 4 | pub const MAX_STR_LEN: usize = 32; 5 | -------------------------------------------------------------------------------- /basics/realloc/steel/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum ReallocError { 6 | #[error("This is a dummy error")] 7 | Dummy = 0, 8 | } 9 | 10 | error!(ReallocError); 11 | -------------------------------------------------------------------------------- /basics/realloc/steel/api/src/utils.rs: -------------------------------------------------------------------------------- 1 | pub fn str_to_bytes(name: &str) -> [u8; MAX_STR_LEN] { 2 | let mut name_bytes = [0u8; MAX_STR_LEN]; 3 | name_bytes[..name.len()].copy_from_slice(name.as_bytes()); 4 | name_bytes 5 | } 6 | -------------------------------------------------------------------------------- /basics/rent/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/rent/anchor/programs/rent-example/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/rent/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "resolveJsonModule": true, 9 | "esModuleInterop": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /basics/rent/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/rent/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/rent/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /basics/rent/steel/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum RentExampleError { 6 | #[error("This is a dummy error")] 7 | Dummy = 0, 8 | } 9 | 10 | error!(RentExampleError); 11 | -------------------------------------------------------------------------------- /basics/rent/steel/api/src/state/address.rs: -------------------------------------------------------------------------------- 1 | use super::RentAccount; 2 | use steel::*; 3 | 4 | #[repr(C)] 5 | #[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] 6 | pub struct Address { 7 | pub name: [u8; 32], 8 | pub address: [u8; 64], 9 | } 10 | 11 | account!(RentAccount, Address); 12 | -------------------------------------------------------------------------------- /basics/rent/steel/api/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | mod address; 2 | 3 | pub use address::*; 4 | 5 | use steel::*; 6 | 7 | #[repr(u8)] 8 | #[derive(Clone, Copy, Debug, Eq, PartialEq, IntoPrimitive, TryFromPrimitive)] 9 | pub enum RentAccount { 10 | Address = 0, 11 | } 12 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/programs/carnival/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/programs/carnival/src/error.rs: -------------------------------------------------------------------------------- 1 | // For any custom errors 2 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/programs/carnival/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod eat_food; 2 | pub mod get_on_ride; 3 | pub mod play_game; 4 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/programs/carnival/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod food; 2 | pub mod game; 3 | pub mod ride; 4 | -------------------------------------------------------------------------------- /basics/repository-layout/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/repository-layout/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "repository-layout-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/repository-layout/native/program/src/error.rs: -------------------------------------------------------------------------------- 1 | // For any custom errors 2 | -------------------------------------------------------------------------------- /basics/repository-layout/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod eat_food; 2 | pub mod get_on_ride; 3 | pub mod play_game; 4 | -------------------------------------------------------------------------------- /basics/repository-layout/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | // For setting up modules & configs 2 | 3 | pub mod error; 4 | pub mod instructions; 5 | pub mod processor; 6 | pub mod state; 7 | -------------------------------------------------------------------------------- /basics/repository-layout/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod food; 2 | pub mod game; 3 | pub mod ride; 4 | -------------------------------------------------------------------------------- /basics/repository-layout/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/transfer-sol/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/transfer-sol/anchor/programs/transfer-sol/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/transfer-sol/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/transfer-sol/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "transfer-sol-program" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.1" 9 | solana-program = "2.0" 10 | 11 | [lib] 12 | crate-type = ["cdylib", "lib"] 13 | -------------------------------------------------------------------------------- /basics/transfer-sol/native/program/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instruction; 2 | pub mod processor; 3 | 4 | use {crate::processor::process_instruction, solana_program::entrypoint}; 5 | 6 | entrypoint!(process_instruction); 7 | -------------------------------------------------------------------------------- /basics/transfer-sol/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/programs/seahorse/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/programs/seahorse/src/dot/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod program; 2 | -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/programs_py/seahorse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/basics/transfer-sol/seahorse/programs_py/seahorse/__init__.py -------------------------------------------------------------------------------- /basics/transfer-sol/seahorse/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /basics/transfer-sol/steel/api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "transfer-sol-api" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bytemuck.workspace = true 8 | num_enum.workspace = true 9 | solana-program.workspace = true 10 | steel.workspace = true 11 | thiserror.workspace = true 12 | -------------------------------------------------------------------------------- /basics/transfer-sol/steel/api/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod instruction; 2 | pub mod sdk; 3 | 4 | pub mod prelude { 5 | pub use crate::instruction::*; 6 | pub use crate::sdk::*; 7 | } 8 | 9 | use steel::*; 10 | 11 | // TODO: Set program id 12 | declare_id!("FNDnd3ZJptKromzx7h71o67AcR1emryyJPb9LjS8WPVw"); 13 | -------------------------------------------------------------------------------- /basics/transfer-sol/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /compression/cnft-burn/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /compression/cnft-burn/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /compression/cnft-burn/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /compression/cnft-burn/anchor/programs/cnft-burn/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /compression/cnft-burn/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /compression/cnft-vault/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /compression/cnft-vault/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /compression/cnft-vault/anchor/programs/cnft-vault/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /compression/cnft-vault/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /compression/cutils/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .local_keys -------------------------------------------------------------------------------- /compression/cutils/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | -------------------------------------------------------------------------------- /compression/cutils/anchor/programs/cutils/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /compression/cutils/anchor/programs/cutils/src/actions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod mint; 2 | pub use mint::*; 3 | 4 | pub mod verify; 5 | pub use verify::*; 6 | -------------------------------------------------------------------------------- /compression/cutils/anchor/programs/cutils/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod data; 2 | pub use data::*; 3 | -------------------------------------------------------------------------------- /compression/cutils/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "module": "commonjs", 6 | "target": "esnext", 7 | "esModuleInterop": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /oracles/pyth/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | test-ledger 6 | -------------------------------------------------------------------------------- /oracles/pyth/anchor/Anchor.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | 3 | [features] 4 | resolution = true 5 | skip-lint = false 6 | 7 | [programs.localnet] 8 | pythexample = "GUkjQmrLPFXXNK1bFLKt8XQi6g3TjxcHVspbjDoHvMG2" 9 | 10 | [registry] 11 | url = "https://api.apr.dev" 12 | 13 | [provider] 14 | cluster = "Localnet" 15 | wallet = "~/.config/solana/id.json" -------------------------------------------------------------------------------- /oracles/pyth/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /oracles/pyth/anchor/programs/pythexample/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/programs/seahorse/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/programs/seahorse/src/dot/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod program; 2 | -------------------------------------------------------------------------------- /oracles/pyth/seahorse/programs_py/seahorse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/oracles/pyth/seahorse/programs_py/seahorse/__init__.py -------------------------------------------------------------------------------- /oracles/pyth/seahorse/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scripts/lib/command-list.ts: -------------------------------------------------------------------------------- 1 | import { basename } from 'node:path'; 2 | import { getRecursiveFileList } from './get-recursive-file-list'; 3 | 4 | export function commandList(path: string) { 5 | const files = getRecursiveFileList(path).filter((file) => basename(file) === 'package.json'); 6 | for (const file of files) { 7 | console.log(file); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scripts/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './command-check'; 2 | export * from './command-help'; 3 | export * from './command-list'; 4 | export * from './command-set'; 5 | export * from './command-update'; 6 | -------------------------------------------------------------------------------- /tokens/.assets/nft.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Homer NFT", 3 | "symbol": "HOMR", 4 | "description": "An NFT of Homer Simpson", 5 | "image": "https://static.onecms.io/wp-content/uploads/sites/6/2018/08/simp_homersingle08_f_hires2-2000.jpg" 6 | } 7 | -------------------------------------------------------------------------------- /tokens/.assets/spl-token.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Solana Gold", 3 | "symbol": "GOLDSOL", 4 | "description": "A gold Solana SPL token :)", 5 | "image": "https://w7.pngwing.com/pngs/153/594/png-transparent-solana-coin-sign-icon-shiny-golden-symmetric-geometrical-design.png" 6 | } 7 | -------------------------------------------------------------------------------- /tokens/create-token/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/create-token/anchor/programs/create-token/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/create-token/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/create-token/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/create-token/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// Seed of the token metadata account PDA. 2 | pub const METADATA: &[u8] = b"metadata"; 3 | -------------------------------------------------------------------------------- /tokens/create-token/steel/api/src/error.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | #[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)] 4 | #[repr(u32)] 5 | pub enum SteelError { 6 | #[error("This is a dummy error")] 7 | Dummy = 0, 8 | } 9 | 10 | error!(SteelError); 11 | -------------------------------------------------------------------------------- /tokens/create-token/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/.mocharc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extension": ["ts"], 3 | "spec": "tests/**/*.ts", 4 | "require": "ts-node/register", 5 | "node-option": ["experimental-specifier-resolution=node", "loader=ts-node/esm"] 6 | } 7 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | 12 | [profile.release.build-override] 13 | opt-level = 3 14 | incremental = false 15 | codegen-units = 1 16 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/src/constants.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[constant] 4 | pub const SEED: &str = "anchor"; 5 | 6 | pub const ANCHOR_DISCRIMINATOR: usize = 8; 7 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/src/error.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[error_code] 4 | pub enum ErrorCode { 5 | #[msg("Custom error message")] 6 | CustomError, 7 | } 8 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod make_offer; 2 | pub use make_offer::*; 3 | 4 | pub mod take_offer; 5 | pub use take_offer::*; 6 | 7 | pub mod shared; 8 | pub use shared::*; 9 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod offer; 2 | 3 | pub use offer::*; 4 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/programs/escrow/src/state/offer.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[account] 4 | #[derive(InitSpace)] 5 | pub struct Offer { 6 | pub id: u64, 7 | pub maker: Pubkey, 8 | pub token_mint_a: Pubkey, 9 | pub token_mint_b: Pubkey, 10 | pub token_b_wanted_amount: u64, 11 | pub bump: u8, 12 | } 13 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/register.js: -------------------------------------------------------------------------------- 1 | import { register } from 'node:module'; 2 | import { pathToFileURL } from 'node:url'; 3 | 4 | register('ts-node/esm', pathToFileURL('./')); 5 | -------------------------------------------------------------------------------- /tokens/escrow/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/escrow/native/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = ["program"] 3 | resolver = "2" 4 | -------------------------------------------------------------------------------- /tokens/escrow/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod make_offer; 2 | pub use make_offer::*; 3 | 4 | pub mod take_offer; 5 | pub use take_offer::*; 6 | -------------------------------------------------------------------------------- /tokens/escrow/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/escrow/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | use solana_program::pubkey; 2 | use steel::Pubkey; 3 | 4 | /// Seed of the offer account PDA. 5 | pub const OFFER_SEED: &[u8] = b"offer"; 6 | 7 | pub const ASSOCIATED_TOKEN_PROGRAM_ID: Pubkey = 8 | pubkey!("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"); 9 | -------------------------------------------------------------------------------- /tokens/escrow/steel/api/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | mod offer; 2 | 3 | pub use offer::*; 4 | 5 | use steel::*; 6 | 7 | #[repr(u8)] 8 | #[derive(Clone, Copy, Debug, Eq, PartialEq, IntoPrimitive, TryFromPrimitive)] 9 | pub enum EscrowAccount { 10 | Offer = 0, 11 | } 12 | -------------------------------------------------------------------------------- /tokens/escrow/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/external-delegate-token-master/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = ["programs/*"] 3 | resolver = "2" 4 | 5 | [profile.release] 6 | overflow-checks = true 7 | lto = "fat" 8 | codegen-units = 1 9 | [profile.release.build-override] 10 | opt-level = 3 11 | incremental = false 12 | codegen-units = 1 13 | -------------------------------------------------------------------------------- /tokens/external-delegate-token-master/anchor/programs/external-delegate-token-master/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/nft-minter/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = ["programs/*"] 3 | resolver = "2" 4 | 5 | [profile.release] 6 | overflow-checks = true 7 | lto = "fat" 8 | codegen-units = 1 9 | [profile.release.build-override] 10 | opt-level = 3 11 | incremental = false 12 | codegen-units = 1 13 | 14 | -------------------------------------------------------------------------------- /tokens/nft-minter/anchor/programs/nft-minter/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/nft-minter/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/nft-minter/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint; 3 | 4 | pub use create::*; 5 | pub use mint::*; 6 | -------------------------------------------------------------------------------- /tokens/nft-minter/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/nft-operations/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/nft-operations/anchor/programs/mint-nft/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/nft-operations/anchor/programs/mint-nft/src/contexts/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod mint_nft; 2 | pub mod create_collection; 3 | pub mod verify_collection; 4 | 5 | pub use mint_nft::*; 6 | pub use create_collection::*; 7 | pub use verify_collection::*; 8 | -------------------------------------------------------------------------------- /tokens/nft-operations/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/README.md: -------------------------------------------------------------------------------- 1 | # PDA Mint Authority 2 | 3 | This example is exactly the same as the `NFT Minter` example, but it changes the `mint authority` account from the payer (System Account) to a PDA. 4 | 5 | 💡Notice the use of `invoke_signed` for CPIs. -------------------------------------------------------------------------------- /tokens/pda-mint-authority/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = ["programs/*"] 3 | 4 | [profile.release] 5 | overflow-checks = true 6 | lto = "fat" 7 | codegen-units = 1 8 | [profile.release.build-override] 9 | opt-level = 3 10 | incremental = false 11 | codegen-units = 1 12 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/anchor/programs/token-minter/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/anchor/programs/token-minter/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint; 3 | 4 | pub use create::*; 5 | pub use mint::*; 6 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod init; 3 | pub mod mint; 4 | 5 | pub use create::*; 6 | pub use init::*; 7 | pub use mint::*; 8 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/native/program/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | use borsh::{BorshDeserialize, BorshSerialize}; 2 | 3 | #[derive(BorshDeserialize, BorshSerialize)] 4 | pub struct MintAuthorityPda { 5 | pub bump: u8, 6 | } 7 | 8 | impl MintAuthorityPda { 9 | pub const SEED_PREFIX: &'static str = "mint_authority"; 10 | pub const SIZE: usize = 8 + 8; 11 | } 12 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// The seed of the mint authority account PDA. 2 | pub const MINT_AUTHORITY: &[u8] = b"mint_authority"; 3 | 4 | /// The seed of the metadata account PDA. 5 | pub const METADATA: &[u8] = b"metadata"; 6 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/steel/api/src/state/mint_authority.rs: -------------------------------------------------------------------------------- 1 | use steel::*; 2 | 3 | use super::SteelAccount; 4 | 5 | #[repr(C)] 6 | #[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] 7 | pub struct MintAuthorityPda { 8 | pub bump: u8, 9 | } 10 | 11 | account!(SteelAccount, MintAuthorityPda); 12 | -------------------------------------------------------------------------------- /tokens/pda-mint-authority/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/anchor/programs/spl-token-minter/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/anchor/programs/spl-token-minter/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint; 3 | 4 | pub use create::*; 5 | pub use mint::*; 6 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint; 3 | 4 | pub use create::*; 5 | pub use mint::*; 6 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// The seed of the metadata account PDA. 2 | pub const METADATA: &[u8] = b"metadata"; 3 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/steel/api/src/utils.rs: -------------------------------------------------------------------------------- 1 | pub fn str_to_bytes(str: &str) -> [u8; N] { 2 | let mut str_bytes = [0u8; N]; 3 | let copy_len = str.len().min(N); 4 | str_bytes[..copy_len].copy_from_slice(&str.as_bytes()[..copy_len]); 5 | str_bytes 6 | } 7 | -------------------------------------------------------------------------------- /tokens/spl-token-minter/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/basics/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/basics/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/basics/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/basics/anchor/programs/basics/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/basics/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/cpi-guard/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/cpi-guard/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/cpi-guard/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/cpi-guard/anchor/programs/cpi-guard/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/cpi-guard/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/anchor/programs/default-account-state/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/default-account-state/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/group/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/group/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/group/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/group/anchor/programs/group/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/group/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/immutable-owner/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/immutable-owner/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/immutable-owner/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/immutable-owner/anchor/programs/immutable-owner/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/immutable-owner/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/interest-bearing/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/interest-bearing/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/interest-bearing/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/interest-bearing/anchor/programs/interest-bearing/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/interest-bearing/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/memo-transfer/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/memo-transfer/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/memo-transfer/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/memo-transfer/anchor/programs/memo-transfer/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/memo-transfer/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/programs/metadata/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/programs/metadata/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub use initialize::*; 2 | pub mod initialize; 3 | pub use update_field::*; 4 | pub mod update_field; 5 | pub use remove_key::*; 6 | pub mod remove_key; 7 | pub use emit::*; 8 | pub mod emit; 9 | pub use update_authority::*; 10 | pub mod update_authority; 11 | -------------------------------------------------------------------------------- /tokens/token-2022/metadata/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/anchor/programs/mint-close-authority/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/mint-close-authority/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/multiple-extensions/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/programs/extension_nft/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/programs/extension_nft/src/constants.rs: -------------------------------------------------------------------------------- 1 | pub const TIME_TO_REFILL_ENERGY: i64 = 60; 2 | pub const MAX_ENERGY: u64 = 100; 3 | pub const MAX_WOOD_PER_TREE: u64 = 100000; 4 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/programs/extension_nft/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | //! All instructions 2 | pub mod chop_tree; 3 | pub mod init_player; 4 | pub mod mint_nft; 5 | 6 | pub use chop_tree::*; 7 | pub use init_player::*; 8 | pub use mint_nft::*; 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/programs/extension_nft/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod game_data; 2 | pub mod player_data; 3 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/rustfmt.toml: -------------------------------------------------------------------------------- 1 | comment_width = 80 2 | edition = "2021" 3 | format_code_in_doc_comments = true 4 | format_strings = true 5 | group_imports = "One" 6 | ignore = [ 7 | "**/*/entrypoint.rs" 8 | ] 9 | imports_granularity = "One" 10 | use_field_init_shorthand = true 11 | wrap_comments = true -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import { Html, Head, Main, NextScript } from 'next/document' 2 | 3 | export default function Document() { 4 | return ( 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Beaver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Beaver.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Tree.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/Wood.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/energy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/app/public/energy.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d07dfe7707a9469ba355c3d70d4b00f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/DOTween.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8ce8aa38adb94ee48306d5f482626ad 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/DOTween.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/DOTween.dll -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/DOTween.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 762728b7259db484da790c5f410eb1df 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e7a700930cc54bd5b2469673452a303 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/DOTweenEditor.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3507fbdf5994c7fb58915cb59783be 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/DOTweenEditor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/DOTweenEditor.dll -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/DOTweenEditor.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b76d2c677cc849c0a491fd3c23a1046 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 526ad6f0f8ce44ed18332cc9cfe9b7bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/DOTweenIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/DOTweenIcon.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/DOTweenMiniIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/DOTweenMiniIcon.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Footer.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Footer_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Footer_dark.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Editor/Imgs/Header.jpg -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/Modules.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42529fddaacb0408b94ad71511eada46 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/DOTween 4/readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18cca3409bde0414f88aba683061b318 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9369e30eb0024478ead305522ef92dd9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless/IMultiSceneSingleton.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | namespace Frictionless 5 | { 6 | public interface IMultiSceneSingleton 7 | { 8 | IEnumerator HandleNewSceneLoaded(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless/IReinitializingMultiSceneSingleton.cs: -------------------------------------------------------------------------------- 1 | namespace Frictionless 2 | { 3 | public interface IReinitializingMultiSceneSingleton : IMultiSceneSingleton 4 | { 5 | void ReinitializeAfterSceneLoad(); 6 | } 7 | } -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless/IReinitializingMultiSceneSingleton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43cd7455839c4ab29da9bf4b7c9a9b70 3 | timeCreated: 1666809291 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless/MessageRouter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6250354fb5cd34a109e4178105ec99fe 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Frictionless/ServiceFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bf2a384e7c804c1a9d78a115ed85e68 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 599f1b4793f214d0f99af0f39beca48d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69553b14fc52945af9f31330f2e6af0c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Materials/WoodParticles.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3ff4f59082c147e7a8d2bc55f345f25 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd52b736b39ad4861aa536ae40e88fce 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/DefaultButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c27ebc42ed62d4f528778183ed634846 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/InteractionBlocker.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba000cab565a44c178af503c10992f7e 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/NftItemView.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5038eeda347fc47caa6a0b71b70ee381 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/NftListPopup.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8a0086df8f89450eacfeeb2e744ab73 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/SessionPopup.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23ef3ee2e766b4691a392f01d949e157 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/SolBalanceWidget.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 932385457eb6e48999e46c08f0039d6c 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/TokenBalanceWidget.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9983340f07aa240e7adad9f74350fcf4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Prefabs/WoodParticles.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2e6a0e3392df424da6890df0b132ae0 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ea315d0fd7389c41b19996891e99ae3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scenes/GameScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3de581c39b3447939f31966c9c9d8fb 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scenes/LoginScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 325f7fb08642c46a6a1d7f860111bd4b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a25bb613c4806473ea27f737b0f871c6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Solana.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a40491382f34e8bb89c6718bd4d6e08 3 | timeCreated: 1698345178 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Solana/AnchorService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e361c4e484a844369b54c5fd3b90def7 3 | timeCreated: 1688224689 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Solana/NftMintingService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7200cbf09ed7438eb4005bbcf351e7f7 3 | timeCreated: 1665216069 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb407fc6c55ac42b09ad75277f074d7e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/BasePopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b54549bd3faf4cb399338343fb9093d2 3 | timeCreated: 1664440654 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/GameScreen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1ce5defdf314eb0b303658fa3c1f425 3 | timeCreated: 1697791834 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/LoginScreen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5c4b524c3ae4c5fb001afc6bfe2162a 3 | timeCreated: 1697791735 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/NftListPopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bda8f1b024824e39a4b5ee376ae1b15b 3 | timeCreated: 1670795422 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/NftListPopupUiData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73f7cfe92c3e4891a7c7009b03f84c06 3 | timeCreated: 1670851110 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/SessionPopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3dfa67021514fd193a091840c7350ed 3 | timeCreated: 1695813950 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/SessionPopupUiData.cs: -------------------------------------------------------------------------------- 1 | using Services; 2 | 3 | namespace Game.Scripts.Ui 4 | { 5 | public class SessionPopupUiData : UiService.UiData 6 | { 7 | public SessionPopupUiData() 8 | { 9 | 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/SessionPopupUiData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ecaf561bcf347a4860e3c650cee1ff9 3 | timeCreated: 1695813981 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Scripts/Ui/SolBalanceWidget.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bae9859e31324a0eb501c37ee3ff3e82 3 | timeCreated: 1660074869 -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 797beab25ada04bd7bcf99b2b2cff7a5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/background.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/beaver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/beaver.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_energy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_energy.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_solana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_solana.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_usdc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_usdc.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/icon_wood.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/tree.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_close_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_close_button.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_default_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_default_button.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_element_panel_rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_element_panel_rect.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_panel.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Game/Sprites/ui_spinner.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfef68aa94fa04d55b99366013c49ebf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources/DOTweenSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8eb37312196a64192a02cd17b1aee004 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources/SolanaUnitySDK.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a7b2018811e54518890d7eb3e125dd7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources/SolanaUnitySDK/WalletAdapterButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6f9ab42f789a4ec4baa484a9f1d0f97 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources/SolanaUnitySDK/WalletAdapterUI.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 256e92be2288f4b68b207a43c304ee22 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Resources/SolanaUnitySDK/[WalletController].prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a921888ae20a64ee9b9d9164b77cad74 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/Socket.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e9d67e1994fd4b60b2a2284cc19546b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f54d1bd14bd3ca042bd867b519fee8cc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab70aee4d56447429c680537fbf93ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c 3 | timeCreated: 1484171296 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Fonts/LiberationSans.ttf -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243e06394e614e5d99fab26083b707fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 731f1baa9d144a9897cb1d341c2092b8 3 | folderAsset: yes 4 | timeCreated: 1442040525 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0 3 | timeCreated: 1484172806 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e498d1c8094910479dc3e1b768306a4 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79459efec17a4d00a321bdcc27bbc385 3 | timeCreated: 1484172856 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f586378b4e144a9851e7b34d9b748ee 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fade42e8bc714b018fac513c043d323b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82c1b31c7e74239bff1220585707d2b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 512a49d95c0c4332bdd98131869c23c9 3 | folderAsset: yes 4 | timeCreated: 1441876896 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41005c129ba4d66911b75229fd70b45 3 | timeCreated: 1480316912 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aecb92fff08436c8303b10eab8da368 3 | folderAsset: yes 4 | timeCreated: 1441876950 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f952c082cb03451daed3ee968ac6c63e 3 | timeCreated: 1432805430 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5b5dff67a942289a9defa416b206f3 3 | timeCreated: 1436653997 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9f693669af91aa45ad615fc681ed29f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3b057af24249748ff873be7fafee47 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128e987d567d4e2c824d754223b3f3b0 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd89cf5b9246416f84610a006f916af7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe393ace9b354375a9cb14cdbbc28be4 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68e6db2ebdc24f95958faec2be5558d6 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf81c85f95fe47e1a27f6ae460cf182c 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407bc68d299748449bbf7f48ee690f8d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c334973cef89a9840b0b0c507e0377ab 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d930090c0cd643c7b55f19a38538c162 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0603b6d5186471b96c778c3949c7ce2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt: -------------------------------------------------------------------------------- 1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ 2 | 3 | Please visit their website to view the complete set of their emojis and review their licensing terms. -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 381dcb09d5029d14897e55f98031fca5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f05276190cf498a8153f6cbe761d4e6 3 | timeCreated: 1480316860 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites/EmojiOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/TextMesh Pro/Sprites/EmojiOne.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9c1615f1297d4c088f3d66c6b38fc04 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86f6cc1756ed048dcb9afe692f656aa7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0b7961cfaa634963a1bda16a71e13d0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/favicon.ico.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abdfcc06f739a4799b93b04280b6ab3e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/fullscreen-button.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38b10a7e2dd4541148008e8d4d1b2a26 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/progress-bar-empty-dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98f2c524f304b4f4398a11b844df981d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/progress-bar-empty-light.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c82f7b79c42541c18f45689bcf0a968 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/progress-bar-full-dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3639e01a00fa40cf940504c9b1df71e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/progress-bar-full-light.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9af76d225c9f442568802f71bbb474ea 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/style.css.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed7cd6ee995dd44bab8d5176189c53f4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/unity-logo-dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97b96993a142f46efa2c9b72ef509c53 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/unity-logo-light.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04dd34ecadec142fd8275541850d2551 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/TemplateData/webgl-logo.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0010688ddafe24168a3f097099ab2891 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/index.html.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f66a63a411d4745af95fd5e3746ae712 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/thumbnail.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/SolanaWebGlTemplate/thumbnail.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 379f39b01ffff46ec87ef8e07903ae33 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/xNFT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d52c7f847803d4c23b47396e4f445d5f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/xNFT/index.html.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9569a4b7dfbf41a3b6cbfa70eadf665 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/xNFT/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/xNFT/thumbnail.png -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/Assets/WebGLTemplates/xNFT/thumbnail.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed0446e2bc30b42629d9dc78f55c4c5b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "m_Name": "Settings", 3 | "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json", 4 | "m_Dictionary": { 5 | "m_DictionaryValues": [] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.32f1 2 | m_EditorVersionWithRevision: 2021.3.32f1 (3b9dae9532f5) 3 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/ProjectSettings/boot.config -------------------------------------------------------------------------------- /tokens/token-2022/nft-meta-data-pointer/anchor-example/unity/ExtensionNft/UserSettings/Search.settings: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/anchor/programs/non-transferable/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/non-transferable/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/permanent-delegate/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/permanent-delegate/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/permanent-delegate/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/permanent-delegate/anchor/programs/permanent-delegate/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/permanent-delegate/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | **/*.rs.bk 5 | node_modules 6 | test-ledger 7 | .yarn 8 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | .anchor 2 | .DS_Store 3 | target 4 | node_modules 5 | dist 6 | build 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/programs/transfer-fee/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/programs/transfer-fee/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod transfer; 2 | pub use transfer::*; 3 | pub mod initialize; 4 | pub use initialize::*; 5 | pub mod harvest; 6 | pub use harvest::*; 7 | pub mod withdraw; 8 | pub use withdraw::*; 9 | pub mod update_fee; 10 | pub use update_fee::*; 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-fee/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "singleQuote": false, 5 | "printWidth": 80, 6 | "trailingComma": "all", 7 | "arrowParens": "avoid", 8 | "endOfLine": "auto", 9 | "proseWrap": "always" 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/programs/transfer-hook/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/account-data-as-seed/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/counter/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/counter/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/counter/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/counter/anchor/programs/transfer-hook/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/counter/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/hello-world/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/hello-world/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/hello-world/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/hello-world/anchor/programs/transfer-hook/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/hello-world/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-cost/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-cost/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-cost/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-cost/anchor/programs/transfer-hook/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-cost/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-switch/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-switch/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-switch/anchor/programs/transfer-switch/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-switch/anchor/programs/transfer-switch/src/error.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[error_code] 4 | pub enum TransferError { 5 | #[msg("The token is not currently transferring")] 6 | IsNotCurrentlyTransferring, 7 | 8 | #[msg("The transfer switch is currently not on")] 9 | SwitchNotOn, 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/transfer-switch/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/whitelist/anchor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | .yarn 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/whitelist/anchor/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/whitelist/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/whitelist/anchor/programs/transfer-hook/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-2022/transfer-hook/whitelist/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/programs/fundraiser/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/programs/fundraiser/src/constants.rs: -------------------------------------------------------------------------------- 1 | pub const ANCHOR_DISCRIMINATOR: usize = 8; 2 | pub const MIN_AMOUNT_TO_RAISE: u64 = 3; 3 | pub const SECONDS_TO_DAYS: i64 = 86400; 4 | pub const MAX_CONTRIBUTION_PERCENTAGE: u64 = 10; 5 | pub const PERCENTAGE_SCALER: u64 = 100; -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/programs/fundraiser/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod initialize; 2 | pub mod contribute; 3 | pub mod checker; 4 | pub mod refund; 5 | 6 | pub use initialize::*; 7 | pub use contribute::*; 8 | pub use checker::*; 9 | pub use refund::*; -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/programs/fundraiser/src/state/contributor.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[account] 4 | #[derive(InitSpace)] 5 | pub struct Contributor { 6 | pub amount: u64, 7 | } -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/programs/fundraiser/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod fundraiser; 2 | pub mod contributor; 3 | 4 | pub use fundraiser::*; 5 | pub use contributor::*; -------------------------------------------------------------------------------- /tokens/token-fundraiser/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-swap/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | 16 | -------------------------------------------------------------------------------- /tokens/token-swap/anchor/programs/token-swap/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/token-swap/anchor/programs/token-swap/src/constants.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | 3 | #[constant] 4 | pub const MINIMUM_LIQUIDITY: u64 = 100; 5 | 6 | #[constant] 7 | pub const AUTHORITY_SEED: &[u8] = b"authority"; 8 | 9 | #[constant] 10 | pub const LIQUIDITY_SEED: &[u8] = b"liquidity"; 11 | -------------------------------------------------------------------------------- /tokens/token-swap/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/token-swap/steel/api/src/state/mod.rs: -------------------------------------------------------------------------------- 1 | mod amm; 2 | mod pool; 3 | pub use amm::*; 4 | pub use pool::*; 5 | 6 | use steel::*; 7 | 8 | #[repr(u8)] 9 | #[derive(Clone, Copy, Debug, Eq, PartialEq, IntoPrimitive, TryFromPrimitive)] 10 | pub enum TokenSwapAccount { 11 | Amm = 0, 12 | Pool = 1, 13 | } 14 | -------------------------------------------------------------------------------- /tokens/token-swap/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai", "node"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/anchor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/anchor/programs/transfer-tokens/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/anchor/programs/transfer-tokens/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint; 3 | pub mod transfer; 4 | 5 | pub use create::*; 6 | pub use mint::*; 7 | pub use transfer::*; 8 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/anchor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/native/program/src/instructions/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod create; 2 | pub mod mint_nft; 3 | pub mod mint_spl; 4 | pub mod transfer; 5 | 6 | pub use create::*; 7 | pub use mint_nft::*; 8 | pub use mint_spl::*; 9 | pub use transfer::*; 10 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/native/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | test-ledger 8 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | node_modules 6 | dist 7 | build 8 | test-ledger 9 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | resolver = "2" 6 | 7 | [profile.release] 8 | overflow-checks = true 9 | lto = "fat" 10 | codegen-units = 1 11 | [profile.release.build-override] 12 | opt-level = 3 13 | incremental = false 14 | codegen-units = 1 15 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/README.md: -------------------------------------------------------------------------------- 1 | # seahorse 2 | 3 | This project was created by Seahorse 0.2.7. 4 | 5 | To get started, just add your code to **programs_py/seahorse.py** and run `seahorse build`. 6 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/programs/seahorse/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/programs/seahorse/src/dot/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod program; 2 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/programs_py/seahorse/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tokens/transfer-tokens/seahorse/programs_py/seahorse/__init__.py -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/tests/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.pyright] 2 | reportMissingModuleSource = false -------------------------------------------------------------------------------- /tokens/transfer-tokens/seahorse/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/steel/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | test-ledger 3 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/steel/api/src/consts.rs: -------------------------------------------------------------------------------- 1 | /// The seed of the metadata account PDA. 2 | pub const METADATA: &[u8] = b"metadata"; 3 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/steel/api/src/utils.rs: -------------------------------------------------------------------------------- 1 | pub fn str_to_bytes(str: &str) -> [u8; N] { 2 | let mut str_bytes = [0u8; N]; 3 | let copy_len = str.len().min(N); 4 | str_bytes[..copy_len].copy_from_slice(&str.as_bytes()[..copy_len]); 5 | str_bytes 6 | } 7 | -------------------------------------------------------------------------------- /tokens/transfer-tokens/steel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tools/clockwork/README.md: -------------------------------------------------------------------------------- 1 | Clockwork is an automation infrastructure for Solana. It allows you to schedule transactions and build automated, event driven programs. 2 | 3 | Here is a link to the Clockwork Program Examples repository: [Clockwork](https://github.com/clockwork-xyz/clockwork) 4 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/.crates/.crates.toml: -------------------------------------------------------------------------------- 1 | [v1] 2 | "shank-cli 0.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = ["shank"] 3 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/.crates/bin/shank: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solana-developers/program-examples/4b8594ec0416ac01c8cfbfa72ea8214c09cf0544/tools/shank-and-solita/native/.crates/bin/shank -------------------------------------------------------------------------------- /tools/shank-and-solita/native/program/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "car-rental-service" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | borsh = "0.9.3" 8 | borsh-derive = "0.9.3" 9 | shank = "0.0.12" 10 | solana-program = "1.14.13" 11 | 12 | [lib] 13 | crate-type = ["cdylib", "lib"] 14 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/tests/generated/accounts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Car'; 2 | export * from './RentalOrder'; 3 | 4 | import { Car } from './Car'; 5 | import { RentalOrder } from './RentalOrder'; 6 | 7 | export const accountProviders = { Car, RentalOrder }; 8 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/tests/generated/instructions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AddCar'; 2 | export * from './BookRental'; 3 | export * from './PickUpCar'; 4 | export * from './ReturnCar'; 5 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/tests/generated/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AddCarArgs'; 2 | export * from './BookRentalArgs'; 3 | export * from './RentalOrderStatus'; 4 | -------------------------------------------------------------------------------- /tools/shank-and-solita/native/tests/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | --------------------------------------------------------------------------------