diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 3e76375..2f5fc3c 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlcFy2jAQQP/FZyZpSEmb3CiUlpYCA55eMj1sxII1liWPvG5gOv33CMPENpbXXHzQvn0ryyvv87+AcE/BU7A2CjQMd6jpp6SgF6RAkVsXCrIMs9t6/CaiRDkolnoTPN31P//vvZuGgqTRpUFqQrsF4SSnUD25P3hoJH/dQ5IqZBxnglN9ARLRwm7QLoFcun9LDYpTjoxSWNQfY6rMIXGn4bX6wOvEi/T4zDqsZ4pX6q3ctXiOITbZIpCx/uxTjEufoDvUpZUCV5ilbqP+T9nEOOk3+fJqbFyUxxCyeIXt6jaYK/AjT6UThCZGPQYCr/gS4oSzXJmhECbXNEYCqTL2ONpxrsgvZygbYz4J2RqtNFfifD0sJP6+rMQ5zTJP0m2uZ5BrEbG79JJd6kmui6/C3SAPx2oPFF3Zy360S17AE8TNdDwlTFrNF9xV2m5hl6o4plGEIvZ6yjAn+Q56o7DyK6FD6pLPyxeZHx4/3Q361XkwCqeL+brM/gtWwos6DoJTqG64ryaL4vafJldojKr0hOuu4gZktw2oLnz42BD+RitQDacdyhrGSHGPIie8HJulrgYwoq1bareUUUaxQ6rNV+/rNaCG8M8b98jkPw==" \ No newline at end of file +window.navigationData = "eJyNlsFy0zAQQP/F5w6lKS3QW0gIBEqTaT1cOhy28ibWWJY80hqSYfh3FCdT27G89iUH7du3ykob5flvRLij6C56Mgo0TLeo6buk6CIqgFK/LhQ4h+6yHX+TUq48lEmdRHdXkw//Ll5NU0HS6NogNaHdgPCSY6idPLm57SR/3kFeKGQcJ4JTfQIS6comaNdAPj28pQ7FKWdGKazqz7FQZp/7bgStIXCceFUcPt2A9UTxSr2R2x7PIcQmWwQyNpx9jHHpC/RNXVsp8BFd4TcaPsouxkr9TUxnyjiMLSS4Bgt5uE9BclA9yjpS+EW+/DE2q1qFMbjsEfvb0AdzBb6VhfSC2GSo50AQFJ9DnPC+VGYqhCk1zZFAKsceXT/OFfnhDfUlfljEbI1emitxGuXeU2zEOc26zItNqe+h1CJldxkkh9SLUlenwk17gGO1e0pHzl0YHZJX8AIxWc6XhHmv+YwbpR0WDqmqNs1SFFnQU4c5yVfQicLGzx7tC598Wj7LfPvx/dXNpPl2zeLl6uGpzv4NVsKLOjxax1DbcN1MFtX0H1/Z2BjVuBP+dlUT4C47UFt4+64j/IlWoJouB5QtjJHiDkVJeP7E17oWwIg2fqnfUkcZxRap9V8g+PU6UEf46z+zhSAU" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index c1760b6..ff746f8 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 313b7e5..34dc73f 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,7 +1,7 @@ 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

