{"id":23092333,"url":"https://github.com/chungquantin/remitano-project","last_synced_at":"2026-07-21T21:33:54.065Z","repository":{"id":265819031,"uuid":"630694825","full_name":"chungquantin/remitano-project","owner":"chungquantin","description":"Remitano Project","archived":false,"fork":false,"pushed_at":"2023-04-23T11:52:11.000Z","size":1009,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-02T11:39:27.734Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/chungquantin.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":"2023-04-21T00:19:37.000Z","updated_at":"2023-04-23T04:32:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ba07ff0-c095-4c14-933f-25a94e5c49aa","html_url":"https://github.com/chungquantin/remitano-project","commit_stats":null,"previous_names":["chungquantin/remitano-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chungquantin/remitano-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chungquantin%2Fremitano-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chungquantin%2Fremitano-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chungquantin%2Fremitano-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chungquantin%2Fremitano-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chungquantin","download_url":"https://codeload.github.com/chungquantin/remitano-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chungquantin%2Fremitano-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35738363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-21T02:00:06.728Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-12-16T21:32:12.639Z","updated_at":"2026-07-21T21:33:54.035Z","avatar_url":"https://github.com/chungquantin.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remitano Project\n\n## Project Description\n\nPlease create a smart contract that allows users to swap tokens.\nOnce you have completed the application, please deploy it to Solana testnet, upload the source code to GitHub (or your favorite git hosting provider) and submit the links to:\n\n### Link to submission\n\nhttps://remi.group/project-blockchain-submission\n\n### Required Features:\nThe implementation steps are covered in the below section\n- [x] Create a new token on Solana testnet, for example, MOVE token.\n- [x] Create a smart contract to swap SOL to MOVE token, for each SOL swapped we will receive 10 MOVE (the price is a constant).\n- [x] Create a UI to swap or create a script to execute to send swap transaction to Solana testnet\n\n### Technical requirements:\n\n- [x] Use Git and commit often\n- [x] Have unit test for that contract\n- [x] Smart contract have to be deployed to Solana testnet and execute successfully\n\n## Submission Checklist\n\n- [x] Create a new token on Solana testnet, for example, MOVE token.\n* Address of new token: `CM2Tb1iNhLsyPRaq43tFNSaQMW7N7Qx2R6ZypacCqM7S`\n* Mint authority: `BxUeMg5etjmiDX25gbGi2pn1MyzkcQx3ZCCiUifTUhyj`\n* Supply: `10,030,000,000` (decimals: 9)\n\n- [x] Have unit test for that contract\n\nLink to test folder: https://github.com/chungquantin/remitano-project/blob/master/tests/remitano-project.spec.ts\n\nTo run the test: `npm run test` or `anchor test` in the root directory\n\n- [x] Create a UI to swap or create a script to execute to send swap transaction to Solana testnet\n* Deployed URL: https://remitano-project.netlify.app/\n\u003cimg width=\"1440\" alt=\"Screen Shot 2023-04-23 at 07 48 22\" src=\"https://user-images.githubusercontent.com/56880684/233837922-cbda186c-0d4f-4ab0-a15a-c2acc2fbf3df.png\"\u003e\n\n- [x] Create a smart contract to swap SOL to MOVE token, for each SOL swapped we will receive 10 MOVE (the price is a constant).\n* Link to smart contract: https://github.com/chungquantin/remitano-project/blob/master/programs/remitano-project/src/lib.rs\n\n- [x] Smart contract have to be Solana testnet\n\n* Smart contract address: `Cb95wqzowAjpuRi2yRoo9agiko6c5g3eTAWammsWwC1h`\n* Testnet URL: https://explorer.solana.com/address/Cb95wqzowAjpuRi2yRoo9agiko6c5g3eTAWammsWwC1h?cluster=testnet\n\n## Implementation\n\n### Create new token\n\n```\n3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1\n```\n\nUsing SPL token CLI to create and mint new token\n\n```yaml\n1016  spl-token\n1017  spl-token accounts\n1018  spl-token accounts mint\n1019  spl-token accounts create-token\n1020  spl-token create-token\n1021  spl-token accounts\n1022  spl-token balance\n1023  spl-token create-account\n1024  spl-token create-account 3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1\n1025  spl-token balance\n1026  spl-token accounts\n1027  spl-token accounts | grep 9ReYN8PVF8qJtSbWXAsZknVfiT6ht3bnfQ9Kq8zFpSC5\n1028  spl-token accounts 3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1\n1029  spl-token mint 3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1\n1030  spl-token create-account 3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1 10000\n1031  spl-token mint 3trVWdP5LcofWPB6QzEzJjiMd3pwTNmLZRzijfJjWsV1 10000\n```\n\n### Test Anchor program\n\n```\nanchor test\n```\n\n### Deploy to Testnet\n\n```\nsolana config set --url testnet\nsolana airdrop 1\nanchor deploy\n```\n\nUpdate Anchor config file\n\n```toml\n[provider]\ncluster = \"testnet\"\nwallet = \"/Users/chungquantin/snf-1.json\"\n```\n\n### Create new liquidity Pool\n\n```js\nit(\"Is liquidity pool initialized!\", async () =\u003e {\n  // Add your test here.\n  const name = \"REMITANO_SAMPLE_POOL\";\n  const createdPool = await createSamplePool(name);\n  const fetchedPool = await program.account.basicLiquidityPool.fetch(\n    createdPool.poolKeypair.publicKey\n  );\n  console.log(\"Fetched pool\", fetchedPool);\n  assert.deepEqual(createdPool.pool.name, fetchedPool.name);\n  assert.isTrue(\n    createdPool.pool.pool_provider.equals(fetchedPool.poolProvider)\n  );\n});\n```\n### Swap token SOL \u003c\u003e Test token\n\n```tsx\nit(\"Swap token\", async () =\u003e {\n   // Expected outcome: newAccount receives 1 test token, swap 1 SOL\n   const { swapTokenData, transaction } = await remitanoService.swapToken(\n     anchorProvider.wallet.publicKey,\n     anchorProvider.wallet.publicKey,\n     poolAddress,\n     MINT_TOKEN_ADDRESS,\n     new BN(LAMPORTS_PER_SOL * 1)\n   );\n\n   const swapIx = await program.methods\n     .swapToken(swapTokenData.amount)\n     .accounts(swapTokenData.ctx.accounts)\n     .signers([])\n     .instruction();\n\n   transaction.instructions.push(swapIx);\n\n   console.log(transaction.instructions);\n\n   const tx = await anchorProvider.sendAndConfirm(transaction, []);\n   console.log(\"Your transaction signature\", tx);\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchungquantin%2Fremitano-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchungquantin%2Fremitano-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchungquantin%2Fremitano-project/lists"}