{"id":20002811,"url":"https://github.com/codewithmide/asset-vault-manager","last_synced_at":"2026-07-17T02:32:28.187Z","repository":{"id":254938180,"uuid":"848002843","full_name":"codewithmide/asset-vault-manager","owner":"codewithmide","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-27T01:54:26.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T13:23:19.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codewithmide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-27T00:29:16.000Z","updated_at":"2024-08-27T01:54:29.000Z","dependencies_parsed_at":"2024-08-27T03:38:36.314Z","dependency_job_id":"eed3e2bf-8e7e-473b-bc6b-69e806ccc330","html_url":"https://github.com/codewithmide/asset-vault-manager","commit_stats":null,"previous_names":["codewithmide/asset-vault-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Fasset-vault-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Fasset-vault-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Fasset-vault-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithmide%2Fasset-vault-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codewithmide","download_url":"https://codeload.github.com/codewithmide/asset-vault-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241441047,"owners_count":19963343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T05:23:10.084Z","updated_at":"2025-10-16T05:39:29.411Z","avatar_url":"https://github.com/codewithmide.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Asset Manager's Vault\n\nAsset Manager's Vault is a Solana program built with Anchor that allows customers to deposit SPL tokens of their choice into a secure vault. The key feature of this vault is that the vault manager cannot withdraw the deposited funds, ensuring the security of the users' assets.\n\n## Features\n\n- Secure token deposits\n- User-controlled withdrawals\n- Support for multiple SPL tokens\n- Vault manager cannot access deposited funds\n\n## Prerequisites\n\nBefore you begin, ensure you have installed the following:\n\n- [Rust](https://www.rust-lang.org/tools/install)\n- [Solana CLI](https://docs.solana.com/cli/install-solana-cli-tools)\n- [Anchor](https://www.anchor-lang.com/docs/installation)\n- [Node.js](https://nodejs.org/en/download/) and [Yarn](https://yarnpkg.com/getting-started/install)\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/codewithmide/asset-vault-manager.git\n   cd asset-vault-manager\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   yarn install\n   ```\n\n3. Build the program:\n\n   ```bash\n   anchor build\n   ```\n\n4. Deploy the program (make sure you have a Solana keypair set up):\n\n   ```bash\n   anchor deploy\n   ```\n\n5. Update the program ID in `lib.rs` and `Anchor.toml` with the newly generated program ID.\n\n## Usage\n\n### Running Tests\n\nTo run the test suite:\n\n```bash\nanchor test\n```\n\n### Interacting with the Program\n\nYou can interact with the program using the Anchor TypeScript client. Here's a basic example of how to initialize a vault and deposit tokens:\n\n```typescript\nimport * as anchor from \"@coral-xyz/anchor\";\nimport { Program } from \"@coral-xyz/anchor\";\nimport { AssetManagerVault } from \"../target/types/asset_manager_vault\";\n\n// Set up the provider and program\nconst provider = anchor.AnchorProvider.env();\nanchor.setProvider(provider);\nconst program = anchor.workspace.AssetManagerVault as Program\u003cAssetManagerVault\u003e;\n\n// Initialize the vault\nawait program.methods\n  .initializeVault()\n  .accounts({\n    vault: vaultAccount,\n    authority: vaultManager.publicKey,\n    systemProgram: anchor.web3.SystemProgram.programId,\n    tokenProgram: TOKEN_PROGRAM_ID,\n  })\n  .signers([vaultManager])\n  .rpc();\n\n// Deposit tokens\nawait program.methods\n  .deposit(new anchor.BN(amount))\n  .accounts({\n    vault: vaultAccount,\n    vaultTokenAccount: vaultTokenAccount,\n    depositorTokenAccount: depositorTokenAccount,\n    depositor: depositor.publicKey,\n    tokenProgram: TOKEN_PROGRAM_ID,\n  })\n  .signers([depositor])\n  .rpc();\n```\n\n## Project Structure\n\n- `programs/asset_manager_vault/src/lib.rs`: Main program logic\n- `tests/asset_manager_vault.ts`: TypeScript tests\n- `Anchor.toml`: Anchor configuration file\n- `Cargo.toml`: Rust dependencies\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Disclaimer\n\nThis program is provided as-is and should be audited and tested thoroughly before use in any production environment. The authors are not responsible for any loss of funds or other damages that may occur from using this program.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithmide%2Fasset-vault-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodewithmide%2Fasset-vault-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithmide%2Fasset-vault-manager/lists"}