diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..8917bd9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,29 @@ +name: Typescript Client CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [22.x] + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + cache-dependency-path: pnpm-lock.json + - run: pnpm install + - run: pnpm run lint + - run: pnpm run build + # - run: pnpm run test # TODO: add mock env for testing \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..58ad181 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +pnpm run docs && git add docs/ && tsc && lint-staged \ No newline at end of file diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..d2aefcf --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,6 @@ +{ + "**/*.+(js|jsx|css|less|scss|ts|tsx|md)": [ + "prettier --write", + "eslint --fix" + ] +} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 4e1411f..86069d6 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index f8872a0..149719f 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,12 +1,13 @@ 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

Properties

Methods

Methods

batchOrder +cancelAllOrders closePerpTradeLong closePerpTradeShort createGibworkTask @@ -31,6 +32,7 @@ Provides a unified interface for token operations, NFT management, trading and m getTPS launchPumpFunToken lendAssets +limitOrder manifestCreateMarket mintNFT openbookCreateMarket @@ -63,8 +65,8 @@ 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>

    • 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

      • 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/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 40c059b..62e32dc 100644 --- a/docs/functions/createSolanaTools.html +++ b/docs/functions/createSolanaTools.html @@ -1 +1 @@ -createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

      Returns (
          | SolanaBalanceTool
          | SolanaBalanceOtherTool
          | SolanaTransferTool
          | SolanaDeployTokenTool
          | SolanaDeployCollectionTool
          | SolanaMintNFTTool
          | SolanaPerpCloseTradeTool
          | SolanaPerpOpenTradeTool
          | SolanaTradeTool
          | SolanaCancelAllOrdersTool
          | SolanaWithdrawAllTool
          | SolanaRequestFundsTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetWalletAddressTool
          | SolanaPumpfunTokenLaunchTool
          | SolanaCreateImageTool
          | SolanaLendAssetTool
          | SolanaTPSCalculatorTool
          | SolanaStakeTool
          | SolanaRestakeTool
          | SolanaFetchPriceTool
          | SolanaTokenDataTool
          | SolanaTokenDataByTickerTool
          | SolanaCompressedAirdropTool
          | SolanaClosePosition
          | SolanaOrcaCreateCLMM
          | SolanaOrcaCreateSingleSideLiquidityPool
          | SolanaOrcaFetchPositions
          | SolanaOrcaOpenCenteredPosition
          | SolanaOrcaOpenSingleSidedPosition
          | SolanaRaydiumCreateAmmV4
          | SolanaRaydiumCreateClmm
          | SolanaRaydiumCreateCpmm
          | SolanaOpenbookCreateMarket
          | SolanaManifestCreateMarket
          | SolanaPythFetchPrice
          | SolanaResolveAllDomainsTool
          | SolanaGetOwnedDomains
          | SolanaGetOwnedTldDomains
          | SolanaGetAllTlds
          | SolanaGetMainDomain
          | SolanaCreateGibworkTask
          | SolanaRockPaperScissorsTool
          | SolanaTipLinkTool
          | SolanaListNFTForSaleTool
          | SolanaCancelNFTListingTool
          | SolanaFetchTokenReportSummaryTool
          | SolanaFetchTokenDetailedReportTool
      )[]

    +createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

      Returns (
          | SolanaBalanceTool
          | SolanaBalanceOtherTool
          | SolanaTransferTool
          | SolanaDeployTokenTool
          | SolanaDeployCollectionTool
          | SolanaMintNFTTool
          | SolanaPerpCloseTradeTool
          | SolanaPerpOpenTradeTool
          | SolanaTradeTool
          | SolanaLimitOrderTool
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaWithdrawAllTool
          | SolanaRequestFundsTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetWalletAddressTool
          | SolanaPumpfunTokenLaunchTool
          | SolanaCreateImageTool
          | SolanaLendAssetTool
          | SolanaTPSCalculatorTool
          | SolanaStakeTool
          | SolanaRestakeTool
          | SolanaFetchPriceTool
          | SolanaTokenDataTool
          | SolanaTokenDataByTickerTool
          | SolanaCompressedAirdropTool
          | SolanaClosePosition
          | SolanaOrcaCreateCLMM
          | SolanaOrcaCreateSingleSideLiquidityPool
          | SolanaOrcaFetchPositions
          | SolanaOrcaOpenCenteredPosition
          | SolanaOrcaOpenSingleSidedPosition
          | SolanaRaydiumCreateAmmV4
          | SolanaRaydiumCreateClmm
          | SolanaRaydiumCreateCpmm
          | SolanaOpenbookCreateMarket
          | SolanaManifestCreateMarket
          | SolanaPythFetchPrice
          | SolanaResolveAllDomainsTool
          | SolanaGetOwnedDomains
          | SolanaGetOwnedTldDomains
          | SolanaGetAllTlds
          | SolanaGetMainDomain
          | SolanaCreateGibworkTask
          | SolanaRockPaperScissorsTool
          | SolanaTipLinkTool
          | SolanaListNFTForSaleTool
          | SolanaCancelNFTListingTool
          | SolanaFetchTokenReportSummaryTool
          | SolanaFetchTokenDetailedReportTool
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 4900cf6..0a4cfc3 100644 --- a/docs/functions/createVercelAITools.html +++ b/docs/functions/createVercelAITools.html @@ -1 +1 @@ -createVercelAITools | solana-agent-kit

    Function createVercelAITools

    +createVercelAITools | solana-agent-kit

    Function createVercelAITools

    diff --git a/docs/functions/executeAction.html b/docs/functions/executeAction.html index f138d97..97a7bdc 100644 --- a/docs/functions/executeAction.html +++ b/docs/functions/executeAction.html @@ -1,2 +1,2 @@ executeAction | solana-agent-kit

    Function executeAction

    • Execute an action with the given input

      -

      Parameters

      Returns Promise<Record<string, any>>

    +

    Parameters

    Returns Promise<Record<string, any>>

    diff --git a/docs/functions/findAction.html b/docs/functions/findAction.html index 7532dff..77ebfb5 100644 --- a/docs/functions/findAction.html +++ b/docs/functions/findAction.html @@ -1,2 +1,2 @@ findAction | solana-agent-kit

    Function findAction

    • Find an action by its name or one of its similes

      -

      Parameters

      • query: string

      Returns Action | undefined

    +

    Parameters

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 1d3478f..2e9477e 100644 --- a/docs/functions/getActionExamples.html +++ b/docs/functions/getActionExamples.html @@ -1,2 +1,2 @@ getActionExamples | solana-agent-kit

    Function getActionExamples

    • Get examples for an action

      -

      Parameters

      • action: Action

      Returns string

    +

    Parameters

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 2102f86..5aabff3 100644 --- a/docs/interfaces/Action.html +++ b/docs/interfaces/Action.html @@ -1,16 +1,16 @@ Action | solana-agent-kit

    Interface Action

    Main Action interface inspired by ELIZA This interface makes it easier to implement actions across different frameworks

    -
    interface Action {
        description: string;
        examples: ActionExample[][];
        handler: Handler;
        name: string;
        schema: ZodType;
        similes: string[];
    }

    Properties

    interface Action {
        description: string;
        examples: ActionExample[][];
        handler: Handler;
        name: string;
        schema: ZodType;
        similes: string[];
    }

    Properties

    description: string

    Detailed description of what the action does

    -
    examples: ActionExample[][]

    Array of example inputs and outputs for the action +

    examples: ActionExample[][]

    Array of example inputs and outputs for the action Each inner array represents a group of related examples

    -
    handler: Handler

    Function that executes the action

    -
    name: string

    Unique name of the action

    -
    schema: ZodType

    Zod schema for input validation

    -
    similes: string[]

    Alternative names/phrases that can trigger this action

    -
    +
    handler: Handler

    Function that executes the action

    +
    name: string

    Unique name of the action

    +
    schema: ZodType

    Zod schema for input validation

    +
    similes: string[]

    Alternative names/phrases that can trigger this action

    +
    diff --git a/docs/interfaces/ActionExample.html b/docs/interfaces/ActionExample.html index 5c96b15..f34c92f 100644 --- a/docs/interfaces/ActionExample.html +++ b/docs/interfaces/ActionExample.html @@ -1,5 +1,5 @@ ActionExample | solana-agent-kit

    Interface ActionExample

    Example of an action with input and output

    -
    interface ActionExample {
        explanation: string;
        input: Record<string, any>;
        output: Record<string, any>;
    }

    Properties

    interface ActionExample {
        explanation: string;
        input: Record<string, any>;
        output: Record<string, any>;
    }

    Properties

    explanation: string
    input: Record<string, any>
    output: Record<string, any>
    +

    Properties

    explanation: string
    input: Record<string, any>
    output: Record<string, any>
    diff --git a/docs/interfaces/BatchOrderPattern.html b/docs/interfaces/BatchOrderPattern.html index 31508ed..5d5da73 100644 --- a/docs/interfaces/BatchOrderPattern.html +++ b/docs/interfaces/BatchOrderPattern.html @@ -1,7 +1,7 @@ -BatchOrderPattern | solana-agent-kit

    Interface BatchOrderPattern

    interface BatchOrderPattern {
        individualQuantity?: number;
        numberOfOrders?: number;
        priceRange?: { max?: number; min?: number };
        side: string;
        spacing?: { type: "percentage" | "fixed"; value: number };
        totalQuantity?: number;
    }

    Properties

    individualQuantity? +BatchOrderPattern | solana-agent-kit

    Interface BatchOrderPattern

    interface BatchOrderPattern {
        individualQuantity?: number;
        numberOfOrders?: number;
        priceRange?: { max?: number; min?: number };
        side: string;
        spacing?: { type: "percentage" | "fixed"; value: number };
        totalQuantity?: number;
    }

    Properties

    individualQuantity?: number
    numberOfOrders?: number
    priceRange?: { max?: number; min?: number }
    side: string
    spacing?: { type: "percentage" | "fixed"; value: number }
    totalQuantity?: number
    +

    Properties

    individualQuantity?: number
    numberOfOrders?: number
    priceRange?: { max?: number; min?: number }
    side: string
    spacing?: { type: "percentage" | "fixed"; value: number }
    totalQuantity?: number
    diff --git a/docs/interfaces/CollectionDeployment.html b/docs/interfaces/CollectionDeployment.html index c8bfe83..6d63f5a 100644 --- a/docs/interfaces/CollectionDeployment.html +++ b/docs/interfaces/CollectionDeployment.html @@ -1,3 +1,3 @@ -CollectionDeployment | solana-agent-kit

    Interface CollectionDeployment

    interface CollectionDeployment {
        collectionAddress: PublicKey;
        signature: Uint8Array;
    }

    Properties

    collectionAddress +CollectionDeployment | solana-agent-kit

    Interface CollectionDeployment

    interface CollectionDeployment {
        collectionAddress: PublicKey;
        signature: Uint8Array;
    }

    Properties

    collectionAddress: PublicKey
    signature: Uint8Array
    +

    Properties

    collectionAddress: PublicKey
    signature: Uint8Array
    diff --git a/docs/interfaces/CollectionOptions.html b/docs/interfaces/CollectionOptions.html index 6c3fd74..1dd31ef 100644 --- a/docs/interfaces/CollectionOptions.html +++ b/docs/interfaces/CollectionOptions.html @@ -1,5 +1,5 @@ -CollectionOptions | solana-agent-kit

    Interface CollectionOptions

    interface CollectionOptions {
        creators?: Creator[];
        name: string;
        royaltyBasisPoints?: number;
        uri: string;
    }

    Properties

    creators? +CollectionOptions | solana-agent-kit

    Interface CollectionOptions

    interface CollectionOptions {
        creators?: Creator[];
        name: string;
        royaltyBasisPoints?: number;
        uri: string;
    }

    Properties

    creators?: Creator[]
    name: string
    royaltyBasisPoints?: number
    uri: string
    +

    Properties

    creators?: Creator[]
    name: string
    royaltyBasisPoints?: number
    uri: string
    diff --git a/docs/interfaces/Config.html b/docs/interfaces/Config.html index 5a3ca46..e8ffb49 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,4 +1,4 @@ -Config | solana-agent-kit

    Interface Config

    interface Config {
        JUPITER_FEE_BPS?: number;
        JUPITER_REFERRAL_ACCOUNT?: string;
        OPENAI_API_KEY?: string;
    }

    Properties

    JUPITER_FEE_BPS? +Config | solana-agent-kit

    Interface Config

    interface Config {
        JUPITER_FEE_BPS?: number;
        JUPITER_REFERRAL_ACCOUNT?: string;
        OPENAI_API_KEY?: string;
    }

    Properties

    JUPITER_FEE_BPS?: number
    JUPITER_REFERRAL_ACCOUNT?: string
    OPENAI_API_KEY?: string
    +

    Properties

    JUPITER_FEE_BPS?: number
    JUPITER_REFERRAL_ACCOUNT?: string
    OPENAI_API_KEY?: string
    diff --git a/docs/interfaces/Creator.html b/docs/interfaces/Creator.html index 2f4ea54..4ce2cdc 100644 --- a/docs/interfaces/Creator.html +++ b/docs/interfaces/Creator.html @@ -1,3 +1,3 @@ -Creator | solana-agent-kit

    Interface Creator

    interface Creator {
        address: string;
        percentage: number;
    }

    Properties

    address +Creator | solana-agent-kit

    Interface Creator

    interface Creator {
        address: string;
        percentage: number;
    }

    Properties

    Properties

    address: string
    percentage: number
    +

    Properties

    address: string
    percentage: number
    diff --git a/docs/interfaces/FetchPriceResponse.html b/docs/interfaces/FetchPriceResponse.html index 923975d..56c062e 100644 --- a/docs/interfaces/FetchPriceResponse.html +++ b/docs/interfaces/FetchPriceResponse.html @@ -1,6 +1,6 @@ -FetchPriceResponse | solana-agent-kit

    Interface FetchPriceResponse

    interface FetchPriceResponse {
        code?: string;
        message?: string;
        priceInUSDC?: string;
        status: "success" | "error";
        tokenId?: string;
    }

    Properties

    code? +FetchPriceResponse | solana-agent-kit

    Interface FetchPriceResponse

    interface FetchPriceResponse {
        code?: string;
        message?: string;
        priceInUSDC?: string;
        status: "success" | "error";
        tokenId?: string;
    }

    Properties

    code?: string
    message?: string
    priceInUSDC?: string
    status: "success" | "error"
    tokenId?: string
    +

    Properties

    code?: string
    message?: string
    priceInUSDC?: string
    status: "success" | "error"
    tokenId?: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index 87ecb48..f6970cd 100644 --- a/docs/interfaces/GibworkCreateTaskReponse.html +++ b/docs/interfaces/GibworkCreateTaskReponse.html @@ -1,4 +1,4 @@ -GibworkCreateTaskReponse | solana-agent-kit

    Interface GibworkCreateTaskReponse

    interface GibworkCreateTaskReponse {
        signature?: string;
        status: "success" | "error";
        taskId?: string;
    }

    Properties

    signature? +GibworkCreateTaskReponse | solana-agent-kit

    Interface GibworkCreateTaskReponse

    interface GibworkCreateTaskReponse {
        signature?: string;
        status: "success" | "error";
        taskId?: string;
    }

    Properties

    signature?: string
    status: "success" | "error"
    taskId?: string
    +

    Properties

    signature?: string
    status: "success" | "error"
    taskId?: string
    diff --git a/docs/interfaces/JupiterTokenData.html b/docs/interfaces/JupiterTokenData.html index 36352ec..5e81a93 100644 --- a/docs/interfaces/JupiterTokenData.html +++ b/docs/interfaces/JupiterTokenData.html @@ -1,4 +1,4 @@ -JupiterTokenData | solana-agent-kit

    Interface JupiterTokenData

    interface JupiterTokenData {
        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 +JupiterTokenData | solana-agent-kit

    Interface JupiterTokenData

    interface JupiterTokenData {
        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[]
    +

    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[]
    diff --git a/docs/interfaces/LuloAccountDetailsResponse.html b/docs/interfaces/LuloAccountDetailsResponse.html index 098cdff..4b755d0 100644 --- a/docs/interfaces/LuloAccountDetailsResponse.html +++ b/docs/interfaces/LuloAccountDetailsResponse.html @@ -1,6 +1,6 @@ LuloAccountDetailsResponse | solana-agent-kit

    Interface LuloAccountDetailsResponse

    Lulo Account Details response format

    -
    interface LuloAccountDetailsResponse {
        interestEarned: number;
        realtimeApy: number;
        settings: {
            allowedProtocols: null | string;
            homebase: null | string;
            minimumRate: string;
            owner: string;
        };
        totalValue: number;
    }

    Properties

    interface LuloAccountDetailsResponse {
        interestEarned: number;
        realtimeApy: number;
        settings: {
            allowedProtocols: null | string;
            homebase: null | string;
            minimumRate: string;
            owner: string;
        };
        totalValue: number;
    }

    Properties

    interestEarned: number
    realtimeApy: number
    settings: {
        allowedProtocols: null | string;
        homebase: null | string;
        minimumRate: string;
        owner: string;
    }
    totalValue: number
    +

    Properties

    interestEarned: number
    realtimeApy: number
    settings: {
        allowedProtocols: null | string;
        homebase: null | string;
        minimumRate: string;
        owner: string;
    }
    totalValue: number
    diff --git a/docs/interfaces/MintCollectionNFTResponse.html b/docs/interfaces/MintCollectionNFTResponse.html index d6ac59d..1434d20 100644 --- a/docs/interfaces/MintCollectionNFTResponse.html +++ b/docs/interfaces/MintCollectionNFTResponse.html @@ -1,3 +1,3 @@ -MintCollectionNFTResponse | solana-agent-kit

    Interface MintCollectionNFTResponse

    interface MintCollectionNFTResponse {
        metadata: PublicKey;
        mint: PublicKey;
    }

    Properties

    metadata +MintCollectionNFTResponse | solana-agent-kit

    Interface MintCollectionNFTResponse

    interface MintCollectionNFTResponse {
        metadata: PublicKey;
        mint: PublicKey;
    }

    Properties

    Properties

    metadata: PublicKey
    mint: PublicKey
    +

    Properties

    metadata: PublicKey
    mint: PublicKey
    diff --git a/docs/interfaces/OrderParams.html b/docs/interfaces/OrderParams.html index c86dede..37eb2da 100644 --- a/docs/interfaces/OrderParams.html +++ b/docs/interfaces/OrderParams.html @@ -1,4 +1,4 @@ -OrderParams | solana-agent-kit

    Interface OrderParams

    interface OrderParams {
        price: number;
        quantity: number;
        side: string;
    }

    Properties

    price +OrderParams | solana-agent-kit

    Interface OrderParams

    interface OrderParams {
        price: number;
        quantity: number;
        side: string;
    }

    Properties

    Properties

    price: number
    quantity: number
    side: string
    +

    Properties

    price: number
    quantity: number
    side: string
    diff --git a/docs/interfaces/PumpFunTokenOptions.html b/docs/interfaces/PumpFunTokenOptions.html index a2d5e9e..1ab198a 100644 --- a/docs/interfaces/PumpFunTokenOptions.html +++ b/docs/interfaces/PumpFunTokenOptions.html @@ -1,7 +1,7 @@ -PumpFunTokenOptions | solana-agent-kit

    Interface PumpFunTokenOptions

    interface PumpFunTokenOptions {
        initialLiquiditySOL?: number;
        priorityFee?: number;
        slippageBps?: number;
        telegram?: string;
        twitter?: string;
        website?: string;
    }

    Properties

    initialLiquiditySOL? +PumpFunTokenOptions | solana-agent-kit

    Interface PumpFunTokenOptions

    interface PumpFunTokenOptions {
        initialLiquiditySOL?: number;
        priorityFee?: number;
        slippageBps?: number;
        telegram?: string;
        twitter?: string;
        website?: string;
    }

    Properties

    initialLiquiditySOL?: number
    priorityFee?: number
    slippageBps?: number
    telegram?: string
    twitter?: string
    website?: string
    +

    Properties

    initialLiquiditySOL?: number
    priorityFee?: number
    slippageBps?: number
    telegram?: string
    twitter?: string
    website?: string
    diff --git a/docs/interfaces/PumpfunLaunchResponse.html b/docs/interfaces/PumpfunLaunchResponse.html index 94ff87e..a8b1ca2 100644 --- a/docs/interfaces/PumpfunLaunchResponse.html +++ b/docs/interfaces/PumpfunLaunchResponse.html @@ -1,5 +1,5 @@ -PumpfunLaunchResponse | solana-agent-kit

    Interface PumpfunLaunchResponse

    interface PumpfunLaunchResponse {
        error?: string;
        metadataUri?: string;
        mint: string;
        signature: string;
    }

    Properties

    error? +PumpfunLaunchResponse | solana-agent-kit

    Interface PumpfunLaunchResponse

    interface PumpfunLaunchResponse {
        error?: string;
        metadataUri?: string;
        mint: string;
        signature: string;
    }

    Properties

    error?: string
    metadataUri?: string
    mint: string
    signature: string
    +

    Properties

    error?: string
    metadataUri?: string
    mint: string
    signature: string
    diff --git a/docs/interfaces/PythFetchPriceResponse.html b/docs/interfaces/PythFetchPriceResponse.html index 36750a0..dd040f2 100644 --- a/docs/interfaces/PythFetchPriceResponse.html +++ b/docs/interfaces/PythFetchPriceResponse.html @@ -1,7 +1,7 @@ -PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

    interface PythFetchPriceResponse {
        code?: string;
        message?: string;
        price?: string;
        priceFeedID?: string;
        status: "success" | "error";
        tokenSymbol: string;
    }

    Properties

    code? +PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

    interface PythFetchPriceResponse {
        code?: string;
        message?: string;
        price?: string;
        priceFeedID?: string;
        status: "success" | "error";
        tokenSymbol: string;
    }

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID?: string
    status: "success" | "error"
    tokenSymbol: string
    +

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID?: string
    status: "success" | "error"
    tokenSymbol: string
    diff --git a/docs/interfaces/PythPriceFeedIDItem.html b/docs/interfaces/PythPriceFeedIDItem.html index 6930839..a37f6df 100644 --- a/docs/interfaces/PythPriceFeedIDItem.html +++ b/docs/interfaces/PythPriceFeedIDItem.html @@ -1,3 +1,3 @@ -PythPriceFeedIDItem | solana-agent-kit

    Interface PythPriceFeedIDItem

    interface PythPriceFeedIDItem {
        attributes: { asset_type: string; base: string };
        id: string;
    }

    Properties

    attributes +PythPriceFeedIDItem | solana-agent-kit

    Interface PythPriceFeedIDItem

    interface PythPriceFeedIDItem {
        attributes: { asset_type: string; base: string };
        id: string;
    }

    Properties

    Properties

    attributes: { asset_type: string; base: string }
    id: string
    +

    Properties

    attributes: { asset_type: string; base: string }
    id: string
    diff --git a/docs/interfaces/PythPriceItem.html b/docs/interfaces/PythPriceItem.html index 477b285..ea18d2c 100644 --- a/docs/interfaces/PythPriceItem.html +++ b/docs/interfaces/PythPriceItem.html @@ -1,3 +1,3 @@ -PythPriceItem | solana-agent-kit

    Interface PythPriceItem

    interface PythPriceItem {
        binary: { data: string[]; encoding: string };
        parsed: [
            {
                ema_price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
                id: string;
                metadata: {
                    prev_publish_time: number;
                    proof_available_time: number;
                    slot: number;
                };
                price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
            }[],
        ];
    }

    Properties

    binary +PythPriceItem | solana-agent-kit

    Interface PythPriceItem

    interface PythPriceItem {
        binary: { data: string[]; encoding: string };
        parsed: [
            {
                ema_price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
                id: string;
                metadata: {
                    prev_publish_time: number;
                    proof_available_time: number;
                    slot: number;
                };
                price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
            }[],
        ];
    }

    Properties

    Properties

    binary: { data: string[]; encoding: string }
    parsed: [
        {
            ema_price: {
                conf: string;
                expo: number;
                price: string;
                publish_time: number;
            };
            id: string;
            metadata: {
                prev_publish_time: number;
                proof_available_time: number;
                slot: number;
            };
            price: { conf: string; expo: number; price: string; publish_time: number };
        }[],
    ]
    +

    Properties

    binary: { data: string[]; encoding: string }
    parsed: [
        {
            ema_price: {
                conf: string;
                expo: number;
                price: string;
                publish_time: number;
            };
            id: string;
            metadata: {
                prev_publish_time: number;
                proof_available_time: number;
                slot: number;
            };
            price: { conf: string; expo: number; price: string; publish_time: number };
        }[],
    ]
    diff --git a/docs/interfaces/TokenCheck.html b/docs/interfaces/TokenCheck.html index 2cc6151..93f9306 100644 --- a/docs/interfaces/TokenCheck.html +++ b/docs/interfaces/TokenCheck.html @@ -1,5 +1,5 @@ -TokenCheck | solana-agent-kit

    Interface TokenCheck

    interface TokenCheck {
        risks: {
            description: string;
            level: string;
            name: string;
            score: number;
        }[];
        score: number;
        tokenProgram: string;
        tokenType: string;
    }

    Properties

    risks +TokenCheck | solana-agent-kit

    Interface TokenCheck

    interface TokenCheck {
        risks: {
            description: string;
            level: string;
            name: string;
            score: number;
        }[];
        score: number;
        tokenProgram: string;
        tokenType: string;
    }

    Properties

    risks: { description: string; level: string; name: string; score: number }[]
    score: number
    tokenProgram: string
    tokenType: string
    +

    Properties

    risks: { description: string; level: string; name: string; score: number }[]
    score: number
    tokenProgram: string
    tokenType: string
    diff --git a/docs/types/Handler.html b/docs/types/Handler.html index 79d7158..6076f3e 100644 --- a/docs/types/Handler.html +++ b/docs/types/Handler.html @@ -1,2 +1,2 @@ Handler | solana-agent-kit

    Type Alias Handler

    Handler: (
        agent: SolanaAgentKit,
        input: Record<string, any>,
    ) => Promise<Record<string, any>>

    Handler function type for executing the action

    -

    Type declaration

      • (
            agent: SolanaAgentKit,
            input: Record<string, any>,
        ): Promise<Record<string, any>>
      • Parameters

        Returns Promise<Record<string, any>>

    +

    Type declaration

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 7721160..10cd80e 100644 --- a/docs/variables/actions.html +++ b/docs/variables/actions.html @@ -1 +1 @@ -ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        GET_ALL_DOMAINS_TLDS_ACTION: Action;
        GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action;
        GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action;
        GET_OWNED_ALL_DOMAINS_ACTION: Action;
        GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action;
        GET_PRIMARY_DOMAIN_ACTION: Action;
        GET_TOKEN_DATA_ACTION: Action;
        GET_TPS_ACTION: Action;
        LAUNCH_PUMPFUN_TOKEN_ACTION: Action;
        LEND_ASSET_ACTION: Action;
        MINT_NFT_ACTION: Action;
        PYTH_FETCH_PRICE_ACTION: Action;
        RAYDIUM_CREATE_AMM_V4_ACTION: Action;
        RAYDIUM_CREATE_CPMM_ACTION: Action;
        REGISTER_DOMAIN_ACTION: Action;
        REQUEST_FUNDS_ACTION: Action;
        RESOLVE_DOMAIN_ACTION: Action;
        RESOLVE_SOL_DOMAIN_ACTION: Action;
        STAKE_WITH_JUP_ACTION: Action;
        STAKE_WITH_SOLAYER_ACTION: Action;
        TRADE_ACTION: Action;
        TRANSFER_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • GET_ALL_DOMAINS_TLDS_ACTION: Action
    • GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action
    • GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action
    • GET_OWNED_ALL_DOMAINS_ACTION: Action
    • GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action
    • GET_PRIMARY_DOMAIN_ACTION: Action
    • GET_TOKEN_DATA_ACTION: Action
    • GET_TPS_ACTION: Action
    • LAUNCH_PUMPFUN_TOKEN_ACTION: Action
    • LEND_ASSET_ACTION: Action
    • MINT_NFT_ACTION: Action
    • PYTH_FETCH_PRICE_ACTION: Action
    • RAYDIUM_CREATE_AMM_V4_ACTION: Action
    • RAYDIUM_CREATE_CPMM_ACTION: Action
    • REGISTER_DOMAIN_ACTION: Action
    • REQUEST_FUNDS_ACTION: Action
    • RESOLVE_DOMAIN_ACTION: Action
    • RESOLVE_SOL_DOMAIN_ACTION: Action
    • STAKE_WITH_JUP_ACTION: Action
    • STAKE_WITH_SOLAYER_ACTION: Action
    • TRADE_ACTION: Action
    • TRANSFER_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    +ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        GET_ALL_DOMAINS_TLDS_ACTION: Action;
        GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action;
        GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action;
        GET_OWNED_ALL_DOMAINS_ACTION: Action;
        GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action;
        GET_PRIMARY_DOMAIN_ACTION: Action;
        GET_TOKEN_DATA_ACTION: Action;
        GET_TPS_ACTION: Action;
        LAUNCH_PUMPFUN_TOKEN_ACTION: Action;
        LEND_ASSET_ACTION: Action;
        MINT_NFT_ACTION: Action;
        PYTH_FETCH_PRICE_ACTION: Action;
        RAYDIUM_CREATE_AMM_V4_ACTION: Action;
        RAYDIUM_CREATE_CPMM_ACTION: Action;
        REGISTER_DOMAIN_ACTION: Action;
        REQUEST_FUNDS_ACTION: Action;
        RESOLVE_DOMAIN_ACTION: Action;
        RESOLVE_SOL_DOMAIN_ACTION: Action;
        STAKE_WITH_JUP_ACTION: Action;
        STAKE_WITH_SOLAYER_ACTION: Action;
        TRADE_ACTION: Action;
        TRANSFER_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • GET_ALL_DOMAINS_TLDS_ACTION: Action
    • GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action
    • GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action
    • GET_OWNED_ALL_DOMAINS_ACTION: Action
    • GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action
    • GET_PRIMARY_DOMAIN_ACTION: Action
    • GET_TOKEN_DATA_ACTION: Action
    • GET_TPS_ACTION: Action
    • LAUNCH_PUMPFUN_TOKEN_ACTION: Action
    • LEND_ASSET_ACTION: Action
    • MINT_NFT_ACTION: Action
    • PYTH_FETCH_PRICE_ACTION: Action
    • RAYDIUM_CREATE_AMM_V4_ACTION: Action
    • RAYDIUM_CREATE_CPMM_ACTION: Action
    • REGISTER_DOMAIN_ACTION: Action
    • REQUEST_FUNDS_ACTION: Action
    • RESOLVE_DOMAIN_ACTION: Action
    • RESOLVE_SOL_DOMAIN_ACTION: Action
    • STAKE_WITH_JUP_ACTION: Action
    • STAKE_WITH_SOLAYER_ACTION: Action
    • TRADE_ACTION: Action
    • TRANSFER_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    diff --git a/package.json b/package.json index 7b2a016..47dfb22 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "generate": "ts-node src/utils/keypair.ts", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"" + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "prepare": "husky" }, "engines": { "node": ">=22.0.0", @@ -41,23 +42,22 @@ "@onsol/tldparser": "^0.6.7", "@orca-so/common-sdk": "0.6.4", "@orca-so/whirlpools-sdk": "^0.13.12", - "@pythnetwork/price-service-client": "^1.9.0", "@raydium-io/raydium-sdk-v2": "0.1.95-alpha", "@solana/spl-token": "^0.4.9", - "ai": "^4.0.22", - "@tensor-oss/tensorswap-sdk": "^4.5.0", "@solana/web3.js": "^1.98.0", + "@tensor-oss/tensorswap-sdk": "^4.5.0", "@tiplink/api": "^0.3.1", + "ai": "^4.0.22", "bn.js": "^5.2.1", "bs58": "^6.0.0", "chai": "^5.1.2", "decimal.js": "^10.4.3", "dotenv": "^16.4.7", "form-data": "^4.0.1", - "zod": "^3.24.1", "langchain": "^0.3.8", "openai": "^4.77.0", - "typedoc": "^0.27.6" + "typedoc": "^0.27.6", + "zod": "^3.24.1" }, "devDependencies": { "@types/bn.js": "^5.1.6", @@ -68,6 +68,8 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", + "husky": "^9.1.7", + "lint-staged": "^15.3.0", "prettier": "^3.4.2", "ts-node": "^10.9.2", "typescript": "^5.7.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f01ffd7..73a9adf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,9 +65,6 @@ importers: '@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) - '@pythnetwork/price-service-client': - specifier: ^1.9.0 - version: 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@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) @@ -141,6 +138,12 @@ importers: eslint-plugin-prettier: specifier: ^5.2.1 version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2) + husky: + specifier: ^9.1.7 + version: 9.1.7 + lint-staged: + specifier: ^15.3.0 + version: 15.3.0 prettier: specifier: ^3.4.2 version: 3.4.2 @@ -596,13 +599,6 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@pythnetwork/price-service-client@1.9.0': - resolution: {integrity: sha512-SLm3IFcfmy9iMqHeT4Ih6qMNZhJEefY14T9yTlpsH2D/FE5+BaGGnfcexUifVlfH6M7mwRC4hEFdNvZ6ebZjJg==} - deprecated: This package is deprecated and is no longer maintained. Please use @pythnetwork/hermes-client instead. - - '@pythnetwork/price-service-sdk@1.8.0': - resolution: {integrity: sha512-tFZ1thj3Zja06DzPIX2dEWSi7kIfIyqreoywvw5NQ3Z1pl5OJHQGMEhxt6Li3UCGSp2ooYZS9wl8/8XfrfrNSA==} - '@raydium-io/raydium-sdk-v2@0.1.95-alpha': resolution: {integrity: sha512-+u7yxo/R1JDysTCzOuAlh90ioBe2DlM2Hbcz/tFsxP/YzmnYQzShvNjcmc0361a4zJhmlrEJfpFXW0J3kkX5vA==} @@ -1031,6 +1027,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1077,9 +1077,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios-retry@3.9.1: - resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} - axios@0.28.1: resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} @@ -1225,6 +1222,14 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1232,6 +1237,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1388,6 +1396,9 @@ packages: emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1406,6 +1417,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -1538,6 +1553,10 @@ packages: resolution: {integrity: sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==} engines: {node: '>=18.0.0'} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} @@ -1659,6 +1678,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + get-east-asian-width@1.3.0: + 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'} @@ -1667,6 +1690,10 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1747,9 +1774,18 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -1800,6 +1836,14 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + is-generator-function@1.1.0: resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} @@ -1828,9 +1872,9 @@ packages: 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'} + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} @@ -1997,9 +2041,22 @@ packages: libsodium@0.7.15: resolution: {integrity: sha512-sZwRknt/tUpE2AwzHq3jEyUU5uvIZHtSssktXq7owd++3CSgn8RGrv6UZJJBpP7+iBghBqe7Z06/2M31rI2NKw==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + lint-staged@15.3.0: + resolution: {integrity: sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} + engines: {node: '>=18.0.0'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -2010,6 +2067,10 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + loglevel@1.9.2: resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} engines: {node: '>= 0.6.0'} @@ -2057,6 +2118,9 @@ packages: merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2104,6 +2168,14 @@ packages: engines: {node: '>=4'} hasBin: true + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -2170,6 +2242,10 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + number-to-bn@1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -2197,6 +2273,14 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + oniguruma-to-es@0.10.0: resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} @@ -2269,6 +2353,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -2291,6 +2379,11 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + poly1305-js@0.4.4: resolution: {integrity: sha512-5B6/S+vg5AOr66wJDkh5LOpU/F3EKANDy4VXKsNZLXea1uCy6CiOWOZ3VhcC0nYdhE7vJUMcLxqcVlrv2g/+Rg==} @@ -2384,6 +2477,10 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -2396,6 +2493,9 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -2484,6 +2584,14 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -2505,6 +2613,10 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2513,6 +2625,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -2531,6 +2647,10 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + strip-hex-prefix@1.0.0: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -2611,9 +2731,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-log@2.2.7: - resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} - ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -2811,6 +2928,10 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -2841,6 +2962,11 @@ packages: xsalsa20@1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + yaml@2.7.0: resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} @@ -3571,24 +3697,6 @@ snapshots: '@pkgr/core@0.1.1': {} - '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.9)(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)) - ts-log: 2.2.7 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@pythnetwork/price-service-sdk@1.8.0': - dependencies: - bn.js: 5.2.1 - '@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)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -4407,6 +4515,10 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -4443,11 +4555,6 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios-retry@3.9.1: - dependencies: - '@babel/runtime': 7.26.0 - is-retry-allowed: 2.2.0 - axios@0.28.1: dependencies: follow-redirects: 1.15.9 @@ -4613,12 +4720,23 @@ snapshots: check-error@2.1.1: {} + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} + colorette@2.0.20: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -4736,6 +4854,8 @@ snapshots: emoji-regex-xs@1.0.0: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -4746,6 +4866,8 @@ snapshots: entities@4.5.0: {} + environment@1.1.0: {} + err-code@2.0.3: {} es-define-property@1.0.1: {} @@ -4925,6 +5047,18 @@ snapshots: eventsource-parser@3.0.0: {} + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + exponential-backoff@3.1.1: {} express-prom-bundle@7.0.2(prom-client@15.1.3): @@ -5088,6 +5222,8 @@ snapshots: function-bind@1.1.2: {} + get-east-asian-width@1.3.0: {} + get-intrinsic@1.2.7: dependencies: call-bind-apply-helpers: 1.0.1 @@ -5106,6 +5242,8 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.0.0 + get-stream@8.0.1: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -5221,10 +5359,14 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + human-signals@5.0.0: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 + husky@9.1.7: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -5262,6 +5404,12 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + is-generator-function@1.1.0: dependencies: call-bound: 1.0.3 @@ -5291,7 +5439,7 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - is-retry-allowed@2.2.0: {} + is-stream@3.0.0: {} is-typed-array@1.1.15: dependencies: @@ -5305,10 +5453,6 @@ snapshots: dependencies: ws: 7.5.10(bufferutil@4.0.9)(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)): - dependencies: - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -5447,10 +5591,36 @@ snapshots: libsodium@0.7.15: {} + lilconfig@3.1.3: {} + linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 + lint-staged@15.3.0: + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + debug: 4.4.0 + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.2.5 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.6.1 + transitivePeerDependencies: + - supports-color + + listr2@8.2.5: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -5459,6 +5629,14 @@ snapshots: lodash@4.17.21: {} + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + loglevel@1.9.2: {} loupe@3.1.2: {} @@ -5506,6 +5684,8 @@ snapshots: merge-descriptors@1.0.3: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} merkletreejs@0.3.11: @@ -5550,6 +5730,10 @@ snapshots: mime@1.6.0: {} + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + minimalistic-assert@1.0.1: {} minimatch@10.0.1: @@ -5595,6 +5779,10 @@ snapshots: node-gyp-build@4.8.4: {} + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 @@ -5626,6 +5814,14 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + oniguruma-to-es@0.10.0: dependencies: emoji-regex-xs: 1.0.0 @@ -5699,6 +5895,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -5717,6 +5915,8 @@ snapshots: picomatch@2.3.1: {} + pidtree@0.6.0: {} + poly1305-js@0.4.4: dependencies: big-integer: 1.6.52 @@ -5798,12 +5998,19 @@ snapshots: resolve-from@4.0.0: {} + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + retry@0.12.0: {} retry@0.13.1: {} reusify@1.0.4: {} + rfdc@1.4.1: {} + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -5935,6 +6142,16 @@ snapshots: signal-exit@4.1.0: {} + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + snake-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -5965,6 +6182,8 @@ snapshots: statuses@2.0.1: {} + string-argv@0.3.2: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5977,6 +6196,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -5996,6 +6221,8 @@ snapshots: strip-bom@3.0.0: {} + strip-final-newline@3.0.0: {} + strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 @@ -6057,8 +6284,6 @@ snapshots: dependencies: typescript: 5.7.2 - ts-log@2.2.7: {} - ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -6264,6 +6489,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + wrappy@1.0.2: {} ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): @@ -6278,6 +6509,8 @@ snapshots: xsalsa20@1.2.0: {} + yaml@2.6.1: {} + yaml@2.7.0: {} yn@3.1.1: {} diff --git a/src/actions/pythFetchPrice.ts b/src/actions/pythFetchPrice.ts index b25dbba..d9f7ae4 100644 --- a/src/actions/pythFetchPrice.ts +++ b/src/actions/pythFetchPrice.ts @@ -37,7 +37,9 @@ const pythFetchPriceAction: Action = { }), handler: async (_agent: SolanaAgentKit, input: Record) => { try { - const priceFeedId = await fetchPythPriceFeedID(input.tokenSymbol); + const priceFeedId = await fetchPythPriceFeedID( + input.tokenSymbol as string, + ); const priceStr = await fetchPythPrice(priceFeedId);