{"_id":"@descartes-network/falcon-dex","_rev":"15-231236395f10ff680d8b8723bf16a171","name":"@descartes-network/falcon-dex","dist-tags":{"next":"1.2.4-next.1","latest":"1.2.4"},"versions":{"1.0.0-next.1":{"name":"@descartes-network/falcon-dex","version":"1.0.0-next.1","main":"dist/app/index.js","author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0-next.1","gitHead":"325e76caa020d18531b9bdb0ce3aff80dd6c2342","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-YYGBc7mbJ2sjMBFV0ekusZebrQpoBbKzsol74nNN2sq0F6NP1lVaELKSpcSGbsvh2uWFkTlL0ZoP8gWt5he2hA==","shasum":"81796201e56060c0e66a19a8238b97774d30ea44","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0-next.1.tgz","fileCount":24,"unpackedSize":114655,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFA+cE1EwWsU0+hWa7ILnc78TxgSpv8jO2v+IvsI5b+LAiEAqfPw0mxrKyz4onFX1EK1pRdTAqCWygzjBL3tK4VuWBM="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0-next.1_1702814149444_0.6542563088707514"},"_hasShrinkwrap":false},"1.0.0-next.2":{"name":"@descartes-network/falcon-dex","version":"1.0.0-next.2","main":"dist/app/index.js","author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0-next.2","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm and run the below commands to install the project's dependencies\n\n```bash\npnpm install\n```\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"95e7523048cfcc7045e2c7e73c31e94bbac8c6ae","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-r3yx2FWiRGAhNIGqRpIPSIsKNp3/2l8k4sgRIF1pUZy1ybPBy247Udl3TWGzv/W4t0KPD4dL99CzltX3GP8jKQ==","shasum":"1d8ca7feab156bb14a79aada3f45e5e6cd73cef9","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0-next.2.tgz","fileCount":24,"unpackedSize":122717,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOg9Axuj3roTgK+1l9ip7j2LLxg4dzQJwZTmh2PLOboAiEA4ULNY2CW/pSIgSTg3DE9eNBjL1vkv7dTc4xugp9JEyY="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0-next.2_1702817918782_0.4385321731234131"},"_hasShrinkwrap":false},"1.0.0-next.3":{"name":"@descartes-network/falcon-dex","version":"1.0.0-next.3","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0-next.3","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm and run the below commands to install the project's dependencies\n\n```bash\npnpm install\n```\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"5bc584fb887dea9269f10fd106d50be87785d0dd","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-QrNVYxaelfvmdSvi9kbACvZ7MKBxMVlvz4Sy6vnigP9PiWw1+cjpMI1G8w/VzGi06LlOieMAVmVKy+See7jr9A==","shasum":"c41183ca708cb298b3c776ad2aeba86eb1e282e6","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0-next.3.tgz","fileCount":24,"unpackedSize":126323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCM/kDT0hQznfIf4lXs+YdyTv9eyQ3btpVyV0Tuqktv2AIgQOvv+PsxgfHRVh1go0cOnsxUMD3IDyyWVPhyQw+s/3g="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0-next.3_1702819200607_0.7273110985222444"},"_hasShrinkwrap":false},"1.0.0-next.4":{"name":"@descartes-network/falcon-dex","version":"1.0.0-next.4","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0-next.4","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Install](#install)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm.\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Install\n\n```bash\npnpm install\n```\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"6521c42fe555657391c59fcea92f5d96fa7ec518","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-23+YeR98HuezPDfqavLuSWfej9IwXqKUlwYD2RWChET6heBTFZA/NKwkyroS60KRzipMti3Gemu5LL4kGz2T9Q==","shasum":"f8f2a5acc7c21b61d0c18b9c0320163f906f0fa4","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0-next.4.tgz","fileCount":23,"unpackedSize":145991,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU4JAefQxHOQKlNW36W/oXWX8Dg3CJJwNLvcO5O49MjQIhAJhN9GP9oQWhxz5D5hcFC9veSoy3RO5wjVrUpw6DaS5F"}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0-next.4_1702832721800_0.8236598901021452"},"_hasShrinkwrap":false},"1.0.0-next.5":{"name":"@descartes-network/falcon-dex","version":"1.0.0-next.5","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0-next.5","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Install](#install)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm.\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Install\n\n```bash\npnpm install\n```\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"50b831cf8ff3f6170c258cab22552efbf1d98a4b","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-lIdt7H96Ynxa5QRCkleIUZl1Y/DZw8JBcbKzugB34rQNiFpvAoxd+xdCOcUZcUEiaeS1gCQ7Su78OEVgjDLqVA==","shasum":"74b11f33d59cf647a6f843f2d954d6e5e4841fdf","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0-next.5.tgz","fileCount":24,"unpackedSize":155629,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFskwa13EKF1djcInDpkzupNtx330lPmtdyyBba/5h5IAiEA17LYpnNPkFeiwDeUx9LC0oqvq+Ju5Licc2f0jVCcUEQ="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0-next.5_1702871737711_0.1496306954832689"},"_hasShrinkwrap":false},"1.0.0":{"name":"@descartes-network/falcon-dex","version":"1.0.0","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.0.0","gitHead":"8193d7c3cf3b943c21d404e8df349f7011ce9753","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-LTdpmBZQ1FVKaAqVjRZ+M6SgCE1rDUp4zgcvwj7oRWzqy76vkozwaKNlr2eVA/3DNVMy+GUMlSzhG7uc3QUbiA==","shasum":"d0ea080b3c758e146a3d05904fb92c111cb3973e","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.0.0.tgz","fileCount":24,"unpackedSize":155622,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/nw/d0IhrNGjvW2hw1TwMCsYZ9xBfvg1Mgs8HXHj5zQIgL0wiyoOKbr8X257yWcwcNDmaPJl26GXHNYab1dU/mNo="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.0.0_1702872424492_0.605315516963294"},"_hasShrinkwrap":false},"1.1.0":{"name":"@descartes-network/falcon-dex","version":"1.1.0","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.1.0","gitHead":"6cfbcea0d1d57121ee7d4ecb499f973ebbd9b429","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-WJnW4l7FzypVZZY09CBM4A32EiFT+saukMVin7bM3gCH9E3yS8tHizz1gWfwVzoArdk0Upfq8f7D/zfhy8aCQQ==","shasum":"8b087c61187d6a771aa05ad1ce73dbcfa920ff63","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.1.0.tgz","fileCount":24,"unpackedSize":155614,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUJEVKs0/cptXDBM/FDr1YdG/GC5iOS9wCfCIfkFyyTAIhAIaha4qTR7bu7xcgM10HhlqK07/T/4GLF49FTh45CTmW"}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.1.0_1703235217258_0.6891126629815096"},"_hasShrinkwrap":false},"1.1.1":{"name":"@descartes-network/falcon-dex","version":"1.1.1","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch test --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.1.1","gitHead":"787b51412ba5c8e8993bfcf86fc84552aa052403","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-/uFYeY+qs0SomEhIuouPc7D3G8UmYYTFKt5iyMv/OdrQKLZU5C437gt2AwoHrcmkznC0kxTDQAhmKea5ujPHOA==","shasum":"a851106b25b38aefec6c0fe442c0141752b79666","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.1.1.tgz","fileCount":23,"unpackedSize":146605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2Z4W8RuYmQ/a8qnq0zCxue/K0lv1i78oBiiWq9XYQsAiBLaY7pUQ0C4fSz6lQpDVjYEbGsCdohxe71+YL5n3X0MA=="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.1.1_1703256780517_0.38476378017832635"},"_hasShrinkwrap":false},"1.2.0":{"name":"@descartes-network/falcon-dex","version":"1.2.0","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.0","gitHead":"36f8b25613b6bf89793da17d881980671de754e1","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+08PdlMAGmkM9DYuZRNBip/Utw0fyTr6M4aHaL5mQYsoETjOxDBC0W/dIlfjk77Tc7mvPLW1pzdMaJUFrQelAw==","shasum":"cc6d7e22b854427cda82e8f614bbaae2bbcc554b","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.0.tgz","fileCount":26,"unpackedSize":150200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFp57Qbsez5loL9WIA5liRfSDYy4qgXAAojKTMKtXE1CAiEAz28tIW5Y1pHnJSsvg3nok4xN1uJhdxKI6aq8RZn9JQc="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.0_1703398463088_0.07660576239195338"},"_hasShrinkwrap":false},"1.2.1":{"name":"@descartes-network/falcon-dex","version":"1.2.1","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","deploy":"pnpm ci:docs && gh-pages -d docs","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.1","gitHead":"3cf0348ac52c7d76c0a71e14c477c0bf0b4b9491","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-h/jdz/vMuYwIU9Qqxjq6Yu9gVOoegWcO9sEhZ4MKpspnu8vXffcg1FMHTnxkbvB1ZsnyiGFt+YIBk1T8XUcXrQ==","shasum":"86f147fba568570a428731cc14426c8f7aa73c60","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.1.tgz","fileCount":26,"unpackedSize":150397,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP4MpJGl0Fqc1W2imQFZqEADMN+zayj3jsjaKg9+aPGAIgdbi/aiqrJXZwQvDzJNLwCV+Z4I5yLAPGj4pIZvZpAQI="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.1_1703414380848_0.5021540544271199"},"_hasShrinkwrap":false},"1.2.2-next.1":{"name":"@descartes-network/falcon-dex","version":"1.2.2-next.1","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"anchor build && rimraf dist && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"pnpm ci:build:docs && gh-pages -d docs","ci:build:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.2-next.1","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Install](#install)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm.\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Install\n\n```bash\npnpm install\n```\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"42749ea723c2954b6a5eff8acd68dd395d129801","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-XKVDhaVCCwr3UkmitDPH3/3Sl1GRug36XUUHWS5DaWdyYEyuwGyBu+EN9CicITQ/qwo4veiQc2lO9ZQ66ttoIA==","shasum":"0b3ad7c0a6539f3705866d170621fd027383b8f4","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.2-next.1.tgz","fileCount":25,"unpackedSize":150402,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFaEJ79xh+0KL8Y6dxAhhVhchSZuV2one7wc29nj/aKQIgJgQy45AOdmNNQ8ErtpzGo50LaR6FqUMaaUuVn/vSvws="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.2-next.1_1703560021752_0.03695945385029287"},"_hasShrinkwrap":false},"1.2.2":{"name":"@descartes-network/falcon-dex","version":"1.2.2","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"pnpm clean && anchor build && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"typedoc --excludePrivate --excludeProtected ./app/index.ts","ci:release":"semantic-release","clean":"rimraf dist docs"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.2","gitHead":"63de152348d93ff1e50dab86bd44ec9599288b70","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-wSyiP06hYX4hD1LdYcOzz7YlNHYo6pZYiIupw6OwR0PEquIWeNwe4hTqGi0AFbwlzT/ZpXLIwtUo5yyeqVd3iw==","shasum":"3d8b310a1973bc54f2416c2708fca8098551fbf5","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.2.tgz","fileCount":25,"unpackedSize":150364,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC32C9OOwLjh0y6y/1ARsShjdtZXbrU1F5ikaW9ONSUxwIhAKZq8JMRhVEeTbc5Sfc0a/q2fiTJFlKSD8c7iP3MTA6H"}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.2_1703561990694_0.4812633509861244"},"_hasShrinkwrap":false},"1.2.3-next.1":{"name":"@descartes-network/falcon-dex","version":"1.2.3-next.1","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"pnpm clean && anchor build && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"typedoc --includeVersion --excludePrivate --excludeProtected app/index.ts target/types/falcon_dex.ts","ci:release":"semantic-release","clean":"rimraf dist docs"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.3-next.1","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Install](#install)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm.\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Install\n\n```bash\npnpm install\n```\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"793f1e60b21ad6efe755708dc6b53306a493ad0f","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-9PWhYsaTb4zSEF57TdP0+YtiWCj5/xI3q0j2MM5m+nhtws6+QKAKaK95XOw2SU0bX+DMse9Npx4bvATBIrB3pg==","shasum":"ae589e4d7e41a6484491035109294ef59e8bfa14","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.3-next.1.tgz","fileCount":25,"unpackedSize":151093,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnBcGCDInAojoOAr3b1HejLyLjtiJilC0jmrT0zZtgGgIgHkPTHBMAIGVW3wHJjWpYp3EzASjodhrZRjmERIuZcos="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.3-next.1_1703819244704_0.5041356538788373"},"_hasShrinkwrap":false},"1.2.3":{"name":"@descartes-network/falcon-dex","version":"1.2.3","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"pnpm clean && anchor build && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"typedoc --includeVersion --excludePrivate --excludeProtected app/index.ts target/types/falcon_dex.ts","ci:release":"semantic-release","clean":"rimraf dist docs"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.3","gitHead":"2e4554d9e0018c22648187915454e8f319fd7c0a","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-lufVmypVJ1C3SOv3cbJ1hwmwdDUA1UfTYuNxIqfyVOrbFgiDQ3Il4a9B/bvndidG8NcGOpqqE4Tm7VEfTOgAYw==","shasum":"b2f110ff976087cbd14714415867ec597057697d","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.3.tgz","fileCount":25,"unpackedSize":151086,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKy1Rb2fiMf4+5DJOcxQQeU2zPfYmjpX4zwXXZyQidwgIhAK89uUWCvePtIrO8j9lSHzMrRf2UfDPd/6TM/0lCY2tH"}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.3_1703819438333_0.47646746784328387"},"_hasShrinkwrap":false},"1.2.4":{"name":"@descartes-network/falcon-dex","version":"1.2.4","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"pnpm clean && anchor build && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"typedoc --includeVersion --excludePrivate --excludeProtected app/index.ts target/types/falcon_dex.ts","ci:release":"semantic-release","clean":"rimraf dist docs"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.4","gitHead":"ad15e7038dc3ee5a98ffe2f36c0025d29754b8cd","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+slKjLBi4UppXD/I2vFvIeLgucRW+uDlIxZBrzCYM77UTBRCzX712es8EHQU0Ie5F5XbFtMRhO6Nv53deCEQ2Q==","shasum":"ced4ac24b8e8a1363e5395dc1768876a7e9732af","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.4.tgz","fileCount":25,"unpackedSize":151111,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDRd7VpwJ9YdDjN3/aCeIwfNU7o/Cb0nYGOY1PiBJScAIgSUj6WW4O9n40G8nl9J+IkxMXJxgC1gEIg0tDSqHBRys="}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.4_1705250442220_0.3446646912010096"},"_hasShrinkwrap":false},"1.2.4-next.1":{"name":"@descartes-network/falcon-dex","version":"1.2.4-next.1","main":"dist/app/index.js","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"],"author":{"name":"Descartes Network","email":"hello@descartes.network"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"prepare":"husky install","build":"pnpm clean && anchor build && tsc","test":"pnpm build && anchor test","test:watch":"nodemon --ext ts,rs --watch app --watch src --watch tests --exec 'pnpm test'","ci:docs":"typedoc --includeVersion --excludePrivate --excludeProtected app/index.ts target/types/falcon_dex.ts","ci:release":"semantic-release","clean":"rimraf dist docs"},"engines":{"node":"18.x"},"resolutions":{"@solana/buffer-layout":"^4.0.1"},"dependencies":{"@coral-xyz/anchor":"^0.29.0","@coral-xyz/spl-token":"^0.29.0"},"devDependencies":{"@commitlint/cli":"^18.4.3","@commitlint/config-conventional":"^18.4.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.5","@types/bn.js":"^5.1.0","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","@types/node":"^20.10.4","chai":"^4.3.4","husky":"^8.0.0","mocha":"^9.0.3","nodemon":"^3.0.2","prettier":"^2.6.2","rimraf":"^5.0.5","semantic-release":"^22.0.12","ts-mocha":"^10.0.0","ts-node":"^10.9.2","typedoc":"^0.25.4","typescript":"^4.3.5"},"_id":"@descartes-network/falcon-dex@1.2.4-next.1","readme":"# Falcon DEX\n\nFalcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).\n\nBeside that, we also add some extra features to help leverage others on-top application in the future. You can find details in the [Implementation](#implementation).\n\n# Table of Contents\n\n- [Preresiquite](#preresiquite)\n  - [anchor-lang](#anchor-lang)\n  - [pnpm](#pnpm)\n  - [Versions](#versions)\n- [How to run?](#how-to-run)\n  - [Install](#install)\n  - [Build](#build)\n  - [Test](#test)\n- [Implementation](#implementation)\n  - [Folder Structure](#folder-structure)\n- [Audited](#audited)\n- [Copyright](#copyright)\n\n# Preresiquite\n\n## anchor-lang\n\nPlease follow this link https://www.anchor-lang.com/docs/installation to setup anchor-lang on your machine.\n\n## pnpm\n\nDue to some conlicts between `yarn` and `anchor-lang`, we decided to migrate `yarn` to `pnpm` within this project. Follow https://pnpm.io/installation to setup pnpm.\n\n## Versions\n\nThere are many people experienced unexpected issues due to the version compatibility of `rustc`, `solana`, `anchor`. To reduce the problem, You SHOULD follow the well-tested set of following versions.\n\n| Name   | Version |\n| ------ | ------- |\n| rustc  | 1.74.0  |\n| solana | 1.16.19 |\n| pnpm   | 8.11.0  |\n| anchor | 0.29.0  |\n\n# How to run?\n\n## Install\n\n```bash\npnpm install\n```\n\n## Build\n\nTo build the program,\n\n```bash\npnpm build\n```\n\n## Test\n\nTo run the testcase,\n\n```bash\npnpm test\n```\n\nFor more details about the test cases, you can explore it [Falcon DEX Testing](./tests/README.md).\n\n# Implementation\n\n## Folder Structure\n\n| Folder name                   | Description                                                                                               |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------- |\n| `src/falcon-dex`              | The smart contract implementation                                                                         |\n| `src/falcon-dex/instructions` | The smart contract's processors. Each instruction from users will be navigated to the relevant processor. |\n| `src/falcon-dex/schema`       | Defines program account schema.                                                                           |\n| `app`                         | The Falcon DEX's SDK to help developers to interact with the smart contract.                              |\n| `migrations`                  | Contains smart contract deployment scripts.                                                               |\n| `tests`                       | Contains testcases for both the smart contract and the SDK.                                               |\n| `.github`                     | Defines Github workflows                                                                                  |\n\n# Audited\n\n~\n\n# Copyright\n\nFalcon DEX © 2023 Falcon Space LLC.\n","readmeFilename":"README.md","gitHead":"f92c9b43c360a9107b93317326ca5f57d689c193","types":"./dist/app/index.d.ts","description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-k4vRyV/emaoDmRgUHNKNgy1V4bC2vibpYbAd6cWo0woToW7Q7GtSL2B8RotoNrWtr/dEbDhbGmgF3MmVIm4v5g==","shasum":"4b9085e4b925bd28ec02ffdaede9e2c32500c0af","tarball":"https://registry.npmjs.org/@descartes-network/falcon-dex/-/falcon-dex-1.2.4-next.1.tgz","fileCount":25,"unpackedSize":151118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrRjtBpHvUvi4RCuf/myqlolzTYpepoUTL9CNip47UtwIhALcTmexqr8wzcuPIBOtbdYD9IWPHOOGRFiQxGLlzJKqA"}]},"_npmUser":{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"},"directories":{},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-dex_1.2.4-next.1_1705250528719_0.3540685173938918"},"_hasShrinkwrap":false}},"time":{"created":"2023-12-17T11:55:49.311Z","1.0.0-next.1":"2023-12-17T11:55:49.707Z","modified":"2024-01-14T16:42:09.127Z","1.0.0-next.2":"2023-12-17T12:58:39.002Z","1.0.0-next.3":"2023-12-17T13:20:00.834Z","1.0.0-next.4":"2023-12-17T17:05:21.984Z","1.0.0-next.5":"2023-12-18T03:55:37.900Z","1.0.0":"2023-12-18T04:07:04.731Z","1.1.0":"2023-12-22T08:53:37.427Z","1.1.1":"2023-12-22T14:53:00.712Z","1.2.0":"2023-12-24T06:14:23.297Z","1.2.1":"2023-12-24T10:39:41.123Z","1.2.2-next.1":"2023-12-26T03:07:01.899Z","1.2.2":"2023-12-26T03:39:50.903Z","1.2.3-next.1":"2023-12-29T03:07:24.900Z","1.2.3":"2023-12-29T03:10:38.552Z","1.2.4":"2024-01-14T16:40:42.395Z","1.2.4-next.1":"2024-01-14T16:42:08.879Z"},"maintainers":[{"name":"tphanson","email":"phan.son.tu.1994@gmail.com"}],"description":"Falcon DEX is a Uniswap-v2-like AMM on Solana. The AMM implementation is heavily relying on [Uniswap v2](https://github.com/Uniswap/v2-core).","homepage":"https://github.com/DescartesNetwork/falcon-dex#readme","repository":{"type":"git","url":"git+ssh://git@github.com/DescartesNetwork/falcon-dex.git"},"author":{"name":"Descartes Network","email":"hello@descartes.network"},"bugs":{"url":"https://github.com/DescartesNetwork/falcon-dex/issues"},"license":"MIT","readme":"","readmeFilename":"","keywords":["falcon-space","falcon-dex","fcon","amm","dex","solana"]}