{"id":13456738,"url":"https://github.com/CaviesLabs/hamsterswap-program","last_synced_at":"2025-03-24T11:31:12.709Z","repository":{"id":94091456,"uuid":"570385870","full_name":"CaviesLabs/hamsterswap-program","owner":"CaviesLabs","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-21T11:36:17.000Z","size":342,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T01:55:02.083Z","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/CaviesLabs.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}},"created_at":"2022-11-25T03:55:45.000Z","updated_at":"2023-02-24T21:18:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"e49a59d5-f4c6-4ad6-9be8-6768f06ff129","html_url":"https://github.com/CaviesLabs/hamsterswap-program","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaviesLabs%2Fhamsterswap-program","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaviesLabs%2Fhamsterswap-program/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaviesLabs%2Fhamsterswap-program/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaviesLabs%2Fhamsterswap-program/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CaviesLabs","download_url":"https://codeload.github.com/CaviesLabs/hamsterswap-program/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245260816,"owners_count":20586476,"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-07-31T08:01:26.908Z","updated_at":"2025-03-24T11:31:12.137Z","avatar_url":"https://github.com/CaviesLabs.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca style=\"background: black; display: block; border-radius: 8px; padding: 4px\" href=\"http://id.ancient8.gg/\" target=\"blank\"\u003e\u003cimg src=\"https://cavies.xyz/assets/images/older-hamster.png\" width=\"320\" alt=\"Nest Logo\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n## Description\n\n**HamsterSwap** Rust program repository.\n\n\n## Prerequisites\n\n1/ Follow this instructions to install Solana Cli and Anchor Cli (https://book.anchor-lang.com/getting_started/installation.html)\n\n2/ Install the latest nodejs env\n\n## Getting Started\n\n```bash\n$ yarn install\n```\n\n## Get new address of program\n```bash\nanchor build\nsolana address -k target/deploy/swap-keypair.json\n# above program will output the address of program\n# replace all `EdeRcNsVGU1s1NXZZo8FhLD8iePxvoUCdbvwVGnj778f` with your new address\n```\n## Deploy swap program onto devnet/mainnet\n\n1/ Deploy devnet \n\nDeploy\n\n```bash\n$  anchor deploy --program-name swap --provider.cluster devnet --provider.wallet ~/.config/solana/id.json\n```\n\nUpgrade\n\n```bash\n$ anchor upgrade target/deploy/swap.so --program-id EdeRcNsVGU1s1NXZZo8FhLD8iePxvoUCdbvwVGnj778f --provider.cluster devnet --provider.wallet ~/.config/solana/id.json\n```\n\n2/ Deploy mainnet \n\nDeploy\n\n```bash\n$  anchor deploy --program-name swap --provider.cluster mainnet-beta --provider.wallet ~/.config/solana/id.json\n```\n\nUpgrade\n\n```bash\n$ anchor upgrade target/deploy/swap.so --program-id EdeRcNsVGU1s1NXZZo8FhLD8iePxvoUCdbvwVGnj778f --provider.cluster mainnet-beta --provider.wallet ~/.config/solana/id.json\n```\n\n\n\n3/ Upgrade\n\n## Test\n\n```bash\n$ anchor test\n```\n\n```txt\n  ✔ [initialize_swap_program] should: deployer initializes swap registry successfully\n  ✔ [initialize_swap_program] should: deployer fails to re-initialize the swap registry\n  ✔ [update_swap_program] should: deployer updates registry successfully (443ms)\n  ✔ [update_swap_program] should: non-owner fails to modify the swap program\n  ✔ [update_swap_program] should: deployer fails to update invalid values\n  ✔ [create_token_vault] should: non-deployer fails to create a token vault\n  ✔ [create_token_vault] should: deployer creates a token vault successfully (446ms)\n  ✔ [create_token_vault] should: deployer fails to create a token vault for an added mint account\n  ✔ [create_proposal] should: fail to create proposal with un-allowed mint tokens\n  ✔ [create_proposal] should: everyone can create publicly a proposal (964ms)\n  ✔ [cancel_proposal] should: participants can cancel proposal anytime when proposal isn't fulfilled (930ms)\n  ✔ [withdraw_assets] should: participant can withdraw assets when proposal is canceled (452ms)\n  ✔ [deposit_assets] should: proposal owner deposits offered items successfully (491ms)\n  ✔ [fulfil_assets] should: participant fulfill proposal successfully (447ms)\n  ✔ [redeem_assets] should: proposal owner can redeem items once the proposal is fulfilled (459ms)\n  ✔ [redeem_assets] should: participant can redeem items once the proposal is fulfilled (461ms)\n\n  16 passing (12s)\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCaviesLabs%2Fhamsterswap-program","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCaviesLabs%2Fhamsterswap-program","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCaviesLabs%2Fhamsterswap-program/lists"}