diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index ca38fd6..aa4729f 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,19 +1,24 @@ SolanaAgentKit | solana-agent-kit

Class SolanaAgentKit

Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, trading and more

SolanaAgentKit

-

Constructors

Constructors

  • Parameters

    • private_key: string
    • rpc_url: string
    • openai_api_key: null | string

    Returns SolanaAgentKit

    Using openai_api_key directly in constructor is deprecated. Please use the new constructor with Config object instead:

    const agent = new SolanaAgentKit(privateKey, rpcUrl, {
    OPENAI_API_KEY: 'your-key'
    });
    -
  • Parameters

    • private_key: string
    • rpc_url: string
    • config: Config

    Returns SolanaAgentKit

Properties

config: Config

Configuration object

-
connection: Connection

Solana RPC connection

-
wallet: Keypair

Wallet keypair for signing transactions

-
wallet_address: PublicKey

Public key of the wallet

-

Methods

  • Parameters

    • marketId: PublicKey

    Returns Promise<string>

  • Parameters

    • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

    Returns Promise<string>

  • Parameters

    • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

    Returns Promise<string>

  • Parameters

    • title: string
    • content: string
    • requirements: string
    • tags: string[]
    • tokenMintAddress: string
    • tokenAmount: number
    • Optionalpayer: string

    Returns Promise<GibworkCreateTaskReponse>

  • Parameters

    • amount: number
    • OptionalsplmintAddress: PublicKey

    Returns Promise<{ signature: string; url: string }>

  • Parameters

    • name: string
    • uri: string
    • symbol: string
    • decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
    • OptionalinitialSupply: number

    Returns Promise<{ mint: PublicKey }>

  • Parameters

    • mint: string

    Returns Promise<string>

  • Opens a new trading position on Flash.Trade

    -

    Parameters

    • params: FlashTradeParams

      Flash trade parameters including market, side, collateral, leverage, and pool name

      -

    Returns Promise<string>

    Transaction signature

    -
  • Returns Promise<string[]>

  • Returns Promise<string[]>

  • Parameters

    • Optionaltoken_address: PublicKey

    Returns Promise<number>

  • Parameters

    • walletAddress: PublicKey
    • OptionaltokenAddress: PublicKey

    Returns Promise<number>

  • Parameters

    • owner: PublicKey

    Returns Promise<null | string>

  • Parameters

    • owner: PublicKey

    Returns Promise<string[]>

  • Parameters

    • tld: string

    Returns Promise<string[]>

  • Parameters

    • account: PublicKey

    Returns Promise<string>

  • Parameters

    • priceFeedID: string

    Returns Promise<string>

  • Parameters

    • tokenSymbol: string

    Returns Promise<string>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey
    • quantity: number
    • side: string
    • price: number

    Returns Promise<string>

  • Parameters

    • baseMint: PublicKey
    • quoteMint: PublicKey

    Returns Promise<string[]>

  • Parameters

    • collectionMint: PublicKey
    • metadata: {
          creators?: { address: string; share: number }[];
          name: string;
          sellerFeeBasisPoints?: number;
          uri: string;
      }
    • Optionalrecipient: PublicKey

    Returns Promise<MintCollectionNFTResponse>

  • Parameters

    • baseMint: PublicKey
    • quoteMint: PublicKey
    • lotSize: number = 1
    • tickSize: number = 0.01

    Returns Promise<string[]>

  • Parameters

    • args: Omit<
          {
              agent: SolanaAgentKit;
              collateralAmount: number;
              collateralMint?: PublicKey;
              leverage?: number;
              price: number;
              slippage?: number;
              tradeMint?: PublicKey;
          },
          "agent",
      >

    Returns Promise<string>

  • Parameters

    • args: Omit<
          {
              agent: SolanaAgentKit;
              collateralAmount: number;
              collateralMint?: PublicKey;
              leverage?: number;
              price: number;
              slippage?: number;
              tradeMint?: PublicKey;
          },
          "agent",
      >

    Returns Promise<string>

  • Parameters

    • positionMintAddress: PublicKey

    Returns Promise<string>

  • Parameters

    • mintDeploy: PublicKey
    • mintPair: PublicKey
    • initialPrice: Decimal
    • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

    Returns Promise<string>

  • Parameters

    • depositTokenAmount: number
    • depositTokenMint: PublicKey
    • otherTokenMint: PublicKey
    • initialPrice: Decimal
    • maxPrice: Decimal
    • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

    Returns Promise<string>

  • Parameters

    • whirlpoolAddress: PublicKey
    • priceOffsetBps: number
    • inputTokenMint: PublicKey
    • inputAmount: Decimal

    Returns Promise<string>

  • Parameters

    • whirlpoolAddress: PublicKey
    • distanceFromCurrentPriceBps: number
    • widthBps: number
    • inputTokenMint: PublicKey
    • inputAmount: Decimal

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey
    • baseAmount: BN
    • quoteAmount: BN
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • mint1: PublicKey
    • mint2: PublicKey
    • configId: PublicKey
    • initialPrice: Decimal
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • mint1: PublicKey
    • mint2: PublicKey
    • configId: PublicKey
    • mintAAmount: BN
    • mintBAmount: BN
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • name: string
    • OptionalspaceKB: number

    Returns Promise<string>

  • Parameters

    • domain: string

    Returns Promise<undefined | PublicKey>

  • Parameters

    • domain: string

    Returns Promise<PublicKey>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • amount: number
    • choice: "rock" | "paper" | "scissors"

    Returns Promise<string>

  • Parameters

    • mintAddress: string
    • amount: number
    • decimals: number
    • recipients: string[]
    • priorityFeeInLamports: number
    • shouldLog: boolean

    Returns Promise<string[]>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • nftMint: PublicKey

    Returns Promise<string>

  • Parameters

    • nftMint: PublicKey
    • price: number

    Returns Promise<string>

  • Parameters

    • outputMint: PublicKey
    • inputAmount: number
    • OptionalinputMint: PublicKey
    • slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS

    Returns Promise<string>

  • Parameters

    • to: PublicKey
    • amount: number
    • Optionalmint: PublicKey

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey

    Returns Promise<string>

