@stabbleorg/mclmm-sdk 0.1.14 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/fixtures/pool-states.d.ts +84 -0
- package/lib/__tests__/fixtures/pool-states.d.ts.map +1 -0
- package/lib/__tests__/fixtures/tick-arrays.d.ts +42 -0
- package/lib/__tests__/fixtures/tick-arrays.d.ts.map +1 -0
- package/lib/__tests__/helpers/integration-mocks.d.ts +82 -0
- package/lib/__tests__/helpers/integration-mocks.d.ts.map +1 -0
- package/lib/__tests__/integration/performance.test.d.ts +12 -0
- package/lib/__tests__/integration/performance.test.d.ts.map +1 -0
- package/lib/__tests__/integration/swap-flow.test.d.ts +12 -0
- package/lib/__tests__/integration/swap-flow.test.d.ts.map +1 -0
- package/lib/__tests__/setup.d.ts +19 -0
- package/lib/__tests__/setup.d.ts.map +1 -0
- package/lib/__tests__/unit/math-utils.test.d.ts +11 -0
- package/lib/__tests__/unit/math-utils.test.d.ts.map +1 -0
- package/lib/__tests__/unit/pool-data-manager.test.d.ts +16 -0
- package/lib/__tests__/unit/pool-data-manager.test.d.ts.map +1 -0
- package/lib/__tests__/unit/price-api-client.test.d.ts +2 -0
- package/lib/__tests__/unit/price-api-client.test.d.ts.map +1 -0
- package/lib/__tests__/unit/swap-manager.test.d.ts +14 -0
- package/lib/__tests__/unit/swap-manager.test.d.ts.map +1 -0
- package/lib/__tests__/unit/swap-math-engine.test.d.ts +14 -0
- package/lib/__tests__/unit/swap-math-engine.test.d.ts.map +1 -0
- package/lib/api/config.d.ts +6 -0
- package/lib/api/config.d.ts.map +1 -1
- package/lib/client.d.ts +2 -0
- package/lib/client.d.ts.map +1 -1
- package/lib/constants.d.ts +41 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/generated/accounts/ammConfig.d.ts +1 -1
- package/lib/generated/accounts/ammConfig.d.ts.map +1 -1
- package/lib/generated/accounts/observationState.d.ts +1 -1
- package/lib/generated/accounts/observationState.d.ts.map +1 -1
- package/lib/generated/accounts/operationState.d.ts +1 -1
- package/lib/generated/accounts/operationState.d.ts.map +1 -1
- package/lib/generated/accounts/personalPositionState.d.ts +1 -1
- package/lib/generated/accounts/personalPositionState.d.ts.map +1 -1
- package/lib/generated/accounts/poolState.d.ts +1 -1
- package/lib/generated/accounts/poolState.d.ts.map +1 -1
- package/lib/generated/accounts/protocolPositionState.d.ts +1 -1
- package/lib/generated/accounts/protocolPositionState.d.ts.map +1 -1
- package/lib/generated/accounts/supportMintAssociated.d.ts +1 -1
- package/lib/generated/accounts/supportMintAssociated.d.ts.map +1 -1
- package/lib/generated/accounts/tickArrayBitmapExtension.d.ts +1 -1
- package/lib/generated/accounts/tickArrayBitmapExtension.d.ts.map +1 -1
- package/lib/generated/accounts/tickArrayState.d.ts +1 -1
- package/lib/generated/accounts/tickArrayState.d.ts.map +1 -1
- package/lib/generated/instructions/closePosition.d.ts +1 -1
- package/lib/generated/instructions/closePosition.d.ts.map +1 -1
- package/lib/generated/instructions/closeProtocolPosition.d.ts +1 -1
- package/lib/generated/instructions/closeProtocolPosition.d.ts.map +1 -1
- package/lib/generated/instructions/collectFundFee.d.ts +1 -1
- package/lib/generated/instructions/collectFundFee.d.ts.map +1 -1
- package/lib/generated/instructions/collectProtocolFee.d.ts +1 -1
- package/lib/generated/instructions/collectProtocolFee.d.ts.map +1 -1
- package/lib/generated/instructions/collectRemainingRewards.d.ts +1 -1
- package/lib/generated/instructions/collectRemainingRewards.d.ts.map +1 -1
- package/lib/generated/instructions/createAmmConfig.d.ts +1 -1
- package/lib/generated/instructions/createAmmConfig.d.ts.map +1 -1
- package/lib/generated/instructions/createOperationAccount.d.ts +1 -1
- package/lib/generated/instructions/createOperationAccount.d.ts.map +1 -1
- package/lib/generated/instructions/createPool.d.ts +1 -1
- package/lib/generated/instructions/createPool.d.ts.map +1 -1
- package/lib/generated/instructions/createSupportMintAssociated.d.ts +1 -1
- package/lib/generated/instructions/createSupportMintAssociated.d.ts.map +1 -1
- package/lib/generated/instructions/decreaseLiquidityV2.d.ts +1 -1
- package/lib/generated/instructions/decreaseLiquidityV2.d.ts.map +1 -1
- package/lib/generated/instructions/increaseLiquidityV2.d.ts +1 -1
- package/lib/generated/instructions/increaseLiquidityV2.d.ts.map +1 -1
- package/lib/generated/instructions/initializeReward.d.ts +1 -1
- package/lib/generated/instructions/initializeReward.d.ts.map +1 -1
- package/lib/generated/instructions/openPositionWithToken22Nft.d.ts +1 -1
- package/lib/generated/instructions/openPositionWithToken22Nft.d.ts.map +1 -1
- package/lib/generated/instructions/setRewardParams.d.ts +1 -1
- package/lib/generated/instructions/setRewardParams.d.ts.map +1 -1
- package/lib/generated/instructions/swapRouterBaseIn.d.ts +1 -1
- package/lib/generated/instructions/swapRouterBaseIn.d.ts.map +1 -1
- package/lib/generated/instructions/swapV2.d.ts +1 -1
- package/lib/generated/instructions/swapV2.d.ts.map +1 -1
- package/lib/generated/instructions/transferRewardOwner.d.ts +1 -1
- package/lib/generated/instructions/transferRewardOwner.d.ts.map +1 -1
- package/lib/generated/instructions/updateAmmConfig.d.ts +1 -1
- package/lib/generated/instructions/updateAmmConfig.d.ts.map +1 -1
- package/lib/generated/instructions/updateOperationAccount.d.ts +1 -1
- package/lib/generated/instructions/updateOperationAccount.d.ts.map +1 -1
- package/lib/generated/instructions/updatePoolStatus.d.ts +1 -1
- package/lib/generated/instructions/updatePoolStatus.d.ts.map +1 -1
- package/lib/generated/instructions/updateRewardInfos.d.ts +1 -1
- package/lib/generated/instructions/updateRewardInfos.d.ts.map +1 -1
- package/lib/generated/programs/ammV3.d.ts.map +1 -1
- package/lib/generated/shared/index.d.ts.map +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4530 -1821
- package/lib/index.mjs +4523 -1820
- package/lib/managers/index.d.ts +7 -0
- package/lib/managers/index.d.ts.map +1 -0
- package/lib/managers/pool-data-manager.d.ts +132 -0
- package/lib/managers/pool-data-manager.d.ts.map +1 -0
- package/lib/managers/price-api-client.d.ts +295 -0
- package/lib/managers/price-api-client.d.ts.map +1 -0
- package/lib/position-manager.d.ts.map +1 -1
- package/lib/swap.d.ts +832 -2
- package/lib/swap.d.ts.map +1 -1
- package/lib/types.d.ts +29 -11
- package/lib/types.d.ts.map +1 -1
- package/lib/utils/index.d.ts +5 -2
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/math.d.ts +389 -1
- package/lib/utils/math.d.ts.map +1 -1
- package/lib/utils/tickQuery.d.ts +62 -1
- package/lib/utils/tickQuery.d.ts.map +1 -1
- package/package.json +13 -5
package/lib/utils/tickQuery.d.ts
CHANGED
|
@@ -1,11 +1,72 @@
|
|
|
1
1
|
import BN from "bn.js";
|
|
2
|
-
import { TickArrayBitmapExtension, TickArrayState } from "../generated";
|
|
2
|
+
import { TickArrayBitmapExtension, TickArrayState, TickState } from "../generated";
|
|
3
3
|
import { Account, Address, Rpc, SolanaRpcApiDevnet, SolanaRpcApiMainnet, SolanaRpcApiTestnet } from "@solana/kit";
|
|
4
4
|
export declare const FETCH_TICKARRAY_COUNT = 15;
|
|
5
5
|
export declare class TickQuery {
|
|
6
6
|
static getTickArrays(rpc: Rpc<SolanaRpcApiMainnet | SolanaRpcApiDevnet | SolanaRpcApiTestnet>, poolId: Address, tickCurrent: number, tickSpacing: number, tickArrayBitmapArray: BN[], exTickArrayBitmap: TickArrayBitmapExtension): Promise<{
|
|
7
7
|
[key: string]: Account<TickArrayState>;
|
|
8
8
|
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Find the next initialized tick array starting from a given offset.
|
|
11
|
+
*
|
|
12
|
+
* @param tickIndex - Current tick index
|
|
13
|
+
* @param tickSpacing - Pool tick spacing
|
|
14
|
+
* @param zeroForOne - Swap direction
|
|
15
|
+
* @param tickArrayBitmap - Bitmap of initialized tick arrays
|
|
16
|
+
* @param exBitmapInfo - Extended bitmap information
|
|
17
|
+
* @returns Next tick array start index and whether it exists
|
|
18
|
+
*/
|
|
19
|
+
static nextInitializedTickArray(tickIndex: number, tickSpacing: number, zeroForOne: boolean, tickArrayBitmap: BN[], exBitmapInfo: TickArrayBitmapExtension): {
|
|
20
|
+
isExist: boolean;
|
|
21
|
+
nextStartIndex: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Find the first initialized tick in a tick array.
|
|
25
|
+
*
|
|
26
|
+
* @param poolId - Pool address
|
|
27
|
+
* @param tickArray - Tick array state
|
|
28
|
+
* @param zeroForOne - Search direction
|
|
29
|
+
* @returns First initialized tick, tick array address, and start index
|
|
30
|
+
*/
|
|
31
|
+
static firstInitializedTickInOneArray(poolId: Address, tickArray: Account<TickArrayState>, zeroForOne: boolean): Promise<{
|
|
32
|
+
nextTick: TickState | undefined;
|
|
33
|
+
tickArrayAddress: Address;
|
|
34
|
+
tickArrayStartTickIndex: number;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Find the next initialized tick within a single tick array.
|
|
38
|
+
*
|
|
39
|
+
* @param poolId - Pool address
|
|
40
|
+
* @param tickArrayCache - Cache of loaded tick arrays
|
|
41
|
+
* @param tickIndex - Current tick index
|
|
42
|
+
* @param tickSpacing - Pool tick spacing
|
|
43
|
+
* @param zeroForOne - Search direction
|
|
44
|
+
* @returns Next initialized tick info
|
|
45
|
+
*/
|
|
46
|
+
static nextInitializedTickInOneArray(poolId: Address, tickArrayCache: {
|
|
47
|
+
[key: string]: Account<TickArrayState>;
|
|
48
|
+
}, tickIndex: number, tickSpacing: number, zeroForOne: boolean): Promise<{
|
|
49
|
+
initializedTick: TickState | undefined;
|
|
50
|
+
tickArrayAddress: Address | undefined;
|
|
51
|
+
tickArrayStartTickIndex: number;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Find the next initialized tick across multiple tick arrays.
|
|
55
|
+
*
|
|
56
|
+
* @param poolId - Pool address
|
|
57
|
+
* @param tickArrayCache - Cache of loaded tick arrays
|
|
58
|
+
* @param tickIndex - Current tick index
|
|
59
|
+
* @param tickSpacing - Pool tick spacing
|
|
60
|
+
* @param zeroForOne - Search direction
|
|
61
|
+
* @returns Next initialized tick info
|
|
62
|
+
*/
|
|
63
|
+
static nextInitializedTick(poolId: Address, tickArrayCache: {
|
|
64
|
+
[key: string]: Account<TickArrayState>;
|
|
65
|
+
}, tickIndex: number, tickSpacing: number, zeroForOne: boolean): Promise<{
|
|
66
|
+
nextTick: TickState;
|
|
67
|
+
tickArrayAddress: Address | undefined;
|
|
68
|
+
tickArrayStartTickIndex: number;
|
|
69
|
+
}>;
|
|
9
70
|
static getArrayStartIndex(tickIndex: number, tickSpacing: number): number;
|
|
10
71
|
static checkIsValidStartIndex(tickIndex: number, tickSpacing: number): boolean;
|
|
11
72
|
static tickCount(tickSpacing: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tickQuery.d.ts","sourceRoot":"","sources":["../../src/utils/tickQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB,OAAO,EAEL,wBAAwB,EACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"tickQuery.d.ts","sourceRoot":"","sources":["../../src/utils/tickQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvB,OAAO,EAEL,wBAAwB,EACxB,cAAc,EACd,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,OAAO,EACP,OAAO,EACP,GAAG,EACH,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,qBAAa,SAAS;WACA,aAAa,CAC/B,GAAG,EAAE,GAAG,CAAC,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,EACxE,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,EAAE,EAAE,EAC1B,iBAAiB,EAAE,wBAAwB,GAC1C,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;IA0CtD;;;;;;;;;OASG;WACW,wBAAwB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,EACnB,eAAe,EAAE,EAAE,EAAE,EACrB,YAAY,EAAE,wBAAwB,GACrC;QACD,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB;IAyBD;;;;;;;OAOG;WACiB,8BAA8B,CAChD,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,EAClC,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;QACT,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;QAChC,gBAAgB,EAAE,OAAO,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IAmCF;;;;;;;;;OASG;WACiB,6BAA6B,CAC/C,MAAM,EAAE,OAAO,EACf,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,EAC1D,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;QACT,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;QACvC,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;QACtC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IAwDF;;;;;;;;;OASG;WACiB,mBAAmB,CACrC,MAAM,EAAE,OAAO,EACf,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,EAC1D,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;QACT,QAAQ,EAAE,SAAS,CAAC;QACpB,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;QACtC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;WAoDY,kBAAkB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;WAOK,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO;WAeI,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAGrD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stabbleorg/mclmm-sdk",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "SDK for Stabble's margin-enabled concentrated liquidity market maker",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
@@ -31,15 +31,20 @@
|
|
|
31
31
|
"generate-clients": "ts-node ./scripts/generate-clients.ts",
|
|
32
32
|
"ts": "tsc --noEmit",
|
|
33
33
|
"prepare:canary": "yarn build && npm version --prerelease --preid=canary",
|
|
34
|
-
"prepublishOnly": "echo \"Building before publish!\" && yarn build"
|
|
34
|
+
"prepublishOnly": "echo \"Building before publish!\" && yarn build",
|
|
35
|
+
"test": "jest",
|
|
36
|
+
"test:watch": "jest --watch",
|
|
37
|
+
"test:coverage": "jest --coverage",
|
|
38
|
+
"test:unit": "jest --testPathPattern=unit",
|
|
39
|
+
"test:integration": "jest --testPathPattern=integration"
|
|
35
40
|
},
|
|
36
41
|
"dependencies": {
|
|
37
42
|
"@codama/nodes-from-anchor": "^1.2.9",
|
|
38
43
|
"@codama/renderers-js": "^1.4.2",
|
|
39
44
|
"@solana-program/system": "^0.9.0",
|
|
40
|
-
"@solana-program/token": "^0.
|
|
41
|
-
"@solana-program/token-2022": "^0.
|
|
42
|
-
"@solana/kit": "^
|
|
45
|
+
"@solana-program/token": "^0.7.0",
|
|
46
|
+
"@solana-program/token-2022": "^0.6.0",
|
|
47
|
+
"@solana/kit": "^4.0.0",
|
|
43
48
|
"@solana/web3.js": "^1.98.4",
|
|
44
49
|
"@types/bn.js": "^5.2.0",
|
|
45
50
|
"assert": "^2.0.0",
|
|
@@ -52,7 +57,10 @@
|
|
|
52
57
|
},
|
|
53
58
|
"devDependencies": {
|
|
54
59
|
"@types/invariant": "2.2.35",
|
|
60
|
+
"@types/jest": "^30.0.0",
|
|
55
61
|
"@types/node": "^24.5.2",
|
|
62
|
+
"jest": "^30.2.0",
|
|
63
|
+
"ts-jest": "^29.4.5",
|
|
56
64
|
"ts-node": "^10.9.2",
|
|
57
65
|
"tsup": "^8.0.2",
|
|
58
66
|
"typedoc": "^0.25.7",
|