config connection wallet @@ -67,14 +67,14 @@ 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>

    • Closes an existing trading position on Flash.Trade

      -

      Parameters

      • params: FlashCloseTradeParams

        Flash trade close parameters

        +
    • 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

        +
    • 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>

    +
    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index bdf4e85..9ca150b 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
          | SolanaLimitOrderTool
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaWithdrawAllTool
          | SolanaRequestFundsTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetWalletAddressTool
          | SolanaFlashOpenTrade
          | SolanaFlashCloseTrade
          | 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
          | SolanaFlashOpenTrade
          | SolanaFlashCloseTrade
          | 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 4c35c1c..d0a0c48 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 59e086c..468063f 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 9797012..632de8f 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 46d7eec..38ac5e1 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 aeb60a1..fec1876 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 f3bf81b..82ad1be 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 946021a..47fafa0 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 a392a7d..90de288 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 4cb12ab..6a1c4c2 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 ba902c0..f397ec4 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 5ef3e97..d0d8b44 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 f2a0b9e..98412df 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/FlashCloseTradeParams.html b/docs/interfaces/FlashCloseTradeParams.html new file mode 100644 index 0000000..7c19a68 --- /dev/null +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -0,0 +1,3 @@ +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

    interface FlashCloseTradeParams {
        side: "long" | "short";
        token: string;
    }

    Properties

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html new file mode 100644 index 0000000..3d75b25 --- /dev/null +++ b/docs/interfaces/FlashTradeParams.html @@ -0,0 +1,5 @@ +FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

    interface FlashTradeParams {
        collateralUsd: number;
        leverage: number;
        side: "long" | "short";
        token: string;
    }

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index 5689ddc..f1ff5db 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 c7d497b..fd7d98b 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 8e5b319..6fab022 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 e34b942..5816d06 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 edfca61..b862c18 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 a6f761f..a5c2bff 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 de81320..cb329fe 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 68a3a4d..c39ecd9 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 9bf6726..d48c8ab 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 c18784d..879d29d 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 109c5d1..4bb5936 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/modules.html b/docs/modules.html index b8e5d93..0a03fbb 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1 +1 @@ -solana-agent-kit

    solana-agent-kit

    Classes

    SolanaAgentKit

    Interfaces

    Action
    ActionExample
    BatchOrderPattern
    CollectionDeployment
    CollectionOptions
    Config
    Creator
    FetchPriceResponse
    GibworkCreateTaskReponse
    JupiterTokenData
    LuloAccountDetailsResponse
    MintCollectionNFTResponse
    OrderParams
    PumpfunLaunchResponse
    PumpFunTokenOptions
    PythFetchPriceResponse
    PythPriceFeedIDItem
    PythPriceItem
    TokenCheck

    Type Aliases

    Handler

    Variables

    ACTIONS

    Functions

    createSolanaTools
    createVercelAITools
    executeAction
    findAction
    getActionExamples
    +solana-agent-kit

    solana-agent-kit

    Classes

    SolanaAgentKit

    Interfaces

    Action
    ActionExample
    BatchOrderPattern
    CollectionDeployment
    CollectionOptions
    Config
    Creator
    FetchPriceResponse
    FlashCloseTradeParams
    FlashTradeParams
    GibworkCreateTaskReponse
    JupiterTokenData
    LuloAccountDetailsResponse
    MintCollectionNFTResponse
    OrderParams
    PumpfunLaunchResponse
    PumpFunTokenOptions
    PythFetchPriceResponse
    PythPriceFeedIDItem
    PythPriceItem
    TokenCheck

    Type Aliases

    Handler

    Variables

    ACTIONS

    Functions

    createSolanaTools
    createVercelAITools
    executeAction
    findAction
    getActionExamples
    diff --git a/docs/types/Handler.html b/docs/types/Handler.html index 116b609..674da9a 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 0b64780..ad45b82 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/src/actions/flashCloseTrade.ts b/src/actions/flashCloseTrade.ts new file mode 100644 index 0000000..3781d83 --- /dev/null +++ b/src/actions/flashCloseTrade.ts @@ -0,0 +1,68 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { flashCloseTrade } from "../tools"; + +const flashCloseTradeAction: Action = { + name: "FLASH_CLOSE_TRADE", + similes: [ + "close trade", + "close leveraged trade", + "exit position", + "close position", + "exit trade", + "close long", + "close short", + "take profit", + "stop loss", + ], + description: + "Close an existing leveraged trading position on Flash.Trade protocol", + examples: [ + [ + { + input: { + token: "SOL", + side: "long", + }, + output: { + status: "success", + signature: "4xKpN2...", + message: "Successfully closed long position on SOL", + }, + explanation: "Close an existing long position on SOL", + }, + ], + ], + schema: z.object({ + token: z + .string() + .describe("Token symbol of the position to close (e.g. SOL, ETH)"), + side: z + .enum(["long", "short"]) + .describe("Position side to close - long or short"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + try { + const params = { + token: input.token as string, + side: input.side as "long" | "short", + }; + + const response = await flashCloseTrade(agent, params); + + return { + status: "success", + signature: response, + message: `Successfully closed ${params.side} position on ${params.token}`, + }; + } catch (error: any) { + return { + status: "error", + message: `Flash trade close failed: ${error.message}`, + }; + } + }, +}; + +export default flashCloseTradeAction; diff --git a/src/actions/flashOpenTrade.ts b/src/actions/flashOpenTrade.ts new file mode 100644 index 0000000..790bdef --- /dev/null +++ b/src/actions/flashOpenTrade.ts @@ -0,0 +1,78 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { flashOpenTrade } from "../tools"; + +const flashOpenTradeAction: Action = { + name: "FLASH_OPEN_TRADE", + similes: [ + "open trade", + "open leveraged trade", + "start trading position", + "open position", + "long position", + "short position", + "leverage trade", + "margin trade", + ], + description: "Open a leveraged trading position on Flash.Trade protocol", + examples: [ + [ + { + input: { + token: "SOL", + side: "long", + collateralUsd: 100, + leverage: 5, + }, + output: { + status: "success", + signature: "4xKpN2...", + message: + "Successfully opened 5x long position on SOL with $100 collateral", + }, + explanation: + "Open a 5x leveraged long position on SOL using $100 as collateral", + }, + ], + ], + schema: z.object({ + token: z.string().describe("Token symbol to trade (e.g. SOL, ETH)"), + side: z + .enum(["long", "short"]) + .describe("Trading direction - long or short"), + collateralUsd: z + .number() + .positive() + .describe("Amount of collateral in USD"), + leverage: z + .number() + .positive() + .describe("Leverage multiplier for the trade"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + try { + const params = { + token: input.token as string, + side: input.side as "long" | "short", + collateralUsd: input.collateralUsd as number, + leverage: input.leverage as number, + }; + + const response = await flashOpenTrade(agent, params); + + return { + status: "success", + signature: response, + message: `Successfully opened ${params.leverage}x ${params.side} position on ${params.token} with $${params.collateralUsd} collateral`, + }; + } catch (error: any) { + return { + status: "error", + message: `Flash trade failed: ${error.message}`, + }; + } + }, +}; + +export default flashOpenTradeAction; diff --git a/src/agent/index.ts b/src/agent/index.ts index 4d51856..0468224 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -60,8 +60,6 @@ import { fetchTokenDetailedReport, fetchPythPrice, fetchPythPriceFeedID, - FlashTradeParams, - FlashCloseTradeParams, flashOpenTrade, flashCloseTrade, } from "../tools"; @@ -74,6 +72,8 @@ import { PumpfunLaunchResponse, PumpFunTokenOptions, OrderParams, + FlashTradeParams, + FlashCloseTradeParams, } from "../types"; /** diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts index 2ad248f..318eb8d 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash_close_trade.ts @@ -16,11 +16,7 @@ import { fetchOraclePrice, createPerpClient, } from "../utils/flashUtils"; - -export interface FlashCloseTradeParams { - token: string; - side: "long" | "short"; -} +import { FlashCloseTradeParams } from "../types"; /** * Closes an existing position on Flash.Trade @@ -64,7 +60,10 @@ export async function flashCloseTrade( ]); // Initialize pool configuration and perpClient - const poolConfig = PoolConfig.fromIdsByName(marketData.pool, "mainnet-beta"); + const poolConfig = PoolConfig.fromIdsByName( + marketData.pool, + "mainnet-beta", + ); const perpClient = createPerpClient(agent.connection, agent.wallet); // Calculate price after slippage diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index b0a968f..148e373 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -19,13 +19,7 @@ import { fetchOraclePrice, createPerpClient, } from "../utils/flashUtils"; - -export interface FlashTradeParams { - token: string; - side: "long" | "short"; - collateralUsd: number; - leverage: number; -} +import { FlashTradeParams } from "../types"; /** * Opens a new position on Flash.Trade @@ -77,7 +71,10 @@ export async function flashOpenTrade( ]); // Initialize pool configuration and perpClient - const poolConfig = PoolConfig.fromIdsByName(marketData.pool, "mainnet-beta"); + const poolConfig = PoolConfig.fromIdsByName( + marketData.pool, + "mainnet-beta", + ); const perpClient = createPerpClient(agent.connection, agent.wallet); // Calculate position parameters diff --git a/src/types/index.ts b/src/types/index.ts index ad88ec8..71dab5d 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -224,3 +224,15 @@ export interface BatchOrderPattern { numberOfOrders?: number; individualQuantity?: number; } + +export interface FlashTradeParams { + token: string; + side: "long" | "short"; + collateralUsd: number; + leverage: number; +} + +export interface FlashCloseTradeParams { + token: string; + side: "long" | "short"; +}