+
  • Parameters

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

      • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

      Returns Promise<string>

    • Parameters

      • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

      Returns Promise<string>

    • Parameters

      • title: string
      • content: string
      • requirements: string
      • tags: string[]
      • tokenMintAddress: string
      • tokenAmount: number
      • Optionalpayer: string

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

      Returns Promise<{ signature: string; url: string }>

    • Parameters

      • name: string
      • uri: string
      • symbol: string
      • decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
      • OptionalinitialSupply: number

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey
      • quantity: number
      • side: string
      • price: number

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

      • collectionMint: PublicKey
      • metadata: {
            creators?: { address: string; share: number }[];
            name: string;
            sellerFeeBasisPoints?: number;
            uri: string;
        }
      • Optionalrecipient: PublicKey

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey
      • lotSize: number = 1
      • tickSize: number = 0.01

      Returns Promise<string[]>

    • Parameters

      • args: Omit<
            {
                agent: SolanaAgentKit;
                collateralAmount: number;
                collateralMint?: PublicKey;
                leverage?: number;
                price: number;
                slippage?: number;
                tradeMint?: PublicKey;
            },
            "agent",
        >

      Returns Promise<string>

    • Parameters

      • args: Omit<
            {
                agent: SolanaAgentKit;
                collateralAmount: number;
                collateralMint?: PublicKey;
                leverage?: number;
                price: number;
                slippage?: number;
                tradeMint?: PublicKey;
            },
            "agent",
        >

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

      • mintDeploy: PublicKey
      • mintPair: PublicKey
      • initialPrice: Decimal
      • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

      Returns Promise<string>

    • Parameters

      • depositTokenAmount: number
      • depositTokenMint: PublicKey
      • otherTokenMint: PublicKey
      • initialPrice: Decimal
      • maxPrice: Decimal
      • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

      Returns Promise<string>

    • Parameters

      • whirlpoolAddress: PublicKey
      • priceOffsetBps: number
      • inputTokenMint: PublicKey
      • inputAmount: Decimal

      Returns Promise<string>

    • Parameters

      • whirlpoolAddress: PublicKey
      • distanceFromCurrentPriceBps: number
      • widthBps: number
      • inputTokenMint: PublicKey
      • inputAmount: Decimal

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey
      • baseAmount: BN
      • quoteAmount: BN
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • mint1: PublicKey
      • mint2: PublicKey
      • configId: PublicKey
      • initialPrice: Decimal
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • mint1: PublicKey
      • mint2: PublicKey
      • configId: PublicKey
      • mintAAmount: BN
      • mintBAmount: BN
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • amount: number
      • choice: "rock" | "paper" | "scissors"

      Returns Promise<string>

    • Parameters

      • mintAddress: string
      • amount: number
      • decimals: number
      • recipients: string[]
      • priorityFeeInLamports: number
      • shouldLog: boolean

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

      • outputMint: PublicKey
      • inputAmount: number
      • OptionalinputMint: PublicKey
      • slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS

      Returns Promise<string>

    • Parameters

      • to: PublicKey
      • amount: number
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/interfaces/JupiterTokenData.html b/docs/interfaces/JupiterTokenData.html index d813c9b..9cc5ed9 100644 --- a/docs/interfaces/JupiterTokenData.html +++ b/docs/interfaces/JupiterTokenData.html @@ -9,4 +9,8 @@ permanent_delegate symbol tags +<<<<<<< HEAD +

    Properties

    address: string
    daily_volume: number
    decimals: number
    extensions: { coingeckoId?: string }
    freeze_authority: null | string
    logoURI: string
    mint_authority: null | string
    name: string
    permanent_delegate: null | string
    symbol: string
    tags: string[]
    +=======

    Properties

    address: string
    daily_volume: number
    decimals: number
    extensions: { coingeckoId?: string }
    freeze_authority: null | string
    logoURI: string
    mint_authority: null | string
    name: string
    permanent_delegate: null | string
    symbol: string
    tags: string[]
    +>>>>>>> main diff --git a/package.json b/package.json index 70d54c7..e64c039 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@solana/spl-token": "^0.4.9", "@solana/web3.js": "^1.98.0", "@tensor-oss/tensorswap-sdk": "^4.5.0", + "@sqds/multisig": "^2.1.3", "@tiplink/api": "^0.3.1", "ai": "^4.0.22", "bn.js": "^5.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 55c2dca..2ef0c43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,40 +10,40 @@ importers: dependencies: '@3land/listings-sdk': specifier: ^0.0.4 - version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 version: 1.0.11(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 - version: 3.0.7(@solana/web3.js@1.98.0(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) + version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@cks-systems/manifest-sdk': specifier: 0.1.59 - version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' - version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 - version: 0.3.27(openai@4.77.3(zod@3.24.1)) + version: 0.3.26(openai@4.77.0(zod@3.24.1)) '@langchain/groq': specifier: ^0.1.2 - version: 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@langchain/langgraph': specifier: ^0.2.36 - version: 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@langchain/openai': specifier: ^0.3.16 - version: 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@lightprotocol/compressed-token': specifier: ^0.17.1 - version: 0.17.1(@lightprotocol/stateless.js@0.17.1(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) + version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': specifier: ^0.17.1 - version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-core': specifier: ^1.1.1 - version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) + version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) '@metaplex-foundation/mpl-token-metadata': specifier: ^3.3.0 version: 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -55,40 +55,43 @@ importers: version: 0.9.2 '@metaplex-foundation/umi-bundle-defaults': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@onsol/tldparser': specifier: ^0.6.7 - version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@orca-so/common-sdk': specifier: 0.6.4 - version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@orca-so/whirlpools-sdk': specifier: ^0.13.12 - version: 0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@pythnetwork/hermes-client': specifier: ^1.3.0 version: 1.3.0(axios@1.7.9) '@raydium-io/raydium-sdk-v2': specifier: 0.1.95-alpha - version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: ^0.4.9 - version: 0.4.9(@solana/web3.js@1.98.0(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) + version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: ^1.98.0 - version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@sqds/multisig': + specifier: ^2.1.3 + version: 2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tensor-oss/tensorswap-sdk': specifier: ^4.5.0 - version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 - version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + version: 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) ai: specifier: ^4.0.22 - version: 4.0.22(react@19.0.0)(zod@3.24.1) + version: 4.0.26(react@19.0.0)(zod@3.24.1) bn.js: specifier: ^5.2.1 version: 5.2.1 @@ -106,16 +109,16 @@ importers: version: 16.4.7 flash-sdk: specifier: ^2.24.3 - version: 2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) form-data: specifier: ^4.0.1 version: 4.0.1 langchain: specifier: ^0.3.8 - version: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) + version: 0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) openai: specifier: ^4.77.0 - version: 4.77.3(zod@3.24.1) + version: 4.77.0(zod@3.24.1) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -480,8 +483,8 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@langchain/core@0.3.27': - resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} engines: {node: '>=18'} '@langchain/groq@0.1.2': @@ -496,11 +499,11 @@ packages: peerDependencies: '@langchain/core': '>=0.2.31 <0.4.0' - '@langchain/langgraph-sdk@0.0.33': - resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} + '@langchain/langgraph-sdk@0.0.32': + resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} - '@langchain/langgraph@0.2.38': - resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} + '@langchain/langgraph@0.2.39': + resolution: {integrity: sha512-zoQT5LViPlB5hRS7RNwixcAonUBAHcW+IzVkGR/4vcKoE49z5rPBdZsWjJ6b1YIV1K2bdSDJWl5KSEHilvnR1Q==} engines: {node: '>=18'} peerDependencies: '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' @@ -710,8 +713,8 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.8.0': - resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} '@noble/ed25519@1.7.3': @@ -725,8 +728,12 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.7.0': - resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -761,8 +768,8 @@ packages: '@solana/web3.js': ^1.90.0 decimal.js: ^10.4.3 - '@orca-so/whirlpools-sdk@0.13.13': - resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} + '@orca-so/whirlpools-sdk@0.13.12': + resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} peerDependencies: '@coral-xyz/anchor': ~0.29.0 '@orca-so/common-sdk': 0.6.4 @@ -827,20 +834,20 @@ packages: '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@shikijs/core@1.26.1': - resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} + '@shikijs/core@1.24.3': + resolution: {integrity: sha512-VRcf4GYUIkxIchGM9DrapRcxtgojg4IWKUtX5EtW+4PJiGzF2xQqZSv27PJt+WLc18KT3CNLpNWow9JYV5n+Rg==} - '@shikijs/engine-javascript@1.26.1': - resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} + '@shikijs/engine-javascript@1.24.3': + resolution: {integrity: sha512-De8tNLvYjeK6V0Gb47jIH2M+OKkw+lWnSV1j3HVDFMlNIglmVcTMG2fASc29W0zuFbfEEwKjO8Fe4KYSO6Ce3w==} + + '@shikijs/engine-oniguruma@1.24.3': + resolution: {integrity: sha512-iNnx950gs/5Nk+zrp1LuF+S+L7SKEhn8k9eXgFYPGhVshKppsYwRmW8tpmAMvILIMSDfrgqZ0w+3xWVQB//1Xw==} '@shikijs/engine-oniguruma@1.26.1': resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - '@shikijs/langs@1.26.1': - resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} - - '@shikijs/themes@1.26.1': - resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + '@shikijs/types@1.24.3': + resolution: {integrity: sha512-FPMrJ69MNxhRtldRk69CghvaGlbbN3pKRuvko0zvbfa2dXp4pAngByToqS5OY5jvN8D7LKR4RJE8UvzlCOuViw==} '@shikijs/types@1.26.1': resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} @@ -848,6 +855,9 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -1029,6 +1039,10 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@sqds/multisig@2.1.3': + resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} + engines: {node: '>=14'} + '@supercharge/promise-pool@3.2.0': resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} @@ -1121,8 +1135,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.69': - resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} + '@types/node@18.19.68': + resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} '@types/node@20.17.11': resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} @@ -1258,8 +1272,8 @@ packages: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - ai@4.0.22: - resolution: {integrity: sha512-yvcjWtofI2HZwgT3jMkoNnDUhAY+S9cOvZ6xbbOzrS0ZeFl1/gcbasFnwAqUJ7uL/t72/3a0Vy/pKg6N19A2Mw==} + ai@4.0.26: + resolution: {integrity: sha512-IDnSkiH0C+s+9jfKA5M8vO6PO279b5N/OtkbIy4gYtajLT5i52OobssG6LdZExZQxlYgBvXvTl3YskKJE/kD8Q==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -1479,8 +1493,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + bufferutil@4.0.8: + resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} engines: {node: '>=6.14.2'} bytes@3.1.2: @@ -1526,6 +1540,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.4.0: + resolution: {integrity: sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.4.1: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -1633,8 +1651,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -2036,8 +2054,8 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-process@1.4.8: - resolution: {integrity: sha512-W2PIdgXfhYeIlTzGiDyGJhjslZcwQCRcSw6plgyLu3CFk1PhQrKkTbQ5jkJ2NhOabMwETTrhl7c+xBcQ7B2jRg==} + find-process@1.4.9: + resolution: {integrity: sha512-x+1gcT3k+7ipx8chx1Z7cViSdeQ/RBwDk+6GiWnMTO0+YtGFrahToxarIZM6TzDZ9UFfYPUGpBf/85v5GpBXKA==} hasBin: true find-up@5.0.0: @@ -2110,12 +2128,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} get-stream@5.2.0: @@ -2273,6 +2287,9 @@ packages: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -2308,8 +2325,8 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -2336,10 +2353,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -2397,6 +2410,9 @@ packages: js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2506,8 +2522,8 @@ packages: typeorm: optional: true - langsmith@0.2.14: - resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + langsmith@0.2.13: + resolution: {integrity: sha512-16EOM5nhU6GlMCKGm5sgBIAKOKzS2d30qcDZmF21kSLZJiUhUNTROwvYdqgZLrGfIIzmSMJHCKA7RFd5qf50uw==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -2568,6 +2584,10 @@ packages: resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} engines: {node: '>= 0.6.0'} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} @@ -2827,11 +2847,11 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.10.0: - resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} + oniguruma-to-es@0.8.0: + resolution: {integrity: sha512-rY+/a6b+uCgoYIL9itjY0x99UUDHXmGaw7Jjk5ZvM/3cxDJifyxFr/Zm4tTmF6Tre18gAakJo7AzhKUeMNLgHA==} - openai@4.77.3: - resolution: {integrity: sha512-wLDy4+KWHz31HRFMW2+9KQuVuT2QWhs0z94w1Gm1h2Ut9vIHr9/rHZggbykZEfyiaJRVgw8ZS9K6AylDWzvPYw==} + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} hasBin: true peerDependencies: zod: ^3.23.8 @@ -3036,14 +3056,14 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + regex-recursion@5.0.0: + resolution: {integrity: sha512-UwyOqeobrCCqTXPcsSqH4gDhOjD5cI/b8kjngWgSZbxYh5yVjAwTjO5+hAuPRNiuR70+5RlWSs+U9PVcVcW9Lw==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3111,10 +3131,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -3164,8 +3180,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.26.1: - resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} + shiki@1.24.3: + resolution: {integrity: sha512-eMeX/ehE2IDKVs71kB4zVcDHjutNcOtm+yIRuR4sA6ThBbdFI0DffGJiyoKCodj0xRGxIoWC3pk/Anmm5mzHmA==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -3623,11 +3639,6 @@ packages: engines: {node: '>= 14'} hasBin: true - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -3652,14 +3663,14 @@ packages: snapshots: - '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@project-serum/anchor': 0.26.0(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) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@project-serum/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn: 1.0.5 bn.js: 5.2.1 bs58: 6.0.0 @@ -3734,8 +3745,8 @@ snapshots: dependencies: '@aptos-labs/aptos-cli': 1.0.2 '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 eventemitter3: 5.0.1 @@ -3750,20 +3761,20 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) borsh: 1.0.0 bs58: 5.0.0 buffer: 6.0.3 - '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(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)': + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/curves': 1.8.0 + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 '@scure/base': 1.2.1 - '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) borsh: 2.0.0 buffer: 6.0.3 graphemesplit: 2.4.4 @@ -3778,13 +3789,13 @@ snapshots: '@cfworker/json-schema@4.0.3': {} - '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 - '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 @@ -3796,7 +3807,7 @@ snapshots: prom-client: 15.1.3 rimraf: 5.0.10 typedoc: 0.26.11(typescript@5.7.2) - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) zstddec: 0.0.2 transitivePeerDependencies: - bufferutil @@ -3807,16 +3818,16 @@ snapshots: - typescript - utf-8-validate - '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(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) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -3829,16 +3840,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(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) + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -3851,16 +3862,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.7.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 pako: 2.1.0 @@ -3872,33 +3883,33 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 @@ -4113,7 +4124,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -4134,7 +4145,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4262,22 +4273,22 @@ snapshots: transitivePeerDependencies: - debug - '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@aptos-labs/ts-sdk': 1.33.1 '@ethersproject/bignumber': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/wallet': 5.7.0 '@irys/query': 0.0.8 '@near-js/crypto': 0.0.3 '@near-js/keystores-browser': 0.0.3 '@near-js/providers': 0.0.4 '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@supercharge/promise-pool': 3.2.0 algosdk: 1.24.1 - arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -4315,14 +4326,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': + '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': dependencies: '@cfworker/json-schema': 4.0.3 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.16 - langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -4332,57 +4343,57 @@ snapshots: transitivePeerDependencies: - openai - '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) groq-sdk: 0.5.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) uuid: 10.0.0 - '@langchain/langgraph-sdk@0.0.33': + '@langchain/langgraph-sdk@0.0.32': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/langgraph@0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/langgraph-sdk': 0.0.33 + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.32 uuid: 10.0.0 zod: 3.24.1 - '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) js-tiktoken: 1.0.16 - openai: 4.77.3(zod@3.24.1) + openai: 4.77.0(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) js-tiktoken: 1.0.16 - '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(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)': + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(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) - '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.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) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 tweetnacl: 1.0.3 transitivePeerDependencies: @@ -4392,11 +4403,11 @@ snapshots: - typescript - utf-8-validate - '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(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': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@noble/hashes': 1.5.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 superstruct: 2.0.2 tweetnacl: 1.0.3 @@ -4405,10 +4416,10 @@ snapshots: - encoding - utf-8-validate - '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4417,10 +4428,10 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4429,10 +4440,10 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4476,13 +4487,13 @@ snapshots: '@metaplex-foundation/cusper@0.0.2': {} - '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 transitivePeerDependencies: - bufferutil @@ -4492,15 +4503,15 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@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) - '@solana/spl-token': 0.1.8(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) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) js-sha3: 0.8.0 transitivePeerDependencies: - bufferutil @@ -4510,19 +4521,19 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.1 - '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: @@ -4551,12 +4562,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.4.0 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/rustbin': 0.3.5 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) camelcase: 6.3.0 debug: 4.4.0 js-sha256: 0.9.0 @@ -4570,18 +4581,18 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(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) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding @@ -4589,12 +4600,12 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/curves': 1.8.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -4617,11 +4628,11 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(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) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -4645,16 +4656,16 @@ snapshots: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 '@metaplex-foundation/umi-serializers-numbers': 0.8.9 - '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(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) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 '@metaplex-foundation/umi@0.9.2': @@ -4767,9 +4778,9 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/curves@1.8.0': + '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.0 '@noble/ed25519@1.7.3': {} @@ -4777,7 +4788,9 @@ snapshots: '@noble/hashes@1.5.0': {} - '@noble/hashes@1.7.0': {} + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4791,11 +4804,11 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/sha2': 5.7.0 - '@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) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 2.0.0 buffer: 6.0.3 @@ -4807,19 +4820,19 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) decimal.js: 10.4.3 tiny-invariant: 1.3.3 - '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/whirlpools-sdk@0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) decimal.js: 10.4.3 tiny-invariant: 1.3.3 @@ -4828,16 +4841,16 @@ snapshots: '@pkgr/core@0.1.1': {} - '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@project-serum/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(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) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -4850,11 +4863,11 @@ snapshots: - encoding - utf-8-validate - '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(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/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4869,15 +4882,15 @@ snapshots: transitivePeerDependencies: - axios - '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@pythnetwork/price-service-sdk': 1.8.0 '@types/ws': 8.5.13 axios: 1.7.9 axios-retry: 3.9.1 - isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ts-log: 2.2.7 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - debug @@ -4895,11 +4908,11 @@ snapshots: '@randlabs/communication-bridge': 1.0.1 optional: true - '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) axios: 1.7.9 big.js: 6.2.2 bn.js: 5.2.1 @@ -4921,11 +4934,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)': dependencies: '@saberhq/option-utils': 1.15.0 '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/promise-retry': 1.1.6 '@types/retry': 0.12.5 bn.js: 5.2.1 @@ -4949,33 +4962,35 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@shikijs/core@1.26.1': + '@shikijs/core@1.24.3': dependencies: - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/engine-javascript': 1.24.3 + '@shikijs/engine-oniguruma': 1.24.3 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.26.1': + '@shikijs/engine-javascript@1.24.3': dependencies: - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 0.10.0 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.0 + + '@shikijs/engine-oniguruma@1.24.3': + dependencies: + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@shikijs/engine-oniguruma@1.26.1': dependencies: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/langs@1.26.1': + '@shikijs/types@1.24.3': dependencies: - '@shikijs/types': 1.26.1 - - '@shikijs/themes@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 '@shikijs/types@1.26.1': dependencies: @@ -4984,12 +4999,14 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} + '@shikijs/vscode-textmate@9.3.1': {} + '@sindresorhus/is@4.6.0': {} - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.1.2 transitivePeerDependencies: @@ -5146,24 +5163,24 @@ snapshots: '@solana/errors@2.0.0-preview.2': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 5.7.2 '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 4.9.5 '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 5.7.2 @@ -5205,11 +5222,11 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@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)': + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@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) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 js-sha3: 0.8.0 @@ -5220,67 +5237,67 @@ snapshots: - supports-color - utf-8-validate - '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer: 6.0.3 buffer-layout: 1.2.2 @@ -5290,12 +5307,12 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(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)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5304,12 +5321,12 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5318,12 +5335,12 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(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)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5332,13 +5349,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(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)': + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5347,13 +5364,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.8(@solana/web3.js@1.95.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)': + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5362,13 +5379,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(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)': + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5381,11 +5398,11 @@ snapshots: dependencies: buffer: 6.0.3 - '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5394,7 +5411,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5403,11 +5420,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5416,7 +5433,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5425,11 +5442,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5438,7 +5455,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5447,6 +5464,26 @@ snapshots: - encoding - utf-8-validate + '@sqds/multisig@2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + assert: 2.1.0 + bn.js: 5.2.1 + buffer: 6.0.3 + invariant: 2.2.4 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@supercharge/promise-pool@3.2.0': {} '@swc/helpers@0.5.15': @@ -5457,14 +5494,14 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@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) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) axios: 0.28.1 big.js: 6.2.2 bn.js: 5.2.1 @@ -5482,14 +5519,14 @@ snapshots: - typescript - utf-8-validate - '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@msgpack/msgpack': 2.8.0 - '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(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) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@types/bn.js': 5.1.6 big.js: 6.2.2 bn.js: 5.2.1 @@ -5507,11 +5544,11 @@ snapshots: - typescript - utf-8-validate - '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': + '@tiplink/api@0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 libsodium: 0.7.15 libsodium-wrappers-sumo: 0.7.15 @@ -5608,7 +5645,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@18.19.69': + '@types/node@18.19.68': dependencies: undici-types: 5.26.5 @@ -5775,7 +5812,7 @@ snapshots: dependencies: humanize-ms: 1.2.1 - ai@4.0.22(react@19.0.0)(zod@3.24.1): + ai@4.0.26(react@19.0.0)(zod@3.24.1): dependencies: '@ai-sdk/provider': 1.0.3 '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) @@ -5801,7 +5838,7 @@ snapshots: dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 hi-base32: 0.5.1 js-sha256: 0.9.0 js-sha3: 0.8.0 @@ -5834,11 +5871,11 @@ snapshots: ansicolors@0.3.2: {} - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -5888,7 +5925,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.11.6 + bn.js: 4.12.1 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -6068,7 +6105,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bufferutil@4.0.9: + bufferutil@4.0.8: dependencies: node-gyp-build: 4.8.4 optional: true @@ -6096,13 +6133,13 @@ snapshots: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 set-function-length: 1.2.2 call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 callsites@3.1.0: {} @@ -6123,6 +6160,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.4.0: {} + chalk@5.4.1: {} character-entities-html4@2.1.0: {} @@ -6214,7 +6253,7 @@ snapshots: create-require@1.1.1: {} - cross-fetch@3.2.0: + cross-fetch@3.1.8: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -6531,7 +6570,7 @@ snapshots: ethereum-bloom-filters@1.2.0: dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.1 ethereum-cryptography@2.2.1: dependencies: @@ -6682,9 +6721,9 @@ snapshots: transitivePeerDependencies: - supports-color - find-process@1.4.8: + find-process@1.4.9: dependencies: - chalk: 5.4.1 + chalk: 4.1.2 commander: 12.1.0 debug: 4.4.0 eslint: 9.17.0 @@ -6700,13 +6739,13 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + flash-sdk@2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(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) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/node': 20.17.11 bignumber.js: 9.1.2 bs58: 5.0.0 @@ -6781,24 +6820,19 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.7: + get-intrinsic@1.2.6: dependencies: call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 - get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 - get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -6874,7 +6908,7 @@ snapshots: groq-sdk@0.5.0: dependencies: - '@types/node': 18.19.69 + '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -7011,6 +7045,10 @@ snapshots: through: 2.3.8 wrap-ansi: 6.2.0 + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -7034,12 +7072,9 @@ snapshots: dependencies: get-east-asian-width: 1.3.0 - is-generator-function@1.1.0: + is-generator-function@1.0.10: dependencies: - call-bound: 1.0.3 - get-proto: 1.0.1 has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -7058,13 +7093,6 @@ snapshots: is-path-inside@3.0.3: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - is-retry-allowed@2.2.0: {} is-stream@3.0.0: {} @@ -7079,13 +7107,13 @@ snapshots: isexe@2.0.0: {} - isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) jackspeak@3.4.3: dependencies: @@ -7097,7 +7125,7 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 - jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -7107,10 +7135,10 @@ snapshots: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -7129,6 +7157,8 @@ snapshots: dependencies: base64-js: 1.5.1 + js-tokens@4.0.0: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -7154,7 +7184,7 @@ snapshots: jsondiffpatch@0.6.0: dependencies: '@types/diff-match-patch': 1.0.36 - chalk: 5.4.1 + chalk: 5.4.0 diff-match-patch: 1.0.5 jsonfile@6.1.0: @@ -7185,29 +7215,29 @@ snapshots: dependencies: json-buffer: 3.0.1 - langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): + langchain@0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) js-tiktoken: 1.0.16 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 - yaml: 2.7.0 + yaml: 2.6.1 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: - '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) axios: 1.7.9 transitivePeerDependencies: - encoding - openai - langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): + langsmith@0.2.13(openai@4.77.0(zod@3.24.1)): dependencies: '@types/uuid': 10.0.0 commander: 10.0.1 @@ -7216,7 +7246,7 @@ snapshots: semver: 7.6.3 uuid: 10.0.0 optionalDependencies: - openai: 4.77.3(zod@3.24.1) + openai: 4.77.0(zod@3.24.1) levn@0.4.1: dependencies: @@ -7288,6 +7318,10 @@ snapshots: loglevel@1.9.2: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.1.2: {} lower-case@2.0.2: @@ -7524,15 +7558,15 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.10.0: + oniguruma-to-es@0.8.0: dependencies: emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 + regex: 5.0.2 + regex-recursion: 5.0.0 - openai@4.77.3(zod@3.24.1): + openai@4.77.0(zod@3.24.1): dependencies: - '@types/node': 18.19.69 + '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -7720,14 +7754,13 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-recursion@5.1.1: + regex-recursion@5.0.0: dependencies: - regex: 5.1.1 regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@5.1.1: + regex@5.0.2: dependencies: regex-utilities: 2.3.0 @@ -7783,9 +7816,9 @@ snapshots: buffer: 6.0.3 eventemitter3: 5.0.1 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 run-async@2.4.1: {} @@ -7800,12 +7833,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-regex: 1.2.1 - safer-buffer@2.1.2: {} scrypt-js@3.0.1: {} @@ -7854,7 +7881,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -7871,15 +7898,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.26.1: + shiki@1.24.3: dependencies: - '@shikijs/core': 1.26.1 - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/langs': 1.26.1 - '@shikijs/themes': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/core': 1.24.3 + '@shikijs/engine-javascript': 1.24.3 + '@shikijs/engine-oniguruma': 1.24.3 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 side-channel-list@1.0.0: @@ -7891,14 +7916,14 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -7947,7 +7972,7 @@ snapshots: spok@1.5.5: dependencies: ansicolors: 0.3.2 - find-process: 1.4.8 + find-process: 1.4.9 transitivePeerDependencies: - jiti - supports-color @@ -8146,9 +8171,9 @@ snapshots: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.26.1 + shiki: 1.24.3 typescript: 5.7.2 - yaml: 2.7.0 + yaml: 2.6.1 typedoc@0.27.6(typescript@5.7.2): dependencies: @@ -8157,7 +8182,7 @@ snapshots: markdown-it: 14.1.0 minimatch: 9.0.5 typescript: 5.7.2 - yaml: 2.7.0 + yaml: 2.6.1 typescript-collections@1.3.3: {} @@ -8228,7 +8253,7 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.0 + is-generator-function: 1.0.10 is-typed-array: 1.1.15 which-typed-array: 1.1.18 @@ -8323,27 +8348,25 @@ snapshots: wrappy@1.0.2: {} - ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 - ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 - ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 xsalsa20@1.2.0: {} yaml@2.6.1: {} - yaml@2.7.0: {} - yn@3.1.1: {} yocto-queue@0.1.0: {} diff --git a/src/actions/domain/getAllRegisteredAllDomains.ts b/src/actions/bonfida/getAllRegisteredAllDomains.ts similarity index 96% rename from src/actions/domain/getAllRegisteredAllDomains.ts rename to src/actions/bonfida/getAllRegisteredAllDomains.ts index b10717f..541c069 100644 --- a/src/actions/domain/getAllRegisteredAllDomains.ts +++ b/src/actions/bonfida/getAllRegisteredAllDomains.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getAllRegisteredAllDomains } from "../../tools/domain"; +import { getAllRegisteredAllDomains } from "../../tools"; const getAllRegisteredAllDomainsAction: Action = { name: "GET_ALL_REGISTERED_ALL_DOMAINS", diff --git a/src/actions/domain/getMainAllDomainsDomain.ts b/src/actions/bonfida/getMainAllDomainsDomain.ts similarity index 96% rename from src/actions/domain/getMainAllDomainsDomain.ts rename to src/actions/bonfida/getMainAllDomainsDomain.ts index 6b8a3cb..7ab7488 100644 --- a/src/actions/domain/getMainAllDomainsDomain.ts +++ b/src/actions/bonfida/getMainAllDomainsDomain.ts @@ -2,7 +2,7 @@ import { PublicKey } from "@solana/web3.js"; import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getMainAllDomainsDomain } from "../../tools/domain"; +import { getMainAllDomainsDomain } from "../../tools"; const getMainAllDomainsDomainAction: Action = { name: "GET_MAIN_ALL_DOMAINS_DOMAIN", diff --git a/src/actions/domain/getPrimaryDomain.ts b/src/actions/bonfida/getPrimaryDomain.ts similarity index 96% rename from src/actions/domain/getPrimaryDomain.ts rename to src/actions/bonfida/getPrimaryDomain.ts index fdf985e..b5fd0d2 100644 --- a/src/actions/domain/getPrimaryDomain.ts +++ b/src/actions/bonfida/getPrimaryDomain.ts @@ -2,7 +2,7 @@ import { PublicKey } from "@solana/web3.js"; import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getPrimaryDomain } from "../../tools/domain"; +import { getPrimaryDomain } from "../../tools"; const getPrimaryDomainAction: Action = { name: "GET_PRIMARY_DOMAIN", diff --git a/src/actions/domain/registerDomain.ts b/src/actions/bonfida/registerDomain.ts similarity index 96% rename from src/actions/domain/registerDomain.ts rename to src/actions/bonfida/registerDomain.ts index 5f5a6bc..9f1badb 100644 --- a/src/actions/domain/registerDomain.ts +++ b/src/actions/bonfida/registerDomain.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { registerDomain } from "../../tools/domain"; +import { registerDomain } from "../../tools"; const registerDomainAction: Action = { name: "REGISTER_DOMAIN", diff --git a/src/actions/domain/resolveSolDomain.ts b/src/actions/bonfida/resolveSolDomain.ts similarity index 96% rename from src/actions/domain/resolveSolDomain.ts rename to src/actions/bonfida/resolveSolDomain.ts index c72f0a3..56242c6 100644 --- a/src/actions/domain/resolveSolDomain.ts +++ b/src/actions/bonfida/resolveSolDomain.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { resolveSolDomain } from "../../tools/domain"; +import { resolveSolDomain } from "../../tools/"; const resolveSolDomainAction: Action = { name: "RESOLVE_SOL_DOMAIN", diff --git a/src/actions/index.ts b/src/actions/index.ts index e327f8a..0718c6b 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -1,28 +1,28 @@ -import deployTokenAction from "./token/deployToken"; -import balanceAction from "./balance/balance"; -import transferAction from "./token/transfer"; +import deployTokenAction from "./metaplex/deployToken"; +import balanceAction from "./solana/balance"; +import transferAction from "./solana/transfer"; import deployCollectionAction from "./metaplex/deployCollection"; import mintNFTAction from "./metaplex/mintNFT"; import tradeAction from "./jupiter/trade"; import requestFundsAction from "./solana/requestFunds"; -import resolveDomainAction from "./domain/registerDomain"; +import resolveDomainAction from "./bonfida/registerDomain"; import getTokenDataAction from "./jupiter/getTokenData"; import getTPSAction from "./solana/getTPS"; import fetchPriceAction from "./jupiter/fetchPrice"; import stakeWithJupAction from "./jupiter/stakeWithJup"; import stakeWithSolayerAction from "./solayer/stakeWithSolayer"; -import registerDomainAction from "./domain/registerDomain"; +import registerDomainAction from "./bonfida/registerDomain"; import lendAssetAction from "./lulo/lendAsset"; import createGibworkTaskAction from "./gibwork/createGibworkTask"; -import resolveSolDomainAction from "./domain/resolveSolDomain"; +import resolveSolDomainAction from "./bonfida/resolveSolDomain"; import pythFetchPriceAction from "./pyth/pythFetchPrice"; -import getOwnedDomainsForTLDAction from "./domain/getOwnedDomainsForTLD"; -import getPrimaryDomainAction from "./domain/getPrimaryDomain"; -import getAllDomainsTLDsAction from "./domain/getAllDomainsTLDs"; -import getOwnedAllDomainsAction from "./domain/getOwnedAllDomains"; +import getOwnedDomainsForTLDAction from "./onsol/getOwnedDomainsForTLD"; +import getPrimaryDomainAction from "./bonfida/getPrimaryDomain"; +import getAllDomainsTLDsAction from "./onsol/getAllDomainsTLDs"; +import getOwnedAllDomainsAction from "./onsol/getOwnedAllDomains"; import createImageAction from "./agent/createImage"; -import getMainAllDomainsDomainAction from "./domain/getMainAllDomainsDomain"; -import getAllRegisteredAllDomainsAction from "./domain/getAllRegisteredAllDomains"; +import getMainAllDomainsDomainAction from "./bonfida/getMainAllDomainsDomain"; +import getAllRegisteredAllDomainsAction from "./bonfida/getAllRegisteredAllDomains"; import raydiumCreateCpmmAction from "./raydium/raydiumCreateCpmm"; import raydiumCreateAmmV4Action from "./raydium/raydiumCreateAmmV4"; import createOrcaSingleSidedWhirlpoolAction from "./orca/createOrcaSingleSidedWhirlpool"; diff --git a/src/actions/token/compressedAirdrop.ts b/src/actions/lightprotocol/compressedAirdrop.ts similarity index 100% rename from src/actions/token/compressedAirdrop.ts rename to src/actions/lightprotocol/compressedAirdrop.ts diff --git a/src/actions/token/deployToken.ts b/src/actions/metaplex/deployToken.ts similarity index 100% rename from src/actions/token/deployToken.ts rename to src/actions/metaplex/deployToken.ts diff --git a/src/actions/domain/getAllDomainsTLDs.ts b/src/actions/onsol/getAllDomainsTLDs.ts similarity index 95% rename from src/actions/domain/getAllDomainsTLDs.ts rename to src/actions/onsol/getAllDomainsTLDs.ts index 074e143..3ab642e 100644 --- a/src/actions/domain/getAllDomainsTLDs.ts +++ b/src/actions/onsol/getAllDomainsTLDs.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getAllDomainsTLDs } from "../../tools/domain"; +import { getAllDomainsTLDs } from "../../tools"; const getAllDomainsTLDsAction: Action = { name: "GET_ALL_TLDS", diff --git a/src/actions/domain/getOwnedAllDomains.ts b/src/actions/onsol/getOwnedAllDomains.ts similarity index 96% rename from src/actions/domain/getOwnedAllDomains.ts rename to src/actions/onsol/getOwnedAllDomains.ts index 2a98d4f..78f4d48 100644 --- a/src/actions/domain/getOwnedAllDomains.ts +++ b/src/actions/onsol/getOwnedAllDomains.ts @@ -2,7 +2,7 @@ import { PublicKey } from "@solana/web3.js"; import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getOwnedAllDomains } from "../../tools/domain"; +import { getOwnedAllDomains } from "../../tools"; const getOwnedAllDomainsAction: Action = { name: "GET_OWNED_ALL_DOMAINS", diff --git a/src/actions/domain/getOwnedDomainsForTLD.ts b/src/actions/onsol/getOwnedDomainsForTLD.ts similarity index 96% rename from src/actions/domain/getOwnedDomainsForTLD.ts rename to src/actions/onsol/getOwnedDomainsForTLD.ts index 72854d8..d49f30b 100644 --- a/src/actions/domain/getOwnedDomainsForTLD.ts +++ b/src/actions/onsol/getOwnedDomainsForTLD.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getOwnedDomainsForTLD } from "../../tools/domain"; +import { getOwnedDomainsForTLD } from "../../tools"; const getOwnedDomainsForTLDAction: Action = { name: "GET_OWNED_DOMAINS_FOR_TLD", diff --git a/src/actions/domain/resolveDomain.ts b/src/actions/onsol/resolveDomain.ts similarity index 95% rename from src/actions/domain/resolveDomain.ts rename to src/actions/onsol/resolveDomain.ts index b3d9534..347a0d6 100644 --- a/src/actions/domain/resolveDomain.ts +++ b/src/actions/onsol/resolveDomain.ts @@ -1,7 +1,7 @@ import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { resolveAllDomains } from "../../tools/domain"; +import { resolveAllDomains } from "../../tools"; const resolveDomainAction: Action = { name: "RESOLVE_ALL_DOMAINS", diff --git a/src/actions/balance/balance.ts b/src/actions/solana/balance.ts similarity index 96% rename from src/actions/balance/balance.ts rename to src/actions/solana/balance.ts index 97e2d57..1009033 100644 --- a/src/actions/balance/balance.ts +++ b/src/actions/solana/balance.ts @@ -2,7 +2,7 @@ import { PublicKey } from "@solana/web3.js"; import { Action } from "../../types/action"; import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { get_balance } from "../../tools/balance"; +import { get_balance } from "../../tools"; const balanceAction: Action = { name: "BALANCE_ACTION", diff --git a/src/actions/token/closeEmptyTokenAccounts.ts b/src/actions/solana/closeEmptyTokenAccounts.ts similarity index 100% rename from src/actions/token/closeEmptyTokenAccounts.ts rename to src/actions/solana/closeEmptyTokenAccounts.ts diff --git a/src/actions/token/transfer.ts b/src/actions/solana/transfer.ts similarity index 100% rename from src/actions/token/transfer.ts rename to src/actions/solana/transfer.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index f841ac4..25037c9 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -85,6 +85,13 @@ import { CreateSingleOptions, StoreInitOptions, } from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; +import { create_squads_multisig } from "../tools/squads_multisig/create_multisig"; +import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; +import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; +import { create_proposal } from "../tools/squads_multisig/create_proposal"; +import { approve_proposal } from "../tools/squads_multisig/approve_proposal"; +import { execute_transaction } from "../tools/squads_multisig/execute_proposal"; +import { reject_proposal } from "../tools/squads_multisig/reject_proposal"; /** * Main class for interacting with Solana blockchain @@ -603,4 +610,49 @@ export class SolanaAgentKit { ); return `Transaction: ${tx}`; } + + async createSquadsMultisig(creator: PublicKey): Promise { + return create_squads_multisig(this, creator); + } + + async depositToMultisig( + amount: number, + vaultIndex: number = 0, + mint?: PublicKey, + ): Promise { + return deposit_to_multisig(this, amount, vaultIndex, mint); + } + + async transferFromMultisig( + amount: number, + to: PublicKey, + vaultIndex: number = 0, + mint?: PublicKey, + ): Promise { + return transfer_from_multisig(this, amount, to, vaultIndex, mint); + } + + async createMultisigProposal( + transactionIndex?: number | bigint, + ): Promise { + return create_proposal(this, transactionIndex); + } + + async approveMultisigProposal( + transactionIndex?: number | bigint, + ): Promise { + return approve_proposal(this, transactionIndex); + } + + async rejectMultisigProposal( + transactionIndex?: number | bigint, + ): Promise { + return reject_proposal(this, transactionIndex); + } + + async executeMultisigTransaction( + transactionIndex?: number | bigint, + ): Promise { + return execute_transaction(this, transactionIndex); + } } diff --git a/src/langchain/tools/3land/create-collection.tool.ts b/src/langchain/3land/create_collection.ts similarity index 97% rename from src/langchain/tools/3land/create-collection.tool.ts rename to src/langchain/3land/create_collection.ts index 5e41ded..9b95682 100644 --- a/src/langchain/tools/3land/create-collection.tool.ts +++ b/src/langchain/3land/create_collection.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { CreateCollectionOptions, StoreInitOptions, diff --git a/src/langchain/tools/3land/create-single.tool.ts b/src/langchain/3land/create_single.ts similarity index 98% rename from src/langchain/tools/3land/create-single.tool.ts rename to src/langchain/3land/create_single.ts index 30c894a..a79f9e8 100644 --- a/src/langchain/tools/3land/create-single.tool.ts +++ b/src/langchain/3land/create_single.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { CreateSingleOptions, StoreInitOptions, diff --git a/src/langchain/3land/index.ts b/src/langchain/3land/index.ts new file mode 100644 index 0000000..2065750 --- /dev/null +++ b/src/langchain/3land/index.ts @@ -0,0 +1,2 @@ +export * from "./create_single"; +export * from "./create_collection"; diff --git a/src/langchain/tools/adrena/close-trade.tool.ts b/src/langchain/adrena/close_trade.ts similarity index 95% rename from src/langchain/tools/adrena/close-trade.tool.ts rename to src/langchain/adrena/close_trade.ts index 4f78732..c434b1b 100644 --- a/src/langchain/tools/adrena/close-trade.tool.ts +++ b/src/langchain/adrena/close_trade.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { PerpTradeResponse } from "./types"; export class SolanaPerpCloseTradeTool extends BaseSolanaTool { diff --git a/src/langchain/adrena/index.ts b/src/langchain/adrena/index.ts new file mode 100644 index 0000000..8557acf --- /dev/null +++ b/src/langchain/adrena/index.ts @@ -0,0 +1,2 @@ +export * from "./open_trade"; +export * from "./close_trade"; diff --git a/src/langchain/tools/adrena/open-trade.tool.ts b/src/langchain/adrena/open_trade.ts similarity index 97% rename from src/langchain/tools/adrena/open-trade.tool.ts rename to src/langchain/adrena/open_trade.ts index b24d8b1..38a79ae 100644 --- a/src/langchain/tools/adrena/open-trade.tool.ts +++ b/src/langchain/adrena/open_trade.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { PerpTradeResponse } from "./types"; export class SolanaPerpOpenTradeTool extends BaseSolanaTool { diff --git a/src/langchain/tools/adrena/types.ts b/src/langchain/adrena/types.ts similarity index 100% rename from src/langchain/tools/adrena/types.ts rename to src/langchain/adrena/types.ts diff --git a/src/langchain/tools/agent/create-image.tool.ts b/src/langchain/agent/create_image.ts similarity index 88% rename from src/langchain/tools/agent/create-image.tool.ts rename to src/langchain/agent/create_image.ts index 54a5a1d..5837732 100644 --- a/src/langchain/tools/agent/create-image.tool.ts +++ b/src/langchain/agent/create_image.ts @@ -1,6 +1,6 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { CreateImageResponse } from "./types"; -import { create_image } from "../../../tools/agent"; +import { create_image } from "../../tools/agent"; export class SolanaCreateImageTool extends BaseSolanaTool { name = "solana_create_image"; diff --git a/src/langchain/agent/index.ts b/src/langchain/agent/index.ts new file mode 100644 index 0000000..169b9d4 --- /dev/null +++ b/src/langchain/agent/index.ts @@ -0,0 +1,2 @@ +export * from "./create_image"; +export * from "./wallet_address"; diff --git a/src/langchain/tools/agent/types.ts b/src/langchain/agent/types.ts similarity index 100% rename from src/langchain/tools/agent/types.ts rename to src/langchain/agent/types.ts diff --git a/src/langchain/tools/agent/wallet-address.tool.ts b/src/langchain/agent/wallet_address.ts similarity index 89% rename from src/langchain/tools/agent/wallet-address.tool.ts rename to src/langchain/agent/wallet_address.ts index 78c8e1c..79408fb 100644 --- a/src/langchain/tools/agent/wallet-address.tool.ts +++ b/src/langchain/agent/wallet_address.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { WalletAddressResponse } from "./types"; export class SolanaGetWalletAddressTool extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/get-domain.tool.ts b/src/langchain/bonfida/get_domain.ts similarity index 93% rename from src/langchain/tools/domain/get-domain.tool.ts rename to src/langchain/bonfida/get_domain.ts index 2eebcca..b81759e 100644 --- a/src/langchain/tools/domain/get-domain.tool.ts +++ b/src/langchain/bonfida/get_domain.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { DomainResponse } from "./types"; export class SolanaGetDomainTool extends BaseSolanaTool { diff --git a/src/langchain/bonfida/index.ts b/src/langchain/bonfida/index.ts new file mode 100644 index 0000000..a7976f0 --- /dev/null +++ b/src/langchain/bonfida/index.ts @@ -0,0 +1,4 @@ +export * from "./register_domain"; +export * from "./resolve_domain"; +export * from "./get_domain"; +export * from "./main_domain"; diff --git a/src/langchain/tools/domain/main-domain.tool.ts b/src/langchain/bonfida/main_domain.ts similarity index 93% rename from src/langchain/tools/domain/main-domain.tool.ts rename to src/langchain/bonfida/main_domain.ts index eb70581..d9df61c 100644 --- a/src/langchain/tools/domain/main-domain.tool.ts +++ b/src/langchain/bonfida/main_domain.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { DomainResponse } from "./types"; export class SolanaGetMainDomain extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/register-domain.tool.ts b/src/langchain/bonfida/register_domain.ts similarity index 94% rename from src/langchain/tools/domain/register-domain.tool.ts rename to src/langchain/bonfida/register_domain.ts index 5b7d368..d4d3b94 100644 --- a/src/langchain/tools/domain/register-domain.tool.ts +++ b/src/langchain/bonfida/register_domain.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { RegisterDomainInput, RegisterDomainResponse } from "./types"; export class SolanaRegisterDomainTool extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/resolve-domain.tool.ts b/src/langchain/bonfida/resolve_domain.ts similarity index 93% rename from src/langchain/tools/domain/resolve-domain.tool.ts rename to src/langchain/bonfida/resolve_domain.ts index 555e93a..be3dd6d 100644 --- a/src/langchain/tools/domain/resolve-domain.tool.ts +++ b/src/langchain/bonfida/resolve_domain.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { ResolveDomainResponse } from "./types"; export class SolanaResolveDomainTool extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/types.ts b/src/langchain/bonfida/types.ts similarity index 100% rename from src/langchain/tools/domain/types.ts rename to src/langchain/bonfida/types.ts diff --git a/src/langchain/tools/common/base.tool.ts b/src/langchain/common/base.ts similarity index 89% rename from src/langchain/tools/common/base.tool.ts rename to src/langchain/common/base.ts index e8b4fa4..80757ca 100644 --- a/src/langchain/tools/common/base.tool.ts +++ b/src/langchain/common/base.ts @@ -1,5 +1,5 @@ import { Tool } from "langchain/tools"; -import { SolanaAgentKit } from "../../../agent"; +import { SolanaAgentKit } from "../../agent"; import { BaseToolResponse } from "./types"; export abstract class BaseSolanaTool extends Tool { diff --git a/src/langchain/common/index.ts b/src/langchain/common/index.ts new file mode 100644 index 0000000..97fae0d --- /dev/null +++ b/src/langchain/common/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./base"; diff --git a/src/langchain/tools/common/types.ts b/src/langchain/common/types.ts similarity index 100% rename from src/langchain/tools/common/types.ts rename to src/langchain/common/types.ts diff --git a/src/langchain/dexscreener/index.ts b/src/langchain/dexscreener/index.ts new file mode 100644 index 0000000..0aace32 --- /dev/null +++ b/src/langchain/dexscreener/index.ts @@ -0,0 +1 @@ +export * from "./token_data_ticker"; diff --git a/src/langchain/tools/dexscreener/token-data-ticker.tool.ts b/src/langchain/dexscreener/token_data_ticker.ts similarity index 91% rename from src/langchain/tools/dexscreener/token-data-ticker.tool.ts rename to src/langchain/dexscreener/token_data_ticker.ts index 949add5..42df350 100644 --- a/src/langchain/tools/dexscreener/token-data-ticker.tool.ts +++ b/src/langchain/dexscreener/token_data_ticker.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; export class SolanaTokenDataByTickerTool extends BaseSolanaTool { name = "solana_token_data_by_ticker"; diff --git a/src/langchain/tools/flash/flash-close.tool.ts b/src/langchain/flash/flash_close.ts similarity index 94% rename from src/langchain/tools/flash/flash-close.tool.ts rename to src/langchain/flash/flash_close.ts index e5c9dd0..623fd07 100644 --- a/src/langchain/tools/flash/flash-close.tool.ts +++ b/src/langchain/flash/flash_close.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { FlashCloseTradeInput, PerpTradeResponse } from "./types"; export class SolanaFlashCloseTrade extends BaseSolanaTool { diff --git a/src/langchain/tools/flash/flash-open.tool.ts b/src/langchain/flash/flash_open.ts similarity index 96% rename from src/langchain/tools/flash/flash-open.tool.ts rename to src/langchain/flash/flash_open.ts index 9b104c6..c8cdd0e 100644 --- a/src/langchain/tools/flash/flash-open.tool.ts +++ b/src/langchain/flash/flash_open.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { FlashOpenTradeInput, PerpTradeResponse } from "./types"; export class SolanaFlashOpenTrade extends BaseSolanaTool { diff --git a/src/langchain/flash/index.ts b/src/langchain/flash/index.ts new file mode 100644 index 0000000..bb17b16 --- /dev/null +++ b/src/langchain/flash/index.ts @@ -0,0 +1,3 @@ +export * from "./flash_open"; +export * from "./flash_close"; +export * from "./types"; diff --git a/src/langchain/tools/flash/types.ts b/src/langchain/flash/types.ts similarity index 100% rename from src/langchain/tools/flash/types.ts rename to src/langchain/flash/types.ts diff --git a/src/langchain/tools/gibwork/create-task.tool.ts b/src/langchain/gibwork/create_task.ts similarity index 96% rename from src/langchain/tools/gibwork/create-task.tool.ts rename to src/langchain/gibwork/create_task.ts index 70a0230..e3a357e 100644 --- a/src/langchain/tools/gibwork/create-task.tool.ts +++ b/src/langchain/gibwork/create_task.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { CreateGibworkTaskInput, GibworkTaskResponse } from "./types"; export class SolanaCreateGibworkTask extends BaseSolanaTool { diff --git a/src/langchain/gibwork/index.ts b/src/langchain/gibwork/index.ts new file mode 100644 index 0000000..cbe7509 --- /dev/null +++ b/src/langchain/gibwork/index.ts @@ -0,0 +1,2 @@ +export * from "./create_task"; +export * from "./types"; diff --git a/src/langchain/tools/gibwork/types.ts b/src/langchain/gibwork/types.ts similarity index 100% rename from src/langchain/tools/gibwork/types.ts rename to src/langchain/gibwork/types.ts diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 178a42f..d0a3bb3 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1,3 +1,29 @@ +export * from "./adrena"; +export * from "./onsol"; +export * from "./dexscreener"; +export * from "./onsol"; +export * from "./flash"; +export * from "./gibwork"; +export * from "./jupiter"; +export * from "./lulo"; +export * from "./manifest"; +export * from "./solana"; +export * from "./agent"; +export * from "./metaplex"; +export * from "./openbook"; +export * from "./orca"; +export * from "./pumpfun"; +export * from "./pyth"; +export * from "./raydium"; +export * from "./rugcheck"; +export * from "./sendarcade"; +export * from "./solayer"; +export * from "./tensor"; +export * from "./3land"; +export * from "./tiplink"; +export * from "./bonfida"; +export * from "./lightprotocol"; + import { SolanaAgentKit } from "../agent"; import { SolanaBalanceTool, @@ -57,7 +83,7 @@ import { SolanaPerpCloseTradeTool, SolanaFlashOpenTrade, SolanaFlashCloseTrade, -} from "./tools/index"; +} from "./index"; export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ diff --git a/src/langchain/tools/jupiter/fetch-price.tool.ts b/src/langchain/jupiter/fetch_price.ts similarity index 92% rename from src/langchain/tools/jupiter/fetch-price.tool.ts rename to src/langchain/jupiter/fetch_price.ts index 67f6bf5..789625d 100644 --- a/src/langchain/tools/jupiter/fetch-price.tool.ts +++ b/src/langchain/jupiter/fetch_price.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { PriceResponse } from "./types"; export class SolanaFetchPriceTool extends BaseSolanaTool { diff --git a/src/langchain/jupiter/index.ts b/src/langchain/jupiter/index.ts new file mode 100644 index 0000000..2a09508 --- /dev/null +++ b/src/langchain/jupiter/index.ts @@ -0,0 +1,5 @@ +export * from "./fetch_price"; +export * from "./token_data"; +export * from "./trade"; +export * from "./stake"; +export * from "./types"; diff --git a/src/langchain/tools/jupiter/stake.tool.ts b/src/langchain/jupiter/stake.ts similarity index 93% rename from src/langchain/tools/jupiter/stake.tool.ts rename to src/langchain/jupiter/stake.ts index 1ba7774..3c5d3fe 100644 --- a/src/langchain/tools/jupiter/stake.tool.ts +++ b/src/langchain/jupiter/stake.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { StakeResponse } from "./types"; export class SolanaStakeTool extends BaseSolanaTool { diff --git a/src/langchain/tools/jupiter/token-data.tool.ts b/src/langchain/jupiter/token_data.ts similarity index 92% rename from src/langchain/tools/jupiter/token-data.tool.ts rename to src/langchain/jupiter/token_data.ts index 40ea58f..54fbc05 100644 --- a/src/langchain/tools/jupiter/token-data.tool.ts +++ b/src/langchain/jupiter/token_data.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; export class SolanaTokenDataTool extends BaseSolanaTool { name = "solana_token_data"; diff --git a/src/langchain/tools/jupiter/trade.tool.ts b/src/langchain/jupiter/trade.ts similarity index 100% rename from src/langchain/tools/jupiter/trade.tool.ts rename to src/langchain/jupiter/trade.ts diff --git a/src/langchain/tools/jupiter/types.ts b/src/langchain/jupiter/types.ts similarity index 100% rename from src/langchain/tools/jupiter/types.ts rename to src/langchain/jupiter/types.ts diff --git a/src/langchain/tools/token/compressed-airdrop.tool.ts b/src/langchain/lightprotocol/compressed_airdrop.ts similarity index 85% rename from src/langchain/tools/token/compressed-airdrop.tool.ts rename to src/langchain/lightprotocol/compressed_airdrop.ts index ce83903..0efa235 100644 --- a/src/langchain/tools/token/compressed-airdrop.tool.ts +++ b/src/langchain/lightprotocol/compressed_airdrop.ts @@ -1,5 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; -import { CompressedAirdropInput, CompressedAirdropResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaCompressedAirdropTool extends BaseSolanaTool { name = "solana_compressed_airdrop"; @@ -15,7 +14,7 @@ export class SolanaCompressedAirdropTool extends BaseSolanaTool { protected async _call(input: string): Promise { try { - const params: CompressedAirdropInput = JSON.parse(input); + const params = JSON.parse(input); const txs = await this.solanaKit.sendCompressedAirdrop( params.mintAddress, @@ -30,7 +29,7 @@ export class SolanaCompressedAirdropTool extends BaseSolanaTool { status: "success", message: `Airdropped ${params.amount} tokens to ${params.recipients.length} recipients.`, transactionHashes: txs, - } as CompressedAirdropResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/lightprotocol/index.ts b/src/langchain/lightprotocol/index.ts new file mode 100644 index 0000000..85b1b94 --- /dev/null +++ b/src/langchain/lightprotocol/index.ts @@ -0,0 +1 @@ +export * from "./compressed_airdrop"; diff --git a/src/langchain/lulo/index.ts b/src/langchain/lulo/index.ts new file mode 100644 index 0000000..9a7fe85 --- /dev/null +++ b/src/langchain/lulo/index.ts @@ -0,0 +1,2 @@ +export * from "./lend_asset"; +export * from "./types"; diff --git a/src/langchain/tools/lulo/lend-asset.tool.ts b/src/langchain/lulo/lend_asset.ts similarity index 93% rename from src/langchain/tools/lulo/lend-asset.tool.ts rename to src/langchain/lulo/lend_asset.ts index 94666b1..c30300b 100644 --- a/src/langchain/tools/lulo/lend-asset.tool.ts +++ b/src/langchain/lulo/lend_asset.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { LendAssetResponse } from "./types"; export class SolanaLendAssetTool extends BaseSolanaTool { diff --git a/src/langchain/tools/lulo/types.ts b/src/langchain/lulo/types.ts similarity index 100% rename from src/langchain/tools/lulo/types.ts rename to src/langchain/lulo/types.ts diff --git a/src/langchain/tools/manifest/batch-order.tool.ts b/src/langchain/manifest/batch_order.ts similarity index 95% rename from src/langchain/tools/manifest/batch-order.tool.ts rename to src/langchain/manifest/batch_order.ts index 2e57c01..4249efd 100644 --- a/src/langchain/tools/manifest/batch-order.tool.ts +++ b/src/langchain/manifest/batch_order.ts @@ -1,6 +1,6 @@ import { BaseSolanaTool } from "../common"; -import { OrderParams } from "../../../types"; -import { generateOrdersfromPattern } from "./../../../tools/manifest"; +import { OrderParams } from "../../types"; +import { generateOrdersfromPattern } from "../../tools/manifest"; import { PublicKey } from "@solana/web3.js"; export class SolanaBatchOrderTool extends BaseSolanaTool { diff --git a/src/langchain/tools/manifest/cancel-orders.tool.ts b/src/langchain/manifest/cancel_orders.ts similarity index 100% rename from src/langchain/tools/manifest/cancel-orders.tool.ts rename to src/langchain/manifest/cancel_orders.ts diff --git a/src/langchain/manifest/index.ts b/src/langchain/manifest/index.ts new file mode 100644 index 0000000..f10156c --- /dev/null +++ b/src/langchain/manifest/index.ts @@ -0,0 +1,6 @@ +export * from "./manifest_market"; +export * from "./batch_order"; +export * from "./cancel_orders"; +export * from "./limit_order"; +export * from "./withdraw"; +export * from "./types"; diff --git a/src/langchain/tools/manifest/limit-order.tool.ts b/src/langchain/manifest/limit_order.ts similarity index 100% rename from src/langchain/tools/manifest/limit-order.tool.ts rename to src/langchain/manifest/limit_order.ts diff --git a/src/langchain/tools/manifest/manifest-market.tool.ts b/src/langchain/manifest/manifest_market.ts similarity index 94% rename from src/langchain/tools/manifest/manifest-market.tool.ts rename to src/langchain/manifest/manifest_market.ts index 9ecb5b8..0999f8d 100644 --- a/src/langchain/tools/manifest/manifest-market.tool.ts +++ b/src/langchain/manifest/manifest_market.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { ManifestMarketInput, ManifestMarketResponse } from "./types"; export class SolanaManifestCreateMarket extends BaseSolanaTool { diff --git a/src/langchain/tools/manifest/types.ts b/src/langchain/manifest/types.ts similarity index 100% rename from src/langchain/tools/manifest/types.ts rename to src/langchain/manifest/types.ts diff --git a/src/langchain/tools/manifest/withdraw.tool.ts b/src/langchain/manifest/withdraw.ts similarity index 100% rename from src/langchain/tools/manifest/withdraw.tool.ts rename to src/langchain/manifest/withdraw.ts diff --git a/src/langchain/tools/metaplex/deploy-collection.tool.ts b/src/langchain/metaplex/deploy_collection.ts similarity index 95% rename from src/langchain/tools/metaplex/deploy-collection.tool.ts rename to src/langchain/metaplex/deploy_collection.ts index 32e972d..cd507a1 100644 --- a/src/langchain/tools/metaplex/deploy-collection.tool.ts +++ b/src/langchain/metaplex/deploy_collection.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { DeployCollectionInput, DeployCollectionResponse } from "./types"; export class SolanaDeployCollectionTool extends BaseSolanaTool { diff --git a/src/langchain/tools/token/deploy-token.tool.ts b/src/langchain/metaplex/deploy_token.ts similarity index 81% rename from src/langchain/tools/token/deploy-token.tool.ts rename to src/langchain/metaplex/deploy_token.ts index 919e0ee..2b6454d 100644 --- a/src/langchain/tools/token/deploy-token.tool.ts +++ b/src/langchain/metaplex/deploy_token.ts @@ -1,5 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; -import { DeployTokenInput, DeployTokenResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaDeployTokenTool extends BaseSolanaTool { name = "solana_deploy_token"; @@ -14,7 +13,7 @@ export class SolanaDeployTokenTool extends BaseSolanaTool { protected async _call(input: string): Promise { try { - const params: DeployTokenInput = JSON.parse(input); + const params = JSON.parse(input); const result = await this.solanaKit.deployToken( params.name, @@ -29,7 +28,7 @@ export class SolanaDeployTokenTool extends BaseSolanaTool { message: "Token deployed successfully", mintAddress: result.mint.toString(), decimals: params.decimals || 9, - } as DeployTokenResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/metaplex/index.ts b/src/langchain/metaplex/index.ts new file mode 100644 index 0000000..f3aa4f4 --- /dev/null +++ b/src/langchain/metaplex/index.ts @@ -0,0 +1,4 @@ +export * from "./deploy_collection"; +export * from "./mint_nft"; +export * from "./deploy_token"; +export * from "./types"; diff --git a/src/langchain/tools/metaplex/mint-nft.tool.ts b/src/langchain/metaplex/mint_nft.ts similarity index 96% rename from src/langchain/tools/metaplex/mint-nft.tool.ts rename to src/langchain/metaplex/mint_nft.ts index 97c93c4..2acd5b9 100644 --- a/src/langchain/tools/metaplex/mint-nft.tool.ts +++ b/src/langchain/metaplex/mint_nft.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { MintNFTInput, MintNFTResponse } from "./types"; export class SolanaMintNFTTool extends BaseSolanaTool { diff --git a/src/langchain/tools/metaplex/types.ts b/src/langchain/metaplex/types.ts similarity index 100% rename from src/langchain/tools/metaplex/types.ts rename to src/langchain/metaplex/types.ts diff --git a/src/langchain/tools/domain/get_all_tld.tool.ts b/src/langchain/onsol/get_all_tld.ts similarity index 100% rename from src/langchain/tools/domain/get_all_tld.tool.ts rename to src/langchain/onsol/get_all_tld.ts diff --git a/src/langchain/onsol/index.ts b/src/langchain/onsol/index.ts new file mode 100644 index 0000000..3149d75 --- /dev/null +++ b/src/langchain/onsol/index.ts @@ -0,0 +1,5 @@ +export * from "./resolve_all_domains"; +export * from "./owned_domains"; +export * from "./tld_domains"; +export * from "./get_all_tld"; +export * from "./types"; diff --git a/src/langchain/tools/domain/owned-domains.tool.ts b/src/langchain/onsol/owned_domains.ts similarity index 93% rename from src/langchain/tools/domain/owned-domains.tool.ts rename to src/langchain/onsol/owned_domains.ts index 2ab62dd..dd5a3ca 100644 --- a/src/langchain/tools/domain/owned-domains.tool.ts +++ b/src/langchain/onsol/owned_domains.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { DomainsListResponse } from "./types"; export class SolanaGetOwnedDomains extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/resolve-all-domains.tool.ts b/src/langchain/onsol/resolve_all_domains.ts similarity index 95% rename from src/langchain/tools/domain/resolve-all-domains.tool.ts rename to src/langchain/onsol/resolve_all_domains.ts index d1683c3..586a7e2 100644 --- a/src/langchain/tools/domain/resolve-all-domains.tool.ts +++ b/src/langchain/onsol/resolve_all_domains.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { ResolveDomainResponse } from "./types"; export class SolanaResolveAllDomainsTool extends BaseSolanaTool { diff --git a/src/langchain/tools/domain/tld-domains.tool.ts b/src/langchain/onsol/tld_domains.ts similarity index 92% rename from src/langchain/tools/domain/tld-domains.tool.ts rename to src/langchain/onsol/tld_domains.ts index 0cfaf2f..7b09d1b 100644 --- a/src/langchain/tools/domain/tld-domains.tool.ts +++ b/src/langchain/onsol/tld_domains.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { DomainsListResponse } from "./types"; export class SolanaGetOwnedTldDomains extends BaseSolanaTool { diff --git a/src/langchain/onsol/types.ts b/src/langchain/onsol/types.ts new file mode 100644 index 0000000..bf9a31f --- /dev/null +++ b/src/langchain/onsol/types.ts @@ -0,0 +1,45 @@ +import { BaseToolResponse } from "../common/types"; + +export interface RegisterDomainInput { + name: string; + spaceKB?: number; +} + +export interface ResolveDomainInput { + domain: string; +} + +export interface GetDomainInput { + account: string; +} + +export interface OwnedDomainsInput { + owner: string; +} + +export interface TldDomainsInput { + tld: string; +} + +export interface RegisterDomainResponse extends BaseToolResponse { + transaction?: string; + domain?: string; + spaceKB?: number; +} + +export interface ResolveDomainResponse extends BaseToolResponse { + publicKey?: string; + owner?: string; +} + +export interface DomainResponse extends BaseToolResponse { + domain?: string | null; +} + +export interface DomainsListResponse extends BaseToolResponse { + domains?: string[]; +} + +export interface TldsResponse extends BaseToolResponse { + tlds?: string[]; +} diff --git a/src/langchain/openbook/index.ts b/src/langchain/openbook/index.ts new file mode 100644 index 0000000..ef007ed --- /dev/null +++ b/src/langchain/openbook/index.ts @@ -0,0 +1,2 @@ +export * from "./openbook_market"; +export * from "./types"; diff --git a/src/langchain/tools/openbook/openbook-market.tool.ts b/src/langchain/openbook/openbook_market.ts similarity index 94% rename from src/langchain/tools/openbook/openbook-market.tool.ts rename to src/langchain/openbook/openbook_market.ts index 0077ea8..e52b928 100644 --- a/src/langchain/tools/openbook/openbook-market.tool.ts +++ b/src/langchain/openbook/openbook_market.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { OpenbookMarketInput } from "./types"; export class SolanaOpenbookCreateMarket extends BaseSolanaTool { diff --git a/src/langchain/tools/openbook/types.ts b/src/langchain/openbook/types.ts similarity index 100% rename from src/langchain/tools/openbook/types.ts rename to src/langchain/openbook/types.ts diff --git a/src/langchain/orca/index.ts b/src/langchain/orca/index.ts new file mode 100644 index 0000000..f3011c2 --- /dev/null +++ b/src/langchain/orca/index.ts @@ -0,0 +1,7 @@ +export * from "./orca_clmm"; +export * from "./orca_single_sided_pool"; +export * from "./orca_position"; +export * from "./orca_fetch_positions"; +export * from "./orca_centered_position"; +export * from "./orca_single_sided_position"; +export * from "./types"; diff --git a/src/langchain/tools/orca/orca-centered-position.tool.ts b/src/langchain/orca/orca_centered_position.ts similarity index 96% rename from src/langchain/tools/orca/orca-centered-position.tool.ts rename to src/langchain/orca/orca_centered_position.ts index ba38409..cb4df17 100644 --- a/src/langchain/tools/orca/orca-centered-position.tool.ts +++ b/src/langchain/orca/orca_centered_position.ts @@ -1,6 +1,6 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { OrcaCenteredPositionInput, LiquidityResponse } from "./types"; export class SolanaOrcaOpenCenteredPosition extends BaseSolanaTool { diff --git a/src/langchain/tools/orca/orca-clmm.tool.ts b/src/langchain/orca/orca_clmm.ts similarity index 94% rename from src/langchain/tools/orca/orca-clmm.tool.ts rename to src/langchain/orca/orca_clmm.ts index b753a62..609a9de 100644 --- a/src/langchain/tools/orca/orca-clmm.tool.ts +++ b/src/langchain/orca/orca_clmm.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { LiquidityResponse } from "./types"; -import { FEE_TIERS } from "../../../tools/orca"; +import { FEE_TIERS } from "../../tools/orca"; export class SolanaOrcaCreateCLMM extends BaseSolanaTool { name = "orca_create_clmm"; diff --git a/src/langchain/tools/orca/orca-fetch-positions.tool.ts b/src/langchain/orca/orca_fetch_positions.ts similarity index 92% rename from src/langchain/tools/orca/orca-fetch-positions.tool.ts rename to src/langchain/orca/orca_fetch_positions.ts index d815639..591e2a6 100644 --- a/src/langchain/tools/orca/orca-fetch-positions.tool.ts +++ b/src/langchain/orca/orca_fetch_positions.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { OrcaPositionsResponse } from "./types"; export class SolanaOrcaFetchPositions extends BaseSolanaTool { diff --git a/src/langchain/tools/orca/orca-position.tool.ts b/src/langchain/orca/orca_position.ts similarity index 94% rename from src/langchain/tools/orca/orca-position.tool.ts rename to src/langchain/orca/orca_position.ts index 67be90e..d001e5c 100644 --- a/src/langchain/tools/orca/orca-position.tool.ts +++ b/src/langchain/orca/orca_position.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { OrcaPositionInput, LiquidityResponse } from "./types"; export class SolanaOrcaClosePosition extends BaseSolanaTool { diff --git a/src/langchain/tools/orca/orca-single-sided-pool.tool.ts b/src/langchain/orca/orca_single_sided_pool.ts similarity index 95% rename from src/langchain/tools/orca/orca-single-sided-pool.tool.ts rename to src/langchain/orca/orca_single_sided_pool.ts index 22604c4..bd0dbf4 100644 --- a/src/langchain/tools/orca/orca-single-sided-pool.tool.ts +++ b/src/langchain/orca/orca_single_sided_pool.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { LiquidityResponse } from "./types"; -import { FEE_TIERS } from "../../../tools/orca"; +import { FEE_TIERS } from "../../tools/orca"; export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { name = "orca_create_single_sided_liquidity_pool"; diff --git a/src/langchain/tools/orca/orca-single-sided-position.tool.ts b/src/langchain/orca/orca_single_sided_position.ts similarity index 96% rename from src/langchain/tools/orca/orca-single-sided-position.tool.ts rename to src/langchain/orca/orca_single_sided_position.ts index 4d4aa5b..47f5a0d 100644 --- a/src/langchain/tools/orca/orca-single-sided-position.tool.ts +++ b/src/langchain/orca/orca_single_sided_position.ts @@ -1,6 +1,6 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { OrcaSingleSidedPositionInput, LiquidityResponse } from "./types"; export class SolanaOrcaOpenSingleSidedPosition extends BaseSolanaTool { diff --git a/src/langchain/tools/orca/types.ts b/src/langchain/orca/types.ts similarity index 100% rename from src/langchain/tools/orca/types.ts rename to src/langchain/orca/types.ts diff --git a/src/langchain/pumpfun/index.ts b/src/langchain/pumpfun/index.ts new file mode 100644 index 0000000..2d7cc24 --- /dev/null +++ b/src/langchain/pumpfun/index.ts @@ -0,0 +1 @@ +export * from "./launch_pumpfun_token"; diff --git a/src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts b/src/langchain/pumpfun/launch_pumpfun_token.ts similarity index 100% rename from src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts rename to src/langchain/pumpfun/launch_pumpfun_token.ts diff --git a/src/langchain/pyth/index.ts b/src/langchain/pyth/index.ts new file mode 100644 index 0000000..fe2e481 --- /dev/null +++ b/src/langchain/pyth/index.ts @@ -0,0 +1,2 @@ +export * from "./pyth_price"; +export * from "./types"; diff --git a/src/langchain/tools/pyth/pyth-price.tool.ts b/src/langchain/pyth/pyth_price.ts similarity index 94% rename from src/langchain/tools/pyth/pyth-price.tool.ts rename to src/langchain/pyth/pyth_price.ts index a4e8bae..615af3b 100644 --- a/src/langchain/tools/pyth/pyth-price.tool.ts +++ b/src/langchain/pyth/pyth_price.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { PythPriceResponse } from "./types"; export class SolanaPythFetchPrice extends BaseSolanaTool { diff --git a/src/langchain/tools/pyth/types.ts b/src/langchain/pyth/types.ts similarity index 100% rename from src/langchain/tools/pyth/types.ts rename to src/langchain/pyth/types.ts diff --git a/src/langchain/raydium/index.ts b/src/langchain/raydium/index.ts new file mode 100644 index 0000000..7d29f7a --- /dev/null +++ b/src/langchain/raydium/index.ts @@ -0,0 +1,4 @@ +export * from "./raydium_amm"; +export * from "./raydium_clmm"; +export * from "./raydium_cpmm"; +export * from "./types"; diff --git a/src/langchain/tools/raydium/raydium-amm.tool.ts b/src/langchain/raydium/raydium_amm.ts similarity index 95% rename from src/langchain/tools/raydium/raydium-amm.tool.ts rename to src/langchain/raydium/raydium_amm.ts index c4e997f..898b242 100644 --- a/src/langchain/tools/raydium/raydium-amm.tool.ts +++ b/src/langchain/raydium/raydium_amm.ts @@ -1,6 +1,6 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { RaydiumAmmV4Input } from "./types"; export class SolanaRaydiumCreateAmmV4 extends BaseSolanaTool { diff --git a/src/langchain/tools/raydium/raydium-clmm.tool.ts b/src/langchain/raydium/raydium_clmm.ts similarity index 96% rename from src/langchain/tools/raydium/raydium-clmm.tool.ts rename to src/langchain/raydium/raydium_clmm.ts index ea9ebcd..4e6de08 100644 --- a/src/langchain/tools/raydium/raydium-clmm.tool.ts +++ b/src/langchain/raydium/raydium_clmm.ts @@ -1,7 +1,7 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { RaydiumClmmInput } from "./types"; export class SolanaRaydiumCreateClmm extends BaseSolanaTool { diff --git a/src/langchain/tools/raydium/raydium-cpmm.tool.ts b/src/langchain/raydium/raydium_cpmm.ts similarity index 96% rename from src/langchain/tools/raydium/raydium-cpmm.tool.ts rename to src/langchain/raydium/raydium_cpmm.ts index 3424886..aeb6284 100644 --- a/src/langchain/tools/raydium/raydium-cpmm.tool.ts +++ b/src/langchain/raydium/raydium_cpmm.ts @@ -1,6 +1,6 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { RaydiumCpmmInput } from "./types"; export class SolanaRaydiumCreateCpmm extends BaseSolanaTool { diff --git a/src/langchain/tools/raydium/types.ts b/src/langchain/raydium/types.ts similarity index 100% rename from src/langchain/tools/raydium/types.ts rename to src/langchain/raydium/types.ts diff --git a/src/langchain/rugcheck/index.ts b/src/langchain/rugcheck/index.ts new file mode 100644 index 0000000..92cfab2 --- /dev/null +++ b/src/langchain/rugcheck/index.ts @@ -0,0 +1,3 @@ +export * from "./token_report_summary"; +export * from "./token_report_detailed"; +export * from "./types"; diff --git a/src/langchain/tools/rugcheck/token-report-detailed.tool.ts b/src/langchain/rugcheck/token_report_detailed.ts similarity index 93% rename from src/langchain/tools/rugcheck/token-report-detailed.tool.ts rename to src/langchain/rugcheck/token_report_detailed.ts index 3463c10..92bf6b1 100644 --- a/src/langchain/tools/rugcheck/token-report-detailed.tool.ts +++ b/src/langchain/rugcheck/token_report_detailed.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { TokenReportResponse } from "./types"; export class SolanaFetchTokenDetailedReportTool extends BaseSolanaTool { diff --git a/src/langchain/tools/rugcheck/token-report-summary.tool.ts b/src/langchain/rugcheck/token_report_summary.ts similarity index 93% rename from src/langchain/tools/rugcheck/token-report-summary.tool.ts rename to src/langchain/rugcheck/token_report_summary.ts index 47df2e8..ee7aeba 100644 --- a/src/langchain/tools/rugcheck/token-report-summary.tool.ts +++ b/src/langchain/rugcheck/token_report_summary.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { TokenReportResponse } from "./types"; export class SolanaFetchTokenReportSummaryTool extends BaseSolanaTool { diff --git a/src/langchain/tools/rugcheck/types.ts b/src/langchain/rugcheck/types.ts similarity index 100% rename from src/langchain/tools/rugcheck/types.ts rename to src/langchain/rugcheck/types.ts diff --git a/src/langchain/sendarcade/index.ts b/src/langchain/sendarcade/index.ts new file mode 100644 index 0000000..71aed69 --- /dev/null +++ b/src/langchain/sendarcade/index.ts @@ -0,0 +1,2 @@ +export * from "./rock_paper_scissors"; +export * from "./types"; diff --git a/src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts b/src/langchain/sendarcade/rock_paper_scissors.ts similarity index 93% rename from src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts rename to src/langchain/sendarcade/rock_paper_scissors.ts index 987dda1..2c930d5 100644 --- a/src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts +++ b/src/langchain/sendarcade/rock_paper_scissors.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { RockPaperScissorsInput } from "./types"; export class SolanaRockPaperScissorsTool extends BaseSolanaTool { diff --git a/src/langchain/tools/sendarcade/types.ts b/src/langchain/sendarcade/types.ts similarity index 100% rename from src/langchain/tools/sendarcade/types.ts rename to src/langchain/sendarcade/types.ts diff --git a/src/langchain/tools/balance/balance.tool.ts b/src/langchain/solana/balance.ts similarity index 80% rename from src/langchain/tools/balance/balance.tool.ts rename to src/langchain/solana/balance.ts index 14403da..32cc541 100644 --- a/src/langchain/tools/balance/balance.tool.ts +++ b/src/langchain/solana/balance.ts @@ -1,6 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; -import { BalanceToolInput, BalanceToolResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaBalanceTool extends BaseSolanaTool { name = "solana_balance"; @@ -14,7 +13,7 @@ export class SolanaBalanceTool extends BaseSolanaTool { protected async _call(input: string): Promise { try { - const params: BalanceToolInput = input ? JSON.parse(input) : {}; + const params = input ? JSON.parse(input) : {}; const tokenAddress = params.tokenAddress ? new PublicKey(params.tokenAddress) : undefined; @@ -24,7 +23,7 @@ export class SolanaBalanceTool extends BaseSolanaTool { status: "success", balance, token: params.tokenAddress || "SOL", - } as BalanceToolResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/tools/balance/balance-other.tool.ts b/src/langchain/solana/balance_other.ts similarity index 82% rename from src/langchain/tools/balance/balance-other.tool.ts rename to src/langchain/solana/balance_other.ts index 3752b60..5a1fdd8 100644 --- a/src/langchain/tools/balance/balance-other.tool.ts +++ b/src/langchain/solana/balance_other.ts @@ -1,6 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; -import { BalanceOtherToolInput, BalanceOtherToolResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaBalanceOtherTool extends BaseSolanaTool { name = "solana_balance_other"; @@ -14,7 +13,7 @@ export class SolanaBalanceOtherTool extends BaseSolanaTool { protected async _call(input: string): Promise { try { - const params: BalanceOtherToolInput = JSON.parse(input); + const params = JSON.parse(input); const tokenPubKey = params.tokenAddress ? new PublicKey(params.tokenAddress) : undefined; @@ -29,7 +28,7 @@ export class SolanaBalanceOtherTool extends BaseSolanaTool { balance, wallet: params.walletAddress, token: params.tokenAddress || "SOL", - } as BalanceOtherToolResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/tools/token/close-empty-accounts.tool.ts b/src/langchain/solana/close_empty_accounts.ts similarity index 81% rename from src/langchain/tools/token/close-empty-accounts.tool.ts rename to src/langchain/solana/close_empty_accounts.ts index 1d31815..9d82137 100644 --- a/src/langchain/tools/token/close-empty-accounts.tool.ts +++ b/src/langchain/solana/close_empty_accounts.ts @@ -1,5 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; -import { CloseEmptyAccountsResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaCloseEmptyTokenAccounts extends BaseSolanaTool { name = "close_empty_token_accounts"; @@ -15,7 +14,7 @@ export class SolanaCloseEmptyTokenAccounts extends BaseSolanaTool { message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, signature, size, - } as CloseEmptyAccountsResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/tools/solana/get-tps.tool.ts b/src/langchain/solana/get_tps.ts similarity index 90% rename from src/langchain/tools/solana/get-tps.tool.ts rename to src/langchain/solana/get_tps.ts index 57abc86..92e300e 100644 --- a/src/langchain/tools/solana/get-tps.tool.ts +++ b/src/langchain/solana/get_tps.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { TPSResponse } from "./types"; export class SolanaTPSCalculatorTool extends BaseSolanaTool { diff --git a/src/langchain/solana/index.ts b/src/langchain/solana/index.ts new file mode 100644 index 0000000..9ed6edb --- /dev/null +++ b/src/langchain/solana/index.ts @@ -0,0 +1,7 @@ +export * from "./get_tps"; +export * from "./request_funds"; +export * from "./balance"; +export * from "./balance_other"; +export * from "./close_empty_accounts"; +export * from "./transfer"; +export * from "./types"; diff --git a/src/langchain/tools/solana/request-funds.tool.ts b/src/langchain/solana/request_funds.ts similarity index 92% rename from src/langchain/tools/solana/request-funds.tool.ts rename to src/langchain/solana/request_funds.ts index 4e96f08..024405c 100644 --- a/src/langchain/tools/solana/request-funds.tool.ts +++ b/src/langchain/solana/request_funds.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { BaseToolResponse } from "../common/types"; export class SolanaRequestFundsTool extends BaseSolanaTool { diff --git a/src/langchain/tools/token/transfer.tool.ts b/src/langchain/solana/transfer.ts similarity index 84% rename from src/langchain/tools/token/transfer.tool.ts rename to src/langchain/solana/transfer.ts index 2a8e8e1..de09b87 100644 --- a/src/langchain/tools/token/transfer.tool.ts +++ b/src/langchain/solana/transfer.ts @@ -1,6 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; -import { TransferToolInput, TransferToolResponse } from "./types"; +import { BaseSolanaTool } from "../common/base"; export class SolanaTransferTool extends BaseSolanaTool { name = "solana_transfer"; @@ -13,7 +12,7 @@ export class SolanaTransferTool extends BaseSolanaTool { protected async _call(input: string): Promise { try { - const params: TransferToolInput = JSON.parse(input); + const params = JSON.parse(input); const recipient = new PublicKey(params.to); const mintAddress = params.mint ? new PublicKey(params.mint) : undefined; @@ -31,7 +30,7 @@ export class SolanaTransferTool extends BaseSolanaTool { recipient: params.to, token: params.mint || "SOL", transaction: tx, - } as TransferToolResponse); + }); } catch (error: any) { return this.handleError(error); } diff --git a/src/langchain/tools/solana/types.ts b/src/langchain/solana/types.ts similarity index 100% rename from src/langchain/tools/solana/types.ts rename to src/langchain/solana/types.ts diff --git a/src/langchain/solayer/index.ts b/src/langchain/solayer/index.ts new file mode 100644 index 0000000..a40a029 --- /dev/null +++ b/src/langchain/solayer/index.ts @@ -0,0 +1 @@ +export * from "./restake"; diff --git a/src/langchain/tools/solayer/restake.tool.ts b/src/langchain/solayer/restake.ts similarity index 93% rename from src/langchain/tools/solayer/restake.tool.ts rename to src/langchain/solayer/restake.ts index 16c0e1a..0d8eb55 100644 --- a/src/langchain/tools/solayer/restake.tool.ts +++ b/src/langchain/solayer/restake.ts @@ -1,4 +1,4 @@ -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { StakeResponse } from "./types"; export class SolanaRestakeTool extends BaseSolanaTool { diff --git a/src/langchain/tools/solayer/types.ts b/src/langchain/solayer/types.ts similarity index 100% rename from src/langchain/tools/solayer/types.ts rename to src/langchain/solayer/types.ts diff --git a/src/langchain/squads_multisig/approve_proposal.ts b/src/langchain/squads_multisig/approve_proposal.ts new file mode 100644 index 0000000..50f5147 --- /dev/null +++ b/src/langchain/squads_multisig/approve_proposal.ts @@ -0,0 +1,33 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaApproveProposal2by2Multisig extends BaseSolanaTool { + name = "approve_proposal_2by2_multisig"; + description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (optional).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex ?? undefined; + + const tx = await this.solanaKit.approveMultisigProposal(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal approved successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "APPROVE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/create_multisig.ts b/src/langchain/squads_multisig/create_multisig.ts new file mode 100644 index 0000000..683cff2 --- /dev/null +++ b/src/langchain/squads_multisig/create_multisig.ts @@ -0,0 +1,33 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaCreate2by2Multisig extends BaseSolanaTool { + name = "create_2by2_multisig"; + description = `Create a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + Note: For one AI agent, only one 2-by-2 multisig can be created as it is pair-wise. + + Inputs (JSON string): + - creator: string, the public key of the creator (required).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const creator = new PublicKey(inputFormat.creator); + + const multisig = await this.solanaKit.createSquadsMultisig(creator); + + return JSON.stringify({ + status: "success", + message: "2-by-2 multisig account created successfully", + multisig, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "CREATE_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/create_proposal.ts b/src/langchain/squads_multisig/create_proposal.ts new file mode 100644 index 0000000..46ef85b --- /dev/null +++ b/src/langchain/squads_multisig/create_proposal.ts @@ -0,0 +1,33 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaCreateProposal2by2Multisig extends BaseSolanaTool { + name = "create_proposal_2by2_multisig"; + description = `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If transactionIndex is not provided, the latest index will automatically be fetched and used. + + Inputs (JSON string): + - transactionIndex: number, the index of the transaction (optional).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const transactionIndex = inputFormat.transactionIndex ?? undefined; + + const tx = await this.solanaKit.createMultisigProposal(transactionIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal created successfully", + transaction: tx, + transactionIndex: transactionIndex?.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "CREATE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/deposit_to_multisig.ts b/src/langchain/squads_multisig/deposit_to_multisig.ts new file mode 100644 index 0000000..bb49b45 --- /dev/null +++ b/src/langchain/squads_multisig/deposit_to_multisig.ts @@ -0,0 +1,32 @@ +import { BaseSolanaTool } from "../common"; +import Decimal from "decimal.js"; + +export class SolanaDepositTo2by2Multisig extends BaseSolanaTool { + name = "deposit_to_2by2_multisig"; + description = `Deposit funds to a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + Inputs (JSON string): + - amount: number, the amount to deposit in SOL (required).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const amount = new Decimal(inputFormat.amount); + + const tx = await this.solanaKit.depositToMultisig(amount.toNumber()); + + return JSON.stringify({ + status: "success", + message: "Funds deposited to 2-by-2 multisig account successfully", + transaction: tx, + amount: amount.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "DEPOSIT_TO_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/execute_proposal.ts b/src/langchain/squads_multisig/execute_proposal.ts new file mode 100644 index 0000000..08156aa --- /dev/null +++ b/src/langchain/squads_multisig/execute_proposal.ts @@ -0,0 +1,33 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaExecuteProposal2by2Multisig extends BaseSolanaTool { + name = "execute_proposal_2by2_multisig"; + description = `Execute a proposal/transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (optional).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex ?? undefined; + + const tx = await this.solanaKit.executeMultisigTransaction(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal executed successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "EXECUTE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/index.ts b/src/langchain/squads_multisig/index.ts new file mode 100644 index 0000000..5ceac36 --- /dev/null +++ b/src/langchain/squads_multisig/index.ts @@ -0,0 +1,7 @@ +export * from "./approve_proposal"; +export * from "./create_multisig"; +export * from "./create_proposal"; +export * from "./deposit_to_multisig"; +export * from "./execute_proposal"; +export * from "./reject_proposal"; +export * from "./transfer_from_multisig"; diff --git a/src/langchain/squads_multisig/reject_proposal.ts b/src/langchain/squads_multisig/reject_proposal.ts new file mode 100644 index 0000000..01c618b --- /dev/null +++ b/src/langchain/squads_multisig/reject_proposal.ts @@ -0,0 +1,33 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaRejectProposal2by2Multisig extends BaseSolanaTool { + name = "reject_proposal_2by2_multisig"; + description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (optional).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex ?? undefined; + + const tx = await this.solanaKit.rejectMultisigProposal(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal rejected successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "REJECT_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/squads_multisig/transfer_from_multisig.ts b/src/langchain/squads_multisig/transfer_from_multisig.ts new file mode 100644 index 0000000..7fd841c --- /dev/null +++ b/src/langchain/squads_multisig/transfer_from_multisig.ts @@ -0,0 +1,39 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; +import Decimal from "decimal.js"; + +export class SolanaTransferFrom2by2Multisig extends BaseSolanaTool { + name = "transfer_from_2by2_multisig"; + description = `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + Inputs (JSON string): + - amount: number, the amount to transfer in SOL (required). + - recipient: string, the public key of the recipient (required).`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const amount = new Decimal(inputFormat.amount); + const recipient = new PublicKey(inputFormat.recipient); + + const tx = await this.solanaKit.transferFromMultisig( + amount.toNumber(), + recipient, + ); + + return JSON.stringify({ + status: "success", + message: "Transaction added to 2-by-2 multisig account successfully", + transaction: tx, + amount: amount.toString(), + recipient: recipient.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "TRANSFER_FROM_2BY2_MULTISIG_ERROR", + }); + } + } +} diff --git a/src/langchain/tools/tensor/cancel-listing.tool.ts b/src/langchain/tensor/cancel_listing.ts similarity index 93% rename from src/langchain/tools/tensor/cancel-listing.tool.ts rename to src/langchain/tensor/cancel_listing.ts index afc0bc0..effdc4b 100644 --- a/src/langchain/tools/tensor/cancel-listing.tool.ts +++ b/src/langchain/tensor/cancel_listing.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { NFTListingResponse } from "./types"; export class SolanaCancelNFTListingTool extends BaseSolanaTool { diff --git a/src/langchain/tensor/index.ts b/src/langchain/tensor/index.ts new file mode 100644 index 0000000..d7641b7 --- /dev/null +++ b/src/langchain/tensor/index.ts @@ -0,0 +1,2 @@ +export * from "./list_nft"; +export * from "./cancel_listing"; diff --git a/src/langchain/tools/tensor/list-nft.tool.ts b/src/langchain/tensor/list_nft.ts similarity index 96% rename from src/langchain/tools/tensor/list-nft.tool.ts rename to src/langchain/tensor/list_nft.ts index 712ff33..0d91320 100644 --- a/src/langchain/tools/tensor/list-nft.tool.ts +++ b/src/langchain/tensor/list_nft.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { ListNFTInput, NFTListingResponse } from "./types"; export class SolanaListNFTForSaleTool extends BaseSolanaTool { diff --git a/src/langchain/tools/tensor/types.ts b/src/langchain/tensor/types.ts similarity index 100% rename from src/langchain/tools/tensor/types.ts rename to src/langchain/tensor/types.ts diff --git a/src/langchain/tiplink/index.ts b/src/langchain/tiplink/index.ts new file mode 100644 index 0000000..207c6f6 --- /dev/null +++ b/src/langchain/tiplink/index.ts @@ -0,0 +1,2 @@ +export * from "./tiplink"; +export * from "./types"; diff --git a/src/langchain/tools/tiplink/tiplink.tool.ts b/src/langchain/tiplink/tiplink.ts similarity index 95% rename from src/langchain/tools/tiplink/tiplink.tool.ts rename to src/langchain/tiplink/tiplink.ts index b92825d..f680076 100644 --- a/src/langchain/tools/tiplink/tiplink.tool.ts +++ b/src/langchain/tiplink/tiplink.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base.tool"; +import { BaseSolanaTool } from "../common/base"; import { TipLinkInput, TipLinkResponse } from "./types"; export class SolanaTipLinkTool extends BaseSolanaTool { diff --git a/src/langchain/tools/tiplink/types.ts b/src/langchain/tiplink/types.ts similarity index 100% rename from src/langchain/tools/tiplink/types.ts rename to src/langchain/tiplink/types.ts diff --git a/src/langchain/tools/3land/index.ts b/src/langchain/tools/3land/index.ts deleted file mode 100644 index bc50928..0000000 --- a/src/langchain/tools/3land/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-single.tool"; -export * from "./create-collection.tool"; diff --git a/src/langchain/tools/adrena/index.ts b/src/langchain/tools/adrena/index.ts deleted file mode 100644 index d86de5e..0000000 --- a/src/langchain/tools/adrena/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./open-trade.tool"; -export * from "./close-trade.tool"; diff --git a/src/langchain/tools/agent/index.ts b/src/langchain/tools/agent/index.ts deleted file mode 100644 index 5f7d4b7..0000000 --- a/src/langchain/tools/agent/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-image.tool"; -export * from "./wallet-address.tool"; diff --git a/src/langchain/tools/balance/index.ts b/src/langchain/tools/balance/index.ts deleted file mode 100644 index 7d453b8..0000000 --- a/src/langchain/tools/balance/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./balance.tool"; -export * from "./balance-other.tool"; -export * from "./types"; diff --git a/src/langchain/tools/balance/types.ts b/src/langchain/tools/balance/types.ts deleted file mode 100644 index 5d1f61a..0000000 --- a/src/langchain/tools/balance/types.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface BalanceToolInput { - tokenAddress?: string; -} - -export interface BalanceToolResponse extends BaseToolResponse { - balance?: number; - token?: string; -} - -export interface BalanceOtherToolInput { - walletAddress: string; - tokenAddress?: string; -} - -export interface BalanceOtherToolResponse extends BaseToolResponse { - balance?: number; - wallet?: string; - token?: string; -} diff --git a/src/langchain/tools/common/index.ts b/src/langchain/tools/common/index.ts deleted file mode 100644 index 0bea65f..0000000 --- a/src/langchain/tools/common/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./types"; -export * from "./base.tool"; diff --git a/src/langchain/tools/dexscreener/index.ts b/src/langchain/tools/dexscreener/index.ts deleted file mode 100644 index f993cf4..0000000 --- a/src/langchain/tools/dexscreener/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./token-data-ticker.tool"; diff --git a/src/langchain/tools/domain/index.ts b/src/langchain/tools/domain/index.ts deleted file mode 100644 index cfe75f4..0000000 --- a/src/langchain/tools/domain/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from "./register-domain.tool"; -export * from "./resolve-domain.tool"; -export * from "./resolve-all-domains.tool"; -export * from "./get-domain.tool"; -export * from "./owned-domains.tool"; -export * from "./tld-domains.tool"; -export * from "./main-domain.tool"; -export * from "./get_all_tld.tool"; -export * from "./types"; diff --git a/src/langchain/tools/flash/index.ts b/src/langchain/tools/flash/index.ts deleted file mode 100644 index aabf20f..0000000 --- a/src/langchain/tools/flash/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./flash-open.tool"; -export * from "./flash-close.tool"; -export * from "./types"; diff --git a/src/langchain/tools/gibwork/index.ts b/src/langchain/tools/gibwork/index.ts deleted file mode 100644 index 62c6b2a..0000000 --- a/src/langchain/tools/gibwork/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./create-task.tool"; -export * from "./types"; diff --git a/src/langchain/tools/index.ts b/src/langchain/tools/index.ts deleted file mode 100644 index 7cb43ce..0000000 --- a/src/langchain/tools/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -export * from "./adrena"; -export * from "./balance"; -export * from "./dexscreener"; -export * from "./domain"; -export * from "./flash"; -export * from "./gibwork"; -export * from "./jupiter"; -export * from "./lulo"; -export * from "./manifest"; -export * from "./solana"; -export * from "./agent"; -export * from "./metaplex"; -export * from "./openbook"; -export * from "./orca"; -export * from "./pumpfun"; -export * from "./pyth"; -export * from "./raydium"; -export * from "./rugcheck"; -export * from "./sendarcade"; -export * from "./solayer"; -export * from "./tensor"; -export * from "./3land"; -export * from "./tiplink"; -export * from "./token"; diff --git a/src/langchain/tools/jupiter/index.ts b/src/langchain/tools/jupiter/index.ts deleted file mode 100644 index 824d2f5..0000000 --- a/src/langchain/tools/jupiter/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./fetch-price.tool"; -export * from "./token-data.tool"; -export * from "./trade.tool"; -export * from "./stake.tool"; -export * from "./types"; diff --git a/src/langchain/tools/lulo/index.ts b/src/langchain/tools/lulo/index.ts deleted file mode 100644 index 3d93b46..0000000 --- a/src/langchain/tools/lulo/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./lend-asset.tool"; -export * from "./types"; diff --git a/src/langchain/tools/manifest/index.ts b/src/langchain/tools/manifest/index.ts deleted file mode 100644 index 65b11a9..0000000 --- a/src/langchain/tools/manifest/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./manifest-market.tool"; -export * from "./batch-order.tool"; -export * from "./cancel-orders.tool"; -export * from "./limit-order.tool"; -export * from "./withdraw.tool"; -export * from "./types"; diff --git a/src/langchain/tools/metaplex/index.ts b/src/langchain/tools/metaplex/index.ts deleted file mode 100644 index 0cecea3..0000000 --- a/src/langchain/tools/metaplex/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./deploy-collection.tool"; -export * from "./mint-nft.tool"; -export * from "./types"; diff --git a/src/langchain/tools/openbook/index.ts b/src/langchain/tools/openbook/index.ts deleted file mode 100644 index f33ba26..0000000 --- a/src/langchain/tools/openbook/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./openbook-market.tool"; -export * from "./types"; diff --git a/src/langchain/tools/orca/index.ts b/src/langchain/tools/orca/index.ts deleted file mode 100644 index 17ac156..0000000 --- a/src/langchain/tools/orca/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from "./orca-clmm.tool"; -export * from "./orca-single-sided-pool.tool"; -export * from "./orca-position.tool"; -export * from "./orca-fetch-positions.tool"; -export * from "./orca-centered-position.tool"; -export * from "./orca-single-sided-position.tool"; -export * from "./types"; diff --git a/src/langchain/tools/pumpfun/index.ts b/src/langchain/tools/pumpfun/index.ts deleted file mode 100644 index 938bace..0000000 --- a/src/langchain/tools/pumpfun/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./launch-pumpfun-token.tool"; diff --git a/src/langchain/tools/pyth/index.ts b/src/langchain/tools/pyth/index.ts deleted file mode 100644 index 4185ac7..0000000 --- a/src/langchain/tools/pyth/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./pyth-price.tool"; -export * from "./types"; diff --git a/src/langchain/tools/raydium/index.ts b/src/langchain/tools/raydium/index.ts deleted file mode 100644 index 90602a7..0000000 --- a/src/langchain/tools/raydium/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "./raydium-amm.tool"; -export * from "./raydium-clmm.tool"; -export * from "./raydium-cpmm.tool"; -export * from "./types"; diff --git a/src/langchain/tools/rugcheck/index.ts b/src/langchain/tools/rugcheck/index.ts deleted file mode 100644 index 1d37ef4..0000000 --- a/src/langchain/tools/rugcheck/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./token-report-summary.tool"; -export * from "./token-report-detailed.tool"; -export * from "./types"; diff --git a/src/langchain/tools/sendarcade/index.ts b/src/langchain/tools/sendarcade/index.ts deleted file mode 100644 index 3ea3ff4..0000000 --- a/src/langchain/tools/sendarcade/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./rock-paper-scissors.tool"; -export * from "./types"; diff --git a/src/langchain/tools/solana/index.ts b/src/langchain/tools/solana/index.ts deleted file mode 100644 index ae406d0..0000000 --- a/src/langchain/tools/solana/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./get-tps.tool"; -export * from "./request-funds.tool"; -export * from "./types"; diff --git a/src/langchain/tools/solayer/index.ts b/src/langchain/tools/solayer/index.ts deleted file mode 100644 index 6cb45e7..0000000 --- a/src/langchain/tools/solayer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./restake.tool"; diff --git a/src/langchain/tools/tensor/index.ts b/src/langchain/tools/tensor/index.ts deleted file mode 100644 index 4a389d3..0000000 --- a/src/langchain/tools/tensor/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./list-nft.tool"; -export * from "./cancel-listing.tool"; diff --git a/src/langchain/tools/tiplink/index.ts b/src/langchain/tools/tiplink/index.ts deleted file mode 100644 index d0fae37..0000000 --- a/src/langchain/tools/tiplink/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./tiplink.tool"; -export * from "./types"; diff --git a/src/langchain/tools/token/index.ts b/src/langchain/tools/token/index.ts deleted file mode 100644 index 3db909d..0000000 --- a/src/langchain/tools/token/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./deploy-token.tool"; -export * from "./compressed-airdrop.tool"; -export * from "./close-empty-accounts.tool"; -export * from "./transfer.tool"; -export * from "./types"; diff --git a/src/langchain/tools/token/types.ts b/src/langchain/tools/token/types.ts deleted file mode 100644 index 624f786..0000000 --- a/src/langchain/tools/token/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface DeployTokenInput { - name: string; - uri: string; - symbol: string; - decimals?: number; - initialSupply?: number; -} - -export interface DeployTokenResponse extends BaseToolResponse { - mintAddress?: string; - decimals?: number; -} - -export interface CompressedAirdropInput { - mintAddress: string; - amount: number; - decimals: number; - recipients: string[]; - priorityFeeInLamports?: number; - shouldLog?: boolean; -} - -export interface CompressedAirdropResponse extends BaseToolResponse { - transactionHashes?: string[]; -} - -export interface CloseEmptyAccountsResponse extends BaseToolResponse { - signature?: string; - size?: number; -} - -export interface TransferToolInput { - to: string; - amount: number; - mint?: string; -} - -export interface TransferToolResponse extends BaseToolResponse { - amount?: number; - recipient?: string; - token?: string; - transaction?: string; -} diff --git a/src/tools/balance/index.ts b/src/tools/balance/index.ts deleted file mode 100644 index a5c50b1..0000000 --- a/src/tools/balance/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./get_balance"; -export * from "./get_balance_other"; diff --git a/src/tools/domain/get_all_registered_all_domains.ts b/src/tools/bonfida/get_all_registered_all_domains.ts similarity index 93% rename from src/tools/domain/get_all_registered_all_domains.ts rename to src/tools/bonfida/get_all_registered_all_domains.ts index 1e5cd0e..465c11b 100644 --- a/src/tools/domain/get_all_registered_all_domains.ts +++ b/src/tools/bonfida/get_all_registered_all_domains.ts @@ -1,7 +1,7 @@ import { getAllDomains } from "@bonfida/spl-name-service"; import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; -import { getAllDomainsTLDs } from "./get_all_domains_tlds"; +import { getAllDomainsTLDs } from "../onsol/get_all_domains_tlds"; /** * Get all registered domains across all TLDs diff --git a/src/tools/domain/get_main_all_domains_domain.ts b/src/tools/bonfida/get_main_all_domains_domain.ts similarity index 100% rename from src/tools/domain/get_main_all_domains_domain.ts rename to src/tools/bonfida/get_main_all_domains_domain.ts diff --git a/src/tools/domain/get_primary_domain.ts b/src/tools/bonfida/get_primary_domain.ts similarity index 100% rename from src/tools/domain/get_primary_domain.ts rename to src/tools/bonfida/get_primary_domain.ts diff --git a/src/tools/domain/index.ts b/src/tools/bonfida/index.ts similarity index 56% rename from src/tools/domain/index.ts rename to src/tools/bonfida/index.ts index 4cbab02..794ab31 100644 --- a/src/tools/domain/index.ts +++ b/src/tools/bonfida/index.ts @@ -1,9 +1,5 @@ -export * from "./get_all_domains_tlds"; export * from "./get_all_registered_all_domains"; export * from "./get_main_all_domains_domain"; -export * from "./get_owned_all_domains"; -export * from "./get_owned_domains_for_tld"; export * from "./get_primary_domain"; export * from "./register_domain"; -export * from "./resolve_domain"; export * from "./resolve_sol_domain"; diff --git a/src/tools/domain/register_domain.ts b/src/tools/bonfida/register_domain.ts similarity index 100% rename from src/tools/domain/register_domain.ts rename to src/tools/bonfida/register_domain.ts diff --git a/src/tools/domain/resolve_sol_domain.ts b/src/tools/bonfida/resolve_sol_domain.ts similarity index 100% rename from src/tools/domain/resolve_sol_domain.ts rename to src/tools/bonfida/resolve_sol_domain.ts diff --git a/src/tools/dexscreener/get_token_data.ts b/src/tools/dexscreener/get_token_data.ts index 1278d57..c4ec2ef 100644 --- a/src/tools/dexscreener/get_token_data.ts +++ b/src/tools/dexscreener/get_token_data.ts @@ -9,17 +9,14 @@ export async function getTokenDataByAddress( throw new Error("Mint address is required"); } - const response = await fetch("https://tokens.jup.ag/tokens?tags=verified", { + const response = await fetch(`https://tokens.jup.ag/token/${mint}`, { method: "GET", headers: { "Content-Type": "application/json", }, }); - const data = (await response.json()) as JupiterTokenData[]; - const token = data.find((token: JupiterTokenData) => { - return token.address === mint.toBase58(); - }); + const token = (await response.json()) as JupiterTokenData; return token; } catch (error: any) { throw new Error(`Error fetching token data: ${error.message}`); diff --git a/src/tools/index.ts b/src/tools/index.ts index 7cb43ce..18e1777 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,7 +1,7 @@ export * from "./adrena"; -export * from "./balance"; +export * from "./bonfida"; export * from "./dexscreener"; -export * from "./domain"; +export * from "./onsol"; export * from "./flash"; export * from "./gibwork"; export * from "./jupiter"; @@ -21,4 +21,5 @@ export * from "./solayer"; export * from "./tensor"; export * from "./3land"; export * from "./tiplink"; -export * from "./token"; +export * from "./lightprotocol"; +export * from "./squads_multisig"; diff --git a/src/tools/lightprotocol/index.ts b/src/tools/lightprotocol/index.ts new file mode 100644 index 0000000..5de8804 --- /dev/null +++ b/src/tools/lightprotocol/index.ts @@ -0,0 +1 @@ +export * from "./send_compressed_airdrop"; diff --git a/src/tools/token/send_compressed_airdrop.ts b/src/tools/lightprotocol/send_compressed_airdrop.ts similarity index 100% rename from src/tools/token/send_compressed_airdrop.ts rename to src/tools/lightprotocol/send_compressed_airdrop.ts diff --git a/src/tools/token/deploy_token.ts b/src/tools/metaplex/deploy_token.ts similarity index 100% rename from src/tools/token/deploy_token.ts rename to src/tools/metaplex/deploy_token.ts diff --git a/src/tools/metaplex/index.ts b/src/tools/metaplex/index.ts index d6fe812..7cdfe15 100644 --- a/src/tools/metaplex/index.ts +++ b/src/tools/metaplex/index.ts @@ -1,2 +1,3 @@ export * from "./deploy_collection"; export * from "./mint_nft"; +export * from "./deploy_token"; diff --git a/src/tools/domain/get_all_domains_tlds.ts b/src/tools/onsol/get_all_domains_tlds.ts similarity index 100% rename from src/tools/domain/get_all_domains_tlds.ts rename to src/tools/onsol/get_all_domains_tlds.ts diff --git a/src/tools/domain/get_owned_all_domains.ts b/src/tools/onsol/get_owned_all_domains.ts similarity index 100% rename from src/tools/domain/get_owned_all_domains.ts rename to src/tools/onsol/get_owned_all_domains.ts diff --git a/src/tools/domain/get_owned_domains_for_tld.ts b/src/tools/onsol/get_owned_domains_for_tld.ts similarity index 100% rename from src/tools/domain/get_owned_domains_for_tld.ts rename to src/tools/onsol/get_owned_domains_for_tld.ts diff --git a/src/tools/onsol/index.ts b/src/tools/onsol/index.ts new file mode 100644 index 0000000..1204edb --- /dev/null +++ b/src/tools/onsol/index.ts @@ -0,0 +1,4 @@ +export * from "./get_all_domains_tlds"; +export * from "./get_owned_all_domains"; +export * from "./get_owned_domains_for_tld"; +export * from "./resolve_domain"; diff --git a/src/tools/domain/resolve_domain.ts b/src/tools/onsol/resolve_domain.ts similarity index 100% rename from src/tools/domain/resolve_domain.ts rename to src/tools/onsol/resolve_domain.ts diff --git a/src/tools/token/close_empty_token_accounts.ts b/src/tools/solana/close_empty_token_accounts.ts similarity index 100% rename from src/tools/token/close_empty_token_accounts.ts rename to src/tools/solana/close_empty_token_accounts.ts diff --git a/src/tools/balance/get_balance.ts b/src/tools/solana/get_balance.ts similarity index 100% rename from src/tools/balance/get_balance.ts rename to src/tools/solana/get_balance.ts diff --git a/src/tools/balance/get_balance_other.ts b/src/tools/solana/get_balance_other.ts similarity index 100% rename from src/tools/balance/get_balance_other.ts rename to src/tools/solana/get_balance_other.ts diff --git a/src/tools/solana/index.ts b/src/tools/solana/index.ts index 2e0b65a..f9681a4 100644 --- a/src/tools/solana/index.ts +++ b/src/tools/solana/index.ts @@ -1,2 +1,6 @@ export * from "./get_tps"; export * from "./request_faucet_funds"; +export * from "./close_empty_token_accounts"; +export * from "./transfer"; +export * from "./get_balance"; +export * from "./get_balance_other"; diff --git a/src/tools/token/transfer.ts b/src/tools/solana/transfer.ts similarity index 100% rename from src/tools/token/transfer.ts rename to src/tools/solana/transfer.ts diff --git a/src/tools/squads_multisig/approve_proposal.ts b/src/tools/squads_multisig/approve_proposal.ts new file mode 100644 index 0000000..178f4d5 --- /dev/null +++ b/src/tools/squads_multisig/approve_proposal.ts @@ -0,0 +1,52 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Approves a proposal in a Solana multisig wallet. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - The index of the transaction to approve. If not provided, the current transaction index will be used. + * @returns {Promise} - A promise that resolves to the transaction ID of the approved proposal. + * @throws {Error} - Throws an error if the approval process fails. + */ +export async function approve_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + // const [proposalPda, proposalBump] = multisig.getProposalPda({ + // multisigPda, + // transactionIndex, + // }); + const multisigTx = multisig.transactions.proposalApprove({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/squads_multisig/create_multisig.ts new file mode 100644 index 0000000..770c9dd --- /dev/null +++ b/src/tools/squads_multisig/create_multisig.ts @@ -0,0 +1,61 @@ +import * as multisig from "@sqds/multisig"; +import { PublicKey } from "@solana/web3.js"; +import { SolanaAgentKit } from "../../index"; + +/** + * Creates a new Squads multisig account. + * + * @param agent - The SolanaAgentKit instance containing the connection and wallet information. + * @param creator - The public key of the creator who will be a member of the multisig. + * @returns A promise that resolves to the transaction ID of the multisig creation transaction. + * + * @throws Will throw an error if the transaction fails. + */ +export async function create_squads_multisig( + agent: SolanaAgentKit, + creator: PublicKey, +): Promise { + const connection = agent.connection; + const createKey = agent.wallet; // can be any keypair, using the agent wallet as only one multisig is required + + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + + const programConfigPda = multisig.getProgramConfigPda({})[0]; + + const programConfig = + await multisig.accounts.ProgramConfig.fromAccountAddress( + connection, + programConfigPda, + ); + + const configTreasury = programConfig.treasury; + const tx = multisig.transactions.multisigCreateV2({ + blockhash: (await connection.getLatestBlockhash()).blockhash, + treasury: configTreasury, + createKey: createKey.publicKey, + creator: agent.wallet.publicKey, + multisigPda, + configAuthority: null, + timeLock: 0, + threshold: 2, + rentCollector: null, + members: [ + { + key: agent.wallet.publicKey, + permissions: multisig.types.Permissions.all(), + }, + { + key: creator, + permissions: multisig.types.Permissions.all(), + }, + ], + }); + + tx.sign([agent.wallet, createKey]); + + const txId = connection.sendRawTransaction(tx.serialize()); + + return txId; +} diff --git a/src/tools/squads_multisig/create_proposal.ts b/src/tools/squads_multisig/create_proposal.ts new file mode 100644 index 0000000..4ff47e2 --- /dev/null +++ b/src/tools/squads_multisig/create_proposal.ts @@ -0,0 +1,48 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Creates a proposal for a multisig transaction. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - Optional transaction index. If not provided, the current transaction index will be used. + * @returns {Promise} - The transaction ID of the created proposal. + * @throws {Error} - Throws an error if the proposal creation fails. + */ +export async function create_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + const multisigTx = multisig.transactions.proposalCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/squads_multisig/deposit_to_multisig.ts b/src/tools/squads_multisig/deposit_to_multisig.ts new file mode 100644 index 0000000..e2b23ad --- /dev/null +++ b/src/tools/squads_multisig/deposit_to_multisig.ts @@ -0,0 +1,91 @@ +import { SolanaAgentKit } from "../../index"; +import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js"; +import { LAMPORTS_PER_SOL } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, + createAssociatedTokenAccountInstruction, +} from "@solana/spl-token"; +import * as multisig from "@sqds/multisig"; + +/** + * Transfer SOL or SPL tokens to a multisig vault. + * @param agent SolanaAgentKit instance + * @param amount Amount to transfer + * @param vaultIndex Optional vault index, default is 0 + * @param mint Optional mint address for SPL tokens + * @returns Transaction signature + */ +export async function deposit_to_multisig( + agent: SolanaAgentKit, + amount: number, + vaultIndex?: number, + mint?: PublicKey, +): Promise { + try { + let tx: string; + if (!vaultIndex) { + vaultIndex = 0; + } + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + const to = vaultPda; + if (!mint) { + // Transfer native SOL + const transaction = new Transaction().add( + SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress( + mint, + agent.wallet_address, + ); + const transaction = new Transaction(); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const toTokenAccountInfo = await agent.connection.getAccountInfo(toAta); + // Create associated token account if it doesn't exist + if (!toTokenAccountInfo) { + transaction.add( + createAssociatedTokenAccountInstruction( + agent.wallet_address, + toAta, + to, + mint, + ), + ); + } + // Get mint info to determine decimals + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transaction.add( + createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } + + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/squads_multisig/execute_proposal.ts b/src/tools/squads_multisig/execute_proposal.ts new file mode 100644 index 0000000..60c21f4 --- /dev/null +++ b/src/tools/squads_multisig/execute_proposal.ts @@ -0,0 +1,49 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Executes a transaction on the Solana blockchain using the provided agent. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance containing the wallet and connection. + * @param {number | bigint} [transactionIndex] - Optional transaction index to execute. If not provided, the current transaction index from the multisig account will be used. + * @returns {Promise} - A promise that resolves to the transaction signature string. + * @throws {Error} - Throws an error if the transaction execution fails. + */ +export async function execute_transaction( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + const multisigTx = await multisig.transactions.vaultTransactionExecute({ + connection: agent.connection, + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/squads_multisig/index.ts b/src/tools/squads_multisig/index.ts new file mode 100644 index 0000000..5ceac36 --- /dev/null +++ b/src/tools/squads_multisig/index.ts @@ -0,0 +1,7 @@ +export * from "./approve_proposal"; +export * from "./create_multisig"; +export * from "./create_proposal"; +export * from "./deposit_to_multisig"; +export * from "./execute_proposal"; +export * from "./reject_proposal"; +export * from "./transfer_from_multisig"; diff --git a/src/tools/squads_multisig/reject_proposal.ts b/src/tools/squads_multisig/reject_proposal.ts new file mode 100644 index 0000000..1736b6d --- /dev/null +++ b/src/tools/squads_multisig/reject_proposal.ts @@ -0,0 +1,52 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Rejects a proposal in a Solana multisig setup. + * + * @param agent - The SolanaAgentKit instance containing the wallet and connection. + * @param transactionIndex - Optional. The index of the transaction to reject. If not provided, the current transaction index will be used. + * @returns A promise that resolves to the transaction ID of the rejection transaction. + * @throws Will throw an error if the transaction fails. + */ +export async function reject_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + // const [proposalPda, proposalBump] = multisig.getProposalPda({ + // multisigPda, + // transactionIndex, + // }); + const multisigTx = multisig.transactions.proposalReject({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/squads_multisig/transfer_from_multisig.ts b/src/tools/squads_multisig/transfer_from_multisig.ts new file mode 100644 index 0000000..6c9c35b --- /dev/null +++ b/src/tools/squads_multisig/transfer_from_multisig.ts @@ -0,0 +1,98 @@ +import { SolanaAgentKit } from "../../index"; +import { + PublicKey, + SystemProgram, + TransactionInstruction, + TransactionMessage, +} from "@solana/web3.js"; +import { LAMPORTS_PER_SOL } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, +} from "@solana/spl-token"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Transfer SOL or SPL tokens to a recipient from a multisig vault. + * @param agent - SolanaAgentKit instance. + * @param amount - Amount to transfer. + * @param to - Recipient's public key. + * @param vaultIndex - Optional vault index, default is 0. + * @param mint - Optional mint address for SPL tokens. + * @returns Transaction signature. + */ +export async function transfer_from_multisig( + agent: SolanaAgentKit, + amount: number, + to: PublicKey, + vaultIndex: number = 0, + mint?: PublicKey, +): Promise { + try { + let transferInstruction: TransactionInstruction; + + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + const transactionIndex = BigInt(currentTransactionIndex + 1); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + + if (!mint) { + // Transfer native SOL + transferInstruction = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress(mint, vaultPda, true); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transferInstruction = createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ); + } + + const transferMessage = new TransactionMessage({ + payerKey: vaultPda, + recentBlockhash: (await agent.connection.getLatestBlockhash()).blockhash, + instructions: [transferInstruction], + }); + + const multisigTx = multisig.transactions.vaultTransactionCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + vaultIndex: 0, + ephemeralSigners: 0, + transactionMessage: transferMessage, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/token/index.ts b/src/tools/token/index.ts deleted file mode 100644 index 495d246..0000000 --- a/src/tools/token/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "./close_empty_token_accounts"; -export * from "./deploy_token"; -export * from "./send_compressed_airdrop"; -export * from "./transfer";