├── .gitignore ├── .idea ├── .gitignore ├── modules.xml ├── vcs.xml └── your_token_staking.iml ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── Xargo.toml ├── cleanup.sh ├── deploy-localnet.sh ├── interface ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .jest │ └── setEnvVars.js ├── .prettierrc.js ├── LICENSE ├── jest.config.js ├── package.json ├── scripts │ ├── get-public-key.ts │ └── postbuild.js ├── src │ ├── config │ │ ├── connection-service.ts │ │ └── index.ts │ ├── constants │ │ ├── constants.ts │ │ ├── index.ts │ │ └── pubkeys.ts │ ├── data │ │ ├── borsch.ts │ │ ├── get-wallet-balance.ts │ │ ├── ids.ts │ │ ├── index.ts │ │ └── layout.ts │ ├── errors.ts │ ├── global.d.ts │ ├── models │ │ ├── get-user-pending-rewards.ts │ │ ├── index.ts │ │ ├── user-info.ts │ │ ├── your-pool-info.ts │ │ └── your-staking-instructions.ts │ ├── transactions │ │ ├── claim-rewards-transaction.ts │ │ ├── close-pool-transaction.ts │ │ ├── close-user-transaction.ts │ │ ├── create-initialize-pool-transaction.ts │ │ ├── create-user-transaction.ts │ │ ├── final-unstake-your-transaction.ts │ │ ├── index.ts │ │ ├── stake-your-transaction.ts │ │ └── unstake-your-transaction.ts │ └── utils │ │ ├── conversions.ts │ │ ├── find-associated-token-address.ts │ │ ├── get-pool-signer-pda.ts │ │ ├── get-user-storage-account.ts │ │ └── index.ts ├── test │ ├── YourTokenStaking.test.ts │ ├── prepereTestsEvironment.ts │ └── testHelpers.ts └── tsconfig.json ├── redeploy-localnet.sh ├── solana-install.txt ├── src ├── entrypoint.rs ├── error.rs ├── instruction.rs ├── lib.rs ├── processor.rs ├── processor │ ├── claim_rewards.rs │ ├── close_pool.rs │ ├── close_user.rs │ ├── create_user.rs │ ├── final_unstake.rs │ ├── initialize_pool.rs │ ├── stake.rs │ └── unstake.rs ├── state.rs └── utils.rs └── test.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.idea/your_token_staking.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/.idea/your_token_staking.iml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/README.md -------------------------------------------------------------------------------- /Xargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/Xargo.toml -------------------------------------------------------------------------------- /cleanup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/cleanup.sh -------------------------------------------------------------------------------- /deploy-localnet.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/deploy-localnet.sh -------------------------------------------------------------------------------- /interface/.eslintignore: -------------------------------------------------------------------------------- 1 | build/ 2 | -------------------------------------------------------------------------------- /interface/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/.eslintrc.json -------------------------------------------------------------------------------- /interface/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .env 3 | .DS_Store 4 | node_modules 5 | build 6 | package-lock.json -------------------------------------------------------------------------------- /interface/.jest/setEnvVars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/.jest/setEnvVars.js -------------------------------------------------------------------------------- /interface/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('gts/.prettierrc.json') 3 | } 4 | -------------------------------------------------------------------------------- /interface/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /interface/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/jest.config.js -------------------------------------------------------------------------------- /interface/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/package.json -------------------------------------------------------------------------------- /interface/scripts/get-public-key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/scripts/get-public-key.ts -------------------------------------------------------------------------------- /interface/scripts/postbuild.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/scripts/postbuild.js -------------------------------------------------------------------------------- /interface/src/config/connection-service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/config/connection-service.ts -------------------------------------------------------------------------------- /interface/src/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from './connection-service'; 2 | -------------------------------------------------------------------------------- /interface/src/constants/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/constants/constants.ts -------------------------------------------------------------------------------- /interface/src/constants/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/constants/index.ts -------------------------------------------------------------------------------- /interface/src/constants/pubkeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/constants/pubkeys.ts -------------------------------------------------------------------------------- /interface/src/data/borsch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/data/borsch.ts -------------------------------------------------------------------------------- /interface/src/data/get-wallet-balance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/data/get-wallet-balance.ts -------------------------------------------------------------------------------- /interface/src/data/ids.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/data/ids.ts -------------------------------------------------------------------------------- /interface/src/data/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/data/index.ts -------------------------------------------------------------------------------- /interface/src/data/layout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/data/layout.ts -------------------------------------------------------------------------------- /interface/src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/errors.ts -------------------------------------------------------------------------------- /interface/src/global.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'buffer-layout'; 2 | -------------------------------------------------------------------------------- /interface/src/models/get-user-pending-rewards.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/models/get-user-pending-rewards.ts -------------------------------------------------------------------------------- /interface/src/models/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/models/index.ts -------------------------------------------------------------------------------- /interface/src/models/user-info.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/models/user-info.ts -------------------------------------------------------------------------------- /interface/src/models/your-pool-info.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/models/your-pool-info.ts -------------------------------------------------------------------------------- /interface/src/models/your-staking-instructions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/models/your-staking-instructions.ts -------------------------------------------------------------------------------- /interface/src/transactions/claim-rewards-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/claim-rewards-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/close-pool-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/close-pool-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/close-user-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/close-user-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/create-initialize-pool-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/create-initialize-pool-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/create-user-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/create-user-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/final-unstake-your-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/final-unstake-your-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/index.ts -------------------------------------------------------------------------------- /interface/src/transactions/stake-your-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/stake-your-transaction.ts -------------------------------------------------------------------------------- /interface/src/transactions/unstake-your-transaction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/transactions/unstake-your-transaction.ts -------------------------------------------------------------------------------- /interface/src/utils/conversions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/utils/conversions.ts -------------------------------------------------------------------------------- /interface/src/utils/find-associated-token-address.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/utils/find-associated-token-address.ts -------------------------------------------------------------------------------- /interface/src/utils/get-pool-signer-pda.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/utils/get-pool-signer-pda.ts -------------------------------------------------------------------------------- /interface/src/utils/get-user-storage-account.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/utils/get-user-storage-account.ts -------------------------------------------------------------------------------- /interface/src/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/src/utils/index.ts -------------------------------------------------------------------------------- /interface/test/YourTokenStaking.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/test/YourTokenStaking.test.ts -------------------------------------------------------------------------------- /interface/test/prepereTestsEvironment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/test/prepereTestsEvironment.ts -------------------------------------------------------------------------------- /interface/test/testHelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/test/testHelpers.ts -------------------------------------------------------------------------------- /interface/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/interface/tsconfig.json -------------------------------------------------------------------------------- /redeploy-localnet.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/redeploy-localnet.sh -------------------------------------------------------------------------------- /solana-install.txt: -------------------------------------------------------------------------------- 1 | sh -c "$(curl -sSfL https://release.solana.com/v1.8.6/install)" 2 | -------------------------------------------------------------------------------- /src/entrypoint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/entrypoint.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/instruction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/instruction.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/processor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor.rs -------------------------------------------------------------------------------- /src/processor/claim_rewards.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/claim_rewards.rs -------------------------------------------------------------------------------- /src/processor/close_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/close_pool.rs -------------------------------------------------------------------------------- /src/processor/close_user.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/close_user.rs -------------------------------------------------------------------------------- /src/processor/create_user.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/create_user.rs -------------------------------------------------------------------------------- /src/processor/final_unstake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/final_unstake.rs -------------------------------------------------------------------------------- /src/processor/initialize_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/initialize_pool.rs -------------------------------------------------------------------------------- /src/processor/stake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/stake.rs -------------------------------------------------------------------------------- /src/processor/unstake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/processor/unstake.rs -------------------------------------------------------------------------------- /src/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/state.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/src/utils.rs -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xerion12/Rust-contract-stacking/HEAD/test.sh --------------------------------------------------------------------------------