From ae5560261c9cbae6c3b896089a09f5ac1ec679d5 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Fri, 31 Jan 2025 17:27:59 +0100 Subject: [PATCH 1/2] fix: drift browser compatibility --- package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++++--------- src/actions/drift/availableMarkets.ts | 2 +- src/tools/drift/drift.ts | 3 ++- src/tools/drift/drift_vault.ts | 2 +- src/tools/drift/types.ts | 6 +++++- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 371fc9bf..dd6c807a 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@bonfida/spl-name-service": "^3.0.7", "@cks-systems/manifest-sdk": "0.1.59", "@coral-xyz/anchor": "0.29", - "@drift-labs/sdk": "2.108.0-beta.4", + "@drift-labs/sdk-browser": "2.109.0-beta.2", "@drift-labs/vaults-sdk": "^0.3.2", "@langchain/core": "^0.3.26", "@langchain/groq": "^0.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fda8d1e9..7201fc6c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,9 +26,9 @@ importers: '@coral-xyz/anchor': specifier: '0.29' version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@drift-labs/sdk': - specifier: 2.108.0-beta.4 - version: 2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@drift-labs/sdk-browser': + specifier: 2.109.0-beta.2 + version: 2.109.0-beta.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@drift-labs/vaults-sdk': specifier: ^0.3.2 version: 0.3.2(@types/node@22.10.7)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) @@ -347,6 +347,10 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@drift-labs/sdk-browser@2.109.0-beta.2': + resolution: {integrity: sha512-kqSsLRuFO4x2ZZLm7j3LolG+cNaHTsuaEXWMXlN95tWreXJbt/hxOg1fOmO/Xp+4uSeQyBGw2UGAAWMDt1pQmA==} + engines: {node: '>=20.18.0'} + '@drift-labs/sdk@2.108.0-beta.4': resolution: {integrity: sha512-P3pbBYV+CHanxI7ZAob3YOmQWE47v2J9dgdAtUL25qTee1fRAL8s/ESW8Fn7grkajb1v6Fq3QZOCY0qpqnuewA==} engines: {node: '>=20.18.0'} @@ -5160,13 +5164,13 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@drift-labs/sdk@2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@drift-labs/sdk-browser@2.109.0-beta.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' - '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@grpc/grpc-js': 1.12.5 - '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/price-service-sdk': 1.7.1 @@ -5196,13 +5200,13 @@ snapshots: - typescript - utf-8-validate - '@drift-labs/sdk@2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@drift-labs/sdk@2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' - '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@grpc/grpc-js': 1.12.5 - '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/price-service-sdk': 1.7.1 diff --git a/src/actions/drift/availableMarkets.ts b/src/actions/drift/availableMarkets.ts index 85bd174f..288ae409 100644 --- a/src/actions/drift/availableMarkets.ts +++ b/src/actions/drift/availableMarkets.ts @@ -1,4 +1,4 @@ -import { MainnetSpotMarkets } from "@drift-labs/sdk"; +import { MainnetSpotMarkets } from "@drift-labs/sdk-browser"; import type { Action } from "../../types"; import { z } from "zod"; import { diff --git a/src/tools/drift/drift.ts b/src/tools/drift/drift.ts index 713fcf9a..4b45cf97 100644 --- a/src/tools/drift/drift.ts +++ b/src/tools/drift/drift.ts @@ -29,7 +29,7 @@ import { QUOTE_PRECISION, User, type IWallet, -} from "@drift-labs/sdk"; +} from "@drift-labs/sdk-browser"; import type { SolanaAgentKit } from "../../agent"; import * as anchor from "@coral-xyz/anchor"; import { IDL, VAULT_PROGRAM_ID, VaultClient } from "@drift-labs/vaults-sdk"; @@ -96,6 +96,7 @@ export async function initClients( driftClient.provider, ); const vaultClient = new VaultClient({ + // @ts-expect-error - type mismatch due to different dep versions and types driftClient, // @ts-expect-error - type mismatch due to different dep versions program: vaultProgram, diff --git a/src/tools/drift/drift_vault.ts b/src/tools/drift/drift_vault.ts index c8d1214b..f8d976b5 100644 --- a/src/tools/drift/drift_vault.ts +++ b/src/tools/drift/drift_vault.ts @@ -14,7 +14,7 @@ import { PRICE_PRECISION, QUOTE_PRECISION, TEN, -} from "@drift-labs/sdk"; +} from "@drift-labs/sdk-browser"; import { WithdrawUnit, decodeName, diff --git a/src/tools/drift/types.ts b/src/tools/drift/types.ts index 47841097..069b641d 100644 --- a/src/tools/drift/types.ts +++ b/src/tools/drift/types.ts @@ -1,4 +1,8 @@ -import type { L2OrderBook, MarketType, OraclePriceData } from "@drift-labs/sdk"; +import type { + L2OrderBook, + MarketType, + OraclePriceData, +} from "@drift-labs/sdk-browser"; export type L2WithOracle = L2OrderBook & { oracleData: OraclePriceData }; From 3d0539107f882622da1e5aebb1402cae10a91449 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Thu, 6 Feb 2025 21:45:39 +0100 Subject: [PATCH 2/2] fix: drift is now compatible with webpack --- package.json | 4 +-- pnpm-lock.yaml | 41 +++++++++++++-------------- src/actions/drift/availableMarkets.ts | 2 +- src/tools/drift/drift.ts | 3 +- src/tools/drift/drift_vault.ts | 2 +- src/tools/drift/types.ts | 6 +--- 6 files changed, 25 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index 6d5f10f0..6d197711 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,8 @@ "@bonfida/spl-name-service": "^3.0.7", "@cks-systems/manifest-sdk": "0.1.59", "@coral-xyz/anchor": "0.29", - "@drift-labs/sdk-browser": "2.109.0-beta.2", - "@drift-labs/vaults-sdk": "^0.3.2", + "@drift-labs/sdk": "2.109.0-beta.11", + "@drift-labs/vaults-sdk": "^0.3.29", "@langchain/core": "^0.3.26", "@langchain/groq": "^0.1.2", "@langchain/langgraph": "^0.2.36", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9135df01..52581c33 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,12 +26,12 @@ importers: '@coral-xyz/anchor': specifier: '0.29' version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@drift-labs/sdk-browser': - specifier: 2.109.0-beta.2 - version: 2.109.0-beta.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@drift-labs/sdk': + specifier: 2.109.0-beta.11 + version: 2.109.0-beta.11(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@drift-labs/vaults-sdk': - specifier: ^0.3.2 - version: 0.3.2(@types/node@22.10.7)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) + specifier: ^0.3.29 + version: 0.3.29(@types/node@22.10.7)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 version: 0.3.27(openai@4.77.3(zod@3.24.1)) @@ -353,16 +353,12 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@drift-labs/sdk-browser@2.109.0-beta.2': - resolution: {integrity: sha512-kqSsLRuFO4x2ZZLm7j3LolG+cNaHTsuaEXWMXlN95tWreXJbt/hxOg1fOmO/Xp+4uSeQyBGw2UGAAWMDt1pQmA==} + '@drift-labs/sdk@2.109.0-beta.11': + resolution: {integrity: sha512-9FOBfBfUPU9LgY8pmtkbH+8anlFwQr+xwS0oVYKxdkShocgqae2INsWlJsHvRLj1ndf/fCZmU1HB5mh+k8Ajnw==} engines: {node: '>=20.18.0'} - '@drift-labs/sdk@2.108.0-beta.4': - resolution: {integrity: sha512-P3pbBYV+CHanxI7ZAob3YOmQWE47v2J9dgdAtUL25qTee1fRAL8s/ESW8Fn7grkajb1v6Fq3QZOCY0qpqnuewA==} - engines: {node: '>=20.18.0'} - - '@drift-labs/vaults-sdk@0.3.2': - resolution: {integrity: sha512-wt4Rz4/o6ZGYZAr47fXpmMnmNpXESHe5BqxO5iCFGQibjCrcu1Sefko5xfwRH3eLUq//ue5EXpKbBXW7b8piYg==} + '@drift-labs/vaults-sdk@0.3.29': + resolution: {integrity: sha512-QpDkBrqF5sOhnwl9lPNOv0Pl4BU124M/JxUhFTrxv6Oa0/dqKUplSOhLcOhGPfvLcrPcos87IaHOlE6XRszESQ==} engines: {node: '>=16'} '@ellipsis-labs/phoenix-sdk@1.4.5': @@ -3360,6 +3356,7 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -5184,13 +5181,13 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@drift-labs/sdk-browser@2.109.0-beta.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@drift-labs/sdk@2.109.0-beta.11(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' - '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@grpc/grpc-js': 1.12.5 - '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/price-service-sdk': 1.7.1 @@ -5220,13 +5217,13 @@ snapshots: - typescript - utf-8-validate - '@drift-labs/sdk@2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@drift-labs/sdk@2.109.0-beta.11(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' - '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@grpc/grpc-js': 1.12.5 - '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@pythnetwork/price-service-sdk': 1.7.1 @@ -5256,10 +5253,10 @@ snapshots: - typescript - utf-8-validate - '@drift-labs/vaults-sdk@0.3.2(@types/node@22.10.7)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10)': + '@drift-labs/vaults-sdk@0.3.29(@types/node@22.10.7)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.28.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@drift-labs/sdk': 2.108.0-beta.4(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@drift-labs/sdk': 2.109.0-beta.11(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@ledgerhq/hw-app-solana': 7.2.4 '@ledgerhq/hw-transport': 6.31.4 '@ledgerhq/hw-transport-node-hid': 6.29.5 @@ -7397,7 +7394,7 @@ snapshots: '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 diff --git a/src/actions/drift/availableMarkets.ts b/src/actions/drift/availableMarkets.ts index 288ae409..85bd174f 100644 --- a/src/actions/drift/availableMarkets.ts +++ b/src/actions/drift/availableMarkets.ts @@ -1,4 +1,4 @@ -import { MainnetSpotMarkets } from "@drift-labs/sdk-browser"; +import { MainnetSpotMarkets } from "@drift-labs/sdk"; import type { Action } from "../../types"; import { z } from "zod"; import { diff --git a/src/tools/drift/drift.ts b/src/tools/drift/drift.ts index 4b45cf97..713fcf9a 100644 --- a/src/tools/drift/drift.ts +++ b/src/tools/drift/drift.ts @@ -29,7 +29,7 @@ import { QUOTE_PRECISION, User, type IWallet, -} from "@drift-labs/sdk-browser"; +} from "@drift-labs/sdk"; import type { SolanaAgentKit } from "../../agent"; import * as anchor from "@coral-xyz/anchor"; import { IDL, VAULT_PROGRAM_ID, VaultClient } from "@drift-labs/vaults-sdk"; @@ -96,7 +96,6 @@ export async function initClients( driftClient.provider, ); const vaultClient = new VaultClient({ - // @ts-expect-error - type mismatch due to different dep versions and types driftClient, // @ts-expect-error - type mismatch due to different dep versions program: vaultProgram, diff --git a/src/tools/drift/drift_vault.ts b/src/tools/drift/drift_vault.ts index f8d976b5..c8d1214b 100644 --- a/src/tools/drift/drift_vault.ts +++ b/src/tools/drift/drift_vault.ts @@ -14,7 +14,7 @@ import { PRICE_PRECISION, QUOTE_PRECISION, TEN, -} from "@drift-labs/sdk-browser"; +} from "@drift-labs/sdk"; import { WithdrawUnit, decodeName, diff --git a/src/tools/drift/types.ts b/src/tools/drift/types.ts index 069b641d..47841097 100644 --- a/src/tools/drift/types.ts +++ b/src/tools/drift/types.ts @@ -1,8 +1,4 @@ -import type { - L2OrderBook, - MarketType, - OraclePriceData, -} from "@drift-labs/sdk-browser"; +import type { L2OrderBook, MarketType, OraclePriceData } from "@drift-labs/sdk"; export type L2WithOracle = L2OrderBook & { oracleData: OraclePriceData };