Go to file
Will 70d45ec5a3
Remove some unnused/unnecessary lock files (#137)
2024-03-22 09:21:36 -04:00
docs Fix PositionUtil.getPositionStatus bug (#133) 2024-02-13 00:13:17 +09:00
migrations Open Source commit for Orca Whirlpools (#1) 2022-05-02 20:32:00 -07:00
programs/whirlpool Increase the fee rate limit and log fee growth within the swap instruction (#104) 2023-08-22 20:35:13 -04:00
scripts Add collectFeesAndRewardsForPositions to allow easy fee/reward collection (#57) 2022-11-24 15:37:41 +07:00
sdk Remove some unnused/unnecessary lock files (#137) 2024-03-22 09:21:36 -04:00
.gitignore Update SDK to use Anchor 0.27 & other settings for Smart-Router (#97) 2023-04-24 10:13:57 +10:00
Anchor.toml Upgrade spl-token to v0.3.8 & common 0.3.0 (#105) 2023-06-20 16:29:56 +08:00
Cargo.lock bundled positions (#89) 2023-04-07 21:18:56 +09:00
Cargo.toml Open Source commit for Orca Whirlpools (#1) 2022-05-02 20:32:00 -07:00
LICENSE Update License to new language (#5) 2022-05-12 08:35:04 -07:00
README.md update README (#119) 2023-11-08 13:28:43 +09:00
package.json Open Source commit for Orca Whirlpools (#1) 2022-05-02 20:32:00 -07:00
tsconfig.json Refactor SDK and add formal documentation (#2) 2022-05-09 10:04:47 -07:00
yarn.lock Bump common-sdk to 0.5.3 (#139) 2024-03-20 10:18:38 +13:00

README.md

Whirlpools

Whirpools is an open-source concentrated liquidity AMM contract on the Solana blockchain. This repository contains the Rust smart contract as well as the Typescript SDK (@orca-so/whirlpools-sdk) to interact with a deployed program.

The contract has been audited by Kudelski and Neodyme.

The contract has been deployed using verifiable build, so that you can ensure that the hash of the on-chain program matches the hash of the program of the given codebase.

Requirements

  • Anchor 0.26.0
  • Solana 1.14.12
  • Rust 1.60.0

Setup

Install Anchor using instructions found here.

Set up a valid Solana keypair at the path specified in the wallet in Anchor.toml to do local testing with anchor test flows.

$NODE_PATH must be set to the node_modules directory of your global installs. For example, using Node 16.10.0 installed through nvm, the $NODE_PATH is the following:

$ echo $NODE_PATH
/Users/<home_dir>/.nvm/versions/node/v16.10.0/lib/node_modules

Usage

Instructions on how to interact with the Whirlpools contract is documented in the Orca Developer Portal.

Tests

  • Run "cargo test --lib" to run Rust unit tests

Whirlpool SDK

Use the SDK to interact with a deployed Whirlpools program via Typescript.

Installation

In your package, run:

yarn add "@orca-so/whirlpools-sdk"
yarn add "@coral-xyz/anchor"
yarn add "decimal.js"

Usage

Read instructions on how to use the SDK on the Orca Developer Portal.

Run Typescript tests via local validator

In the whirlpools/sdk folder, run:

anchor test

Generate TypeDoc

In the sdk folder, run yarn run docs

You can also see the generated TypeDoc.

Sample Codes

You can find sample code covering basic operations here.


Support

Questions

Have problems integrating with the SDK? Pop by over to the Orca Discord #dev-questions channel and chat with one of our engineers.

Feedback

Got ideas on how to improve the system? Open up an issue on github with the prefix [FEEDBACK] and let's brainstorm more about it together!

License

Apache 2.0