Added refactoring changes for agent, action and tools

This commit is contained in:
0xCipherCoder
2025-01-10 17:34:13 +05:30
parent 75af298812
commit 7032ed7d99
220 changed files with 2907 additions and 2701 deletions

1
src/tools/3land/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from "./create_3land_collectible";

View File

@@ -3,13 +3,13 @@ import {
SystemProgram,
TransactionInstruction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { TOKENS, DEFAULT_OPTIONS } from "../constants";
import { SolanaAgentKit } from "../../index";
import { TOKENS, DEFAULT_OPTIONS } from "../../constants";
import { TOKEN_PROGRAM_ID } from "@solana/spl-token";
import { BN } from "@coral-xyz/anchor";
import AdrenaClient from "../utils/AdrenaClient";
import { sendTx } from "../utils/send_tx";
import AdrenaClient from "../../utils/AdrenaClient";
import { sendTx } from "../../utils/send_tx";
const PRICE_DECIMALS = 10;
const ADRENA_PROGRAM_ID = new PublicKey(

View File

@@ -0,0 +1 @@
export * from "./adrena_perp_trading";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import OpenAI from "openai";
/**

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
/**
* Get the agents wallet address

2
src/tools/agent/index.ts Normal file
View File

@@ -0,0 +1,2 @@
export * from "./create_image";
export * from "./get_wallet_address";

View File

@@ -1,5 +1,5 @@
import { LAMPORTS_PER_SOL, PublicKey } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Get the balance of SOL or an SPL token for the agent's wallet

View File

@@ -3,7 +3,7 @@ import {
ParsedAccountData,
PublicKey,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Get the balance of SOL or an SPL token for the specified wallet address (other than the agent's wallet)

View File

@@ -0,0 +1,2 @@
export * from "./get_balance";
export * from "./get_balance_other";

View File

@@ -1,5 +1,5 @@
import { PublicKey } from "@solana/web3.js";
import { JupiterTokenData } from "../types";
import { JupiterTokenData } from "../../types";
export async function getTokenDataByAddress(
mint: PublicKey,

View File

@@ -0,0 +1 @@
export * from "./get_token_data";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { getAllTld } from "@onsol/tldparser";
/**

View File

@@ -1,5 +1,5 @@
import { getAllDomains } from "@bonfida/spl-name-service";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { PublicKey } from "@solana/web3.js";
import { getAllDomainsTLDs } from "./get_all_domains_tlds";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { PublicKey } from "@solana/web3.js";
import { TldParser } from "@onsol/tldparser";

View File

@@ -1,5 +1,5 @@
import { TldParser } from "@onsol/tldparser";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
/**
* Get all domains owned by an address for a specific TLD
* @param agent SolanaAgentKit instance

View File

@@ -1,6 +1,6 @@
import { getPrimaryDomain as _getPrimaryDomain } from "@bonfida/spl-name-service";
import { PublicKey } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../agent";
/**
* Retrieves the primary .sol domain associated with a given Solana public key.

View File

@@ -0,0 +1,9 @@
export * from "./get_all_domains_tlds";
export * from "./get_all_registered_all_domains";
export * from "./get_main_all_domains_domain";
export * from "./get_owned_all_domains";
export * from "./get_owned_domains_for_tld";
export * from "./get_primary_domain";
export * from "./register_domain";
export * from "./resolve_domain";
export * from "./resolve_sol_domain";

View File

@@ -1,8 +1,8 @@
import { registerDomainNameV2 } from "@bonfida/spl-name-service";
import { Transaction } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../agent";
import { getAssociatedTokenAddressSync } from "@solana/spl-token";
import { TOKENS } from "../constants";
import { TOKENS } from "../../constants";
/**
* Register a .sol domain name using Bonfida Name Service

View File

@@ -1,5 +1,5 @@
import { TldParser } from "@onsol/tldparser";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../agent";
import { PublicKey } from "@solana/web3.js";
/**

View File

@@ -1,6 +1,6 @@
import { resolve } from "@bonfida/spl-name-service";
import { PublicKey } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Resolves a .sol domain to a Solana PublicKey.

View File

@@ -1,7 +1,7 @@
import { ComputeBudgetProgram } from "@solana/web3.js";
import { PoolConfig, Side } from "flash-sdk";
import { BN } from "@coral-xyz/anchor";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import {
CLOSE_POSITION_CU,
marketSdkInfo,
@@ -10,8 +10,8 @@ import {
fetchOraclePrice,
createPerpClient,
get_flash_privilege,
} from "../utils/flashUtils";
import { FlashCloseTradeParams } from "../types";
} from "../../utils/flashUtils";
import { FlashCloseTradeParams } from "../../types";
/**
* Closes an existing position on Flash.Trade

View File

@@ -8,7 +8,7 @@ import {
Custody,
} from "flash-sdk";
import { BN } from "@coral-xyz/anchor";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import {
ALL_TOKENS,
marketSdkInfo,
@@ -18,8 +18,8 @@ import {
fetchOraclePrice,
createPerpClient,
get_flash_privilege,
} from "../utils/flashUtils";
import { FlashTradeParams } from "../types";
} from "../../utils/flashUtils";
import { FlashTradeParams } from "../../types";
/**
* Opens a new position on Flash.Trade

2
src/tools/flash/index.ts Normal file
View File

@@ -0,0 +1,2 @@
export * from "./flash_open_trade";
export * from "./flash_close_trade";

View File

@@ -1,6 +1,6 @@
import { VersionedTransaction } from "@solana/web3.js";
import { PublicKey } from "@solana/web3.js";
import { GibworkCreateTaskReponse, SolanaAgentKit } from "../index";
import { GibworkCreateTaskReponse, SolanaAgentKit } from "../../index";
/**
* Create an new task on Gibwork

View File

@@ -0,0 +1 @@
export * from "./create_gibwork_task";

View File

@@ -1,52 +1,24 @@
export * from "./adrena_perp_trading";
export * from "./create_gibwork_task";
export * from "./create_image";
export * from "./create_tiplinks";
export * from "./deploy_collection";
export * from "./deploy_token";
export * from "./fetch_price";
export * from "./get_all_domains_tlds";
export * from "./get_all_registered_all_domains";
export * from "./get_balance";
export * from "./get_balance_other";
export * from "./get_main_all_domains_domain";
export * from "./get_owned_all_domains";
export * from "./get_owned_domains_for_tld";
export * from "./get_primary_domain";
export * from "./get_token_data";
export * from "./get_tps";
export * from "./get_wallet_address";
export * from "./launch_pumpfun_token";
export * from "./lend";
export * from "./manifest_trade";
export * from "./mint_nft";
export * from "./openbook_create_market";
export * from "./orca_close_position";
export * from "./orca_create_clmm";
export * from "./orca_create_single_sided_liquidity_pool";
export * from "./orca_fetch_positions";
export * from "./orca_open_centered_position_with_liquidity";
export * from "./orca_open_single_sided_position";
export * from "./pyth_fetch_price";
export * from "./raydium_create_ammV4";
export * from "./raydium_create_clmm";
export * from "./raydium_create_cpmm";
export * from "./register_domain";
export * from "./request_faucet_funds";
export * from "./resolve_domain";
export * from "./resolve_sol_domain";
export * from "./rock_paper_scissor";
export * from "./adrena";
export * from "./balance";
export * from "./dexscreener";
export * from "./domain";
export * from "./flash";
export * from "./gibwork";
export * from "./jupiter";
export * from "./lulo";
export * from "./manifest";
export * from "./solana";
export * from "./agent";
export * from "./metaplex";
export * from "./openbook";
export * from "./orca";
export * from "./pumpfun";
export * from "./pyth";
export * from "./raydium";
export * from "./rugcheck";
export * from "./send_compressed_airdrop";
export * from "./stake_with_jup";
export * from "./stake_with_solayer";
export * from "./tensor_trade";
export * from "./close_empty_token_accounts";
export * from "./trade";
export * from "./transfer";
export * from "./flash_open_trade";
export * from "./flash_close_trade";
export * from "./create_3land_collectible";
export * from "./sendarcade";
export * from "./solayer";
export * from "./tensor";
export * from "./3land";
export * from "./tiplink";
export * from "./token";

View File

@@ -0,0 +1,3 @@
export * from "./fetch_price";
export * from "./stake_with_jup";
export * from "./trade";

View File

@@ -1,5 +1,5 @@
import { VersionedTransaction } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Stake SOL with Jup validator

View File

@@ -1,11 +1,11 @@
import { VersionedTransaction, PublicKey } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import {
TOKENS,
DEFAULT_OPTIONS,
JUP_API,
JUP_REFERRAL_ADDRESS,
} from "../constants";
} from "../../constants";
import { getMint } from "@solana/spl-token";
/**
* Swap tokens using Jupiter Exchange

1
src/tools/lulo/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from "./lend";

View File

@@ -1,5 +1,5 @@
import { VersionedTransaction } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Lend tokens for yields using Lulo

View File

@@ -0,0 +1 @@
export * from "./manifest_trade";

View File

@@ -11,7 +11,7 @@ import {
Transaction,
TransactionInstruction,
} from "@solana/web3.js";
import { BatchOrderPattern, OrderParams, SolanaAgentKit } from "../index";
import { BatchOrderPattern, OrderParams, SolanaAgentKit } from "../../index";
export async function manifestCreateMarket(
agent: SolanaAgentKit,

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import {
generateSigner,
keypairIdentity,
@@ -9,7 +9,7 @@ import {
mplCore,
ruleSet,
} from "@metaplex-foundation/mpl-core";
import { CollectionOptions, CollectionDeployment } from "../types";
import { CollectionOptions, CollectionDeployment } from "../../types";
import {
fromWeb3JsKeypair,
toWeb3JsPublicKey,

View File

@@ -0,0 +1,2 @@
export * from "./deploy_collection";
export * from "./mint_nft";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { generateSigner, keypairIdentity } from "@metaplex-foundation/umi";
import { create, mplCore } from "@metaplex-foundation/mpl-core";
import { fetchCollection } from "@metaplex-foundation/mpl-core";
@@ -9,7 +9,7 @@ import {
toWeb3JsPublicKey,
} from "@metaplex-foundation/umi-web3js-adapters";
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { MintCollectionNFTResponse } from "../types";
import { MintCollectionNFTResponse } from "../../types";
/**
* Mint a new NFT as part of an existing collection

View File

@@ -0,0 +1 @@
export * from "./openbook_create_market";

View File

@@ -5,7 +5,7 @@ import {
} from "@raydium-io/raydium-sdk-v2";
import { MintLayout, TOKEN_PROGRAM_ID } from "@solana/spl-token";
import { PublicKey } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
export async function openbookCreateMarket(
agent: SolanaAgentKit,

6
src/tools/orca/index.ts Normal file
View File

@@ -0,0 +1,6 @@
export * from "./orca_close_position";
export * from "./orca_create_clmm";
export * from "./orca_create_single_sided_liquidity_pool";
export * from "./orca_fetch_positions";
export * from "./orca_open_centered_position_with_liquidity";
export * from "./orca_open_single_sided_position";

View File

@@ -4,7 +4,7 @@ import {
TransactionMessage,
VersionedTransaction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { Wallet } from "@coral-xyz/anchor";
import {
ORCA_WHIRLPOOL_PROGRAM_ID,
@@ -12,7 +12,7 @@ import {
buildWhirlpoolClient,
PDAUtil,
} from "@orca-so/whirlpools-sdk";
import { sendTx } from "../utils/send_tx";
import { sendTx } from "../../utils/send_tx";
import { Percentage } from "@orca-so/common-sdk";
/**

View File

@@ -4,7 +4,7 @@ import {
TransactionMessage,
VersionedTransaction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { Wallet } from "@coral-xyz/anchor";
import { Decimal } from "decimal.js";
import {
@@ -14,7 +14,7 @@ import {
PoolUtil,
buildWhirlpoolClient,
} from "@orca-so/whirlpools-sdk";
import { sendTx } from "../utils/send_tx";
import { sendTx } from "../../utils/send_tx";
import { FEE_TIERS } from "./orca_create_single_sided_liquidity_pool";
/**

View File

@@ -4,7 +4,7 @@ import {
TransactionMessage,
VersionedTransaction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { BN, Wallet } from "@coral-xyz/anchor";
import { Decimal } from "decimal.js";
import {
@@ -36,7 +36,7 @@ import {
getAssociatedTokenAddressSync,
TOKEN_2022_PROGRAM_ID,
} from "@solana/spl-token";
import { sendTx } from "../utils/send_tx";
import { sendTx } from "../../utils/send_tx";
/**
* Maps fee tier bps to their corresponding tick spacing values in the Orca Whirlpool protocol.

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { Wallet } from "@coral-xyz/anchor";
import {
ORCA_WHIRLPOOL_PROGRAM_ID,

View File

@@ -5,7 +5,7 @@ import {
TransactionMessage,
VersionedTransaction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { Wallet } from "@coral-xyz/anchor";
import { Decimal } from "decimal.js";
import {
@@ -18,7 +18,7 @@ import {
NO_TOKEN_EXTENSION_CONTEXT,
} from "@orca-so/whirlpools-sdk";
import { sendTx } from "../utils/send_tx";
import { sendTx } from "../../utils/send_tx";
import { Percentage } from "@orca-so/common-sdk";
import { TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";

View File

@@ -4,7 +4,7 @@ import {
TransactionMessage,
VersionedTransaction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import { Wallet } from "@coral-xyz/anchor";
import { Decimal } from "decimal.js";
import {
@@ -16,7 +16,7 @@ import {
TokenExtensionContextForPool,
NO_TOKEN_EXTENSION_CONTEXT,
} from "@orca-so/whirlpools-sdk";
import { sendTx } from "../utils/send_tx";
import { sendTx } from "../../utils/send_tx";
import { Percentage } from "@orca-so/common-sdk";
import { TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";

View File

@@ -0,0 +1 @@
export * from "./launch_pumpfun_token";

View File

@@ -4,7 +4,7 @@ import {
PumpfunLaunchResponse,
PumpFunTokenOptions,
SolanaAgentKit,
} from "../index";
} from "../../index";
async function uploadMetadata(
tokenName: string,

1
src/tools/pyth/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from "./pyth_fetch_price";

View File

@@ -1,5 +1,5 @@
import BN from "bn.js";
import { PythPriceFeedIDItem } from "../types";
import { PythPriceFeedIDItem } from "../../types";
/**
* Fetch the price feed ID for a given token symbol from Pyth

View File

@@ -0,0 +1,3 @@
export * from "./raydium_create_ammV4";
export * from "./raydium_create_clmm";
export * from "./raydium_create_cpmm";

View File

@@ -9,7 +9,7 @@ import {
import { MintLayout, TOKEN_PROGRAM_ID } from "@solana/spl-token";
import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
export async function raydiumCreateAmmV4(
agent: SolanaAgentKit,

View File

@@ -7,7 +7,7 @@ import { MintLayout } from "@solana/spl-token";
import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import Decimal from "decimal.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
export async function raydiumCreateClmm(
agent: SolanaAgentKit,

View File

@@ -7,7 +7,7 @@ import {
import { MintLayout } from "@solana/spl-token";
import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
export async function raydiumCreateCpmm(
agent: SolanaAgentKit,

View File

@@ -0,0 +1 @@
export * from "./rugcheck";

View File

@@ -1,4 +1,4 @@
import { TokenCheck } from "../types";
import { TokenCheck } from "../../types";
const BASE_URL = "https://api.rugcheck.xyz/v1";

View File

@@ -0,0 +1 @@
export * from "./rock_paper_scissor";

View File

@@ -1,5 +1,5 @@
import { sendAndConfirmTransaction, Transaction } from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
export async function rock_paper_scissor(
agent: SolanaAgentKit,

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
export async function getTPS(agent: SolanaAgentKit): Promise<number> {
const perfSamples = await agent.connection.getRecentPerformanceSamples();

View File

@@ -0,0 +1,2 @@
export * from "./get_tps";
export * from "./request_faucet_funds";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { LAMPORTS_PER_SOL } from "@solana/web3.js";
/**

View File

@@ -0,0 +1 @@
export * from "./stake_with_solayer";

View File

@@ -1,5 +1,5 @@
import { VersionedTransaction } from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
/**
* Stake SOL with Solayer

View File

@@ -0,0 +1 @@
export * from "./tensor_trade";

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { TensorSwapSDK } from "@tensor-oss/tensorswap-sdk";
import { PublicKey, Transaction } from "@solana/web3.js";
import { AnchorProvider, Wallet } from "@coral-xyz/anchor";

View File

@@ -13,7 +13,7 @@ import {
getMint,
createAssociatedTokenAccountInstruction,
} from "@solana/spl-token";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
const MINIMUM_SOL_BALANCE = 0.003 * LAMPORTS_PER_SOL;

View File

@@ -0,0 +1 @@
export * from "./create_tiplinks";

View File

@@ -3,7 +3,7 @@ import {
Transaction,
TransactionInstruction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../agent";
import { SolanaAgentKit } from "../../agent";
import {
AccountLayout,
createCloseAccountInstruction,

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { PublicKey } from "@solana/web3.js";
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { generateSigner, keypairIdentity } from "@metaplex-foundation/umi";

4
src/tools/token/index.ts Normal file
View File

@@ -0,0 +1,4 @@
export * from "./close_empty_token_accounts";
export * from "./deploy_token";
export * from "./send_compressed_airdrop";
export * from "./transfer";

View File

@@ -5,7 +5,7 @@ import {
PublicKey,
TransactionInstruction,
} from "@solana/web3.js";
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import {
buildAndSignTx,
calculateComputeUnitPrice,

View File

@@ -1,4 +1,4 @@
import { SolanaAgentKit } from "../index";
import { SolanaAgentKit } from "../../index";
import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js";
import { LAMPORTS_PER_SOL } from "@solana/web3.js";
import {