Socket
Socket
Sign inDemoInstall

@orca-so/sdk

Package Overview
Dependencies
Maintainers
3
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orca-so/sdk - npm Package Compare versions

Comparing version 1.1.14 to 1.2.0

dist/constants/devnet/farms.d.ts

6

dist/model/orca-factory.d.ts
import { Connection } from "@solana/web3.js";
import { OrcaPoolConfig, OrcaPool, OrcaFarmConfig, OrcaFarm } from "..";
import { OrcaPoolConfig, OrcaPool, OrcaFarmConfig, OrcaFarm, Network } from "..";
export declare class OrcaFactory {
getPool(connection: Connection, config: OrcaPoolConfig): OrcaPool;
getFarm(connection: Connection, config: OrcaFarmConfig): OrcaFarm;
getPool(connection: Connection, network: Network, config: OrcaPoolConfig): OrcaPool;
getFarm(connection: Connection, network: Network, config: OrcaFarmConfig): OrcaFarm;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrcaFactory = void 0;
const __1 = require("..");
const constants_1 = require("../constants");
const devnet_1 = require("../constants/devnet");
const devnet_2 = require("../public/devnet");
const orca_farm_1 = require("./orca/farm/orca-farm");
const orca_pool_1 = require("./orca/pool/orca-pool");
class OrcaFactory {
getPool(connection, config) {
return new orca_pool_1.OrcaPoolImpl(connection, constants_1.orcaPoolConfigs[config]);
getPool(connection, network, config) {
if (network === __1.Network.DEVNET) {
const devnetConfig = (0, devnet_2.getDevnetPool)(config);
return new orca_pool_1.OrcaPoolImpl(connection, network, devnet_1.orcaDevnetPoolConfigs[devnetConfig]);
}
return new orca_pool_1.OrcaPoolImpl(connection, network, constants_1.orcaPoolConfigs[config]);
}
getFarm(connection, config) {
getFarm(connection, network, config) {
if (network === __1.Network.DEVNET) {
const devnetConfig = (0, devnet_2.getDevnetFarm)(config);
return new orca_farm_1.OrcaFarmImpl(connection, devnet_1.orcaDevnetFarmConfigs[devnetConfig]);
}
return new orca_farm_1.OrcaFarmImpl(connection, constants_1.orcaFarmConfigs[config]);

@@ -13,0 +24,0 @@ }

import { Connection } from "@solana/web3.js";
import { Orca, OrcaFarm, OrcaPool, OrcaPoolConfig, OrcaFarmConfig } from "../../public";
import { Orca, OrcaFarm, OrcaPool, OrcaPoolConfig, OrcaFarmConfig, Network } from "../../public";
export declare class OrcaImpl implements Orca {
private connection;
private network;
private factory;
constructor(connection: Connection);
constructor(connection: Connection, network: Network);
getPool(pool: OrcaPoolConfig): OrcaPool;
getFarm(farm: OrcaFarmConfig): OrcaFarm;
}

@@ -6,13 +6,14 @@ "use strict";

class OrcaImpl {
constructor(connection) {
constructor(connection, network) {
this.connection = connection;
this.network = network;
this.factory = new orca_factory_1.OrcaFactory();
}
getPool(pool) {
return this.factory.getPool(this.connection, pool);
return this.factory.getPool(this.connection, this.network, pool);
}
getFarm(farm) {
return this.factory.getFarm(this.connection, farm);
return this.factory.getFarm(this.connection, this.network, farm);
}
}
exports.OrcaImpl = OrcaImpl;
import { Connection, PublicKey, Keypair } from "@solana/web3.js";
import Decimal from "decimal.js";
import { OrcaU64, OrcaPool, OrcaToken, OrcaPoolToken, Quote, TransactionPayload, DepositQuote, WithdrawQuote } from "../../../public";
import { OrcaU64, OrcaPool, OrcaToken, OrcaPoolToken, Quote, TransactionPayload, DepositQuote, WithdrawQuote, Network } from "../../../public";
import { OrcaPoolParams } from "./pool-types";

@@ -8,3 +8,4 @@ export declare class OrcaPoolImpl implements OrcaPool {

private poolParams;
constructor(connection: Connection, config: OrcaPoolParams);
private orcaTokenSwapId;
constructor(connection: Connection, network: Network, config: OrcaPoolParams);
getTokenA(): OrcaPoolToken;

@@ -11,0 +12,0 @@ getTokenB(): OrcaPoolToken;

@@ -31,5 +31,7 @@ "use strict";

class OrcaPoolImpl {
constructor(connection, config) {
constructor(connection, network, config) {
this.connection = connection;
this.poolParams = config;
this.orcaTokenSwapId =
network === public_1.Network.MAINNET ? public_1.ORCA_TOKEN_SWAP_ID : public_1.ORCA_TOKEN_SWAP_ID_DEVNET;
}

@@ -99,3 +101,3 @@ getTokenA() {

const _c = (0, pool_instructions_1.createApprovalInstruction)(ownerAddress, amountInU64, inputPoolTokenUserAddress), { userTransferAuthority } = _c, approvalInstruction = __rest(_c, ["userTransferAuthority"]);
const swapInstruction = yield (0, pool_instructions_1.createSwapInstruction)(this.poolParams, _owner, inputPoolToken, inputPoolTokenUserAddress, outputPoolToken, outputPoolTokenUserAddress, amountInU64, minimumAmountOutU64, userTransferAuthority.publicKey);
const swapInstruction = yield (0, pool_instructions_1.createSwapInstruction)(this.poolParams, _owner, inputPoolToken, inputPoolTokenUserAddress, outputPoolToken, outputPoolTokenUserAddress, amountInU64, minimumAmountOutU64, userTransferAuthority.publicKey, this.orcaTokenSwapId);
return yield new public_1.TransactionBuilder(this.connection, ownerAddress, _owner)

@@ -165,3 +167,3 @@ .addInstruction(resolveInputAddrInstructions)

// Create the deposit instruction
const depositInstruction = yield (0, pool_instructions_1.createDepositInstruction)(this.poolParams, userTransferAuthority.publicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, minPoolTokenAmountOut_U64, maxTokenAIn_U64, maxTokenBIn_U64, tokenA.addr, tokenB.addr, _owner);
const depositInstruction = yield (0, pool_instructions_1.createDepositInstruction)(this.poolParams, userTransferAuthority.publicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, minPoolTokenAmountOut_U64, maxTokenAIn_U64, maxTokenBIn_U64, tokenA.addr, tokenB.addr, this.orcaTokenSwapId, _owner);
return yield new public_1.TransactionBuilder(this.connection, ownerAddress, _owner)

@@ -246,3 +248,3 @@ .addInstruction(resolveTokenAInstrucitons)

// Create the withdraw instruction
const withdrawInstruction = yield (0, pool_instructions_1.createWithdrawInstruction)(this.poolParams, userTransferAuthority.publicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmountIn_U64, minTokenAOut_U64, minTokenBOut_U64, tokenA.addr, tokenB.addr, _owner);
const withdrawInstruction = yield (0, pool_instructions_1.createWithdrawInstruction)(this.poolParams, userTransferAuthority.publicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmountIn_U64, minTokenAOut_U64, minTokenBOut_U64, tokenA.addr, tokenB.addr, this.orcaTokenSwapId, _owner);
return yield new public_1.TransactionBuilder(this.connection, ownerAddress, _owner)

@@ -249,0 +251,0 @@ .addInstruction(resolveTokenAInstrucitons)

import { Connection } from "@solana/web3.js";
import { Network } from "..";
import { Orca } from "./types";

@@ -8,2 +9,2 @@ /**

*/
export declare function getOrca(connection: Connection): Orca;
export declare function getOrca(connection: Connection, network?: Network): Orca;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrca = void 0;
const __1 = require("..");
const orca_impl_1 = require("../../model/orca/orca-impl");

@@ -10,5 +11,5 @@ /**

*/
function getOrca(connection) {
return new orca_impl_1.OrcaImpl(connection);
function getOrca(connection, network = __1.Network.MAINNET) {
return new orca_impl_1.OrcaImpl(connection, network);
}
exports.getOrca = getOrca;
import { PublicKey } from "@solana/web3.js";
export declare const ORCA_TOKEN_SWAP_ID: PublicKey;
export declare const ORCA_TOKEN_SWAP_ID_DEVNET: PublicKey;
export declare const SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID: PublicKey;
export declare const ORCA_FARM_ID: PublicKey;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ORCA_FARM_ID = exports.SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID = exports.ORCA_TOKEN_SWAP_ID = void 0;
exports.ORCA_FARM_ID = exports.SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID = exports.ORCA_TOKEN_SWAP_ID_DEVNET = exports.ORCA_TOKEN_SWAP_ID = void 0;
const web3_js_1 = require("@solana/web3.js");
exports.ORCA_TOKEN_SWAP_ID = new web3_js_1.PublicKey("9W959DqEETiGZocYWCQPaJ6sBmUzgfxXfqGeTEdp3aQP");
exports.ORCA_TOKEN_SWAP_ID_DEVNET = new web3_js_1.PublicKey("3xQ8SWv2GaFXXpHZNqkXsdxq5DZciHBz6ZFoPPfbFd7U");
exports.SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID = new web3_js_1.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
exports.ORCA_FARM_ID = new web3_js_1.PublicKey("82yxjeMsvaURa4MbZZ7WZZHfobirZYkH1zF8fmeGtyaQ");

@@ -7,1 +7,2 @@ export * from "./constants";

export * from "./web3";
export * from "./types";

@@ -19,1 +19,2 @@ "use strict";

__exportStar(require("./web3"), exports);
__exportStar(require("./types"), exports);

@@ -33,3 +33,3 @@ "use strict";

return __awaiter(this, void 0, void 0, function* () {
if (tokenMint !== tokens_1.solToken.mint) {
if (!tokenMint.equals(tokens_1.solToken.mint)) {
const derivedAddress = yield deriveAssociatedTokenAddress(owner.publicKey, tokenMint);

@@ -36,0 +36,0 @@ // Check if current wallet has an ATA for this spl-token mint. If not, create one.

@@ -10,4 +10,4 @@ import { u64 } from "@solana/spl-token";

} & Instruction;
export declare const createSwapInstruction: (poolParams: OrcaPoolParams, owner: Owner, inputToken: OrcaPoolToken, inputTokenUserAddress: PublicKey, outputToken: OrcaPoolToken, outputTokenUserAddress: PublicKey, amountIn: u64, minimumAmountOut: u64, userTransferAuthority: PublicKey) => Promise<Instruction>;
export declare const createDepositInstruction: (poolParams: OrcaPoolParams, userTransferAuthorityPublicKey: PublicKey, userTokenAPublicKey: PublicKey, userTokenBPublicKey: PublicKey, userPoolTokenPublicKey: PublicKey, poolTokenAmount: u64, maximumTokenA: u64, maximumTokenB: u64, tokenAPublicKey: PublicKey, tokenBPublicKey: PublicKey, owner: Owner) => Promise<Instruction>;
export declare const createWithdrawInstruction: (poolParams: OrcaPoolParams, userTransferAuthorityPublicKey: PublicKey, userTokenAPublicKey: PublicKey, userTokenBPublicKey: PublicKey, userPoolTokenPublicKey: PublicKey, poolTokenAmount: u64, minimumTokenA: u64, minimumTokenB: u64, tokenAPublicKey: PublicKey, tokenBPublicKey: PublicKey, owner: Owner) => Promise<Instruction>;
export declare const createSwapInstruction: (poolParams: OrcaPoolParams, owner: Owner, inputToken: OrcaPoolToken, inputTokenUserAddress: PublicKey, outputToken: OrcaPoolToken, outputTokenUserAddress: PublicKey, amountIn: u64, minimumAmountOut: u64, userTransferAuthority: PublicKey, orcaTokenSwapId: PublicKey) => Promise<Instruction>;
export declare const createDepositInstruction: (poolParams: OrcaPoolParams, userTransferAuthorityPublicKey: PublicKey, userTokenAPublicKey: PublicKey, userTokenBPublicKey: PublicKey, userPoolTokenPublicKey: PublicKey, poolTokenAmount: u64, maximumTokenA: u64, maximumTokenB: u64, tokenAPublicKey: PublicKey, tokenBPublicKey: PublicKey, orcaTokenSwapId: PublicKey, owner: Owner) => Promise<Instruction>;
export declare const createWithdrawInstruction: (poolParams: OrcaPoolParams, userTransferAuthorityPublicKey: PublicKey, userTokenAPublicKey: PublicKey, userTokenBPublicKey: PublicKey, userPoolTokenPublicKey: PublicKey, poolTokenAmount: u64, minimumTokenA: u64, minimumTokenB: u64, tokenAPublicKey: PublicKey, tokenBPublicKey: PublicKey, orcaTokenSwapId: PublicKey, owner: Owner) => Promise<Instruction>;

@@ -16,3 +16,2 @@ "use strict";

const web3_js_1 = require("@solana/web3.js");
const constants_1 = require("../../constants");
const createApprovalInstruction = (ownerAddress, approveAmount, tokenUserAddress, userTransferAuthority) => {

@@ -30,7 +29,7 @@ userTransferAuthority = userTransferAuthority || new web3_js_1.Keypair();

exports.createApprovalInstruction = createApprovalInstruction;
const createSwapInstruction = (poolParams, owner, inputToken, inputTokenUserAddress, outputToken, outputTokenUserAddress, amountIn, minimumAmountOut, userTransferAuthority) => __awaiter(void 0, void 0, void 0, function* () {
const createSwapInstruction = (poolParams, owner, inputToken, inputTokenUserAddress, outputToken, outputTokenUserAddress, amountIn, minimumAmountOut, userTransferAuthority, orcaTokenSwapId) => __awaiter(void 0, void 0, void 0, function* () {
const amountInU64 = amountIn;
const minimumAmountOutU64 = minimumAmountOut;
const [authorityForPoolAddress] = yield web3_js_1.PublicKey.findProgramAddress([poolParams.address.toBuffer()], constants_1.ORCA_TOKEN_SWAP_ID);
const swapInstruction = spl_token_swap_1.TokenSwap.swapInstruction(poolParams.address, authorityForPoolAddress, userTransferAuthority, inputTokenUserAddress, inputToken.addr, outputToken.addr, outputTokenUserAddress, poolParams.poolTokenMint, poolParams.feeAccount, null, constants_1.ORCA_TOKEN_SWAP_ID, spl_token_1.TOKEN_PROGRAM_ID, amountInU64, minimumAmountOutU64);
const [authorityForPoolAddress] = yield web3_js_1.PublicKey.findProgramAddress([poolParams.address.toBuffer()], orcaTokenSwapId);
const swapInstruction = spl_token_swap_1.TokenSwap.swapInstruction(poolParams.address, authorityForPoolAddress, userTransferAuthority, inputTokenUserAddress, inputToken.addr, outputToken.addr, outputTokenUserAddress, poolParams.poolTokenMint, poolParams.feeAccount, null, orcaTokenSwapId, spl_token_1.TOKEN_PROGRAM_ID, amountInU64, minimumAmountOutU64);
return {

@@ -43,4 +42,4 @@ instructions: [swapInstruction],

exports.createSwapInstruction = createSwapInstruction;
const createDepositInstruction = (poolParams, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmount, maximumTokenA, maximumTokenB, tokenAPublicKey, tokenBPublicKey, owner) => __awaiter(void 0, void 0, void 0, function* () {
const depositInstruction = spl_token_swap_1.TokenSwap.depositAllTokenTypesInstruction(poolParams.address, poolParams.authority, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, tokenAPublicKey, tokenBPublicKey, poolParams.poolTokenMint, userPoolTokenPublicKey, constants_1.ORCA_TOKEN_SWAP_ID, spl_token_1.TOKEN_PROGRAM_ID, poolTokenAmount, maximumTokenA, maximumTokenB);
const createDepositInstruction = (poolParams, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmount, maximumTokenA, maximumTokenB, tokenAPublicKey, tokenBPublicKey, orcaTokenSwapId, owner) => __awaiter(void 0, void 0, void 0, function* () {
const depositInstruction = spl_token_swap_1.TokenSwap.depositAllTokenTypesInstruction(poolParams.address, poolParams.authority, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, tokenAPublicKey, tokenBPublicKey, poolParams.poolTokenMint, userPoolTokenPublicKey, orcaTokenSwapId, spl_token_1.TOKEN_PROGRAM_ID, poolTokenAmount, maximumTokenA, maximumTokenB);
return {

@@ -53,4 +52,4 @@ instructions: [depositInstruction],

exports.createDepositInstruction = createDepositInstruction;
const createWithdrawInstruction = (poolParams, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmount, minimumTokenA, minimumTokenB, tokenAPublicKey, tokenBPublicKey, owner) => __awaiter(void 0, void 0, void 0, function* () {
const withdrawInstruction = spl_token_swap_1.TokenSwap.withdrawAllTokenTypesInstruction(poolParams.address, poolParams.authority, userTransferAuthorityPublicKey, poolParams.poolTokenMint, poolParams.feeAccount, userPoolTokenPublicKey, tokenAPublicKey, tokenBPublicKey, userTokenAPublicKey, userTokenBPublicKey, constants_1.ORCA_TOKEN_SWAP_ID, spl_token_1.TOKEN_PROGRAM_ID, poolTokenAmount, minimumTokenA, minimumTokenB);
const createWithdrawInstruction = (poolParams, userTransferAuthorityPublicKey, userTokenAPublicKey, userTokenBPublicKey, userPoolTokenPublicKey, poolTokenAmount, minimumTokenA, minimumTokenB, tokenAPublicKey, tokenBPublicKey, orcaTokenSwapId, owner) => __awaiter(void 0, void 0, void 0, function* () {
const withdrawInstruction = spl_token_swap_1.TokenSwap.withdrawAllTokenTypesInstruction(poolParams.address, poolParams.authority, userTransferAuthorityPublicKey, poolParams.poolTokenMint, poolParams.feeAccount, userPoolTokenPublicKey, tokenAPublicKey, tokenBPublicKey, userTokenAPublicKey, userTokenBPublicKey, orcaTokenSwapId, spl_token_1.TOKEN_PROGRAM_ID, poolTokenAmount, minimumTokenA, minimumTokenB);
return {

@@ -57,0 +56,0 @@ instructions: [withdrawInstruction],

{
"name": "@orca-so/sdk",
"version": "1.1.14",
"version": "1.2.0",
"description": "Typescript SDK for the Orca protocol.",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -157,2 +157,14 @@ # Orca Typescript SDK

# Devnet Testing
The example code above can be run on devnet by changing two lines of code like so:
```typescript
const connection = new Connection("https://api.devnet.solana.com", "singleGossip");
const orca = getOrca(connection, Network.DEVNET);
```
One caveat to note is that there are only a few devnet pools avaialble, so if you try to access pools that are only
available on mainnet, the code will throw an error. The example code uses ORCA_SOL, which exists on the devnet.
# Technical Notes

@@ -159,0 +171,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc